claude-agent-skills 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/bundled-skills/ask-matt/SKILL.md +61 -0
- package/bundled-skills/brainstorming/SKILL.md +159 -0
- package/bundled-skills/brainstorming/scripts/frame-template.html +213 -0
- package/bundled-skills/brainstorming/scripts/helper.js +167 -0
- package/bundled-skills/brainstorming/scripts/server.cjs +723 -0
- package/bundled-skills/brainstorming/scripts/start-server.sh +209 -0
- package/bundled-skills/brainstorming/scripts/stop-server.sh +120 -0
- package/bundled-skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/bundled-skills/brainstorming/visual-companion.md +298 -0
- package/bundled-skills/cavecrew/README.md +41 -0
- package/bundled-skills/cavecrew/SKILL.md +82 -0
- package/bundled-skills/caveman/README.md +48 -0
- package/bundled-skills/caveman/SKILL.md +78 -0
- package/bundled-skills/caveman-commit/README.md +44 -0
- package/bundled-skills/caveman-commit/SKILL.md +65 -0
- package/bundled-skills/caveman-compress/README.md +163 -0
- package/bundled-skills/caveman-compress/SECURITY.md +31 -0
- package/bundled-skills/caveman-compress/SKILL.md +111 -0
- package/bundled-skills/caveman-compress/scripts/__init__.py +9 -0
- package/bundled-skills/caveman-compress/scripts/__main__.py +3 -0
- package/bundled-skills/caveman-compress/scripts/benchmark.py +80 -0
- package/bundled-skills/caveman-compress/scripts/cli.py +85 -0
- package/bundled-skills/caveman-compress/scripts/compress.py +342 -0
- package/bundled-skills/caveman-compress/scripts/detect.py +121 -0
- package/bundled-skills/caveman-compress/scripts/validate.py +213 -0
- package/bundled-skills/caveman-help/README.md +38 -0
- package/bundled-skills/caveman-help/SKILL.md +63 -0
- package/bundled-skills/caveman-review/README.md +33 -0
- package/bundled-skills/caveman-review/SKILL.md +55 -0
- package/bundled-skills/caveman-stats/README.md +30 -0
- package/bundled-skills/caveman-stats/SKILL.md +10 -0
- package/bundled-skills/codebase-design/DEEPENING.md +37 -0
- package/bundled-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/bundled-skills/codebase-design/SKILL.md +114 -0
- package/bundled-skills/council/SKILL.md +77 -0
- package/bundled-skills/diagnosing-bugs/SKILL.md +134 -0
- package/bundled-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/bundled-skills/dispatching-parallel-agents/SKILL.md +185 -0
- package/bundled-skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/bundled-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/bundled-skills/domain-modeling/SKILL.md +74 -0
- package/bundled-skills/edit-article/SKILL.md +15 -0
- package/bundled-skills/executing-plans/SKILL.md +70 -0
- package/bundled-skills/finishing-a-development-branch/SKILL.md +241 -0
- package/bundled-skills/git-guardrails-claude-code/SKILL.md +95 -0
- package/bundled-skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
- package/bundled-skills/grill-me/SKILL.md +7 -0
- package/bundled-skills/grill-with-docs/SKILL.md +7 -0
- package/bundled-skills/grilling/SKILL.md +10 -0
- package/bundled-skills/handoff/SKILL.md +16 -0
- package/bundled-skills/i-am-dumb/SKILL.md +57 -0
- package/bundled-skills/implement/SKILL.md +15 -0
- package/bundled-skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/bundled-skills/improve-codebase-architecture/SKILL.md +66 -0
- package/bundled-skills/migrate-to-shoehorn/SKILL.md +118 -0
- package/bundled-skills/obsidian-vault/SKILL.md +59 -0
- package/bundled-skills/ponytail/SKILL.md +117 -0
- package/bundled-skills/ponytail-audit/SKILL.md +50 -0
- package/bundled-skills/ponytail-debt/SKILL.md +59 -0
- package/bundled-skills/ponytail-gain/SKILL.md +51 -0
- package/bundled-skills/ponytail-help/SKILL.md +43 -0
- package/bundled-skills/ponytail-review/SKILL.md +51 -0
- package/bundled-skills/prototype/LOGIC.md +79 -0
- package/bundled-skills/prototype/SKILL.md +31 -0
- package/bundled-skills/prototype/UI.md +112 -0
- package/bundled-skills/receiving-code-review/SKILL.md +213 -0
- package/bundled-skills/requesting-code-review/SKILL.md +103 -0
- package/bundled-skills/requesting-code-review/code-reviewer.md +172 -0
- package/bundled-skills/resolving-merge-conflicts/SKILL.md +14 -0
- package/bundled-skills/scaffold-exercises/SKILL.md +106 -0
- package/bundled-skills/setup-matt-pocock-skills/SKILL.md +127 -0
- package/bundled-skills/setup-matt-pocock-skills/domain.md +51 -0
- package/bundled-skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
- package/bundled-skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
- package/bundled-skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
- package/bundled-skills/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/bundled-skills/setup-pre-commit/SKILL.md +91 -0
- package/bundled-skills/subagent-driven-development/SKILL.md +418 -0
- package/bundled-skills/subagent-driven-development/implementer-prompt.md +139 -0
- package/bundled-skills/subagent-driven-development/scripts/review-package +44 -0
- package/bundled-skills/subagent-driven-development/scripts/sdd-workspace +22 -0
- package/bundled-skills/subagent-driven-development/scripts/task-brief +40 -0
- package/bundled-skills/subagent-driven-development/task-reviewer-prompt.md +188 -0
- package/bundled-skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/bundled-skills/systematic-debugging/SKILL.md +296 -0
- package/bundled-skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/bundled-skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/bundled-skills/systematic-debugging/defense-in-depth.md +122 -0
- package/bundled-skills/systematic-debugging/find-polluter.sh +63 -0
- package/bundled-skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/bundled-skills/systematic-debugging/test-academic.md +14 -0
- package/bundled-skills/systematic-debugging/test-pressure-1.md +58 -0
- package/bundled-skills/systematic-debugging/test-pressure-2.md +68 -0
- package/bundled-skills/systematic-debugging/test-pressure-3.md +69 -0
- package/bundled-skills/tdd/SKILL.md +108 -0
- package/bundled-skills/tdd/mocking.md +59 -0
- package/bundled-skills/tdd/refactoring.md +10 -0
- package/bundled-skills/tdd/tests.md +61 -0
- package/bundled-skills/teach/GLOSSARY-FORMAT.md +35 -0
- package/bundled-skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/bundled-skills/teach/MISSION-FORMAT.md +31 -0
- package/bundled-skills/teach/RESOURCES-FORMAT.md +32 -0
- package/bundled-skills/teach/SKILL.md +140 -0
- package/bundled-skills/test-driven-development/SKILL.md +371 -0
- package/bundled-skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/bundled-skills/to-issues/SKILL.md +84 -0
- package/bundled-skills/to-prd/SKILL.md +75 -0
- package/bundled-skills/triage/AGENT-BRIEF.md +207 -0
- package/bundled-skills/triage/OUT-OF-SCOPE.md +105 -0
- package/bundled-skills/triage/SKILL.md +112 -0
- package/bundled-skills/using-git-worktrees/SKILL.md +202 -0
- package/bundled-skills/using-superpowers/SKILL.md +121 -0
- package/bundled-skills/using-superpowers/references/antigravity-tools.md +96 -0
- package/bundled-skills/using-superpowers/references/claude-code-tools.md +50 -0
- package/bundled-skills/using-superpowers/references/codex-tools.md +72 -0
- package/bundled-skills/using-superpowers/references/copilot-tools.md +49 -0
- package/bundled-skills/using-superpowers/references/gemini-tools.md +63 -0
- package/bundled-skills/using-superpowers/references/pi-tools.md +28 -0
- package/bundled-skills/verification-before-completion/SKILL.md +139 -0
- package/bundled-skills/writing-great-skills/GLOSSARY.md +195 -0
- package/bundled-skills/writing-great-skills/SKILL.md +82 -0
- package/bundled-skills/writing-plans/SKILL.md +174 -0
- package/bundled-skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/bundled-skills/writing-skills/SKILL.md +689 -0
- package/bundled-skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/bundled-skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/bundled-skills/writing-skills/graphviz-conventions.dot +172 -0
- package/bundled-skills/writing-skills/persuasion-principles.md +187 -0
- package/bundled-skills/writing-skills/render-graphs.js +168 -0
- package/bundled-skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/commands/add.js +97 -0
- package/commands/check.js +54 -0
- package/commands/exportSkills.js +30 -0
- package/commands/hub.js +52 -0
- package/commands/importSkills.js +68 -0
- package/commands/list.js +37 -0
- package/commands/remove.js +59 -0
- package/commands/sync.js +66 -0
- package/commands/update.js +70 -0
- package/index.js +100 -0
- package/lib/banner.js +108 -0
- package/lib/constants.js +10 -0
- package/lib/deps.js +51 -0
- package/lib/hash.js +26 -0
- package/lib/install.js +31 -0
- package/lib/lockfile.js +37 -0
- package/lib/prompts.js +50 -0
- package/lib/scope.js +19 -0
- package/lib/summary.js +108 -0
- package/lib/theme.js +11 -0
- package/package.json +43 -0
- package/skills.json +164 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Git Worktrees
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Ensure work happens in an isolated workspace. Prefer your platform's native worktree tools. Fall back to manual git worktrees only when no native tool is available.
|
|
11
|
+
|
|
12
|
+
**Core principle:** Detect existing isolation first. Then use native tools. Then fall back to git. Never fight the harness.
|
|
13
|
+
|
|
14
|
+
**Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
|
|
15
|
+
|
|
16
|
+
## Step 0: Detect Existing Isolation
|
|
17
|
+
|
|
18
|
+
**Before creating anything, check if you are already in an isolated workspace.**
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
|
|
22
|
+
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
|
|
23
|
+
BRANCH=$(git branch --show-current)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Submodule guard:** `GIT_DIR != GIT_COMMON` is also true inside git submodules. Before concluding "already in a worktree," verify you are not in a submodule:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# If this returns a path, you're in a submodule, not a worktree — treat as normal repo
|
|
30
|
+
git rev-parse --show-superproject-working-tree 2>/dev/null
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**If `GIT_DIR != GIT_COMMON` (and not a submodule):** You are already in a linked worktree. Skip to Step 2 (Project Setup). Do NOT create another worktree.
|
|
34
|
+
|
|
35
|
+
Report with branch state:
|
|
36
|
+
- On a branch: "Already in isolated workspace at `<path>` on branch `<name>`."
|
|
37
|
+
- Detached HEAD: "Already in isolated workspace at `<path>` (detached HEAD, externally managed). Branch creation needed at finish time."
|
|
38
|
+
|
|
39
|
+
**If `GIT_DIR == GIT_COMMON` (or in a submodule):** You are in a normal repo checkout.
|
|
40
|
+
|
|
41
|
+
Has the user already indicated their worktree preference in your instructions? If not, ask for consent before creating a worktree:
|
|
42
|
+
|
|
43
|
+
> "Would you like me to set up an isolated worktree? It protects your current branch from changes."
|
|
44
|
+
|
|
45
|
+
Honor any existing declared preference without asking. If the user declines consent, work in place and skip to Step 2.
|
|
46
|
+
|
|
47
|
+
## Step 1: Create Isolated Workspace
|
|
48
|
+
|
|
49
|
+
**You have two mechanisms. Try them in this order.**
|
|
50
|
+
|
|
51
|
+
### 1a. Native Worktree Tools (preferred)
|
|
52
|
+
|
|
53
|
+
The user has asked for an isolated workspace (Step 0 consent). Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to Step 2.
|
|
54
|
+
|
|
55
|
+
Native tools handle directory placement, branch creation, and cleanup automatically. Using `git worktree add` when you have a native tool creates phantom state your harness can't see or manage.
|
|
56
|
+
|
|
57
|
+
Only proceed to Step 1b if you have no native worktree tool available.
|
|
58
|
+
|
|
59
|
+
### 1b. Git Worktree Fallback
|
|
60
|
+
|
|
61
|
+
**Only use this if Step 1a does not apply** — you have no native worktree tool available. Create a worktree manually using git.
|
|
62
|
+
|
|
63
|
+
#### Directory Selection
|
|
64
|
+
|
|
65
|
+
Follow this priority order. Explicit user preference always beats observed filesystem state.
|
|
66
|
+
|
|
67
|
+
1. **Check your instructions for a declared worktree directory preference.** If the user has already specified one, use it without asking.
|
|
68
|
+
|
|
69
|
+
2. **Check for an existing project-local worktree directory:**
|
|
70
|
+
```bash
|
|
71
|
+
ls -d .worktrees 2>/dev/null # Preferred (hidden)
|
|
72
|
+
ls -d worktrees 2>/dev/null # Alternative
|
|
73
|
+
```
|
|
74
|
+
If found, use it. If both exist, `.worktrees` wins.
|
|
75
|
+
|
|
76
|
+
3. **If there is no other guidance available**, default to `.worktrees/` at the project root.
|
|
77
|
+
|
|
78
|
+
#### Safety Verification (project-local directories only)
|
|
79
|
+
|
|
80
|
+
**MUST verify directory is ignored before creating worktree:**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**If NOT ignored:** Add to .gitignore, commit the change, then proceed.
|
|
87
|
+
|
|
88
|
+
**Why critical:** Prevents accidentally committing worktree contents to repository.
|
|
89
|
+
|
|
90
|
+
#### Create the Worktree
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Determine path based on chosen location
|
|
94
|
+
path="$LOCATION/$BRANCH_NAME"
|
|
95
|
+
|
|
96
|
+
git worktree add "$path" -b "$BRANCH_NAME"
|
|
97
|
+
cd "$path"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Sandbox fallback:** If `git worktree add` fails with a permission error (sandbox denial), tell the user the sandbox blocked worktree creation and you're working in the current directory instead. Then run setup and baseline tests in place.
|
|
101
|
+
|
|
102
|
+
## Step 2: Project Setup
|
|
103
|
+
|
|
104
|
+
Auto-detect and run appropriate setup:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Node.js
|
|
108
|
+
if [ -f package.json ]; then npm install; fi
|
|
109
|
+
|
|
110
|
+
# Rust
|
|
111
|
+
if [ -f Cargo.toml ]; then cargo build; fi
|
|
112
|
+
|
|
113
|
+
# Python
|
|
114
|
+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
115
|
+
if [ -f pyproject.toml ]; then poetry install; fi
|
|
116
|
+
|
|
117
|
+
# Go
|
|
118
|
+
if [ -f go.mod ]; then go mod download; fi
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Step 3: Verify Clean Baseline
|
|
122
|
+
|
|
123
|
+
Run tests to ensure workspace starts clean:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Use project-appropriate command
|
|
127
|
+
npm test / cargo test / pytest / go test ./...
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**If tests fail:** Report failures, ask whether to proceed or investigate.
|
|
131
|
+
|
|
132
|
+
**If tests pass:** Report ready.
|
|
133
|
+
|
|
134
|
+
### Report
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Worktree ready at <full-path>
|
|
138
|
+
Tests passing (<N> tests, 0 failures)
|
|
139
|
+
Ready to implement <feature-name>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Quick Reference
|
|
143
|
+
|
|
144
|
+
| Situation | Action |
|
|
145
|
+
|-----------|--------|
|
|
146
|
+
| Already in linked worktree | Skip creation (Step 0) |
|
|
147
|
+
| In a submodule | Treat as normal repo (Step 0 guard) |
|
|
148
|
+
| Native worktree tool available | Use it (Step 1a) |
|
|
149
|
+
| No native tool | Git worktree fallback (Step 1b) |
|
|
150
|
+
| `.worktrees/` exists | Use it (verify ignored) |
|
|
151
|
+
| `worktrees/` exists | Use it (verify ignored) |
|
|
152
|
+
| Both exist | Use `.worktrees/` |
|
|
153
|
+
| Neither exists | Check instruction file, then default `.worktrees/` |
|
|
154
|
+
| Directory not ignored | Add to .gitignore + commit |
|
|
155
|
+
| Permission error on create | Sandbox fallback, work in place |
|
|
156
|
+
| Tests fail during baseline | Report failures + ask |
|
|
157
|
+
| No package.json/Cargo.toml | Skip dependency install |
|
|
158
|
+
|
|
159
|
+
## Common Mistakes
|
|
160
|
+
|
|
161
|
+
### Fighting the harness
|
|
162
|
+
|
|
163
|
+
- **Problem:** Using `git worktree add` when the platform already provides isolation
|
|
164
|
+
- **Fix:** Step 0 detects existing isolation. Step 1a defers to native tools.
|
|
165
|
+
|
|
166
|
+
### Skipping detection
|
|
167
|
+
|
|
168
|
+
- **Problem:** Creating a nested worktree inside an existing one
|
|
169
|
+
- **Fix:** Always run Step 0 before creating anything
|
|
170
|
+
|
|
171
|
+
### Skipping ignore verification
|
|
172
|
+
|
|
173
|
+
- **Problem:** Worktree contents get tracked, pollute git status
|
|
174
|
+
- **Fix:** Always use `git check-ignore` before creating project-local worktree
|
|
175
|
+
|
|
176
|
+
### Assuming directory location
|
|
177
|
+
|
|
178
|
+
- **Problem:** Creates inconsistency, violates project conventions
|
|
179
|
+
- **Fix:** Follow priority: explicit instructions > existing project-local directory > default
|
|
180
|
+
|
|
181
|
+
### Proceeding with failing tests
|
|
182
|
+
|
|
183
|
+
- **Problem:** Can't distinguish new bugs from pre-existing issues
|
|
184
|
+
- **Fix:** Report failures, get explicit permission to proceed
|
|
185
|
+
|
|
186
|
+
## Red Flags
|
|
187
|
+
|
|
188
|
+
**Never:**
|
|
189
|
+
- Create a worktree when Step 0 detects existing isolation
|
|
190
|
+
- Use `git worktree add` when you have a native worktree tool (e.g., `EnterWorktree`). This is the #1 mistake — if you have it, use it.
|
|
191
|
+
- Skip Step 1a by jumping straight to Step 1b's git commands
|
|
192
|
+
- Create worktree without verifying it's ignored (project-local)
|
|
193
|
+
- Skip baseline test verification
|
|
194
|
+
- Proceed with failing tests without asking
|
|
195
|
+
|
|
196
|
+
**Always:**
|
|
197
|
+
- Run Step 0 detection first
|
|
198
|
+
- Prefer native tools over git fallback
|
|
199
|
+
- Follow directory priority: explicit instructions > existing project-local directory > default
|
|
200
|
+
- Verify directory is ignored for project-local
|
|
201
|
+
- Auto-detect and run project setup
|
|
202
|
+
- Verify clean test baseline
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-superpowers
|
|
3
|
+
description: Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<SUBAGENT-STOP>
|
|
7
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill.
|
|
8
|
+
</SUBAGENT-STOP>
|
|
9
|
+
|
|
10
|
+
<EXTREMELY-IMPORTANT>
|
|
11
|
+
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
|
|
12
|
+
|
|
13
|
+
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
|
|
14
|
+
|
|
15
|
+
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
|
|
16
|
+
</EXTREMELY-IMPORTANT>
|
|
17
|
+
|
|
18
|
+
## Instruction Priority
|
|
19
|
+
|
|
20
|
+
Superpowers skills override default system prompt behavior, but **user instructions always take precedence**:
|
|
21
|
+
|
|
22
|
+
1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority
|
|
23
|
+
2. **Superpowers skills** — override default system behavior where they conflict
|
|
24
|
+
3. **Default system prompt** — lowest priority
|
|
25
|
+
|
|
26
|
+
If CLAUDE.md, GEMINI.md, or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control.
|
|
27
|
+
|
|
28
|
+
## How to Access Skills
|
|
29
|
+
|
|
30
|
+
**Never read skill files manually with file tools** — always use your platform's skill-loading mechanism so the skill is properly activated.
|
|
31
|
+
|
|
32
|
+
**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you — follow it directly.
|
|
33
|
+
|
|
34
|
+
**In Codex:** Skills load natively. Follow the instructions presented when a skill activates.
|
|
35
|
+
|
|
36
|
+
**In Copilot CLI:** Use the `skill` tool. Skills are auto-discovered from installed plugins.
|
|
37
|
+
|
|
38
|
+
**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand.
|
|
39
|
+
|
|
40
|
+
**In other environments:** Check your platform's documentation for how skills are loaded.
|
|
41
|
+
|
|
42
|
+
## Platform Adaptation
|
|
43
|
+
|
|
44
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file") rather than naming any one runtime's tools. For per-platform tool equivalents and instructions-file conventions, see [claude-code-tools.md](references/claude-code-tools.md), [codex-tools.md](references/codex-tools.md), [copilot-tools.md](references/copilot-tools.md), [gemini-tools.md](references/gemini-tools.md), [pi-tools.md](references/pi-tools.md), and [antigravity-tools.md](references/antigravity-tools.md). Gemini CLI users get the tool mapping loaded automatically via GEMINI.md.
|
|
45
|
+
|
|
46
|
+
# Using Skills
|
|
47
|
+
|
|
48
|
+
## The Rule
|
|
49
|
+
|
|
50
|
+
**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
|
|
51
|
+
|
|
52
|
+
```dot
|
|
53
|
+
digraph skill_flow {
|
|
54
|
+
"User message received" [shape=doublecircle];
|
|
55
|
+
"About to enter plan mode?" [shape=doublecircle];
|
|
56
|
+
"Already brainstormed?" [shape=diamond];
|
|
57
|
+
"Invoke brainstorming skill" [shape=box];
|
|
58
|
+
"Might any skill apply?" [shape=diamond];
|
|
59
|
+
"Invoke the skill" [shape=box];
|
|
60
|
+
"Announce: 'Using [skill] to [purpose]'" [shape=box];
|
|
61
|
+
"Has checklist?" [shape=diamond];
|
|
62
|
+
"Create a todo per item" [shape=box];
|
|
63
|
+
"Follow skill exactly" [shape=box];
|
|
64
|
+
"Respond (including clarifications)" [shape=doublecircle];
|
|
65
|
+
|
|
66
|
+
"About to enter plan mode?" -> "Already brainstormed?";
|
|
67
|
+
"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
|
|
68
|
+
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
|
|
69
|
+
"Invoke brainstorming skill" -> "Might any skill apply?";
|
|
70
|
+
|
|
71
|
+
"User message received" -> "Might any skill apply?";
|
|
72
|
+
"Might any skill apply?" -> "Invoke the skill" [label="yes, even 1%"];
|
|
73
|
+
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
|
|
74
|
+
"Invoke the skill" -> "Announce: 'Using [skill] to [purpose]'";
|
|
75
|
+
"Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
|
|
76
|
+
"Has checklist?" -> "Create a todo per item" [label="yes"];
|
|
77
|
+
"Has checklist?" -> "Follow skill exactly" [label="no"];
|
|
78
|
+
"Create a todo per item" -> "Follow skill exactly";
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Red Flags
|
|
83
|
+
|
|
84
|
+
These thoughts mean STOP—you're rationalizing:
|
|
85
|
+
|
|
86
|
+
| Thought | Reality |
|
|
87
|
+
|---------|---------|
|
|
88
|
+
| "This is just a simple question" | Questions are tasks. Check for skills. |
|
|
89
|
+
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
|
|
90
|
+
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
|
|
91
|
+
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
|
|
92
|
+
| "Let me gather information first" | Skills tell you HOW to gather information. |
|
|
93
|
+
| "This doesn't need a formal skill" | If a skill exists, use it. |
|
|
94
|
+
| "I remember this skill" | Skills evolve. Read current version. |
|
|
95
|
+
| "This doesn't count as a task" | Action = task. Check for skills. |
|
|
96
|
+
| "The skill is overkill" | Simple things become complex. Use it. |
|
|
97
|
+
| "I'll just do this one thing first" | Check BEFORE doing anything. |
|
|
98
|
+
| "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
|
|
99
|
+
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
|
|
100
|
+
|
|
101
|
+
## Skill Priority
|
|
102
|
+
|
|
103
|
+
When multiple skills could apply, use this order:
|
|
104
|
+
|
|
105
|
+
1. **Process skills first** (brainstorming, systematic-debugging) - these determine HOW to approach the task
|
|
106
|
+
2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution
|
|
107
|
+
|
|
108
|
+
"Let's build X" → brainstorming first, then implementation skills.
|
|
109
|
+
"Fix this bug" → systematic-debugging first, then domain-specific skills.
|
|
110
|
+
|
|
111
|
+
## Skill Types
|
|
112
|
+
|
|
113
|
+
**Rigid** (TDD, systematic-debugging): Follow exactly. Don't adapt away discipline.
|
|
114
|
+
|
|
115
|
+
**Flexible** (patterns): Adapt principles to context.
|
|
116
|
+
|
|
117
|
+
The skill itself tells you which.
|
|
118
|
+
|
|
119
|
+
## User Instructions
|
|
120
|
+
|
|
121
|
+
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Antigravity CLI (`agy`) Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On the Antigravity CLI (`agy`) these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Antigravity CLI equivalent |
|
|
6
|
+
|----------------------|----------------------|
|
|
7
|
+
| Read a file | `view_file` |
|
|
8
|
+
| Create a new file | `write_to_file` |
|
|
9
|
+
| Edit a file | `replace_file_content` |
|
|
10
|
+
| Edit a file in several places at once | `multi_replace_file_content` |
|
|
11
|
+
| Run a shell command | `run_command` |
|
|
12
|
+
| Search file contents | `grep_search` |
|
|
13
|
+
| Find files by name / list a directory | `list_dir` (no dedicated glob tool — combine `list_dir` with `grep_search`) |
|
|
14
|
+
| Fetch a URL | `read_url_content` |
|
|
15
|
+
| Search the web | `search_web` |
|
|
16
|
+
| Pose a structured question to your human partner | `ask_question` |
|
|
17
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `invoke_subagent` with a built-in `TypeName` — `self` for full-capability work, `research` for read-only (see [Subagent support](#subagent-support)) |
|
|
18
|
+
| Multiple parallel dispatches | Multiple entries in one `invoke_subagent` call's `Subagents` array |
|
|
19
|
+
| Task tracking ("create a todo", "mark complete") | a **task artifact** — `write_to_file` with `IsArtifact: true` and `ArtifactType: "task"` (see [Task tracking](#task-tracking)). **Not** `manage_task`, which manages background processes. |
|
|
20
|
+
|
|
21
|
+
## Invoking a skill — read its `SKILL.md`
|
|
22
|
+
|
|
23
|
+
Antigravity surfaces every installed skill's `name` + `description` to you at the
|
|
24
|
+
start of each session, but it has **no `Skill`/`activate_skill` tool**. To load a
|
|
25
|
+
skill, **read its `SKILL.md` with `view_file`, setting `IsSkillFile: true`** when
|
|
26
|
+
the skill applies — e.g. `view_file` on
|
|
27
|
+
`.../plugins/superpowers/skills/<skill-name>/SKILL.md` with `IsSkillFile: true`.
|
|
28
|
+
(`IsSkillFile` is agy's own signal that you're reading a file to *execute its
|
|
29
|
+
instructions*, not to edit or preview it — set it whenever you load a skill.)
|
|
30
|
+
|
|
31
|
+
This is the blessed skill-loading mechanism on this harness. The general rule
|
|
32
|
+
"never read skill files manually" means "don't bypass your platform's
|
|
33
|
+
skill-loading mechanism" — and on Antigravity, reading `SKILL.md` *is* that
|
|
34
|
+
mechanism. Reading it honors the rule rather than breaking it.
|
|
35
|
+
|
|
36
|
+
You already know which skills exist and what they're for: their names and
|
|
37
|
+
descriptions are in front of you at session start. When a description matches
|
|
38
|
+
what you're about to do, read that skill's `SKILL.md` before acting.
|
|
39
|
+
|
|
40
|
+
## Subagent support
|
|
41
|
+
|
|
42
|
+
Antigravity dispatches subagents with `invoke_subagent`, passing each one a
|
|
43
|
+
`TypeName` in the `Subagents` array. Two `TypeName`s are **built in** — use them
|
|
44
|
+
directly, no `define_subagent` needed:
|
|
45
|
+
|
|
46
|
+
- **`self`** — a full clone of you, with every tool you have (including
|
|
47
|
+
`write_to_file`/`replace_file_content`/`run_command`). The safe default for
|
|
48
|
+
general-purpose work: implementing, fixing, anything that edits files or runs
|
|
49
|
+
commands.
|
|
50
|
+
- **`research`** — read-only (file reading, `grep_search`, web/URL fetch; no write
|
|
51
|
+
or command access). Use it when you specifically want a subagent that can't make
|
|
52
|
+
changes — investigation and read-only review.
|
|
53
|
+
|
|
54
|
+
Call `define_subagent` only for a custom system prompt or capability mix: set
|
|
55
|
+
`enable_write_tools: true` to grant file edits **and** `run_command`,
|
|
56
|
+
`enable_subagent_tools` for nested dispatch, `enable_mcp_tools` for MCP. Then
|
|
57
|
+
invoke it by the name you gave it. (`manage_subagents` lists/kills running
|
|
58
|
+
subagents.)
|
|
59
|
+
|
|
60
|
+
Skills dispatch with `Subagent (general-purpose):` and either reference a
|
|
61
|
+
prompt-template file (e.g. `superpowers:subagent-driven-development`'s
|
|
62
|
+
`./implementer-prompt.md`) or supply an inline prompt. On Antigravity:
|
|
63
|
+
|
|
64
|
+
| Skill dispatch form | Antigravity equivalent |
|
|
65
|
+
|---------------------|----------------------|
|
|
66
|
+
| An implementer-style `*-prompt.md` template (writes code, runs tests) | Fill the template, then `invoke_subagent` with `TypeName: "self"` and the filled prompt |
|
|
67
|
+
| A read-only reviewer template (`task-reviewer`, `code-reviewer`, `requesting-code-review`'s `./code-reviewer.md`) | `invoke_subagent` with `TypeName: "research"` and the filled review template |
|
|
68
|
+
| Inline prompt (no template referenced) | `invoke_subagent` with `TypeName: "self"` (or `"research"` if the task only reads) and your inline prompt |
|
|
69
|
+
|
|
70
|
+
### Prompt filling
|
|
71
|
+
|
|
72
|
+
Skills provide prompt templates with placeholders like `{WHAT_WAS_IMPLEMENTED}` or
|
|
73
|
+
`[FULL TEXT of task]`. Fill all placeholders before passing the complete prompt to
|
|
74
|
+
`invoke_subagent`. The prompt template itself contains the agent's role, review
|
|
75
|
+
criteria, and expected output format — the subagent will follow it.
|
|
76
|
+
|
|
77
|
+
### Parallel dispatch
|
|
78
|
+
|
|
79
|
+
Put multiple entries in a single `invoke_subagent` call's `Subagents` array to run
|
|
80
|
+
independent subagent work in parallel. Keep dependent tasks sequential, but do not
|
|
81
|
+
serialize independent subagent tasks just to preserve a simpler history.
|
|
82
|
+
|
|
83
|
+
## Task tracking
|
|
84
|
+
|
|
85
|
+
Antigravity has **no todo / `TodoWrite` tool** (`manage_task` manages background
|
|
86
|
+
processes — `list`/`kill`/`status`/`send_input` — it is *not* a checklist). When a
|
|
87
|
+
skill says to create a todo list or track tasks, maintain a **task artifact**: a
|
|
88
|
+
markdown checklist saved with `write_to_file` (`IsArtifact: true`,
|
|
89
|
+
`ArtifactMetadata.ArtifactType: "task"`), edited with `replace_file_content` /
|
|
90
|
+
`multi_replace_file_content` as you go.
|
|
91
|
+
|
|
92
|
+
At the start of any multi-step task, create the task artifact listing every step of
|
|
93
|
+
your plan. As you complete each step, edit the artifact to mark it done (`- [x]`).
|
|
94
|
+
If the plan changes, update the checklist. Keep it current — it is your source of
|
|
95
|
+
truth for what remains; once the conversation gets long, re-read it before starting
|
|
96
|
+
each step.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Claude Code Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Claude Code these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
| Action skills request | Claude Code tool |
|
|
8
|
+
|----------------------|------------------|
|
|
9
|
+
| Read a file | `Read` |
|
|
10
|
+
| Create a new file | `Write` |
|
|
11
|
+
| Edit a file | `Edit` |
|
|
12
|
+
| Run a shell command | `Bash` |
|
|
13
|
+
| Search file contents | `Grep` |
|
|
14
|
+
| Find files by name | `Glob` |
|
|
15
|
+
| Fetch a URL | `WebFetch` |
|
|
16
|
+
| Search the web | `WebSearch` |
|
|
17
|
+
| Invoke a skill | `Skill` |
|
|
18
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `Agent` (older releases named this `Task`) |
|
|
19
|
+
| Multiple parallel dispatches | Multiple `Agent` calls in one response |
|
|
20
|
+
| Task tracking ("create a todo", "mark complete") | `TaskCreate`, `TaskUpdate`, `TaskList`, `TaskGet`; `TodoWrite` in `claude -p` / Agent SDK unless `CLAUDE_CODE_ENABLE_TASKS=1` is set |
|
|
21
|
+
| Background-process / subagent lifecycle (read output, cancel) | `TaskOutput`, `TaskStop` — these are distinct from the todo tools above and apply to running shells, agents, and remote sessions |
|
|
22
|
+
|
|
23
|
+
## Instructions file
|
|
24
|
+
|
|
25
|
+
When a skill mentions "your instructions file", on Claude Code this is **`CLAUDE.md`**. Claude Code walks up the directory tree from the current working directory and concatenates every `CLAUDE.md` and `CLAUDE.local.md` it finds along the way. Standard locations:
|
|
26
|
+
|
|
27
|
+
| Scope | Location |
|
|
28
|
+
|-------|----------|
|
|
29
|
+
| Project (team-shared) | `./CLAUDE.md` or `./.claude/CLAUDE.md` |
|
|
30
|
+
| User global | `~/.claude/CLAUDE.md` |
|
|
31
|
+
| Local-private (gitignored) | `./CLAUDE.local.md` |
|
|
32
|
+
| Managed policy (org-wide) | `/Library/Application Support/ClaudeCode/CLAUDE.md` (macOS), `/etc/claude-code/CLAUDE.md` (Linux/WSL), `C:\Program Files\ClaudeCode\CLAUDE.md` (Windows) |
|
|
33
|
+
|
|
34
|
+
CLAUDE.md files can pull in additional content with `@path/to/file` imports (relative or absolute, max five hops deep). Subdirectory `CLAUDE.md` files are also discovered automatically and loaded on-demand when Claude Code reads files in those subdirectories.
|
|
35
|
+
|
|
36
|
+
Claude Code does **not** read `AGENTS.md` directly. If a project already maintains `AGENTS.md` for other agents, import it from `CLAUDE.md` so both runtimes share the same instructions:
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
@AGENTS.md
|
|
40
|
+
|
|
41
|
+
## Claude Code
|
|
42
|
+
|
|
43
|
+
(Claude-Code-specific instructions go here.)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
For path-scoped rules and larger-project organization, see `.claude/rules/` (rules can be scoped to specific files via `paths` frontmatter and load on demand).
|
|
47
|
+
|
|
48
|
+
## Personal skills directory
|
|
49
|
+
|
|
50
|
+
User-level skills live at **`~/.claude/skills/`**. Each skill is a subdirectory containing a `SKILL.md` (with `name` and `description` frontmatter) plus any supporting files. Claude Code does not currently recognize the cross-runtime `~/.agents/skills/` path that Codex, Copilot CLI, and Gemini CLI read; if you're relying on cross-runtime support in the future, verify against the [official skills docs](https://code.claude.com/docs/en/skills).
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Codex Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Codex these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Codex equivalent |
|
|
6
|
+
|----------------------|------------------|
|
|
7
|
+
| Read a file | `shell` (e.g., `cat`, `head`, `tail`) — Codex reads files via shell |
|
|
8
|
+
| Create / edit / delete a file | `apply_patch` (structured diff for create, update, delete) |
|
|
9
|
+
| Run a shell command | `shell` |
|
|
10
|
+
| Search file contents | `shell` (e.g., `grep`, `rg`) |
|
|
11
|
+
| Find files by name | `shell` (e.g., `find`, `ls`) |
|
|
12
|
+
| Fetch a URL | `shell` with `curl` / `wget` — Codex has no native fetch tool |
|
|
13
|
+
| Search the web | `web_search` (enabled by default; configurable in `config.toml` via the top-level `web_search` setting — `live`, `cached`, or `disabled`) |
|
|
14
|
+
| Invoke a skill | Skills load natively — just follow the instructions |
|
|
15
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `spawn_agent` (see [Subagent dispatch requires multi-agent support](#subagent-dispatch-requires-multi-agent-support)) |
|
|
16
|
+
| Multiple parallel dispatches | Multiple `spawn_agent` calls in one response |
|
|
17
|
+
| Wait for subagent result | `wait_agent` |
|
|
18
|
+
| Free up subagent slot when done | `close_agent` |
|
|
19
|
+
| Task tracking ("create a todo", "mark complete") | `update_plan` |
|
|
20
|
+
|
|
21
|
+
## Instructions file
|
|
22
|
+
|
|
23
|
+
When a skill mentions "your instructions file", on Codex this is **`AGENTS.md`** at the project root. Codex also reads `~/.codex/AGENTS.md` for global context, and an `AGENTS.override.md` (in the project tree or `~/.codex/`) takes precedence when present. Codex walks from the project root down to the current working directory, concatenating `AGENTS.md` files it finds along the way, up to `project_doc_max_bytes` (32 KiB by default).
|
|
24
|
+
|
|
25
|
+
## Personal skills directory
|
|
26
|
+
|
|
27
|
+
User-level skills live at **`$CODEX_HOME/skills/`** (default `~/.codex/skills/`). Codex also reads the cross-runtime path **`~/.agents/skills/`** (shared with Copilot CLI and Gemini CLI). When both directories exist at the same scope, Codex loads them both as separate skill catalogs — Codex's docs don't currently document a precedence between them. Each skill is a subdirectory containing a `SKILL.md` (with `name` and `description` frontmatter).
|
|
28
|
+
|
|
29
|
+
## Subagent dispatch requires multi-agent support
|
|
30
|
+
|
|
31
|
+
Add to your Codex config (`~/.codex/config.toml`):
|
|
32
|
+
|
|
33
|
+
```toml
|
|
34
|
+
[features]
|
|
35
|
+
multi_agent = true
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This enables `spawn_agent`, `wait_agent`, and `close_agent` for skills like `dispatching-parallel-agents` and `subagent-driven-development`.
|
|
39
|
+
|
|
40
|
+
Legacy note: Codex builds before `rust-v0.115.0` exposed spawned-agent
|
|
41
|
+
waiting as `wait`. Current Codex uses `wait_agent` for spawned agents. The
|
|
42
|
+
`wait` name now belongs to code-mode `exec/wait`, which resumes a yielded exec
|
|
43
|
+
cell by `cell_id`; it is not the spawned-agent result tool.
|
|
44
|
+
|
|
45
|
+
## Environment Detection
|
|
46
|
+
|
|
47
|
+
Skills that create worktrees or finish branches should detect their
|
|
48
|
+
environment with read-only git commands before proceeding:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
|
|
52
|
+
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
|
|
53
|
+
BRANCH=$(git branch --show-current)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
- `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation)
|
|
57
|
+
- `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox)
|
|
58
|
+
|
|
59
|
+
See `using-git-worktrees` Step 0 and `finishing-a-development-branch`
|
|
60
|
+
Step 1 for how each skill uses these signals.
|
|
61
|
+
|
|
62
|
+
## Codex App Finishing
|
|
63
|
+
|
|
64
|
+
When the sandbox blocks branch/push operations (detached HEAD in an
|
|
65
|
+
externally managed worktree), the agent commits all work and informs
|
|
66
|
+
the user to use the App's native controls:
|
|
67
|
+
|
|
68
|
+
- **"Create branch"** — names the branch, then commit/push/PR via App UI
|
|
69
|
+
- **"Hand off to local"** — transfers work to the user's local checkout
|
|
70
|
+
|
|
71
|
+
The agent can still run tests, stage files, and output suggested branch
|
|
72
|
+
names, commit messages, and PR descriptions for the user to copy.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Copilot CLI Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Copilot CLI these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Copilot CLI equivalent |
|
|
6
|
+
|----------------------|----------------------|
|
|
7
|
+
| Read a file | `view` |
|
|
8
|
+
| Create / edit / delete a file | `apply_patch` (Copilot CLI has no separate create/edit/write tools) |
|
|
9
|
+
| Run a shell command | `bash` |
|
|
10
|
+
| Search file contents | `rg` (ripgrep; Copilot CLI does not expose a `grep` tool) |
|
|
11
|
+
| Find files by name | `glob` |
|
|
12
|
+
| Fetch a URL | `web_fetch` |
|
|
13
|
+
| Search the web | `web_search` |
|
|
14
|
+
| Invoke a skill | `skill` |
|
|
15
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `task` with `agent_type: "general-purpose"` (other accepted types: `explore`, `task`, `code-review`, `research`, `configure-copilot`) |
|
|
16
|
+
| Multiple parallel dispatches | Multiple `task` calls in one response |
|
|
17
|
+
| Subagent status/output/control | `read_agent`, `list_agents`, `write_agent` |
|
|
18
|
+
| Task tracking ("create a todo", "mark complete") | `update_todo` |
|
|
19
|
+
| Enter / exit plan mode | No equivalent — stay in the main session |
|
|
20
|
+
|
|
21
|
+
## Instructions file
|
|
22
|
+
|
|
23
|
+
When a skill mentions "your instructions file", on Copilot CLI this is **`AGENTS.md`** at the repository root. If both `AGENTS.md` and `.github/copilot-instructions.md` are present, Copilot reads both.
|
|
24
|
+
|
|
25
|
+
## Personal skills directory
|
|
26
|
+
|
|
27
|
+
User-level skills live at **`~/.copilot/skills/`**. Copilot CLI also recognizes the cross-runtime alias **`~/.agents/skills/`**, which is shared with Codex and Gemini CLI. Each skill is a subdirectory containing a `SKILL.md` (with `name` and `description` frontmatter).
|
|
28
|
+
|
|
29
|
+
## Async shell sessions
|
|
30
|
+
|
|
31
|
+
Copilot CLI supports persistent async shell sessions:
|
|
32
|
+
|
|
33
|
+
| Tool | Purpose |
|
|
34
|
+
|------|---------|
|
|
35
|
+
| `bash` with `mode: "async"` (and optionally `detach: true`) | Start a long-running command in the background; returns a `shellId` |
|
|
36
|
+
| `write_bash` | Send input to a running async session |
|
|
37
|
+
| `read_bash` | Read output from an async session |
|
|
38
|
+
| `stop_bash` | Terminate an async session |
|
|
39
|
+
| `list_bash` | List all active shell sessions |
|
|
40
|
+
|
|
41
|
+
## Additional Copilot CLI tools
|
|
42
|
+
|
|
43
|
+
| Tool | Purpose |
|
|
44
|
+
|------|---------|
|
|
45
|
+
| `store_memory` | Persist facts about the codebase for future sessions |
|
|
46
|
+
| `report_intent` | Update the UI status line with current intent |
|
|
47
|
+
| `sql` | Query the session's SQLite database (todos, metadata) |
|
|
48
|
+
| `fetch_copilot_cli_documentation` | Look up Copilot CLI documentation |
|
|
49
|
+
| GitHub MCP tools (`github-mcp-server-*`) | Native GitHub API access (issues, PRs, code search) |
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Gemini CLI Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Gemini CLI these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Gemini CLI equivalent |
|
|
6
|
+
|----------------------|----------------------|
|
|
7
|
+
| Read a file | `read_file` |
|
|
8
|
+
| Read multiple files at once | `read_many_files` |
|
|
9
|
+
| Create a new file | `write_file` |
|
|
10
|
+
| Edit a file | `replace` |
|
|
11
|
+
| Run a shell command | `run_shell_command` |
|
|
12
|
+
| Search file contents | `grep_search` |
|
|
13
|
+
| Find files by name | `glob` |
|
|
14
|
+
| List files and subdirectories | `list_directory` |
|
|
15
|
+
| Fetch a URL | `web_fetch` |
|
|
16
|
+
| Search the web | `google_web_search` |
|
|
17
|
+
| Invoke a skill | `activate_skill` |
|
|
18
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `invoke_agent` with `agent_name: "generalist"` (invocable via `@generalist` chat syntax — see [Subagent support](#subagent-support)) |
|
|
19
|
+
| Multiple parallel dispatches | Multiple `invoke_agent` calls in the same response |
|
|
20
|
+
| Task tracking ("create a todo", "mark complete") | `write_todos` (statuses: pending, in_progress, completed, cancelled, blocked) |
|
|
21
|
+
|
|
22
|
+
## Instructions file
|
|
23
|
+
|
|
24
|
+
When a skill mentions "your instructions file", on Gemini CLI this is **`GEMINI.md`**. Gemini CLI loads `GEMINI.md` hierarchically: global at `~/.gemini/GEMINI.md`, project-level files in workspace directories and their ancestors, and sub-directory `GEMINI.md` files when a tool accesses files in those directories.
|
|
25
|
+
|
|
26
|
+
## Personal skills directory
|
|
27
|
+
|
|
28
|
+
User-level skills live at **`~/.gemini/skills/`**, with **`~/.agents/skills/`** as a cross-runtime alias (shared with Codex and Copilot CLI). When both directories exist at the same scope, `.agents/skills/` takes precedence. Each skill is a subdirectory containing a `SKILL.md` (with `name` and `description` frontmatter).
|
|
29
|
+
|
|
30
|
+
## Subagent support
|
|
31
|
+
|
|
32
|
+
Gemini CLI dispatches subagents through the `invoke_agent` tool, which takes `agent_name` and `prompt` parameters. The same dispatch is also surfaced as a chat-syntax shortcut: typing `@generalist <prompt>` is equivalent to calling `invoke_agent` with `agent_name: "generalist"`. Built-in agent names include `generalist`, `cli_help`, `codebase_investigator`, and (with browser tooling enabled) `browser_agent`.
|
|
33
|
+
|
|
34
|
+
Skills dispatch with `Subagent (general-purpose):` and either reference a prompt-template file (e.g., `superpowers:subagent-driven-development`'s `./implementer-prompt.md`) or supply an inline prompt. On Gemini CLI:
|
|
35
|
+
|
|
36
|
+
| Skill dispatch form | Gemini CLI equivalent |
|
|
37
|
+
|---------------------|----------------------|
|
|
38
|
+
| References a `*-prompt.md` template (implementer, task-reviewer, code-reviewer, etc.) | Fill the template, then `invoke_agent` with `agent_name: "generalist"` and the filled prompt |
|
|
39
|
+
| References `superpowers:requesting-code-review`'s `./code-reviewer.md` | `invoke_agent` with `agent_name: "generalist"` and the filled review template |
|
|
40
|
+
| Inline prompt (no template referenced) | `invoke_agent` with `agent_name: "generalist"` and your inline prompt |
|
|
41
|
+
|
|
42
|
+
### Prompt filling
|
|
43
|
+
|
|
44
|
+
Skills provide prompt templates with placeholders like `{WHAT_WAS_IMPLEMENTED}` or `[FULL TEXT of task]`. Fill all placeholders before passing the complete prompt to `invoke_agent`. The prompt template itself contains the agent's role, review criteria, and expected output format — the subagent will follow it.
|
|
45
|
+
|
|
46
|
+
### Parallel dispatch
|
|
47
|
+
|
|
48
|
+
Gemini CLI supports parallel subagent dispatch. Issue multiple `invoke_agent` calls in the same response (or multiple `@generalist` invocations in one prompt) to run independent subagent work in parallel. Keep dependent tasks sequential, but do not serialize independent subagent tasks just to preserve a simpler history.
|
|
49
|
+
|
|
50
|
+
## Additional Gemini CLI tools
|
|
51
|
+
|
|
52
|
+
These tools are unique to Gemini CLI:
|
|
53
|
+
|
|
54
|
+
| Tool | Purpose |
|
|
55
|
+
|------|---------|
|
|
56
|
+
| `save_memory` (legacy) | Persist facts across sessions when `experimental.memoryV2 = false` |
|
|
57
|
+
| `get_internal_docs` | Look up Gemini CLI's bundled documentation |
|
|
58
|
+
| `ask_user` | Pose structured questions to the user (text / single-select / multi-select) |
|
|
59
|
+
| `enter_plan_mode` / `exit_plan_mode` | Switch into and out of read-only plan mode |
|
|
60
|
+
| `update_topic` | Update the current conversation's topic / strategic-intent metadata |
|
|
61
|
+
| `complete_task` | Signal that a Gemini subagent has completed and return its result to the parent agent |
|
|
62
|
+
| `tracker_create_task`, `tracker_update_task`, `tracker_get_task`, `tracker_list_tasks`, `tracker_add_dependency`, `tracker_visualize` | Rich task tracker with dependency and visualization support |
|
|
63
|
+
| `read_mcp_resource`, `list_mcp_resources` | MCP resource access |
|