@mmerterden/multi-agent-pipeline 12.5.0 → 12.7.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/CHANGELOG.md +213 -0
- package/README.md +19 -19
- package/docs/FIGMA_PIPELINE.md +34 -34
- package/docs/adr/0001-three-model-triage.md +12 -12
- package/docs/adr/0002-instruction-driven-flag.md +5 -5
- package/docs/adr/0003-unified-shared-skills.md +5 -5
- package/docs/adr/0004-zero-dependency-philosophy.md +5 -5
- package/docs/adr/0005-lazy-phase-docs.md +2 -2
- package/docs/adr/0006-skills-core-external-split.md +6 -6
- package/docs/adr/0007-multi-tool-adapter-framework.md +19 -19
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +19 -19
- package/docs/adr/README.md +1 -1
- package/docs/best-practices.md +3 -3
- package/docs/features.md +48 -28
- package/docs/performance.md +16 -16
- package/docs/recovery-guide.md +39 -39
- package/index.js +11 -5
- package/install/_common.mjs +5 -11
- package/install/_copilot-instructions.mjs +2 -2
- package/install/_dev-only-files.mjs +2 -1
- package/install/_platform-filter.mjs +1 -1
- package/install/_telemetry.mjs +1 -1
- package/install/claude.mjs +10 -9
- package/install/copilot.mjs +10 -19
- package/install/index.mjs +7 -15
- package/install/templates/copilot-instructions.md +54 -54
- package/install.js +1 -1
- package/package.json +15 -11
- package/pipeline/agents/security-auditor.md +1 -1
- package/pipeline/commands/archive-guard.md +5 -5
- package/pipeline/commands/multi-agent/SKILL.md +3 -1
- package/pipeline/commands/multi-agent/analysis/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/build-optimize/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/create-jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/design-check/SKILL.md +287 -0
- package/pipeline/commands/multi-agent/dev/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-local/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/diff-explain/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/finish/SKILL.md +6 -6
- package/pipeline/commands/multi-agent/forget/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/help/SKILL.md +46 -6
- package/pipeline/commands/multi-agent/issue/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/kill/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/language/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/local/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/log/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/manual-test/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/prune-logs/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/purge/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +107 -19
- package/pipeline/commands/multi-agent/resume/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/review/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/review-issue/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/review-jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/routines/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/save/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/scan/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/search/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/stack/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/status/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/sync/SKILL.md +123 -16
- package/pipeline/commands/multi-agent/test/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/uninstall/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/update/SKILL.md +3 -3
- package/pipeline/commands/sim-test.md +5 -5
- package/pipeline/eval/run-metrics-fixture.json +60 -13
- package/pipeline/lib/account-resolver.sh +1 -1
- package/pipeline/lib/channels-multi-repo.sh +1 -1
- package/pipeline/lib/context-link-extractor.sh +1 -1
- package/pipeline/lib/credential-store.sh +33 -1
- package/pipeline/lib/fetch-confluence.sh +1 -1
- package/pipeline/lib/fetch-crashlytics.sh +1 -1
- package/pipeline/lib/fetch-fortify.sh +1 -1
- package/pipeline/lib/fetch-graylog.sh +1 -1
- package/pipeline/lib/fetch-swagger.sh +1 -1
- package/pipeline/lib/issue-fetcher.sh +1 -1
- package/pipeline/lib/multi-repo-pipeline.sh +1 -1
- package/pipeline/lib/repo-cache.sh +1 -1
- package/pipeline/lib/submodule-detector.sh +1 -1
- package/pipeline/multi-agent-refs/component-dispatch.md +1 -1
- package/pipeline/multi-agent-refs/component-generation.md +121 -0
- package/pipeline/multi-agent-refs/cross-cli-contract.md +4 -4
- package/pipeline/multi-agent-refs/features/model-fallback.md +2 -2
- package/pipeline/multi-agent-refs/phases/phase-3-dev.md +2 -2
- package/pipeline/multi-agent-refs/phases/phase-4-review.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-5-test.md +4 -4
- package/pipeline/preferences-template.json +23 -12
- package/pipeline/schemas/agent-state.schema.json +125 -5
- package/pipeline/schemas/analysis-output.schema.json +18 -4
- package/pipeline/schemas/analysis-spec.schema.json +120 -32
- package/pipeline/schemas/clarify-output.schema.json +15 -5
- package/pipeline/schemas/design-check-config.schema.json +183 -0
- package/pipeline/schemas/dev-critic-output.schema.json +20 -5
- package/pipeline/schemas/figma-project-config.schema.json +42 -10
- package/pipeline/schemas/learnings-ledger.schema.json +10 -2
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +1 -4
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +24 -7
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +30 -12
- package/pipeline/schemas/plan-todos.schema.json +6 -3
- package/pipeline/schemas/planning-output.schema.json +5 -1
- package/pipeline/schemas/prefs.schema.json +215 -197
- package/pipeline/schemas/test-gap.schema.json +5 -5
- package/pipeline/schemas/token-budget.json +8 -8
- package/pipeline/schemas/triage-corpus.schema.json +1 -1
- package/pipeline/scripts/README.md +7 -5
- package/pipeline/scripts/aggregate-metrics.mjs +18 -6
- package/pipeline/scripts/build-skills-index.mjs +6 -2
- package/pipeline/scripts/build-stack-plugins.mjs +142 -39
- package/pipeline/scripts/check-derived-drift.mjs +196 -0
- package/pipeline/scripts/check-md-links.mjs +6 -2
- package/pipeline/scripts/classify-plan-safety.mjs +26 -8
- package/pipeline/scripts/cost-budget-check.mjs +11 -6
- package/pipeline/scripts/cost-table.json +1 -1
- package/pipeline/scripts/diff-explain.mjs +7 -3
- package/pipeline/scripts/diff-risk-score.mjs +13 -3
- package/pipeline/scripts/eval-golden-tasks-live.mjs +8 -3
- package/pipeline/scripts/eval-golden-tasks.mjs +21 -9
- package/pipeline/scripts/eval-intent.mjs +8 -4
- package/pipeline/scripts/eval-mine-corpus.mjs +14 -4
- package/pipeline/scripts/evidence-gate.mjs +7 -2
- package/pipeline/scripts/fixtures/install-layout.tsv +7 -7
- package/pipeline/scripts/gen-mode-dispatch.mjs +38 -21
- package/pipeline/scripts/gen-skills-index.mjs +18 -3
- package/pipeline/scripts/learning-curve.mjs +13 -3
- package/pipeline/scripts/learnings-ledger.mjs +119 -34
- package/pipeline/scripts/lint-mcp-refs.mjs +218 -0
- package/pipeline/scripts/lint-skills.mjs +20 -9
- package/pipeline/scripts/localize-commands.mjs +6 -1
- package/pipeline/scripts/match-skills.mjs +15 -4
- package/pipeline/scripts/memory-load.sh +5 -1
- package/pipeline/scripts/migrate-prefs.mjs +33 -16
- package/pipeline/scripts/phase-tracker.sh +3 -1
- package/pipeline/scripts/render-work-summary.sh +4 -1
- package/pipeline/scripts/repo-map.mjs +110 -64
- package/pipeline/scripts/review-scope.mjs +7 -1
- package/pipeline/scripts/routine-registry.mjs +4 -9
- package/pipeline/scripts/run-aggregator.mjs +11 -5
- package/pipeline/scripts/run-metrics.mjs +13 -8
- package/pipeline/scripts/run-smokes.mjs +57 -3
- package/pipeline/scripts/scorecard.mjs +258 -0
- package/pipeline/scripts/smoke-command-inventory.sh +81 -0
- package/pipeline/scripts/smoke-commands-skills-parity.sh +1 -1
- package/pipeline/scripts/smoke-compliance-skills.sh +4 -4
- package/pipeline/scripts/smoke-context-budget.sh +72 -0
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +12 -2
- package/pipeline/scripts/smoke-generate-issue.sh +6 -5
- package/pipeline/scripts/smoke-model-fallback.sh +1 -1
- package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +86 -7
- package/pipeline/scripts/smoke-own-punctuation.sh +103 -0
- package/pipeline/scripts/smoke-per-repo-memory.sh +2 -2
- package/pipeline/scripts/smoke-review-readiness.sh +3 -2
- package/pipeline/scripts/smoke-schema-validation.sh +19 -5
- package/pipeline/scripts/smoke-shadow-git.sh +4 -2
- package/pipeline/scripts/smoke-workflow-audit.sh +43 -11
- package/pipeline/scripts/smoke-write-state.sh +49 -5
- package/pipeline/scripts/test-gap-rules/android.json +11 -11
- package/pipeline/scripts/test-gap-rules/ios.json +16 -11
- package/pipeline/scripts/test-gap-rules/node.json +19 -7
- package/pipeline/scripts/test-gap-rules/python.json +10 -4
- package/pipeline/scripts/test-gap-scan.mjs +44 -12
- package/pipeline/scripts/test-integrity-gate.mjs +5 -1
- package/pipeline/scripts/token-budget-report.mjs +44 -21
- package/pipeline/scripts/triage-memory.mjs +142 -32
- package/pipeline/scripts/uninstall.mjs +75 -31
- package/pipeline/scripts/validate-analysis-doc.mjs +15 -5
- package/pipeline/scripts/validate-diff-risk.mjs +32 -18
- package/pipeline/scripts/validate-test-gap.mjs +17 -7
- package/pipeline/scripts/validate-triage.mjs +17 -5
- package/pipeline/scripts/write-state.mjs +32 -9
- package/pipeline/skills/.skill-manifest.json +24 -8
- package/pipeline/skills/.skills-index.json +125 -89
- package/pipeline/skills/shared/README.md +65 -61
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +10 -8
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +26 -279
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +248 -0
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +23 -1
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +82 -18
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +51 -9
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +1 -1
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -4
- package/pipeline/skills/shared/external/agentflow/SKILL.md +1 -1
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +1 -1
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +1 -1
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +1 -1
- package/pipeline/skills/shared/external/backlog/BACKLOG.md +1 -1
- package/pipeline/skills/shared/external/backlog/SKILL.md +12 -12
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +1 -1
- package/pipeline/skills/shared/external/context-compression/SKILL.md +1 -1
- package/pipeline/skills/shared/external/council/SKILL.md +3 -3
- package/pipeline/skills/shared/external/css-modern/SKILL.md +1 -1
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +1 -1
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +1 -1
- package/pipeline/skills/shared/external/firebase/SKILL.md +1 -1
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +1 -1
- package/pipeline/skills/shared/external/help-skills/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +1 -1
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +1 -1
- package/pipeline/skills/shared/external/humanizer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +1 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +1 -1
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +1 -1
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +1 -1
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -1
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +1 -1
- package/pipeline/skills/shared/external/search-first/SKILL.md +2 -2
- package/pipeline/skills/shared/external/skill-creator/SKILL.md +12 -12
- package/pipeline/skills/shared/external/skill-creator/audit.md +21 -21
- package/pipeline/skills/shared/external/skill-creator/checklist.md +3 -3
- package/pipeline/skills/shared/external/skill-creator/examples.md +10 -10
- package/pipeline/skills/shared/external/skill-creator/label-check.md +17 -17
- package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +86 -50
- package/pipeline/skills/shared/external/skill-creator/template.md +9 -9
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +1 -1
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +1 -1
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +1 -1
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-performance/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-testing/SKILL.md +1 -1
- package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +9 -49
- package/pipeline/skills/skills-index.md +63 -59
- package/pipeline/scripts/smoke-plugin-validate.sh +0 -64
|
@@ -1,37 +1,39 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Analyse the project: extract adapted best-practices, hunt real bugs + improvement areas, check upstream drift of derived skills, draft one plan, take approval, develop, then ask whether to sync."
|
|
3
|
-
description-tr: "Projeyi analiz eder: uyarlanmış best-practice'leri çıkarır, gerçek bug + iyileştirme alanlarını avlar, türetilmiş skill'lerin upstream drift'ini kontrol eder, tek plan taslağı çıkarır, onay alır, geliştirir, sonra sync isteyip istemediğini sorar."
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion, WebFetch
|
|
2
|
+
description: "Analyse the project: extract adapted best-practices, hunt real bugs + improvement areas, check upstream drift of derived skills, research the companion dev-toolkit MCP server against current MCP practice, draft one plan, take approval, develop, then ask whether to sync. Use when asked to review a project for bugs, gaps or improvements, or to check whether derived skills have drifted from upstream."
|
|
3
|
+
description-tr: "Projeyi analiz eder: uyarlanmış best-practice'leri çıkarır, gerçek bug + iyileştirme alanlarını avlar, türetilmiş skill'lerin upstream drift'ini kontrol eder, dev-toolkit MCP sunucusunu güncel MCP pratiklerine göre araştırır, tek plan taslağı çıkarır, onay alır, geliştirir, sonra sync isteyip istemediğini sorar."
|
|
4
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion, WebFetch, WebSearch
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Multi-Agent Refactor
|
|
8
8
|
|
|
9
|
-
**One command. Best-practices + Bug hunt + Upstream drift -> Score -> Plan -> Approval -> Develop -> Sync.**
|
|
9
|
+
**One command. Best-practices + Bug hunt + Upstream drift + Dev-toolkit -> Score -> Plan -> Approval -> Develop -> Sync.**
|
|
10
10
|
|
|
11
|
-
Deep-analyses the current project, extracts the global best-practices worth adopting (adapted to our stack), hunts real bugs and improvement areas, checks whether any skills we derived from an upstream source have drifted, scores everything, drafts a single prioritized plan, asks the user for approval, applies the approved items, and asks about sync at the end.
|
|
11
|
+
Deep-analyses the current project, extracts the global best-practices worth adopting (adapted to our stack), hunts real bugs and improvement areas, checks whether any skills we derived from an upstream source have drifted, researches the companion dev-toolkit MCP server against current MCP practice, scores everything, drafts a single prioritized plan, asks the user for approval, applies the approved items, and asks about sync at the end.
|
|
12
12
|
|
|
13
|
-
**Input**: $ARGUMENTS (optional - area to focus on: "security", "performance", "tests", "bugs", "best-practices", "drift", etc.)
|
|
13
|
+
**Input**: $ARGUMENTS (optional - area to focus on: "security", "performance", "tests", "bugs", "best-practices", "drift", "dev-toolkit", etc.)
|
|
14
14
|
|
|
15
15
|
## Flow
|
|
16
16
|
|
|
17
17
|
```
|
|
18
18
|
Step 0: BEST-PRACTICES Research the field, extract the best approaches, ADAPT them to our stack -> plan band A
|
|
19
19
|
Step 0b: DRIFT Check upstream-derived skills for updates we have not pulled -> plan band D
|
|
20
|
+
Step 0c: DEV-TOOLKIT Research current MCP practice + audit the companion dev-toolkit repo -> plan band E
|
|
20
21
|
Step 1: SCAN Walk the project structure (files, LOC, dependencies, CI, tests)
|
|
21
22
|
Step 2: ANALYZE 10 categories + an explicit BUG HUNT (real defects, not just scores) -> plan bands B, C
|
|
22
23
|
Step 3: SCORE Each category /10, overall /100
|
|
23
|
-
Step 4: PLAN Merge bands A (best-practice) + B (bugs) + C (improvements) + D (drift)
|
|
24
|
+
Step 4: PLAN Merge bands A (best-practice) + B (bugs) + C (improvements) + D (drift) + E (dev-toolkit)
|
|
24
25
|
Step 5: ASK "Start the work?" - wait for user approval
|
|
25
26
|
Step 6: IMPLEMENT Apply approved items one by one (lint, test, commit)
|
|
26
27
|
Step 7: VERIFY Confirm every test + lint passes
|
|
27
28
|
Step 8: ASK SYNC "Run /multi-agent:sync?" - wait for user approval
|
|
28
29
|
```
|
|
29
30
|
|
|
30
|
-
Plan bands (all
|
|
31
|
+
Plan bands (all five feed the single Step 4 table):
|
|
31
32
|
- **A - Best-practice**: the best field approaches, adapted so they actually fit this repo.
|
|
32
33
|
- **B - Bug**: real defects found in the code (correctness, security, data-loss, crashes).
|
|
33
34
|
- **C - Improvement**: quality/perf/DX gaps surfaced by the 10-category analysis.
|
|
34
35
|
- **D - Drift**: upstream updates to skills we derived from an external source.
|
|
36
|
+
- **E - Dev-toolkit**: current-practice gaps in the companion dev-toolkit MCP server (the pipeline's device and browser hands), applied in that repo.
|
|
35
37
|
|
|
36
38
|
## Step 0: BEST-PRACTICES - research the field, adapt to us
|
|
37
39
|
|
|
@@ -73,19 +75,27 @@ The upstream mapping is **configuration, never hardcoded** (it can reference pri
|
|
|
73
75
|
"upstreamPlugin": "<plugin name>",
|
|
74
76
|
"upstreamSkills": ["<skill-a>", "<skill-b>"], // the upstream skills we took
|
|
75
77
|
"derivedFromVersion": "<x.y.z>", // the version we last synced from
|
|
76
|
-
"
|
|
78
|
+
"upstreamVersionSource": "marketplace.json", // which manifest is authoritative; default marketplace.json
|
|
79
|
+
"upstreamLocalClone": "<optional path>", // working copy of the upstream repo, preferred over the cache
|
|
80
|
+
"upstreamRepoUrl": "<optional https url>" // used when neither a clone nor the marketplace is available
|
|
77
81
|
}
|
|
78
82
|
```
|
|
79
83
|
|
|
84
|
+
**The plugin cache is a mirror, not the authority.** `~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/` only holds whatever the last `claude marketplace update` fetched. Reading it as the current upstream version is how this step reported "up to date" while the derivation was four releases behind: the cache sat at 0.2.1 and upstream was at 0.4.1. Resolve in the order below and never let the cache alone produce an "up to date" verdict.
|
|
85
|
+
|
|
86
|
+
**Which manifest carries the version** is `upstreamVersionSource`, default `marketplace.json`. That is what a marketplace consumer actually resolves, and some upstreams keep per-plugin `plugin.json` versions deliberately unused - reading those records a version nobody ships. An entry here was recorded at 0.7.0 from `plugin.json` while the upstream marketplace said 0.6.0 and its CHANGELOG stated in as many words that `plugin.json` is not used.
|
|
87
|
+
|
|
80
88
|
Procedure:
|
|
81
89
|
1. If `global.derivedSkillSources` is missing or empty -> **skip** this step and report "no derived-skill sources configured" (nothing to check). Never invent a source.
|
|
82
|
-
2. For each entry, resolve the current upstream version:
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
90
|
+
2. For each entry, resolve the current upstream version, in this order, stopping at the first that answers:
|
|
91
|
+
- **`upstreamLocalClone`** if set: read `<clone>/.claude-plugin/<upstreamVersionSource>`. Also run `git -C <clone> fetch --dry-run` (or compare against `@{u}`) and say so when the clone is itself behind, so a stale working copy is not silently trusted either.
|
|
92
|
+
- **`upstreamRepoUrl`**: read the same manifest over the API (`gh api` / `WebFetch`). A private upstream can 404 for the currently active account even when the repo exists - that is an unreachable result, not a "no drift" result.
|
|
93
|
+
- **Plugin cache** under `~/.claude/plugins/cache/<upstreamMarketplace>/<upstreamPlugin>/*/`: last resort only. When the cache is the only source that answered, report the entry as **`unverified (cache only)`**, never as "up to date", and add a plan item to configure `upstreamLocalClone`.
|
|
94
|
+
- If nothing is reachable, record the entry as "upstream unreachable" and move on (do not fail the whole run).
|
|
86
95
|
3. Compare the resolved upstream version to `derivedFromVersion`:
|
|
87
|
-
- equal -> "up to date" (no drift)
|
|
88
|
-
-
|
|
96
|
+
- equal, from an authoritative source -> "up to date" (no drift)
|
|
97
|
+
- equal, from the cache only -> "unverified (cache only)"
|
|
98
|
+
- newer -> **drift**: read the CHANGELOG entries between the two versions, and diff each `upstreamSkills` SKILL.md (+ any templates) against our `localPath` copy. Summarize what changed upstream (bug fixes, new sections, new templates, renamed inputs). Ignore changelog entries that only touch skills outside `upstreamSkills` - they are not ours to port.
|
|
89
99
|
4. Emit the drift table (plan band D):
|
|
90
100
|
|
|
91
101
|
```
|
|
@@ -96,6 +106,78 @@ Procedure:
|
|
|
96
106
|
|
|
97
107
|
5. For each drifted entry, add a band-D plan item: "port upstream <plugin> <version> changes into <localPath>", with the specific skills to update. Do not auto-apply upstream changes - they go through Step 5 approval like everything else, and after porting, bump the entry's `derivedFromVersion`.
|
|
98
108
|
|
|
109
|
+
## Step 0c: DEV-TOOLKIT - current MCP practice for the companion toolkit
|
|
110
|
+
|
|
111
|
+
The pipeline's hands on devices and browsers are MCP tools served by a companion repo (`dev-toolkit-mcp`): Phase 5 test, `manual-test`, `design-check` and `apple-archive-compliance` all call them, and several pipeline skills declare a minimum toolkit version (see `cross-cli-contract.md`). That repo therefore has to track the MCP field, not just its own README. This step researches what current practice is and audits the toolkit against it.
|
|
112
|
+
|
|
113
|
+
**Resolution** - configuration first, never a hardcoded path:
|
|
114
|
+
|
|
115
|
+
1. `prefs.global.devToolkit` in `~/.claude/multi-agent-preferences.json`:
|
|
116
|
+
|
|
117
|
+
```jsonc
|
|
118
|
+
{
|
|
119
|
+
"enabled": true,
|
|
120
|
+
"label": "<human name>",
|
|
121
|
+
"localPath": "$HOME/<repo-dir>", // the companion repo working copy
|
|
122
|
+
"mcpServerName": "<registered MCP server name>",
|
|
123
|
+
"packageName": "@<scope>/<package>",
|
|
124
|
+
"registry": "github-packages", // github-packages | npmjs | none
|
|
125
|
+
"repoUrl": "https://github.com/<owner>/<repo>"
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
2. If unset, auto-detect from the MCP registration: read `mcpServers` in `~/.claude.json` (including each `projects[*].mcpServers`) and in `~/.claude/settings.json`; for a stdio entry whose command is `node`, take `dirname(args[0])`. Accept it only when that directory is a git repo whose `package.json` depends on `@modelcontextprotocol/sdk`.
|
|
130
|
+
3. If neither resolves, skip this step and report "no dev-toolkit configured". Never guess a path, never clone.
|
|
131
|
+
4. `enabled: false` skips the step.
|
|
132
|
+
|
|
133
|
+
**Research axes** - a finding without a source link is not a finding:
|
|
134
|
+
|
|
135
|
+
| # | Axis | Where to look | What to extract |
|
|
136
|
+
|---|------|---------------|-----------------|
|
|
137
|
+
| 1 | MCP protocol | spec revisions + `@modelcontextprotocol/sdk` releases | protocol features released since the pinned SDK range that the server does not use yet: tool annotations (`readOnlyHint` / `destructiveHint` / `idempotentHint` / `openWorldHint`), `outputSchema` + structured content, resource links in results, progress + cancellation, `tools/list_changed`, pagination, elicitation |
|
|
138
|
+
| 2 | Host clients | Claude Code / Copilot CLI / Cursor / Antigravity docs + release notes | per-tool description budget, tool-count ceilings, naming conventions, image and output size limits, permission / allowlist ergonomics |
|
|
139
|
+
| 3 | Peer servers | GitHub search on the same domain terms + `stars:>50` | tool surfaces we lack, conventions peers converged on, and what to discard as out of scope |
|
|
140
|
+
| 4 | Wrapped tooling | `xcrun simctl help`, `idb`, `adb`, `xcodebuild`, Playwright release notes, Apple ITMS + App Store Review Guidelines | deprecated flags still in use, new capabilities worth a tool, audit rules that changed |
|
|
141
|
+
| 5 | Field practice | X / Twitter, Reddit, MCP community threads | what server authors actually changed recently (transport choice, output-token diets, sandboxing, error shape) |
|
|
142
|
+
|
|
143
|
+
**Audit the toolkit against the findings** - run the checks, do not assume:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
DT="<resolved localPath>"
|
|
147
|
+
node --check "$DT/index.js"
|
|
148
|
+
find "$DT/tools" -name "*.js" -type f -exec node --check {} \;
|
|
149
|
+
|
|
150
|
+
# stdout carries the JSON-RPC frames: a stray stdout write corrupts the stream
|
|
151
|
+
grep -rn "console\.log(" "$DT/index.js" "$DT/tools" || echo "stdout clean"
|
|
152
|
+
|
|
153
|
+
# advertised tool counts vs reality (README header + package.json description)
|
|
154
|
+
grep -nE "[0-9]+ tools" "$DT/README.md" "$DT/package.json"
|
|
155
|
+
|
|
156
|
+
# packaging: every runtime directory must be inside files[]
|
|
157
|
+
node -p "require('$DT/package.json').files.join('\n')"
|
|
158
|
+
ls -d "$DT"/tools/*/
|
|
159
|
+
|
|
160
|
+
cd "$DT" && npm outdated; npm audit --omit=dev 2>/dev/null | tail -20
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Also check: every tool carries a description and an `inputSchema`; token-heavy results (screenshots, UI trees, logs) are truncated or written to a file path instead of inlined; failures return an error result with an actionable message instead of throwing; `engines.node` matches what the SDK needs; `CHANGELOG.md`, a CI workflow and a test harness exist.
|
|
164
|
+
|
|
165
|
+
Output (plan band E):
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
| # | Axis | Finding | Source | Adaptation in the toolkit (file) | Effort | Impact | In plan? |
|
|
169
|
+
|---|------|---------|--------|----------------------------------|--------|--------|----------|
|
|
170
|
+
| 1 | Protocol | read-only tools carry no annotations | <spec link> | add `annotations` to the read-only tools in index.js | Low | Medium | Yes (P1) |
|
|
171
|
+
| 2 | Wrapped tooling | uses a simctl flag removed in Xcode <v> | <release notes> | switch tools/<family>/<file>.js to <new flag> | Low | High | Yes (P0) |
|
|
172
|
+
| 3 | Peer servers | peer exposes <surface> | <repo link> | does not fit: outside the pipeline's phases | - | - | No |
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Rules for this band:
|
|
176
|
+
|
|
177
|
+
- Band-E work lands in the toolkit repo, never mirrored into this one. Shipping it is `/multi-agent:sync` Step 3d.
|
|
178
|
+
- A finding that changes the tool surface (new / renamed / removed tool) pairs with a pipeline-side item: bump the minimum toolkit version wherever a pipeline skill declares one.
|
|
179
|
+
- If the current working directory IS the toolkit repo, skip band E and let bands A/B/C cover it - never report the same finding twice.
|
|
180
|
+
|
|
99
181
|
## Step 1: SCAN
|
|
100
182
|
|
|
101
183
|
```
|
|
@@ -168,7 +250,7 @@ Each category is scored out of 10. Output:
|
|
|
168
250
|
|
|
169
251
|
## Step 4: PLAN - one merged, prioritized table
|
|
170
252
|
|
|
171
|
-
Merge all
|
|
253
|
+
Merge all five bands into a single plan. Tag each row with its band (A best-practice / B bug / C improvement / D drift / E dev-toolkit) so the source is visible.
|
|
172
254
|
|
|
173
255
|
```
|
|
174
256
|
| # | Priority | Band | Category | Item | Impact |
|
|
@@ -177,7 +259,8 @@ Merge all four bands into a single plan. Tag each row with its band (A best-prac
|
|
|
177
259
|
| 2 | P0 | B | Tests | Fix nil-deref on empty response (src/y:42) | High |
|
|
178
260
|
| 3 | P1 | A | CI/CD | Adopt matrix build (adapt: .github/workflows/ci.yml) | Medium |
|
|
179
261
|
| 4 | P1 | D | Skills | Port upstream <plugin> 0.3.0 fixes into <localPath> | Medium |
|
|
180
|
-
| 5 |
|
|
262
|
+
| 5 | P1 | E | Toolkit | Add read-only annotations to the dev-toolkit device tools | Medium |
|
|
263
|
+
| 6 | P2 | C | DevEx | Rename npm scripts for consistency | Low |
|
|
181
264
|
```
|
|
182
265
|
|
|
183
266
|
Priority levels:
|
|
@@ -189,13 +272,14 @@ Priority levels:
|
|
|
189
272
|
|
|
190
273
|
After showing the plan, ask:
|
|
191
274
|
|
|
192
|
-
> "Found X items (P0: N, P1: M, P2: K) across bugs, best-practices, improvements, and
|
|
275
|
+
> "Found X items (P0: N, P1: M, P2: K) across bugs, best-practices, improvements, upstream drift, and dev-toolkit practice. Should I start the work?"
|
|
193
276
|
|
|
194
277
|
Options:
|
|
195
278
|
- "Yes, do all"
|
|
196
279
|
- "Only P0"
|
|
197
280
|
- "P0 + P1 only"
|
|
198
281
|
- "Only bugs (band B)"
|
|
282
|
+
- "Only the dev-toolkit (band E)"
|
|
199
283
|
- (the user may pick specific items)
|
|
200
284
|
|
|
201
285
|
**Never start the work without approval.**
|
|
@@ -206,6 +290,7 @@ Apply the approved items one by one:
|
|
|
206
290
|
|
|
207
291
|
1. For each item:
|
|
208
292
|
- apply the change (for band D, port the upstream diff into `localPath`, then bump that entry's `derivedFromVersion` in preferences)
|
|
293
|
+
- band-E items are applied inside the toolkit repo, never mirrored here: edit there, re-run its gates (`node --check`, the `tools/list` handshake, advertised tool count matching reality), then commit there with that repo's own convention. Publishing is `/multi-agent:sync` Step 3d - do not publish from this step.
|
|
209
294
|
- run the relevant tests
|
|
210
295
|
- on success, move to the next
|
|
211
296
|
- on failure, roll back and notify the user
|
|
@@ -229,6 +314,8 @@ echo "Lint: PASS/FAIL"
|
|
|
229
314
|
echo "Test: PASS/FAIL (X/Y passed)"
|
|
230
315
|
```
|
|
231
316
|
|
|
317
|
+
If any band-E item was applied, verify the toolkit repo too - syntax check every file it loads, handshake the server and confirm `tools/list` still answers, and confirm the advertised tool counts (README header, `package.json` description) match the count the server reports.
|
|
318
|
+
|
|
232
319
|
## Step 8: ASK SYNC
|
|
233
320
|
|
|
234
321
|
After every approved item is applied, ask:
|
|
@@ -236,7 +323,7 @@ After every approved item is applied, ask:
|
|
|
236
323
|
> "Work is complete. Should I run /multi-agent:sync?"
|
|
237
324
|
|
|
238
325
|
Options:
|
|
239
|
-
- "Yes" -> run the `/multi-agent:sync` command (full ecosystem sync)
|
|
326
|
+
- "Yes" -> run the `/multi-agent:sync` command (full ecosystem sync - its Step 3d ships any band-E work in the toolkit repo)
|
|
240
327
|
- "No" -> emit a report and stop
|
|
241
328
|
- "Commit + push only" -> push the current repo without sync
|
|
242
329
|
|
|
@@ -249,6 +336,7 @@ If $ARGUMENTS is set, focus on that band/category only:
|
|
|
249
336
|
| `bugs` | Bug hunt only (band B) |
|
|
250
337
|
| `best-practices` | Field research + adapted plan only (band A) |
|
|
251
338
|
| `drift` | Upstream derived-skill drift only (band D) |
|
|
339
|
+
| `dev-toolkit` | Companion MCP toolkit research + audit only (band E) |
|
|
252
340
|
| `security` | Security analysis only |
|
|
253
341
|
| `tests` | Test coverage and quality only |
|
|
254
342
|
| `performance` | Performance optimisation only |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Resume a stopped or failed task from the phase where it left off."
|
|
2
|
+
description: "Resume a stopped or failed task from the phase where it left off. Use when a task stopped or failed and should carry on from where it left off."
|
|
3
3
|
description-tr: "Durmuş veya hata almış bir görevi kaldığı fazdan devam ettirir."
|
|
4
4
|
argument-hint: "[#id] - optional: task ID (e.g. #2). If omitted, the most recent paused task is used."
|
|
5
5
|
---
|
|
@@ -10,7 +10,7 @@ argument-hint: "[#id] - optional: task ID (e.g. #2). If omitted, the most rece
|
|
|
10
10
|
|
|
11
11
|
Resume a paused or failed task from the last successful phase.
|
|
12
12
|
|
|
13
|
-
> **Not the same as `/multi-agent:finish`.** `resume` continues a **tracked pipeline task** (needs its `agent-state.json`/worktree) from where it stopped. `/multi-agent:finish` takes **ad-hoc local work** on the current branch (no prior task required) and runs the pipeline tail
|
|
13
|
+
> **Not the same as `/multi-agent:finish`.** `resume` continues a **tracked pipeline task** (needs its `agent-state.json`/worktree) from where it stopped. `/multi-agent:finish` takes **ad-hoc local work** on the current branch (no prior task required) and runs the pipeline tail - Review → Build+Test → PR → Jira report - over it.
|
|
14
14
|
|
|
15
15
|
## Steps
|
|
16
16
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Run parallel review on a branch's diff or a Pull Request: 2 models on Claude Code (Fable + Sonnet), 3 models on Copilot CLI (GPT + Opus + Sonnet). On PR input, posts per-finding inline comments and sets approve/needs-work review state."
|
|
2
|
+
description: "Run parallel review on a branch's diff or a Pull Request: 2 models on Claude Code (Fable + Sonnet), 3 models on Copilot CLI (GPT + Opus + Sonnet). On PR input, posts per-finding inline comments and sets approve/needs-work review state. Use when a branch diff or a pull request needs reviewing before it merges."
|
|
3
3
|
description-tr: "Bir branch diff'i veya Pull Request üzerinde paralel review koşar: Claude Code'da 2 model (Fable + Sonnet), Copilot CLI'da 3 model (GPT + Opus + Sonnet). PR girdisinde bulgu başına inline yorum atar ve approve/needs-work durumunu işaretler."
|
|
4
4
|
argument-hint: "[#N | repo#N | PR-URL | branch] - optional: PR by number/URL, repo+number, or local branch. Supports GitHub and Bitbucket Server URLs. If omitted (interactive), open GitHub + Bitbucket PRs are listed for multi-select; autopilot falls back to the current branch."
|
|
5
5
|
---
|
|
@@ -192,7 +192,7 @@ When release-relevant iOS/Android files change, load the matching catalog:
|
|
|
192
192
|
|
|
193
193
|
| Platform | Trigger files | Catalog |
|
|
194
194
|
|---|---|---|
|
|
195
|
-
| iOS | `**/Info.plist`, `**/PrivacyInfo.xcprivacy`, `**/*.entitlements`, `**/*App.swift`, `**/AppDelegate*.swift`, `**/SceneDelegate*.swift`, `**/project.pbxproj` | `pipeline/skills/shared/core/apple-archive-compliance/SKILL.md` -
|
|
195
|
+
| iOS | `**/Info.plist`, `**/PrivacyInfo.xcprivacy`, `**/*.entitlements`, `**/*App.swift`, `**/AppDelegate*.swift`, `**/SceneDelegate*.swift`, `**/project.pbxproj` | `pipeline/skills/shared/core/apple-archive-compliance/SKILL.md` - 18 rules + ITMS refs |
|
|
196
196
|
| Android | `**/AndroidManifest.xml`, `**/build.gradle(.kts)`, `**/proguard-rules.pro`, `**/network_security_config.xml` | `pipeline/skills/shared/core/google-play-compliance/SKILL.md` - 21 rules + Play policy refs |
|
|
197
197
|
|
|
198
198
|
Each finding gets the `ruleID` from the catalog plus the platform policy ref:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Assess whether a GitHub issue is ready for multi-agent development: fetch it, grade scope / acceptance criteria / repro / design / API / stack readiness, then (after confirm) post the gaps as an issue comment. Read-only on code."
|
|
2
|
+
description: "Assess whether a GitHub issue is ready for multi-agent development: fetch it, grade scope / acceptance criteria / repro / design / API / stack readiness, then (after confirm) post the gaps as an issue comment. Read-only on code. Use when deciding whether a GitHub issue is specified well enough to hand to development."
|
|
3
3
|
description-tr: "Bir GitHub issue'sunun multi-agent geliştirmeye hazır olup olmadığını değerlendirir: getirir; kapsam / kabul kriterleri / repro / tasarım / API / stack hazırlığını puanlar, sonra (onay sonrası) eksikleri issue yorumu olarak gönderir. Kodda salt-okunur."
|
|
4
4
|
argument-hint: "[#N | repo#N | GitHub issue URL] - optional; with no argument, pick from open issues"
|
|
5
5
|
---
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Assess whether a Jira issue is ready for multi-agent development: fetch it, grade scope / acceptance criteria / repro / design / API / stack readiness, then (after confirm) post the gaps as a Jira comment. Read-only on code."
|
|
2
|
+
description: "Assess whether a Jira issue is ready for multi-agent development: fetch it, grade scope / acceptance criteria / repro / design / API / stack readiness, then (after confirm) post the gaps as a Jira comment. Read-only on code. Use when deciding whether a Jira issue is specified well enough to hand to development."
|
|
3
3
|
description-tr: "Bir Jira issue'sunun multi-agent geliştirmeye hazır olup olmadığını değerlendirir: getirir; kapsam / kabul kriterleri / repro / tasarım / API / stack hazırlığını puanlar, sonra (onay sonrası) eksikleri Jira yorumu olarak gönderir. Kodda salt-okunur."
|
|
4
4
|
argument-hint: "[JIRA-KEY | Jira URL] - optional; with no argument, pick from your open Jira issues"
|
|
5
5
|
---
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "List your saved /multi-agent routines (from /multi-agent:save) with what each one does, rendered in outputLanguage."
|
|
2
|
+
description: "List your saved /multi-agent routines (from /multi-agent:save) with what each one does, rendered in outputLanguage. Use when asked which saved routines exist or what one of them does."
|
|
3
3
|
description-tr: "Kaydettiğin /multi-agent rutinlerini (/multi-agent:save ile) listeler; her birinin ne yaptığını outputLanguage'e göre gösterir."
|
|
4
4
|
argument-hint: ""
|
|
5
5
|
allowed-tools: Bash, Read
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Save a recurring job as a reusable /multi-agent:<name> command. Reviews the conversation + your CLAUDE.md for candidate routines, you pick one and name it; it is stored local-only and never synced."
|
|
2
|
+
description: "Save a recurring job as a reusable /multi-agent:<name> command. Reviews the conversation + your CLAUDE.md for candidate routines, you pick one and name it; it is stored local-only and never synced. Use when a job keeps recurring and should become its own reusable command."
|
|
3
3
|
description-tr: "Sık yaptığın bir işi yeniden kullanılabilir /multi-agent:<ad> komutu olarak kaydeder. Konuşmayı + CLAUDE.md'ni tarayıp aday rutinler önerir, sen seçip ad verirsin; local-only saklanır, asla sync edilmez."
|
|
4
4
|
argument-hint: "[name] - optional command name; asked if omitted"
|
|
5
5
|
allowed-tools: Bash, Read, AskUserQuestion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Skill security scan: walks local skill directories against a tiered pattern catalog."
|
|
2
|
+
description: "Skill security scan: walks local skill directories against a tiered pattern catalog. Use when local skill directories need checking for unsafe or unexpected content."
|
|
3
3
|
description-tr: "Skill güvenlik taraması: yerel skill dizinlerini kademeli desen kataloğuna göre tarar."
|
|
4
4
|
allowed-tools: Bash, Read
|
|
5
5
|
argument-hint: "[--strict] [--threshold critical|high|medium|low] [--json] [--root PATH]"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Log search across every agent-log.md with smart ranking and filters. Optional --semantic flag queries the per-repo triage corpus."
|
|
2
|
+
description: "Log search across every agent-log.md with smart ranking and filters. Optional --semantic flag queries the per-repo triage corpus. Use when something has to be found across past task logs."
|
|
3
3
|
description-tr: "Tüm agent-log.md dosyalarında akıllı sıralama ve filtrelerle log araması. İsteğe bağlı --semantic bayrağı repo bazlı triyaj korpusunu sorgular."
|
|
4
4
|
allowed-tools: Bash, Read
|
|
5
5
|
argument-hint: "\"query\" [--project NAME] [--since 7d] [--phase N] [--semantic] [--json|--tsv]"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "First-run setup wizard: keychain token discovery, Git Identity onboarding, and pipeline preparation."
|
|
2
|
+
description: "First-run setup wizard: keychain token discovery, Git Identity onboarding, and pipeline preparation. Use when the pipeline is being set up for the first time, or tokens and git identity need onboarding."
|
|
3
3
|
description-tr: "İlk kurulum sihirbazı: keychain token keşfi, Git Identity kaydı ve pipeline hazırlığı."
|
|
4
4
|
allowed-tools: Bash, Read, Write, AskUserQuestion, WebFetch
|
|
5
5
|
---
|
|
@@ -823,4 +823,4 @@ Stack skills ship as versioned plugins in the `{owner}/multi-agent-plugins` mark
|
|
|
823
823
|
`ai-common-engineering-toolkit@multi-agent-plugins` is always set `true` alongside the stack plugin.
|
|
824
824
|
3. Report the enabled set. To change later, run `/multi-agent:stack <ios|android|frontend|backend|...>` in the repo. Pipeline Phase 1 auto-detects the stack for its own routing regardless of enablement.
|
|
825
825
|
|
|
826
|
-
The marketplace repo name (`multi-agent-plugins`) is generic; a different org points `{owner}` at its own fork
|
|
826
|
+
The marketplace repo name (`multi-agent-plugins`) is generic; a different org points `{owner}` at its own fork - nothing in the pipeline is coupled to a specific account.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Select the active stack for this repo by enabling the matching marketplace plugin(s) in .claude/settings.json (ios/android/mobile/backend/frontend/fullstack/all)."
|
|
2
|
+
description: "Select the active stack for this repo by enabling the matching marketplace plugin(s) in .claude/settings.json (ios/android/mobile/backend/frontend/fullstack/all). Use when a repo's stack changed or the wrong plugins are enabled for it."
|
|
3
3
|
description-tr: "Bu repo için aktif stack'i seçer: eşleşen marketplace plugin'lerini .claude/settings.json'da etkinleştirir (ios/android/mobile/backend/frontend/fullstack/all)."
|
|
4
4
|
allowed-tools: Bash, Read, Edit, Write
|
|
5
5
|
---
|
|
@@ -8,7 +8,7 @@ allowed-tools: Bash, Read, Edit, Write
|
|
|
8
8
|
|
|
9
9
|
Stack skills ship as plugins in the `{owner}/multi-agent-plugins` marketplace. Selecting a stack = **enabling the matching plugin(s)** in the current repo's `.claude/settings.json` `enabledPlugins`. The `ai-common-engineering-toolkit` (accessibility audit, humanizer, Firebase) is always enabled alongside the stack plugin.
|
|
10
10
|
|
|
11
|
-
This replaces the old `stack-swap.sh` mechanic that physically moved skill directories in `~/.claude/skills/`. There is no SessionStart hook and no directory shuffling
|
|
11
|
+
This replaces the old `stack-swap.sh` mechanic that physically moved skill directories in `~/.claude/skills/`. There is no SessionStart hook and no directory shuffling - enablement is declarative, per-repo, and versioned.
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
@@ -89,7 +89,7 @@ Use the Read + Edit/Write tools (JSON must stay valid). Then print the resulting
|
|
|
89
89
|
|
|
90
90
|
## Notes
|
|
91
91
|
|
|
92
|
-
- Enablement is per-repo and declarative
|
|
92
|
+
- Enablement is per-repo and declarative - commit `.claude/settings.json` so teammates get the same stack.
|
|
93
93
|
- Restart the conversation (or reload the window) for Claude Code to pick up newly enabled plugins.
|
|
94
94
|
- Pipeline Phase 1 stack detection is independent (it reads project files); `stack` only sets which plugin skill set is active.
|
|
95
95
|
- The old `stack-swap.sh` skill-dir swap has been removed; stack selection is entirely plugin enablement.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Show every multi-agent task's ID, phase, branch, and status."
|
|
2
|
+
description: "Show every multi-agent task's ID, phase, branch, and status. Use when asked what is running, or for an overview of every task."
|
|
3
3
|
description-tr: "Tüm multi-agent görevlerinin ID, faz, branch ve durumunu gösterir."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, and website."
|
|
3
|
-
description-tr: "Tüm multi-agent ekosisteminin tek atımlık senkronu: Claude Code, Copilot CLI, pipeline repo ve
|
|
4
|
-
argument-hint: "[release] [--platform=<macos|linux|windows>]"
|
|
2
|
+
description: "One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, website, and the dev-toolkit MCP server. Use when work is finished and should be propagated across Claude Code, Copilot CLI, the repos, the website and the dev-toolkit server."
|
|
3
|
+
description-tr: "Tüm multi-agent ekosisteminin tek atımlık senkronu: Claude Code, Copilot CLI, pipeline repo, website ve dev-toolkit MCP sunucusu."
|
|
4
|
+
argument-hint: "[release] [dev-toolkit] [--platform=<macos|linux|windows>]"
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, WebFetch
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -15,8 +15,9 @@ When invoked, it synchronizes all targets in order. It detects what changed, upd
|
|
|
15
15
|
|
|
16
16
|
| Arg | Meaning |
|
|
17
17
|
|---|---|
|
|
18
|
-
| (none) | Full ecosystem sync: Claude Code, Copilot CLI, pipeline repo, website. |
|
|
19
|
-
| `release` | Full sync + version bump + tag + npm publish + website deploy |
|
|
18
|
+
| (none) | Full ecosystem sync: Claude Code, Copilot CLI, pipeline repo, website, dev-toolkit MCP server. |
|
|
19
|
+
| `release` | Full sync + version bump + tag + npm publish + website deploy (includes the dev-toolkit ship path) |
|
|
20
|
+
| `dev-toolkit` | Run Step 3d only: gate, commit and publish the companion MCP server |
|
|
20
21
|
| `--platform=<macos\|linux\|windows>` | Override automatic platform detection. For CI / cross-platform smoke. |
|
|
21
22
|
| `"change description"` | Apply the description to every target at once |
|
|
22
23
|
|
|
@@ -28,6 +29,7 @@ When invoked, it synchronizes all targets in order. It detects what changed, upd
|
|
|
28
29
|
| 2 | Copilot CLI | `~/.copilot/copilot-instructions.md` + `~/.copilot/skills/` | <- from Claude |
|
|
29
30
|
| 3 | multi-agent-pipeline repo | `~/multi-agent-pipeline/pipeline/` | <- from Claude (genericized) |
|
|
30
31
|
| 4 | Website | `{owner}/{website-host}` | <- version + features |
|
|
32
|
+
| 5 | dev-toolkit MCP server | resolved from `prefs.global.devToolkit` or the `mcpServers` registration | own repo: gate, commit, publish |
|
|
31
33
|
|
|
32
34
|
## Platform Support (macOS / Linux / Windows)
|
|
33
35
|
|
|
@@ -56,13 +58,14 @@ Run every step automatically:
|
|
|
56
58
|
```
|
|
57
59
|
Step 1: PLATFORM Detect macOS / Linux / Windows (Git Bash / WSL); export PLATFORM env
|
|
58
60
|
Step 1.5: DETECT Compare timestamps, find stale targets
|
|
59
|
-
Step 2: COPILOT Claude Code -> Copilot CLI (instructions +
|
|
61
|
+
Step 2: COPILOT Claude Code -> Copilot CLI (instructions + 42 sub-command skills)
|
|
60
62
|
Step 3: REPO Claude Code -> pipeline repo (genericized, personal data scrub, bash -n on all sh)
|
|
61
63
|
Step 3c: PLUGINS pipeline shared/external -> multi-agent-plugins marketplace (rebuild knowledge/,
|
|
62
64
|
bump changed plugins' patch version, commit + push the plugins repo)
|
|
65
|
+
Step 3d: DEV-TOOLKIT companion MCP server -> detect movement, run the ship gates, commit + publish
|
|
63
66
|
Step 4: WEBSITE Version + phase/model counts -> {website-host} (i18n + projects.ts)
|
|
64
67
|
Step 5: Commit Commit + push all changed repos
|
|
65
|
-
Step 6: Report Summary: synced targets, platform, changed files, deploy status
|
|
68
|
+
Step 6: Report Summary: synced targets, platform, changed files, deploy status, dev-toolkit version
|
|
66
69
|
```
|
|
67
70
|
|
|
68
71
|
If nothing is stale → report "All targets up to date" and stop.
|
|
@@ -73,6 +76,7 @@ If nothing is stale → report "All targets up to date" and stop.
|
|
|
73
76
|
|-------|----------|
|
|
74
77
|
| (no args) | Full ecosystem sync (default) |
|
|
75
78
|
| `release` | Full sync + version bump + tag + npm publish + website deploy |
|
|
79
|
+
| `dev-toolkit` | Run Step 3d only: gate, commit and publish the companion MCP server |
|
|
76
80
|
| `"change description"` | Apply the description to EVERY target at once |
|
|
77
81
|
|
|
78
82
|
---
|
|
@@ -121,7 +125,7 @@ If nothing is stale → report "All targets up to date" and stop.
|
|
|
121
125
|
- `~/.claude/CLAUDE.md`, `~/.claude/rules/`, `~/.claude/knowledge/`
|
|
122
126
|
- `~/.claude/scripts/` - EXCEPT `pre-commit-check.sh`, `agent-guard.sh`, `agent-guard.py`, and `build-stack-plugins.mjs` (generic, synced)
|
|
123
127
|
- `~/.claude/settings.json`
|
|
124
|
-
- **Any `~/.claude/commands/multi-agent/*.md` whose frontmatter has `local-only: true`**
|
|
128
|
+
- **Any `~/.claude/commands/multi-agent/*.md` whose frontmatter has `local-only: true`** - these are user/repo-specific alias wrappers that delegate to a private marketplace plugin (e.g. corporate `ai-ios-engineering-toolkit` skills exposed as `multi-agent:<name>`). Syncing them would leak the private plugin/skill names into the public pipeline. Filter before copy: skip every source file containing `local-only: true`, and after copy assert none reached `pipeline/commands/`.
|
|
125
129
|
```bash
|
|
126
130
|
# backstop: no local-only wrapper may exist in the synced target
|
|
127
131
|
grep -rl "^local-only: true" ~/multi-agent-pipeline/pipeline/commands/ 2>/dev/null \
|
|
@@ -188,7 +192,7 @@ node "$HOME/multi-agent-pipeline/pipeline/scripts/build-stack-plugins.mjs" --dry
|
|
|
188
192
|
node "$HOME/multi-agent-pipeline/pipeline/scripts/build-stack-plugins.mjs"
|
|
189
193
|
```
|
|
190
194
|
|
|
191
|
-
**Version-based management:** the generator bumps a plugin's `version` (patch) only when its skill set actually changed. Idempotent
|
|
195
|
+
**Version-based management:** the generator bumps a plugin's `version` (patch) only when its skill set actually changed. Idempotent - a no-op run bumps nothing. Consumers pick up new versions via `/multi-agent:update` (which runs `claude marketplace update multi-agent-plugins`).
|
|
192
196
|
|
|
193
197
|
**Publish (only if the generator reported bumps):**
|
|
194
198
|
|
|
@@ -203,7 +207,108 @@ if ! git diff --quiet; then
|
|
|
203
207
|
fi
|
|
204
208
|
```
|
|
205
209
|
|
|
206
|
-
Never author skills directly in the plugins repo's `knowledge/`
|
|
210
|
+
Never author skills directly in the plugins repo's `knowledge/` - they will be overwritten on the next rebuild. Author in `shared/external`, then run this step.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Dev-Toolkit Sync (Step 3d)
|
|
215
|
+
|
|
216
|
+
The companion MCP server (`dev-toolkit-mcp`) is its own repo with its own registry. Pipeline skills call its tools and several declare a minimum version, so when it moves it has to ship - otherwise the pipeline documents a tool no consumer has.
|
|
217
|
+
|
|
218
|
+
**Resolution**: identical to `/multi-agent:refactor` Step 0c - `prefs.global.devToolkit` first, then auto-detect from the `mcpServers` registration (`~/.claude.json`, `~/.claude/settings.json`), then skip. `enabled: false` skips.
|
|
219
|
+
|
|
220
|
+
**Detect movement**:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
DT="<resolved localPath>"; cd "$DT"
|
|
224
|
+
git fetch origin --quiet 2>/dev/null || true
|
|
225
|
+
DIRTY=$(git status --porcelain)
|
|
226
|
+
AHEAD=$(git log --oneline @{u}..HEAD 2>/dev/null | wc -l | tr -d ' ')
|
|
227
|
+
VER=$(node -p "require('./package.json').version")
|
|
228
|
+
TAGGED=$(git tag --list "v$VER")
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Moved = `DIRTY` non-empty, or `AHEAD` > 0, or no tag for `VER`. Nothing moved -> report `dev-toolkit: up to date (v$VER)` and continue with the sync.
|
|
232
|
+
|
|
233
|
+
**Ship gates** - all must pass before commit or publish. A gate failure aborts THIS step only, reported with file + line; the rest of the sync continues.
|
|
234
|
+
|
|
235
|
+
**Prefer the repo's own gate script.** When the toolkit ships one (`npm run gates`, or `scripts/gates.sh`), run THAT and skip the inline list below - the repo owns the definition, this skill only owns the requirement. The inline gates are the fallback for a repo that has none, and the checklist the gate script itself must cover.
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
cd "$DT"
|
|
239
|
+
if node -e "process.exit(require('./package.json').scripts?.gates ? 0 : 1)" 2>/dev/null; then
|
|
240
|
+
npm run gates || echo "ABORT: dev-toolkit gates failed"
|
|
241
|
+
elif [ -f scripts/gates.sh ]; then
|
|
242
|
+
bash scripts/gates.sh || echo "ABORT: dev-toolkit gates failed"
|
|
243
|
+
else
|
|
244
|
+
: # run the inline gates below
|
|
245
|
+
fi
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
1. **Syntax**: `node --check index.js` plus every `tools/**/*.js`.
|
|
249
|
+
2. **Boot + inventory**: handshake the server over stdio and count the registered tools.
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
TOOLS=$(printf '%s\n' \
|
|
253
|
+
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"sync","version":"1"}}}' \
|
|
254
|
+
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
|
|
255
|
+
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
|
|
256
|
+
| node index.js 2>/dev/null \
|
|
257
|
+
| node -e 'let b="";process.stdin.on("data",d=>b+=d).on("end",()=>{const m=b.split("\n").filter(Boolean).map(l=>{try{return JSON.parse(l)}catch{return null}}).find(x=>x&&x.id===2&&x.result&&x.result.tools);console.log(m?m.result.tools.length:0)})')
|
|
258
|
+
[ "${TOOLS:-0}" -gt 0 ] || echo "ABORT: the toolkit served 0 tools"
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
3. **Advertised-count match**: `$TOOLS` must equal every advertised count (`package.json` `description`, the `README.md` header and its per-family rows). Fix the docs, never the gate - a stale count has shipped before.
|
|
262
|
+
4. **Packaging**: every directory the server loads at runtime must be inside `files[]`. A missing entry publishes a broken package (this has already caused one patch release).
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
PACK=$(npm pack --dry-run 2>&1)
|
|
266
|
+
for d in tools/*/; do printf '%s' "$PACK" | grep -q "$d" || echo "ABORT: $d missing from files[]"; done
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
5. **stdout hygiene**: `grep -rn "console\.log(" index.js tools/` must be empty - stdout carries the JSON-RPC frames, diagnostics belong on `console.error`.
|
|
270
|
+
6. **Personal-data scan**: no absolute `/Users/<name>` paths, no tokens, no corporate hostnames in the shipped files.
|
|
271
|
+
7. **Version contract**: every pipeline-side minimum (the `cross-cli-contract.md` tool table, `design-check`'s MCP requirement, `apple-archive-compliance`) must be satisfied by the version about to ship. A newly added tool that a pipeline skill now needs -> bump that declared minimum in the pipeline during this same sync.
|
|
272
|
+
|
|
273
|
+
**Version bump**: patch for fixes and docs, minor for a new tool, major for a removed or renamed tool (pipeline minimums depend on the surface).
|
|
274
|
+
|
|
275
|
+
**Ship**:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
gh auth switch --user {owner}
|
|
279
|
+
git add -A
|
|
280
|
+
git commit -m "{type}(v$NEW): {what changed}" # that repo's own commit convention
|
|
281
|
+
git tag "v$NEW" && git push origin main --tags
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Publish to the registry declared in `publishConfig` through a throwaway userconfig. Never edit `~/.npmrc`, and never a bare `npm publish` - it lands on whichever registry the ambient config happens to name.
|
|
285
|
+
|
|
286
|
+
**The token depends on the registry**: `npm.pkg.github.com` authenticates with a GitHub PAT carrying `write:packages` (logical key `github`), `registry.npmjs.org` with an npm token (logical key `npm`). Picking the wrong one fails with a 401 that reads like a missing package.
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
NPMRC=$(mktemp); trap 'rm -f "$NPMRC"' EXIT
|
|
290
|
+
REG=$(node -p "require('./package.json').publishConfig?.registry || 'https://registry.npmjs.org'")
|
|
291
|
+
HOST=${REG#https://}; HOST=${HOST%/}
|
|
292
|
+
case "$HOST" in npm.pkg.github.com*) KEY=github ;; *) KEY=npm ;; esac
|
|
293
|
+
TOKEN=$(bash "$HOME/.claude/lib/credential-store.sh" get "$KEY")
|
|
294
|
+
[ -n "$TOKEN" ] || echo "ABORT: no '$KEY' token - onboard it via /multi-agent:setup before publishing"
|
|
295
|
+
printf '%s\n' "registry=$REG" "//$HOST/:_authToken=$TOKEN" > "$NPMRC"
|
|
296
|
+
npm publish --userconfig "$NPMRC"
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
Verify the publish landed: on GitHub Packages `npm view <package> version --userconfig "$NPMRC"`; on npmjs read the registry directly (`curl -s https://registry.npmjs.org/<package>/latest`) rather than `npm view`, which can answer from a stale cache.
|
|
300
|
+
|
|
301
|
+
**Approval**: outside autopilot and outside `release`, ask before shipping.
|
|
302
|
+
|
|
303
|
+
> "dev-toolkit moved (N changed files, M unpushed commits, v$VER). What should I do?"
|
|
304
|
+
|
|
305
|
+
- Commit + push (no publish)
|
|
306
|
+
- Commit + push + publish v$NEW
|
|
307
|
+
- Skip this step
|
|
308
|
+
|
|
309
|
+
With `release`, or in autopilot, run the full ship path without asking. If the working copy holds band-E work from `/multi-agent:refactor` that was never approved, do not ship it silently - report it and ask.
|
|
310
|
+
|
|
311
|
+
**Consumer note**: a path-based stdio registration (`node <localPath>/index.js`) picks the change up on the next MCP restart with no reinstall; a packaged registration (`npx <package>`) needs the published version. State which one the resolved config uses in the Step 6 report.
|
|
207
312
|
|
|
208
313
|
---
|
|
209
314
|
|
|
@@ -242,25 +347,26 @@ When invoked with the `release` argument:
|
|
|
242
347
|
4. VERSION package.json version bump (patch/minor/major)
|
|
243
348
|
5. Commit + TAG git commit + git tag v{VERSION}
|
|
244
349
|
6. PUSH git push --tags -> release.yml auto-publish
|
|
245
|
-
7.
|
|
246
|
-
8.
|
|
247
|
-
9.
|
|
350
|
+
7. DEV-TOOLKIT Ship the companion MCP server if it moved (Step 3d gates, then publish)
|
|
351
|
+
8. WEBSITE Version + features -> {website-host}
|
|
352
|
+
9. COPILOT Copilot CLI instructions + skills sync
|
|
353
|
+
10. Report Summary: version, touched repos, deploy status
|
|
248
354
|
```
|
|
249
355
|
|
|
250
356
|
---
|
|
251
357
|
|
|
252
358
|
## Sub-Command Sync (Claude Code <-> Copilot CLI Skills)
|
|
253
359
|
|
|
254
|
-
This runs on the Claude <-> Copilot axis
|
|
360
|
+
This runs on the Claude <-> Copilot axis - the two CLIs the pipeline supports natively.
|
|
255
361
|
|
|
256
362
|
| Claude Code | Copilot CLI |
|
|
257
363
|
|-------------|-------------|
|
|
258
364
|
| `~/.claude/commands/multi-agent/{cmd}/SKILL.md` | `~/.copilot/skills/multi-agent-{cmd}/SKILL.md` |
|
|
259
365
|
|
|
260
|
-
**
|
|
366
|
+
**42 commands are synced** (canonical inventory - must match `cross-cli-contract.md` section 1; drift = contract violation):
|
|
261
367
|
|
|
262
368
|
```
|
|
263
|
-
analysis, analysis-resolve, autopilot, build-optimize, channels, create-jira, dev,
|
|
369
|
+
analysis, analysis-resolve, autopilot, build-optimize, channels, create-jira, design-check, dev,
|
|
264
370
|
dev-autopilot, dev-local, dev-local-autopilot, diff-explain, finish, forget, garbage-collect,
|
|
265
371
|
help, issue, jira, kill, language, local,
|
|
266
372
|
local-autopilot, log, manual-test, prune-logs, purge, refactor, resume, review, review-issue, review-jira,
|
|
@@ -281,6 +387,7 @@ routines, save, scan, search, setup, stack, status, sync, test, uninstall, updat
|
|
|
281
387
|
| `gh` CLI (personal) | `{owner}` gh auth (Keychain) |
|
|
282
388
|
| `gh` CLI (work) | `{user}_<work-label>` gh auth (Keychain) - see `prefs.global.accounts[]` |
|
|
283
389
|
| npm publish | `NODE_AUTH_TOKEN` - `GITHUB_TOKEN` in CI, Keychain PAT locally |
|
|
390
|
+
| dev-toolkit publish (Step 3d) | `npm` logical Keychain key -> throwaway `--userconfig`, registry from that repo's `publishConfig` |
|
|
284
391
|
|
|
285
392
|
```bash
|
|
286
393
|
gh auth switch --user {owner} # for personal repos
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Auto-detects platform. Screenshot + tap + analyze on the booted device. The Phase 5 Manual Test flow lives at /multi-agent:manual-test."
|
|
2
|
+
description: "UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Auto-detects platform. Screenshot + tap + analyze on the booted device. The Phase 5 Manual Test flow lives at /multi-agent:manual-test. Use when a running app should be driven on a simulator or emulator to hunt UI bugs."
|
|
3
3
|
description-tr: "UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Platformu otomatik algılar. Açık cihazda screenshot + tap + analiz. Faz 5 Manuel Test akışı /multi-agent:manual-test'te."
|
|
4
4
|
argument-hint: '[scenario] - e.g. "dark mode" | "accessibility" | "dynamic type" | "screenshot tr" | "store-ready" | (empty = full sweep)'
|
|
5
5
|
---
|
|
@@ -35,6 +35,6 @@ Pass `$ARGUMENTS` through verbatim - sim-test.md decides which test matrix to
|
|
|
35
35
|
|
|
36
36
|
- **iOS**: Xcode + a booted Simulator (`xcrun simctl list | grep Booted`)
|
|
37
37
|
- **Android**: Android SDK + a running emulator or USB device (`adb devices`)
|
|
38
|
-
- **MCP**: the `dev-toolkit` MCP server must be installed (tool names start with `
|
|
38
|
+
- **MCP**: the `dev-toolkit` MCP server must be installed (tool names start with `mcp__dev-toolkit__`)
|
|
39
39
|
|
|
40
40
|
For manual-test mode (checkout the task branch + Xcode-open hint), see `/multi-agent:manual-test`.
|