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
2.9 KiB
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
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 |