monomind 1.16.10 → 1.17.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/.claude/agents/github/code-review-swarm.md +19 -19
- package/.claude/agents/github/github-modes.md +4 -4
- package/.claude/agents/github/multi-repo-swarm.md +24 -24
- package/.claude/agents/github/project-board-sync.md +28 -28
- package/.claude/agents/github/swarm-issue.md +26 -26
- package/.claude/agents/github/swarm-pr.md +18 -18
- package/.claude/agents/github/workflow-automation.md +27 -27
- package/.claude/agents/reengineer-squad/git-manager.md +2 -2
- package/.claude/commands/mastermind/master.md +9 -3
- package/.claude/commands/mastermind/references/antigravity-tools.md +60 -0
- package/.claude/commands/mastermind/references/claude-code-tools.md +50 -0
- package/.claude/commands/mastermind/references/codex-tools.md +64 -0
- package/.claude/commands/mastermind/references/copilot-tools.md +49 -0
- package/.claude/commands/mastermind/references/gemini-tools.md +63 -0
- package/.claude/commands/mastermind/references/pi-tools.md +28 -0
- package/.claude/helpers/mastermind-activate.cjs +53 -0
- package/.claude/settings.json +4 -0
- package/.claude/skills/mastermind/runorg.md +14 -0
- package/.claude/skills/mastermind/techport.md +5 -5
- package/README.md +1 -1
- package/package.json +5 -4
- package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +19 -19
- package/packages/@monomind/cli/.claude/agents/github/github-modes.md +4 -4
- package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +24 -24
- package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +28 -28
- package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +26 -26
- package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +18 -18
- package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +27 -27
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/master.md +9 -3
- package/packages/@monomind/cli/.claude/commands/mastermind/references/antigravity-tools.md +60 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/references/claude-code-tools.md +50 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/references/codex-tools.md +64 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/references/copilot-tools.md +49 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/references/gemini-tools.md +63 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/references/pi-tools.md +28 -0
- package/packages/@monomind/cli/.claude/helpers/mastermind-activate.cjs +53 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/runorg.md +14 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/techport.md +5 -5
- package/packages/@monomind/cli/README.md +1 -1
- package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +125 -37
- package/packages/@monomind/cli/dist/src/commands/index.js +0 -2
- package/packages/@monomind/cli/dist/src/init/executor.js +0 -24
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +0 -45
- package/packages/@monomind/cli/dist/src/init/types.d.ts +0 -2
- package/packages/@monomind/cli/dist/src/init/types.js +0 -2
- package/packages/@monomind/cli/dist/src/ui/dashboard.html +82 -75
- package/packages/@monomind/cli/dist/src/ui/server.mjs +41 -4
- package/packages/@monomind/cli/package.json +1 -1
- package/packages/@monomind/guidance/README.md +0 -1
- package/packages/@monomind/guidance/package.json +2 -14
- package/scripts/verify-appliance.sh +16 -20
- package/.claude-plugin/README.md +0 -704
- package/.claude-plugin/docs/INSTALLATION.md +0 -258
- package/.claude-plugin/docs/PLUGIN_SUMMARY.md +0 -358
- package/.claude-plugin/docs/QUICKSTART.md +0 -357
- package/.claude-plugin/docs/STRUCTURE.md +0 -122
- package/.claude-plugin/hooks/hooks.json +0 -74
- package/.claude-plugin/marketplace.json +0 -98
- package/.claude-plugin/plugin.json +0 -70
- package/.claude-plugin/scripts/install.sh +0 -234
- package/.claude-plugin/scripts/uninstall.sh +0 -36
- package/.claude-plugin/scripts/verify.sh +0 -102
|
@@ -17,14 +17,14 @@ Create and manage AI swarms directly from GitHub Pull Requests, enabling seamles
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
# Create swarm from PR description using gh CLI
|
|
20
|
-
gh pr view 123 --json body,title,labels,files | npx
|
|
20
|
+
gh pr view 123 --json body,title,labels,files | npx monomind swarm create-from-pr
|
|
21
21
|
|
|
22
22
|
# Auto-spawn agents based on PR labels
|
|
23
|
-
gh pr view 123 --json labels | npx
|
|
23
|
+
gh pr view 123 --json labels | npx monomind swarm auto-spawn
|
|
24
24
|
|
|
25
25
|
# Create swarm with PR context
|
|
26
26
|
gh pr view 123 --json body,labels,author,assignees | \
|
|
27
|
-
npx
|
|
27
|
+
npx monomind swarm init --from-pr-data
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
### 2. PR Comment Commands
|
|
@@ -59,7 +59,7 @@ jobs:
|
|
|
59
59
|
- name: Handle Swarm Command
|
|
60
60
|
run: |
|
|
61
61
|
if [[ "${{ github.event.comment.body }}" == /swarm* ]]; then
|
|
62
|
-
npx
|
|
62
|
+
npx monomind github handle-comment \
|
|
63
63
|
--pr ${{ github.event.pull_request.number }} \
|
|
64
64
|
--comment "${{ github.event.comment.body }}"
|
|
65
65
|
fi
|
|
@@ -89,7 +89,7 @@ Map PR labels to agent types:
|
|
|
89
89
|
# Small PR (< 100 lines): ring topology
|
|
90
90
|
# Medium PR (100-500 lines): mesh topology
|
|
91
91
|
# Large PR (> 500 lines): hierarchical topology
|
|
92
|
-
npx
|
|
92
|
+
npx monomind github pr-topology --pr 123
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
## PR Swarm Commands
|
|
@@ -101,7 +101,7 @@ npx ruv-swarm github pr-topology --pr 123
|
|
|
101
101
|
PR_DIFF=$(gh pr diff 123)
|
|
102
102
|
PR_INFO=$(gh pr view 123 --json title,body,labels,files,reviews)
|
|
103
103
|
|
|
104
|
-
npx
|
|
104
|
+
npx monomind github pr-init 123 \
|
|
105
105
|
--auto-agents \
|
|
106
106
|
--pr-data "$PR_INFO" \
|
|
107
107
|
--diff "$PR_DIFF" \
|
|
@@ -112,7 +112,7 @@ npx ruv-swarm github pr-init 123 \
|
|
|
112
112
|
|
|
113
113
|
```bash
|
|
114
114
|
# Post swarm progress to PR using gh CLI
|
|
115
|
-
PROGRESS=$(npx
|
|
115
|
+
PROGRESS=$(npx monomind github pr-progress 123 --format markdown)
|
|
116
116
|
|
|
117
117
|
gh pr comment 123 --body "$PROGRESS"
|
|
118
118
|
|
|
@@ -129,7 +129,7 @@ fi
|
|
|
129
129
|
PR_FILES=$(gh pr view 123 --json files --jq '.files[].path')
|
|
130
130
|
|
|
131
131
|
# Run swarm review
|
|
132
|
-
REVIEW_RESULTS=$(npx
|
|
132
|
+
REVIEW_RESULTS=$(npx monomind github pr-review 123 \
|
|
133
133
|
--agents "security,performance,style" \
|
|
134
134
|
--files "$PR_FILES")
|
|
135
135
|
|
|
@@ -149,7 +149,7 @@ done
|
|
|
149
149
|
|
|
150
150
|
```bash
|
|
151
151
|
# Coordinate swarms across related PRs
|
|
152
|
-
npx
|
|
152
|
+
npx monomind github multi-pr \
|
|
153
153
|
--prs "123,124,125" \
|
|
154
154
|
--strategy "parallel" \
|
|
155
155
|
--share-memory
|
|
@@ -159,7 +159,7 @@ npx ruv-swarm github multi-pr \
|
|
|
159
159
|
|
|
160
160
|
```bash
|
|
161
161
|
# Analyze PR dependencies
|
|
162
|
-
npx
|
|
162
|
+
npx monomind github pr-deps 123 \
|
|
163
163
|
--spawn-agents \
|
|
164
164
|
--resolve-conflicts
|
|
165
165
|
```
|
|
@@ -168,7 +168,7 @@ npx ruv-swarm github pr-deps 123 \
|
|
|
168
168
|
|
|
169
169
|
```bash
|
|
170
170
|
# Auto-fix PR issues
|
|
171
|
-
npx
|
|
171
|
+
npx monomind github pr-fix 123 \
|
|
172
172
|
--issues "lint,test-failures" \
|
|
173
173
|
--commit-fixes
|
|
174
174
|
```
|
|
@@ -209,7 +209,7 @@ required_status_checks:
|
|
|
209
209
|
```bash
|
|
210
210
|
# Auto-merge when swarm completes using gh CLI
|
|
211
211
|
# Check swarm completion status
|
|
212
|
-
SWARM_STATUS=$(npx
|
|
212
|
+
SWARM_STATUS=$(npx monomind github pr-status 123)
|
|
213
213
|
|
|
214
214
|
if [[ "$SWARM_STATUS" == "complete" ]]; then
|
|
215
215
|
# Check review requirements
|
|
@@ -236,7 +236,7 @@ createServer((req, res) => {
|
|
|
236
236
|
const event = JSON.parse(body);
|
|
237
237
|
|
|
238
238
|
if (event.action === "opened" && event.pull_request) {
|
|
239
|
-
execSync(`npx
|
|
239
|
+
execSync(`npx monomind github pr-init ${event.pull_request.number}`);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
res.writeHead(200);
|
|
@@ -251,7 +251,7 @@ createServer((req, res) => {
|
|
|
251
251
|
|
|
252
252
|
```bash
|
|
253
253
|
# PR #456: Add user authentication
|
|
254
|
-
npx
|
|
254
|
+
npx monomind github pr-init 456 \
|
|
255
255
|
--topology hierarchical \
|
|
256
256
|
--agents "architect,coder,tester,security" \
|
|
257
257
|
--auto-assign-tasks
|
|
@@ -261,7 +261,7 @@ npx ruv-swarm github pr-init 456 \
|
|
|
261
261
|
|
|
262
262
|
```bash
|
|
263
263
|
# PR #789: Fix memory leak
|
|
264
|
-
npx
|
|
264
|
+
npx monomind github pr-init 789 \
|
|
265
265
|
--topology mesh \
|
|
266
266
|
--agents "debugger,analyst,tester" \
|
|
267
267
|
--priority high
|
|
@@ -271,7 +271,7 @@ npx ruv-swarm github pr-init 789 \
|
|
|
271
271
|
|
|
272
272
|
```bash
|
|
273
273
|
# PR #321: Update API docs
|
|
274
|
-
npx
|
|
274
|
+
npx monomind github pr-init 321 \
|
|
275
275
|
--topology ring \
|
|
276
276
|
--agents "researcher,writer,reviewer" \
|
|
277
277
|
--validate-links
|
|
@@ -283,7 +283,7 @@ npx ruv-swarm github pr-init 321 \
|
|
|
283
283
|
|
|
284
284
|
```bash
|
|
285
285
|
# Generate PR swarm report
|
|
286
|
-
npx
|
|
286
|
+
npx monomind github pr-report 123 \
|
|
287
287
|
--metrics "completion-time,agent-efficiency,token-usage" \
|
|
288
288
|
--format markdown
|
|
289
289
|
```
|
|
@@ -292,7 +292,7 @@ npx ruv-swarm github pr-report 123 \
|
|
|
292
292
|
|
|
293
293
|
```bash
|
|
294
294
|
# Export to GitHub Insights
|
|
295
|
-
npx
|
|
295
|
+
npx monomind github export-metrics \
|
|
296
296
|
--pr 123 \
|
|
297
297
|
--to-insights
|
|
298
298
|
```
|
|
@@ -34,7 +34,7 @@ jobs:
|
|
|
34
34
|
|
|
35
35
|
- name: Analyze Changes
|
|
36
36
|
run: |
|
|
37
|
-
npx
|
|
37
|
+
npx monomind actions analyze \
|
|
38
38
|
--commit ${{ github.sha }} \
|
|
39
39
|
--suggest-tests \
|
|
40
40
|
--optimize-pipeline
|
|
@@ -44,7 +44,7 @@ jobs:
|
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
46
|
# Generate workflows based on code analysis
|
|
47
|
-
npx
|
|
47
|
+
npx monomind actions generate-workflow \
|
|
48
48
|
--analyze-codebase \
|
|
49
49
|
--detect-languages \
|
|
50
50
|
--create-optimal-pipeline
|
|
@@ -56,7 +56,7 @@ npx ruv-swarm actions generate-workflow \
|
|
|
56
56
|
# Smart test runner
|
|
57
57
|
- name: Swarm Test Selection
|
|
58
58
|
run: |
|
|
59
|
-
npx
|
|
59
|
+
npx monomind actions smart-test \
|
|
60
60
|
--changed-files ${{ steps.files.outputs.all }} \
|
|
61
61
|
--impact-analysis \
|
|
62
62
|
--parallel-safe
|
|
@@ -80,12 +80,12 @@ jobs:
|
|
|
80
80
|
- name: Detect Languages
|
|
81
81
|
id: detect
|
|
82
82
|
run: |
|
|
83
|
-
npx
|
|
83
|
+
npx monomind actions detect-stack \
|
|
84
84
|
--output json > stack.json
|
|
85
85
|
|
|
86
86
|
- name: Dynamic Build Matrix
|
|
87
87
|
run: |
|
|
88
|
-
npx
|
|
88
|
+
npx monomind actions create-matrix \
|
|
89
89
|
--from stack.json \
|
|
90
90
|
--parallel-builds
|
|
91
91
|
```
|
|
@@ -107,7 +107,7 @@ jobs:
|
|
|
107
107
|
- name: Security Analysis Swarm
|
|
108
108
|
run: |
|
|
109
109
|
# Use gh CLI for issue creation
|
|
110
|
-
SECURITY_ISSUES=$(npx
|
|
110
|
+
SECURITY_ISSUES=$(npx monomind actions security \
|
|
111
111
|
--deep-scan \
|
|
112
112
|
--format json)
|
|
113
113
|
|
|
@@ -129,7 +129,7 @@ jobs:
|
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
131
|
# Optimize existing workflows
|
|
132
|
-
npx
|
|
132
|
+
npx monomind actions optimize \
|
|
133
133
|
--workflow ".github/workflows/ci.yml" \
|
|
134
134
|
--suggest-parallelization \
|
|
135
135
|
--reduce-redundancy \
|
|
@@ -141,7 +141,7 @@ npx ruv-swarm actions optimize \
|
|
|
141
141
|
```bash
|
|
142
142
|
# Analyze failed runs using gh CLI
|
|
143
143
|
gh run view ${{ github.run_id }} --json jobs,conclusion | \
|
|
144
|
-
npx
|
|
144
|
+
npx monomind actions analyze-failure \
|
|
145
145
|
--suggest-fixes \
|
|
146
146
|
--auto-retry-flaky
|
|
147
147
|
|
|
@@ -158,7 +158,7 @@ fi
|
|
|
158
158
|
|
|
159
159
|
```bash
|
|
160
160
|
# Optimize resource usage
|
|
161
|
-
npx
|
|
161
|
+
npx monomind actions resources \
|
|
162
162
|
--analyze-usage \
|
|
163
163
|
--suggest-runners \
|
|
164
164
|
--cost-optimize
|
|
@@ -180,7 +180,7 @@ jobs:
|
|
|
180
180
|
steps:
|
|
181
181
|
- name: Diagnose and Fix
|
|
182
182
|
run: |
|
|
183
|
-
npx
|
|
183
|
+
npx monomind actions self-heal \
|
|
184
184
|
--run-id ${{ github.event.workflow_run.id }} \
|
|
185
185
|
--auto-fix-common \
|
|
186
186
|
--create-pr-complex
|
|
@@ -202,13 +202,13 @@ jobs:
|
|
|
202
202
|
- name: Analyze Risk
|
|
203
203
|
id: risk
|
|
204
204
|
run: |
|
|
205
|
-
npx
|
|
205
|
+
npx monomind actions deploy-risk \
|
|
206
206
|
--changes ${{ github.sha }} \
|
|
207
207
|
--history 30d
|
|
208
208
|
|
|
209
209
|
- name: Choose Strategy
|
|
210
210
|
run: |
|
|
211
|
-
npx
|
|
211
|
+
npx monomind actions deploy-strategy \
|
|
212
212
|
--risk ${{ steps.risk.outputs.level }} \
|
|
213
213
|
--auto-execute
|
|
214
214
|
```
|
|
@@ -226,7 +226,7 @@ jobs:
|
|
|
226
226
|
steps:
|
|
227
227
|
- name: Performance Analysis
|
|
228
228
|
run: |
|
|
229
|
-
npx
|
|
229
|
+
npx monomind actions perf-test \
|
|
230
230
|
--baseline main \
|
|
231
231
|
--threshold 10% \
|
|
232
232
|
--auto-profile-regression
|
|
@@ -246,7 +246,7 @@ runs: using: "node16";
|
|
|
246
246
|
main: "dist/index.js";
|
|
247
247
|
|
|
248
248
|
// index.js
|
|
249
|
-
const { SwarmAction } = require("
|
|
249
|
+
const { SwarmAction } = require("monomind");
|
|
250
250
|
|
|
251
251
|
async function run() {
|
|
252
252
|
const swarm = new SwarmAction({
|
|
@@ -271,7 +271,7 @@ jobs:
|
|
|
271
271
|
steps:
|
|
272
272
|
- id: set-matrix
|
|
273
273
|
run: |
|
|
274
|
-
MATRIX=$(npx
|
|
274
|
+
MATRIX=$(npx monomind actions test-matrix \
|
|
275
275
|
--detect-frameworks \
|
|
276
276
|
--optimize-coverage)
|
|
277
277
|
echo "matrix=${MATRIX}" >> $GITHUB_OUTPUT
|
|
@@ -286,7 +286,7 @@ jobs:
|
|
|
286
286
|
|
|
287
287
|
```bash
|
|
288
288
|
# Determine optimal parallelization
|
|
289
|
-
npx
|
|
289
|
+
npx monomind actions parallel-strategy \
|
|
290
290
|
--analyze-dependencies \
|
|
291
291
|
--time-estimates \
|
|
292
292
|
--cost-aware
|
|
@@ -298,7 +298,7 @@ npx ruv-swarm actions parallel-strategy \
|
|
|
298
298
|
|
|
299
299
|
```bash
|
|
300
300
|
# Analyze workflow performance
|
|
301
|
-
npx
|
|
301
|
+
npx monomind actions analytics \
|
|
302
302
|
--workflow "ci.yml" \
|
|
303
303
|
--period 30d \
|
|
304
304
|
--identify-bottlenecks \
|
|
@@ -309,7 +309,7 @@ npx ruv-swarm actions analytics \
|
|
|
309
309
|
|
|
310
310
|
```bash
|
|
311
311
|
# Optimize GitHub Actions costs
|
|
312
|
-
npx
|
|
312
|
+
npx monomind actions cost-optimize \
|
|
313
313
|
--analyze-usage \
|
|
314
314
|
--suggest-caching \
|
|
315
315
|
--recommend-self-hosted
|
|
@@ -319,7 +319,7 @@ npx ruv-swarm actions cost-optimize \
|
|
|
319
319
|
|
|
320
320
|
```bash
|
|
321
321
|
# Identify failure patterns
|
|
322
|
-
npx
|
|
322
|
+
npx monomind actions failure-patterns \
|
|
323
323
|
--period 90d \
|
|
324
324
|
--classify-failures \
|
|
325
325
|
--suggest-preventions
|
|
@@ -343,7 +343,7 @@ jobs:
|
|
|
343
343
|
PR_DATA=$(gh pr view ${{ github.event.pull_request.number }} --json files,labels)
|
|
344
344
|
|
|
345
345
|
# Run validation with swarm
|
|
346
|
-
RESULTS=$(npx
|
|
346
|
+
RESULTS=$(npx monomind actions pr-validate \
|
|
347
347
|
--spawn-agents "linter,tester,security,docs" \
|
|
348
348
|
--parallel \
|
|
349
349
|
--pr-data "$PR_DATA")
|
|
@@ -367,7 +367,7 @@ jobs:
|
|
|
367
367
|
steps:
|
|
368
368
|
- name: Release Swarm
|
|
369
369
|
run: |
|
|
370
|
-
npx
|
|
370
|
+
npx monomind actions release \
|
|
371
371
|
--analyze-changes \
|
|
372
372
|
--generate-notes \
|
|
373
373
|
--create-artifacts \
|
|
@@ -388,7 +388,7 @@ jobs:
|
|
|
388
388
|
steps:
|
|
389
389
|
- name: Documentation Swarm
|
|
390
390
|
run: |
|
|
391
|
-
npx
|
|
391
|
+
npx monomind actions update-docs \
|
|
392
392
|
--analyze-changes \
|
|
393
393
|
--update-api-docs \
|
|
394
394
|
--check-examples
|
|
@@ -423,7 +423,7 @@ jobs:
|
|
|
423
423
|
|
|
424
424
|
```bash
|
|
425
425
|
# Predict potential failures
|
|
426
|
-
npx
|
|
426
|
+
npx monomind actions predict \
|
|
427
427
|
--analyze-history \
|
|
428
428
|
--identify-risks \
|
|
429
429
|
--suggest-preventive
|
|
@@ -433,7 +433,7 @@ npx ruv-swarm actions predict \
|
|
|
433
433
|
|
|
434
434
|
```bash
|
|
435
435
|
# Get workflow recommendations
|
|
436
|
-
npx
|
|
436
|
+
npx monomind actions recommend \
|
|
437
437
|
--analyze-repo \
|
|
438
438
|
--suggest-workflows \
|
|
439
439
|
--industry-best-practices
|
|
@@ -443,7 +443,7 @@ npx ruv-swarm actions recommend \
|
|
|
443
443
|
|
|
444
444
|
```bash
|
|
445
445
|
# Continuously optimize workflows
|
|
446
|
-
npx
|
|
446
|
+
npx monomind actions auto-optimize \
|
|
447
447
|
--monitor-performance \
|
|
448
448
|
--apply-improvements \
|
|
449
449
|
--track-savings
|
|
@@ -456,7 +456,7 @@ npx ruv-swarm actions auto-optimize \
|
|
|
456
456
|
```yaml
|
|
457
457
|
- name: Debug Swarm
|
|
458
458
|
run: |
|
|
459
|
-
npx
|
|
459
|
+
npx monomind actions debug \
|
|
460
460
|
--verbose \
|
|
461
461
|
--trace-agents \
|
|
462
462
|
--export-logs
|
|
@@ -466,7 +466,7 @@ npx ruv-swarm actions auto-optimize \
|
|
|
466
466
|
|
|
467
467
|
```bash
|
|
468
468
|
# Profile workflow performance
|
|
469
|
-
npx
|
|
469
|
+
npx monomind actions profile \
|
|
470
470
|
--workflow "ci.yml" \
|
|
471
471
|
--identify-slow-steps \
|
|
472
472
|
--suggest-optimizations
|
|
@@ -58,8 +58,8 @@ feat(port): <description> (from <source-module>)
|
|
|
58
58
|
|
|
59
59
|
Examples:
|
|
60
60
|
```
|
|
61
|
-
feat(port): add EventBus with typed subscribers (from
|
|
62
|
-
feat(port): add PluginLoader with lazy resolution (from
|
|
61
|
+
feat(port): add EventBus with typed subscribers (from upstream/event-system)
|
|
62
|
+
feat(port): add PluginLoader with lazy resolution (from upstream/plugins)
|
|
63
63
|
test(port): add EventBus behavioral contract tests
|
|
64
64
|
```
|
|
65
65
|
|
|
@@ -41,15 +41,21 @@ If CLAUDE.md, GEMINI.md, or AGENTS.md says "skip review" and the skill says "alw
|
|
|
41
41
|
|
|
42
42
|
**In Codex:** Skills load natively. Follow the instructions presented when a skill activates.
|
|
43
43
|
|
|
44
|
-
**In other environments:** Check your platform's documentation for how skills are loaded.
|
|
44
|
+
**In other environments:** Check your platform's documentation for how skills are loaded.
|
|
45
|
+
|
|
46
|
+
### Platform Adaptation
|
|
47
|
+
|
|
48
|
+
Mastermind skills speak in actions ("dispatch a subagent", "invoke the skill tool", "create a todo") 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
49
|
|
|
46
50
|
### User Instructions vs. Skill Workflows
|
|
47
51
|
|
|
48
52
|
User instructions say **WHAT** to do, not **HOW** to do it. "Build X" or "Fix Y" is a goal statement — it does not mean skip Brain Load, skip review, or bypass the domain decomposition flow. The skills define the how. Always apply the workflow unless the user explicitly opts out.
|
|
49
53
|
|
|
50
|
-
###
|
|
54
|
+
### The Rule
|
|
51
55
|
|
|
52
|
-
Invoke the matching skill
|
|
56
|
+
**Invoke the matching mastermind skill BEFORE any response or action.** Even a 1% chance a skill applies means you must check. If you invoke a skill and it turns out not to fit the situation, you don't need to follow it — but you must check first.
|
|
57
|
+
|
|
58
|
+
### Command-to-Skill Routing
|
|
53
59
|
|
|
54
60
|
```dot
|
|
55
61
|
digraph mastermind_routing {
|
|
@@ -0,0 +1,60 @@
|
|
|
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 start of each session, but it has **no `Skill`/`activate_skill` tool**. To load a skill, **read its `SKILL.md` with `view_file`, setting `IsSkillFile: true`** when the skill applies — e.g. `view_file` on `.../mastermind/skills/<skill-name>/SKILL.md` with `IsSkillFile: true`.
|
|
24
|
+
|
|
25
|
+
(`IsSkillFile` is agy's own signal that you're reading a file to *execute its instructions*, not to edit or preview it — set it whenever you load a skill.)
|
|
26
|
+
|
|
27
|
+
This is the blessed skill-loading mechanism on this harness. The general rule "never read skill files manually" means "don't bypass your platform's skill-loading mechanism" — and on Antigravity, reading `SKILL.md` *is* that mechanism. Reading it honors the rule rather than breaking it.
|
|
28
|
+
|
|
29
|
+
You already know which skills exist and what they're for: their names and descriptions are in front of you at session start. When a description matches what you're about to do, read that skill's `SKILL.md` before acting.
|
|
30
|
+
|
|
31
|
+
## Subagent support
|
|
32
|
+
|
|
33
|
+
Antigravity dispatches subagents with `invoke_subagent`, passing each one a `TypeName` in the `Subagents` array. Two `TypeName`s are **built in** — use them directly, no `define_subagent` needed:
|
|
34
|
+
|
|
35
|
+
- **`self`** — a full clone of you, with every tool you have (including `write_to_file`/`replace_file_content`/`run_command`). The safe default for general-purpose work: implementing, fixing, anything that edits files or runs commands.
|
|
36
|
+
- **`research`** — read-only (file reading, `grep_search`, web/URL fetch; no write or command access). Use it when you specifically want a subagent that can't make changes — investigation and read-only review.
|
|
37
|
+
|
|
38
|
+
Call `define_subagent` only for a custom system prompt or capability mix: set `enable_write_tools: true` to grant file edits **and** `run_command`, `enable_subagent_tools` for nested dispatch, `enable_mcp_tools` for MCP. Then invoke it by the name you gave it.
|
|
39
|
+
|
|
40
|
+
Skills dispatch with `Subagent (general-purpose):` and either reference a prompt-template file or supply an inline prompt. On Antigravity:
|
|
41
|
+
|
|
42
|
+
| Skill dispatch form | Antigravity equivalent |
|
|
43
|
+
|---------------------|----------------------|
|
|
44
|
+
| An implementer-style template (writes code, runs tests) | Fill the template, then `invoke_subagent` with `TypeName: "self"` and the filled prompt |
|
|
45
|
+
| A read-only reviewer template (`mastermind:review`) | `invoke_subagent` with `TypeName: "research"` and the filled review template |
|
|
46
|
+
| Inline prompt (no template referenced) | `invoke_subagent` with `TypeName: "self"` (or `"research"` if the task only reads) and your inline prompt |
|
|
47
|
+
|
|
48
|
+
### Prompt filling
|
|
49
|
+
|
|
50
|
+
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_subagent`. The prompt template itself contains the agent's role, review criteria, and expected output format — the subagent will follow it.
|
|
51
|
+
|
|
52
|
+
### Parallel dispatch
|
|
53
|
+
|
|
54
|
+
Put multiple entries in a single `invoke_subagent` call's `Subagents` array to run independent subagent work in parallel. Keep dependent tasks sequential, but do not serialize independent subagent tasks just to preserve a simpler history.
|
|
55
|
+
|
|
56
|
+
## Task tracking
|
|
57
|
+
|
|
58
|
+
Antigravity has **no todo / `TodoWrite` tool** (`manage_task` manages background processes — it is *not* a checklist). When a skill says to create a todo list or track tasks, maintain a **task artifact**: a markdown checklist saved with `write_to_file` (`IsArtifact: true`, `ArtifactMetadata.ArtifactType: "task"`), edited with `replace_file_content` / `multi_replace_file_content` as you go.
|
|
59
|
+
|
|
60
|
+
At the start of any multi-step task, create the task artifact listing every step of your plan. As you complete each step, edit the artifact to mark it done (`- [x]`). If the plan changes, update the checklist. Keep it current — it is your source of truth for what remains; once the conversation gets long, re-read it before starting 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.
|
|
@@ -0,0 +1,64 @@
|
|
|
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. 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 `mastermind:taskdev` and `mastermind:review`.
|
|
39
|
+
|
|
40
|
+
Legacy note: Codex builds before `rust-v0.115.0` exposed spawned-agent waiting as `wait`. Current Codex uses `wait_agent` for spawned agents. The `wait` name now belongs to code-mode `exec/wait`, which resumes a yielded exec cell by `cell_id`; it is not the spawned-agent result tool.
|
|
41
|
+
|
|
42
|
+
## Environment Detection
|
|
43
|
+
|
|
44
|
+
Skills that create worktrees or finish branches should detect their environment with read-only git commands before proceeding:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
|
|
48
|
+
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
|
|
49
|
+
BRANCH=$(git branch --show-current)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
- `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation)
|
|
53
|
+
- `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox)
|
|
54
|
+
|
|
55
|
+
See `mastermind:worktree` Step 0 and `mastermind:finish` Step 1 for how each skill uses these signals.
|
|
56
|
+
|
|
57
|
+
## Codex App Finishing
|
|
58
|
+
|
|
59
|
+
When the sandbox blocks branch/push operations (detached HEAD in an externally managed worktree), the agent commits all work and informs the user to use the App's native controls:
|
|
60
|
+
|
|
61
|
+
- **"Create branch"** — names the branch, then commit/push/PR via App UI
|
|
62
|
+
- **"Hand off to local"** — transfers work to the user's local checkout
|
|
63
|
+
|
|
64
|
+
The agent can still run tests, stage files, and output suggested branch 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) |
|