Skills move to skills/<name>/SKILL.md and the repo gains both manifests, so it is now a marketplace hosting exactly one plugin whose root is the repo root (source: "."). Claude Code installs it from git; no symlinks involved. Why: install.sh wired the library into every consuming repo as an ABSOLUTE symlink to $CHECKOUT_DIR. The checkout moved three times, most recently when local-dev@1966d5a dropped the embedded .skills/ copy, and nothing migrated the links — 243 dangling links across 12 repos, hidden from git by the **/.claude/skills/ ignore rule. Worse, ~/dev spans two path roots (/Users/mathias on the iCloud-shared Macs, /home/mathias on koala), so an absolute link stored there is broken on one side by construction. Re-running the installer cannot fix that; only removing the mechanism can. install.sh keeps the harnesses with no plugin system and drops from 42 links per harness to one directory link, via the convergent ~/.agents/skills convention that Pi and OpenCode both read: ~/.agents/skills -> $CHECKOUT_DIR/skills ~/.config/crush/skills -> ~/.agents/skills ~/.config/opencode/skills -> ~/.agents/skills wire_claude_repo is deleted outright rather than gated behind a flag — on a mixed-root fleet it cannot be made correct. Antigravity and Vibe targets go too; both unused. CHECKOUT_DIR keeps its host-local default deliberately: pointing it into ~/dev would put a git working tree inside iCloud with two concurrent writers. Taskfile drops five near-identical wiring loops (they had already drifted) and delegates to install.sh. `task check` gains frontmatter validation, a stray-root-entry gate, and manifest/tag version parity — the loose secret-hygiene.md sat unloadable for months because nothing checked layout. Verified: claude plugin validate . passes clean; a probe skill loaded as skills:zzprobe through --plugin-dir; task check green at 42 skills. Refs: #23 Bump-Type: minor Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BeAp5LTscnz2W7Ubt4eJ6m
52 lines
2.9 KiB
Markdown
52 lines
2.9 KiB
Markdown
# Gemini CLI Tool Mapping
|
|
|
|
Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent:
|
|
|
|
| Skill references | Gemini CLI equivalent |
|
|
|-----------------|----------------------|
|
|
| `Read` (file reading) | `read_file` |
|
|
| `Write` (file creation) | `write_file` |
|
|
| `Edit` (file editing) | `replace` |
|
|
| `Bash` (run commands) | `run_shell_command` |
|
|
| `Grep` (search file content) | `grep_search` |
|
|
| `Glob` (search files by name) | `glob` |
|
|
| `TodoWrite` (task tracking) | `write_todos` |
|
|
| `Skill` tool (invoke a skill) | `activate_skill` |
|
|
| `WebSearch` | `google_web_search` |
|
|
| `WebFetch` | `web_fetch` |
|
|
| `Task` tool (dispatch subagent) | `@agent-name` (see [Subagent support](#subagent-support)) |
|
|
|
|
## Subagent support
|
|
|
|
Gemini CLI supports subagents natively via the `@` syntax. Use the built-in `@generalist` agent to dispatch any task — it has access to all tools and follows the prompt you provide.
|
|
|
|
When a skill says to dispatch a named agent type, use `@generalist` with the full prompt from the skill's prompt template:
|
|
|
|
| Skill instruction | Gemini CLI equivalent |
|
|
|-------------------|----------------------|
|
|
| `Task tool (superpowers:implementer)` | `@generalist` with the filled `implementer-prompt.md` template |
|
|
| `Task tool (superpowers:spec-reviewer)` | `@generalist` with the filled `spec-reviewer-prompt.md` template |
|
|
| `Task tool (superpowers:code-reviewer)` | `@code-reviewer` (bundled agent) or `@generalist` with the filled review prompt |
|
|
| `Task tool (superpowers:code-quality-reviewer)` | `@generalist` with the filled `code-quality-reviewer-prompt.md` template |
|
|
| `Task tool (general-purpose)` with inline prompt | `@generalist` with your inline prompt |
|
|
|
|
### Prompt filling
|
|
|
|
Skills provide prompt templates with placeholders like `{WHAT_WAS_IMPLEMENTED}` or `[FULL TEXT of task]`. Fill all placeholders and pass the complete prompt as the message to `@generalist`. The prompt template itself contains the agent's role, review criteria, and expected output format — `@generalist` will follow it.
|
|
|
|
### Parallel dispatch
|
|
|
|
Gemini CLI supports parallel subagent dispatch. When a skill asks you to dispatch multiple independent subagent tasks in parallel, request all of those `@generalist` or named subagent tasks together in the same prompt. Keep dependent tasks sequential, but do not serialize independent subagent tasks just to preserve a simpler history.
|
|
|
|
## Additional Gemini CLI tools
|
|
|
|
These tools are available in Gemini CLI but have no Claude Code equivalent:
|
|
|
|
| Tool | Purpose |
|
|
|------|---------|
|
|
| `list_directory` | List files and subdirectories |
|
|
| `save_memory` | Persist facts to GEMINI.md across sessions |
|
|
| `ask_user` | Request structured input from the user |
|
|
| `tracker_create_task` | Rich task management (create, update, list, visualize) |
|
|
| `enter_plan_mode` / `exit_plan_mode` | Switch to read-only research mode before making changes |
|