@mmerterden/multi-agent-pipeline 8.6.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 +2623 -0
- package/LICENSE +21 -0
- package/README.md +852 -0
- package/docs/FIGMA_PIPELINE.md +138 -0
- package/docs/GENERICITY-REVIEW.md +277 -0
- package/docs/STABILITY-FIX-PLAN.md +168 -0
- package/docs/adr/0001-three-model-triage.md +81 -0
- package/docs/adr/0002-instruction-driven-flag.md +62 -0
- package/docs/adr/0003-unified-shared-skills.md +55 -0
- package/docs/adr/0004-zero-dependency-philosophy.md +60 -0
- package/docs/adr/0005-lazy-phase-docs.md +68 -0
- package/docs/adr/0006-skills-core-external-split.md +52 -0
- package/docs/adr/0007-multi-tool-adapter-framework.md +110 -0
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +98 -0
- package/docs/adr/README.md +33 -0
- package/docs/architecture.md +181 -0
- package/docs/best-practices.md +93 -0
- package/docs/features.md +274 -0
- package/docs/performance.md +116 -0
- package/docs/recovery-guide.md +479 -0
- package/index.js +76 -0
- package/install/_adapters.mjs +69 -0
- package/install/_common.mjs +150 -0
- package/install/_copilot-instructions.mjs +32 -0
- package/install/_dev-only-files.mjs +23 -0
- package/install/_platform-filter.mjs +132 -0
- package/install/_telemetry.mjs +79 -0
- package/install/claude.mjs +332 -0
- package/install/copilot.mjs +254 -0
- package/install/index.mjs +179 -0
- package/install/templates/copilot-instructions.md +319 -0
- package/install.js +24 -0
- package/package.json +78 -0
- package/pipeline/adapters/_base.mjs +288 -0
- package/pipeline/adapters/copilot-chat.mjs +158 -0
- package/pipeline/adapters/cursor.mjs +187 -0
- package/pipeline/agents/android-architect.md +42 -0
- package/pipeline/agents/backend-architect.md +43 -0
- package/pipeline/agents/code-reviewer.md +57 -0
- package/pipeline/agents/dev-critic.md +148 -0
- package/pipeline/agents/explorer.md +34 -0
- package/pipeline/agents/ios-architect.md +41 -0
- package/pipeline/agents/security-auditor.md +98 -0
- package/pipeline/agents/task-clarifier.md +113 -0
- package/pipeline/claude-md-template.md +55 -0
- package/pipeline/commands/archive-guard.md +45 -0
- package/pipeline/commands/deploy.md +54 -0
- package/pipeline/commands/figma-to-swiftui.md +295 -0
- package/pipeline/commands/multi-agent/_account-picker.md +90 -0
- package/pipeline/commands/multi-agent/_dev-context.md +111 -0
- package/pipeline/commands/multi-agent/_input-parser.md +43 -0
- package/pipeline/commands/multi-agent/_repo-picker.md +76 -0
- package/pipeline/commands/multi-agent/autopilot.md +116 -0
- package/pipeline/commands/multi-agent/channels.md +465 -0
- package/pipeline/commands/multi-agent/delete.md +66 -0
- package/pipeline/commands/multi-agent/dev-autopilot.md +120 -0
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +110 -0
- package/pipeline/commands/multi-agent/dev-local.md +105 -0
- package/pipeline/commands/multi-agent/dev.md +246 -0
- package/pipeline/commands/multi-agent/diff-explain.md +68 -0
- package/pipeline/commands/multi-agent/help.md +422 -0
- package/pipeline/commands/multi-agent/issue.md +79 -0
- package/pipeline/commands/multi-agent/jira.md +132 -0
- package/pipeline/commands/multi-agent/kill.md +38 -0
- package/pipeline/commands/multi-agent/language.md +94 -0
- package/pipeline/commands/multi-agent/local-autopilot.md +139 -0
- package/pipeline/commands/multi-agent/local.md +117 -0
- package/pipeline/commands/multi-agent/log.md +25 -0
- package/pipeline/commands/multi-agent/manual-test.md +43 -0
- package/pipeline/commands/multi-agent/purge.md +39 -0
- package/pipeline/commands/multi-agent/refactor.md +188 -0
- package/pipeline/commands/multi-agent/refs/android-guide.md +250 -0
- package/pipeline/commands/multi-agent/refs/audit-guide.md +240 -0
- package/pipeline/commands/multi-agent/refs/backend-guide.md +135 -0
- package/pipeline/commands/multi-agent/refs/channels/confluence.md +153 -0
- package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +141 -0
- package/pipeline/commands/multi-agent/refs/channels/jira.md +127 -0
- package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +135 -0
- package/pipeline/commands/multi-agent/refs/channels/pr.md +139 -0
- package/pipeline/commands/multi-agent/refs/channels/wiki.md +66 -0
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +92 -0
- package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +326 -0
- package/pipeline/commands/multi-agent/refs/frontend-guide.md +136 -0
- package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +104 -0
- package/pipeline/commands/multi-agent/refs/keychain.md +80 -0
- package/pipeline/commands/multi-agent/refs/knowledge.md +112 -0
- package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +207 -0
- package/pipeline/commands/multi-agent/refs/phases/log-format.md +89 -0
- package/pipeline/commands/multi-agent/refs/phases/modes.md +156 -0
- package/pipeline/commands/multi-agent/refs/phases/operations.md +91 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +481 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +264 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +278 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +364 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +378 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +129 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +339 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +361 -0
- package/pipeline/commands/multi-agent/refs/phases.md +187 -0
- package/pipeline/commands/multi-agent/refs/progress-contract.md +155 -0
- package/pipeline/commands/multi-agent/refs/rules.md +189 -0
- package/pipeline/commands/multi-agent/refs/swiftui-guide.md +254 -0
- package/pipeline/commands/multi-agent/refs/tracker-contract.md +256 -0
- package/pipeline/commands/multi-agent/refs/wiki-capture.md +109 -0
- package/pipeline/commands/multi-agent/resume.md +28 -0
- package/pipeline/commands/multi-agent/review.md +228 -0
- package/pipeline/commands/multi-agent/scan.md +74 -0
- package/pipeline/commands/multi-agent/search.md +97 -0
- package/pipeline/commands/multi-agent/setup.md +767 -0
- package/pipeline/commands/multi-agent/stack.md +48 -0
- package/pipeline/commands/multi-agent/status.md +38 -0
- package/pipeline/commands/multi-agent/sync.md +319 -0
- package/pipeline/commands/multi-agent/test.md +39 -0
- package/pipeline/commands/multi-agent/update.md +88 -0
- package/pipeline/commands/multi-agent.md +293 -0
- package/pipeline/commands/security-review.md +6 -0
- package/pipeline/commands/sim-test.md +256 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +25 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +30 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +12 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +43 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +35 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +35 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +12 -0
- package/pipeline/eval/golden-tasks/README.md +65 -0
- package/pipeline/eval/triage/01-empty-findings/expected.json +6 -0
- package/pipeline/eval/triage/01-empty-findings/input.json +5 -0
- package/pipeline/eval/triage/01-empty-findings/notes.md +7 -0
- package/pipeline/eval/triage/02-real-blocker/expected.json +15 -0
- package/pipeline/eval/triage/02-real-blocker/input.json +14 -0
- package/pipeline/eval/triage/02-real-blocker/notes.md +7 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +18 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/input.json +14 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +10 -0
- package/pipeline/eval/triage/04-false-positive-reject/expected.json +18 -0
- package/pipeline/eval/triage/04-false-positive-reject/input.json +14 -0
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +10 -0
- package/pipeline/eval/triage/05-mixed-classification/expected.json +43 -0
- package/pipeline/eval/triage/05-mixed-classification/input.json +38 -0
- package/pipeline/eval/triage/05-mixed-classification/notes.md +17 -0
- package/pipeline/eval/triage/06-severity-mismatch/expected.json +15 -0
- package/pipeline/eval/triage/06-severity-mismatch/input.json +14 -0
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +9 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +27 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/input.json +22 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +9 -0
- package/pipeline/eval/triage/08-style-misclassified/expected.json +18 -0
- package/pipeline/eval/triage/08-style-misclassified/input.json +14 -0
- package/pipeline/eval/triage/08-style-misclassified/notes.md +9 -0
- package/pipeline/eval/triage/09-cascading-finding/expected.json +23 -0
- package/pipeline/eval/triage/09-cascading-finding/input.json +22 -0
- package/pipeline/eval/triage/09-cascading-finding/notes.md +9 -0
- package/pipeline/eval/triage/10-deferred-crossref/expected.json +18 -0
- package/pipeline/eval/triage/10-deferred-crossref/input.json +14 -0
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +9 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +27 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +22 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +14 -0
- package/pipeline/eval/triage/README.md +54 -0
- package/pipeline/lib/account-resolver.sh +204 -0
- package/pipeline/lib/channels-multi-repo.sh +218 -0
- package/pipeline/lib/context-link-extractor.sh +192 -0
- package/pipeline/lib/credential-store-resolver.sh +57 -0
- package/pipeline/lib/credential-store.sh +226 -0
- package/pipeline/lib/fetch-confluence.sh +358 -0
- package/pipeline/lib/fetch-crashlytics.sh +314 -0
- package/pipeline/lib/fetch-fortify.sh +321 -0
- package/pipeline/lib/fetch-swagger.sh +270 -0
- package/pipeline/lib/issue-fetcher.sh +333 -0
- package/pipeline/lib/multi-repo-pipeline.sh +252 -0
- package/pipeline/lib/plan-todos.sh +284 -0
- package/pipeline/lib/post-pr-review.sh +374 -0
- package/pipeline/lib/repo-cache.sh +231 -0
- package/pipeline/lib/review-watch.sh +244 -0
- package/pipeline/lib/shadow-git.sh +222 -0
- package/pipeline/lib/submodule-detector.sh +177 -0
- package/pipeline/lib/vercel-deploy.sh +170 -0
- package/pipeline/preferences-template.json +132 -0
- package/pipeline/rules/app-store-guidelines.md +59 -0
- package/pipeline/rules/code-review.md +27 -0
- package/pipeline/rules/code-style.md +37 -0
- package/pipeline/rules/debugging.md +24 -0
- package/pipeline/rules/figma-pipeline.md +190 -0
- package/pipeline/rules/git-conventions.md +29 -0
- package/pipeline/rules/kotlin-android.md +92 -0
- package/pipeline/rules/performance.md +23 -0
- package/pipeline/rules/security.md +39 -0
- package/pipeline/rules/swiftui-qa.md +32 -0
- package/pipeline/rules/tdd.md +25 -0
- package/pipeline/rules/testing.md +37 -0
- package/pipeline/schemas/agent-state.schema.json +273 -0
- package/pipeline/schemas/analysis-output.schema.json +59 -0
- package/pipeline/schemas/clarify-output.schema.json +74 -0
- package/pipeline/schemas/dev-critic-output.schema.json +104 -0
- package/pipeline/schemas/diff-risk.schema.json +78 -0
- package/pipeline/schemas/figma-project-config.schema.json +372 -0
- package/pipeline/schemas/migrations/README.md +73 -0
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +112 -0
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +75 -0
- package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +64 -0
- package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +36 -0
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +34 -0
- package/pipeline/schemas/plan-todos.schema.json +62 -0
- package/pipeline/schemas/planning-output.schema.json +57 -0
- package/pipeline/schemas/prefs.schema.json +1137 -0
- package/pipeline/schemas/reviewer-output.schema.json +55 -0
- package/pipeline/schemas/test-gap.schema.json +64 -0
- package/pipeline/schemas/token-budget.json +17 -0
- package/pipeline/schemas/triage-corpus.schema.json +31 -0
- package/pipeline/schemas/triage-output.schema.json +115 -0
- package/pipeline/scripts/.last-figma-sync-plan.json +23 -0
- package/pipeline/scripts/README-figma-smokes.md +34 -0
- package/pipeline/scripts/README.md +104 -0
- package/pipeline/scripts/aggregate-metrics.mjs +310 -0
- package/pipeline/scripts/audit-log-rotate.sh +61 -0
- package/pipeline/scripts/audit-log.sh +69 -0
- package/pipeline/scripts/benchmark-phase-0.sh +128 -0
- package/pipeline/scripts/build-skills-index.mjs +139 -0
- package/pipeline/scripts/classify-plan-safety.mjs +177 -0
- package/pipeline/scripts/cost-table.json +27 -0
- package/pipeline/scripts/diff-explain.mjs +276 -0
- package/pipeline/scripts/diff-risk-score.mjs +328 -0
- package/pipeline/scripts/eval-golden-tasks-live.mjs +294 -0
- package/pipeline/scripts/eval-golden-tasks.mjs +223 -0
- package/pipeline/scripts/eval-triage.mjs +171 -0
- package/pipeline/scripts/figma-placeholder-map.json +191 -0
- package/pipeline/scripts/fixtures/diff-risk-android.diff +40 -0
- package/pipeline/scripts/fixtures/diff-risk-ios.diff +48 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +16 -0
- package/pipeline/scripts/fixtures/test-gap-node.diff +30 -0
- package/pipeline/scripts/fixtures/test-gap-python.diff +32 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +170 -0
- package/pipeline/scripts/gen-skills-index.mjs +90 -0
- package/pipeline/scripts/github-ssh-setup.sh +103 -0
- package/pipeline/scripts/import-figma-skills.sh +253 -0
- package/pipeline/scripts/keychain-save.sh +74 -0
- package/pipeline/scripts/keychain.py +294 -0
- package/pipeline/scripts/log-metric.sh +98 -0
- package/pipeline/scripts/match-skills.mjs +167 -0
- package/pipeline/scripts/memory-load.sh +46 -0
- package/pipeline/scripts/memory-save.sh +76 -0
- package/pipeline/scripts/migrate-prefs.mjs +390 -0
- package/pipeline/scripts/migrate-state.mjs +215 -0
- package/pipeline/scripts/output-quality-check.sh +125 -0
- package/pipeline/scripts/phase-banner.sh +158 -0
- package/pipeline/scripts/phase-tracker.sh +548 -0
- package/pipeline/scripts/pre-commit-check.sh +69 -0
- package/pipeline/scripts/pre-push-check.sh +77 -0
- package/pipeline/scripts/render-agent-log-cost.sh +149 -0
- package/pipeline/scripts/render-cost-summary.sh +137 -0
- package/pipeline/scripts/render-work-summary.sh +195 -0
- package/pipeline/scripts/repo-map.mjs +367 -0
- package/pipeline/scripts/run-aggregator.mjs +298 -0
- package/pipeline/scripts/scan-skills.sh +332 -0
- package/pipeline/scripts/search-logs.sh +291 -0
- package/pipeline/scripts/sign-skills.sh +67 -0
- package/pipeline/scripts/smoke-adapters.sh +207 -0
- package/pipeline/scripts/smoke-add-detail.sh +137 -0
- package/pipeline/scripts/smoke-agent-log-cost.sh +183 -0
- package/pipeline/scripts/smoke-agent-model-routing.sh +87 -0
- package/pipeline/scripts/smoke-bitbucket-contract.sh +223 -0
- package/pipeline/scripts/smoke-channels-flow.sh +130 -0
- package/pipeline/scripts/smoke-ci-workflows.sh +88 -0
- package/pipeline/scripts/smoke-clarify.sh +148 -0
- package/pipeline/scripts/smoke-commands-skills-parity.sh +87 -0
- package/pipeline/scripts/smoke-compliance-skills.sh +119 -0
- package/pipeline/scripts/smoke-cost-summary.sh +139 -0
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +198 -0
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +128 -0
- package/pipeline/scripts/smoke-delete-flow.sh +151 -0
- package/pipeline/scripts/smoke-dev-critic.sh +144 -0
- package/pipeline/scripts/smoke-diff-explain.sh +128 -0
- package/pipeline/scripts/smoke-diff-risk.sh +161 -0
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +160 -0
- package/pipeline/scripts/smoke-eval-live.sh +136 -0
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +71 -0
- package/pipeline/scripts/smoke-figma-android-parity.sh +148 -0
- package/pipeline/scripts/smoke-figma-config-schema.sh +144 -0
- package/pipeline/scripts/smoke-figma-credential-store.sh +105 -0
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +177 -0
- package/pipeline/scripts/smoke-figma-dispatch.sh +123 -0
- package/pipeline/scripts/smoke-figma-skill-import.sh +174 -0
- package/pipeline/scripts/smoke-figma-sync.sh +149 -0
- package/pipeline/scripts/smoke-identity-isolation.sh +70 -0
- package/pipeline/scripts/smoke-install-layout.sh +241 -0
- package/pipeline/scripts/smoke-install-leak-gate.sh +125 -0
- package/pipeline/scripts/smoke-issue-comment-template.sh +86 -0
- package/pipeline/scripts/smoke-issue-jira-triad.sh +120 -0
- package/pipeline/scripts/smoke-keychain.sh +158 -0
- package/pipeline/scripts/smoke-language-axis.sh +109 -0
- package/pipeline/scripts/smoke-lib-scripts.sh +395 -0
- package/pipeline/scripts/smoke-migrate-state.sh +102 -0
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +158 -0
- package/pipeline/scripts/smoke-multi-repo-integration.sh +116 -0
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +61 -0
- package/pipeline/scripts/smoke-no-token-prompt.sh +69 -0
- package/pipeline/scripts/smoke-pat-audit.sh +107 -0
- package/pipeline/scripts/smoke-per-repo-memory.sh +156 -0
- package/pipeline/scripts/smoke-personal-data.sh +82 -0
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +170 -0
- package/pipeline/scripts/smoke-phase-6-multi.sh +79 -0
- package/pipeline/scripts/smoke-phase-banner.sh +101 -0
- package/pipeline/scripts/smoke-phase-tracker.sh +255 -0
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +241 -0
- package/pipeline/scripts/smoke-phase4-triage.sh +142 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +71 -0
- package/pipeline/scripts/smoke-plan-safety.sh +139 -0
- package/pipeline/scripts/smoke-plan-todos.sh +193 -0
- package/pipeline/scripts/smoke-pr-review-actions.sh +152 -0
- package/pipeline/scripts/smoke-pre-commit.sh +138 -0
- package/pipeline/scripts/smoke-pref-migration.sh +224 -0
- package/pipeline/scripts/smoke-prefs-language.sh +134 -0
- package/pipeline/scripts/smoke-progress-contract.sh +118 -0
- package/pipeline/scripts/smoke-push-retry.sh +75 -0
- package/pipeline/scripts/smoke-readme-counts.sh +120 -0
- package/pipeline/scripts/smoke-repo-map.sh +300 -0
- package/pipeline/scripts/smoke-review-watch.sh +134 -0
- package/pipeline/scripts/smoke-run-aggregator.sh +216 -0
- package/pipeline/scripts/smoke-schema-validation.sh +173 -0
- package/pipeline/scripts/smoke-search.sh +187 -0
- package/pipeline/scripts/smoke-shadow-git.sh +175 -0
- package/pipeline/scripts/smoke-skill-authoring.sh +142 -0
- package/pipeline/scripts/smoke-skill-language.sh +83 -0
- package/pipeline/scripts/smoke-skill-manifest.sh +138 -0
- package/pipeline/scripts/smoke-skill-scan.sh +198 -0
- package/pipeline/scripts/smoke-stack-swap.sh +132 -0
- package/pipeline/scripts/smoke-subagent-validators.sh +105 -0
- package/pipeline/scripts/smoke-sync-delegation.sh +74 -0
- package/pipeline/scripts/smoke-sync-parity.sh +92 -0
- package/pipeline/scripts/smoke-tasklist-ordering.sh +111 -0
- package/pipeline/scripts/smoke-telemetry.sh +147 -0
- package/pipeline/scripts/smoke-test-gap.sh +183 -0
- package/pipeline/scripts/smoke-token-budget.sh +67 -0
- package/pipeline/scripts/smoke-tracker-contract.sh +129 -0
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +65 -0
- package/pipeline/scripts/smoke-triage-memory.sh +174 -0
- package/pipeline/scripts/smoke-url-enrichment.sh +70 -0
- package/pipeline/scripts/smoke-validator-contradiction.sh +67 -0
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +129 -0
- package/pipeline/scripts/smoke-wiki-integration.sh +146 -0
- package/pipeline/scripts/smoke-work-summary.sh +163 -0
- package/pipeline/scripts/smoke-worktree-path-convention.sh +86 -0
- package/pipeline/scripts/smoke-write-state.sh +115 -0
- package/pipeline/scripts/stack-swap.sh +182 -0
- package/pipeline/scripts/sync-figma-source.sh +228 -0
- package/pipeline/scripts/sync-parity-check.sh +135 -0
- package/pipeline/scripts/test-gap-rules/android.json +25 -0
- package/pipeline/scripts/test-gap-rules/ios.json +29 -0
- package/pipeline/scripts/test-gap-rules/node.json +17 -0
- package/pipeline/scripts/test-gap-rules/python.json +19 -0
- package/pipeline/scripts/test-gap-scan.mjs +343 -0
- package/pipeline/scripts/token-budget-report.mjs +145 -0
- package/pipeline/scripts/triage-memory.mjs +258 -0
- package/pipeline/scripts/ui-tree-dumper.swift +122 -0
- package/pipeline/scripts/uninstall.mjs +331 -0
- package/pipeline/scripts/update-issue-progress.sh +146 -0
- package/pipeline/scripts/validate-analysis.mjs +132 -0
- package/pipeline/scripts/validate-diff-risk.mjs +117 -0
- package/pipeline/scripts/validate-planning.mjs +180 -0
- package/pipeline/scripts/validate-reviewer.mjs +131 -0
- package/pipeline/scripts/validate-schemas.mjs +88 -0
- package/pipeline/scripts/validate-test-gap.mjs +90 -0
- package/pipeline/scripts/validate-triage.mjs +175 -0
- package/pipeline/scripts/verify-skills.sh +126 -0
- package/pipeline/scripts/write-state.mjs +175 -0
- package/pipeline/skills/.skill-manifest.json +779 -0
- package/pipeline/skills/.skills-index.json +1771 -0
- package/pipeline/skills/figma-android/README.md +36 -0
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +62 -0
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +158 -0
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +120 -0
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +35 -0
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +124 -0
- package/pipeline/skills/figma-common/README.md +57 -0
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +277 -0
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +498 -0
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +283 -0
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +362 -0
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +206 -0
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +337 -0
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +211 -0
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +218 -0
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +246 -0
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +73 -0
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +316 -0
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +542 -0
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +745 -0
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +203 -0
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +1015 -0
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +331 -0
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +398 -0
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +104 -0
- package/pipeline/skills/figma-common/figma-review/SKILL.md +395 -0
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +514 -0
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +592 -0
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +129 -0
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +104 -0
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +274 -0
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +808 -0
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +633 -0
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +711 -0
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +233 -0
- package/pipeline/skills/figma-common/performance-start/SKILL.md +425 -0
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +706 -0
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +418 -0
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +67 -0
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +178 -0
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +184 -0
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +219 -0
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +274 -0
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +401 -0
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +57 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +307 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +119 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +174 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +333 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +368 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +393 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +617 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +352 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +337 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +206 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +235 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +214 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +871 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +156 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +175 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +333 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +412 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +336 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +695 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +380 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +262 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +482 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +274 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +636 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +142 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +547 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +39 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +659 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +580 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +51 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +129 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +64 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +531 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +89 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +155 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +196 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +57 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +89 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +227 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +157 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +90 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +116 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +153 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +130 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +218 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +188 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +93 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +98 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +261 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +147 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +182 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +185 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +609 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +261 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +184 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +188 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +768 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +191 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +420 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +94 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +336 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +391 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +292 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +1 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +93 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +299 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +343 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +206 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +149 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +281 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +98 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +298 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +195 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +1298 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +228 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +1089 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +141 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +106 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +162 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +105 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +179 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +260 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +260 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +86 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +321 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +1470 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +147 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +629 -0
- package/pipeline/skills/shared/README.md +212 -0
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +315 -0
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +348 -0
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +944 -0
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +51 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +300 -0
- package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +63 -0
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +64 -0
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +56 -0
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +36 -0
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +42 -0
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +66 -0
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +292 -0
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +35 -0
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +38 -0
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +41 -0
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +87 -0
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +37 -0
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +53 -0
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +28 -0
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +47 -0
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +42 -0
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +191 -0
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +31 -0
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +62 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +309 -0
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +55 -0
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +41 -0
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +184 -0
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +44 -0
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +34 -0
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +45 -0
- package/pipeline/skills/shared/external/agentflow/SKILL.md +199 -0
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +438 -0
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +584 -0
- package/pipeline/skills/shared/external/android-architecture/SKILL.md +407 -0
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +153 -0
- package/pipeline/skills/shared/external/android-performance/SKILL.md +736 -0
- package/pipeline/skills/shared/external/android-security/SKILL.md +577 -0
- package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +66 -0
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +85 -0
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +910 -0
- package/pipeline/skills/shared/external/app-clips/SKILL.md +436 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +489 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +1076 -0
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +75 -0
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +409 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +411 -0
- package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +259 -0
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +90 -0
- package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +152 -0
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +118 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +500 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +425 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +344 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +508 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +285 -0
- package/pipeline/skills/shared/external/architecture/SKILL.md +60 -0
- package/pipeline/skills/shared/external/authentication/SKILL.md +496 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +211 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +499 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +390 -0
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +461 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +425 -0
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +462 -0
- package/pipeline/skills/shared/external/clean-code/SKILL.md +94 -0
- package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +116 -0
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +492 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +461 -0
- package/pipeline/skills/shared/external/compose-components/SKILL.md +441 -0
- package/pipeline/skills/shared/external/compose-navigation/SKILL.md +436 -0
- package/pipeline/skills/shared/external/compose-testing/SKILL.md +527 -0
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +425 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +409 -0
- package/pipeline/skills/shared/external/context-compression/SKILL.md +266 -0
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +491 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +435 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +388 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +405 -0
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +495 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +420 -0
- package/pipeline/skills/shared/external/coreml/SKILL.md +458 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +765 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +467 -0
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +335 -0
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +422 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +387 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +298 -0
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +37 -0
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +477 -0
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +413 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +460 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +541 -0
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +483 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +326 -0
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +190 -0
- package/pipeline/skills/shared/external/firebase/SKILL.md +61 -0
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +348 -0
- package/pipeline/skills/shared/external/gradle-kotlin-dsl/SKILL.md +552 -0
- package/pipeline/skills/shared/external/healthkit/SKILL.md +498 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +602 -0
- package/pipeline/skills/shared/external/help-skills/SKILL.md +166 -0
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +81 -0
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +95 -0
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +82 -0
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +101 -0
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +94 -0
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +110 -0
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +99 -0
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +81 -0
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +125 -0
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +496 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +455 -0
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +301 -0
- package/pipeline/skills/shared/external/humanizer/SKILL.md +118 -0
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +301 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +140 -0
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +59 -0
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +217 -0
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +418 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +627 -0
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +462 -0
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +441 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +862 -0
- package/pipeline/skills/shared/external/ios-networking/references/lightweight-clients.md +93 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +563 -0
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +1116 -0
- package/pipeline/skills/shared/external/ios-security/SKILL.md +496 -0
- package/pipeline/skills/shared/external/ios-security/references/app-review-guidelines.md +174 -0
- package/pipeline/skills/shared/external/ios-security/references/cryptokit-advanced.md +297 -0
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +354 -0
- package/pipeline/skills/shared/external/ios-security/references/privacy-manifest.md +117 -0
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +101 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +500 -0
- package/pipeline/skills/shared/external/live-activities/references/live-activity-patterns.md +868 -0
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +109 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +110 -0
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +485 -0
- package/pipeline/skills/shared/external/mapkit-location/references/corelocation-patterns.md +730 -0
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +748 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +479 -0
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +64 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +395 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +363 -0
- package/pipeline/skills/shared/external/natural-language/SKILL.md +412 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +311 -0
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +418 -0
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +38 -0
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +235 -0
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +398 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +254 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +387 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +376 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +302 -0
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +446 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +435 -0
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +501 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/av-playback.md +701 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +774 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +869 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/photospicker-patterns.md +597 -0
- package/pipeline/skills/shared/external/play-store-review/SKILL.md +350 -0
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +501 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +677 -0
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +745 -0
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +383 -0
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +290 -0
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +479 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +480 -0
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +386 -0
- package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +506 -0
- package/pipeline/skills/shared/external/room-database/SKILL.md +564 -0
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +483 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +544 -0
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +485 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +478 -0
- package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +58 -0
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +755 -0
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +487 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +895 -0
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +467 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +408 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +80 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swift-6-2-concurrency.md +233 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +187 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +341 -0
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +113 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +124 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +155 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +67 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +52 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +100 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +107 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +70 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +47 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +129 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +224 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +101 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +218 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +61 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +498 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +505 -0
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +462 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +504 -0
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +97 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +252 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +52 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +34 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +318 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +254 -0
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +334 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +504 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +975 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +675 -0
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +102 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +104 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +10 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +20 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/indexing.md +27 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/predicates.md +73 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +503 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +821 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +553 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +102 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +403 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +135 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +602 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +203 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +464 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +266 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md +416 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +394 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +318 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +357 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +303 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/performance-patterns.md +403 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/scroll-patterns.md +293 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +417 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +389 -0
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +450 -0
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +425 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +336 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +97 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +69 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +99 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +147 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +98 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +262 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +207 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +177 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/sheets.md +169 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +178 -0
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +371 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +486 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +1097 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +780 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +696 -0
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +487 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +46 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +29 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +33 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +52 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +114 -0
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +108 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +13 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/api.md +39 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/data.md +43 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/design.md +31 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +9 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +14 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +46 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +56 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/views.md +35 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +103 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +428 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +534 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +948 -0
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +210 -0
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +273 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/loading-and-observation.md +151 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/local-content-and-custom-schemes.md +95 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +51 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/navigation-and-javascript.md +111 -0
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +309 -0
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +393 -0
- package/pipeline/skills/shared/external/tipkit/SKILL.md +494 -0
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +782 -0
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +336 -0
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +475 -0
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +736 -0
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +738 -0
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +371 -0
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +410 -0
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +567 -0
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +373 -0
- package/pipeline/skills/shared/external/web-performance/SKILL.md +345 -0
- package/pipeline/skills/shared/external/web-testing/SKILL.md +385 -0
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +497 -0
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +871 -0
- package/pipeline/skills/skills-index.md +205 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Fastest mode: Dev (Opus) plus Autopilot. Init → Dev → Commit → Report with zero confirmations."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# multi-agent dev autopilot — Fastest Path
|
|
6
|
+
|
|
7
|
+
**Input**: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
> **Language (read FIRST)**: Before any status output, read `prefs.global.outputLanguage` and render every conversational line in it. `AskUserQuestion` and external payloads stay English. Full contract: `refs/rules.md` "Language Application".
|
|
10
|
+
|
|
11
|
+
Dev mode + Autopilot combined: a 4-phase pipeline with no confirmations, end-to-end autonomous.
|
|
12
|
+
|
|
13
|
+
## When to use it
|
|
14
|
+
- Small, trusted, urgent changes
|
|
15
|
+
- Bug fixes, copy updates, config tweaks
|
|
16
|
+
- "Just do it, commit, open the PR" scenarios
|
|
17
|
+
|
|
18
|
+
## Pipeline
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Phase 0: Init → project detection, worktree, branch, identity
|
|
22
|
+
Phase 3: Dev → direct development on Opus
|
|
23
|
+
Phase 6: Commit → auto commit + push + PR (no confirmations)
|
|
24
|
+
Phase 7: Report → short terminal summary
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Skipped phases**: Analysis (1), Planning (2), Review (4), User Test (5).
|
|
28
|
+
**Skipped confirmations**: Plan Approval Gate (clarification + approval loop), test prompt, commit prompt, PR prompt.
|
|
29
|
+
|
|
30
|
+
> If you want to talk through the plan, do not use this mode — pick `/multi-agent "task"` (normal) or any mode without `autopilot`. The Dev+Autopilot contract is: "ask nothing."
|
|
31
|
+
|
|
32
|
+
## Steps
|
|
33
|
+
|
|
34
|
+
1. **Parse input** — standard multi-agent input formats (Issue URL, Jira ID, free text)
|
|
35
|
+
2. **Phase 0: Init** — set `"mode": "dev", "autopilot": true` in `agent-state.json`
|
|
36
|
+
3. **Phase 3: Dev** — write code directly on `claude-opus-4.6` and verify the build
|
|
37
|
+
4. **Phase 6: Commit** — auto commit + push + PR
|
|
38
|
+
5. **Phase 7: Report** — terminal summary
|
|
39
|
+
|
|
40
|
+
## Safety
|
|
41
|
+
|
|
42
|
+
- Build failure → 3 retries; if it still fails → **pause** (ask the user)
|
|
43
|
+
- Kill / Purge → always asks for confirmation (destructive)
|
|
44
|
+
|
|
45
|
+
## Differences
|
|
46
|
+
|
|
47
|
+
| | Full | Dev | Autopilot | **Dev+Autopilot** |
|
|
48
|
+
|--|------|-----|-----------|-------------------|
|
|
49
|
+
| Phases | 8 | 4 | 8 | **4** |
|
|
50
|
+
| Model | Sonnet | Opus | Sonnet | **Opus** |
|
|
51
|
+
| Plan Approval Gate | ✅ (clarification + approval) | ❌ | ❌ | **❌** |
|
|
52
|
+
| Confirmations (test / commit / PR) | Yes | Yes | No | **No** |
|
|
53
|
+
| Review | Parallel + triage (CLI-aware) | None | Parallel + triage (CLI-aware) | **None** |
|
|
54
|
+
| Estimated duration | ~12 min | ~5 min | ~10 min | **~3 min** |
|
|
55
|
+
## Required: Phase Tracker Contract
|
|
56
|
+
|
|
57
|
+
**The phase tracker is mandatory** — the agent cannot skip it. Full spec: [`refs/tracker-contract.md`](./refs/tracker-contract.md).
|
|
58
|
+
|
|
59
|
+
> **Autopilot mode:** user confirmations are skipped. The tracker is still mandatory — autopilot agent calls cannot skip it; skipping breaks `smoke-tracker-contract.sh`.
|
|
60
|
+
|
|
61
|
+
Two channels run in parallel at every phase boundary:
|
|
62
|
+
|
|
63
|
+
1. **State channel** (every CLI, identical): `phase-tracker.sh` writes to `tracker-state.json`. Drives `:resume`, `:log`, `:status`.
|
|
64
|
+
2. **Visual channel** (CLI-specific): native widget on Claude Code, ANSI render on every other CLI. Without it the user sees no phase progress.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Phase 0, very first shell call (every CLI):
|
|
68
|
+
bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
|
|
69
|
+
for p in "0:Init" "3:Dev" "6:Commit" "7:Report"; do
|
|
70
|
+
bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
|
|
71
|
+
done
|
|
72
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
|
|
73
|
+
|
|
74
|
+
# Every phase boundary (every CLI):
|
|
75
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress|completed|failed|skipped
|
|
76
|
+
|
|
77
|
+
# After every LLM call (every CLI):
|
|
78
|
+
bash $HOME/.claude/scripts/phase-tracker.sh tokens <N> <in> <out>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Visual channel — Claude Code (native TaskList widget, required)
|
|
82
|
+
|
|
83
|
+
In Claude Code the agent MUST also drive the native TaskList widget so the user sees a sticky phase tile stack — this is the only progress signal Claude Code surfaces. Skipping these calls is the #1 source of "I don't see any phases" complaints.
|
|
84
|
+
|
|
85
|
+
**TaskCreate ordering (strict)**: All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks (e.g. `1 ✓ · 2 ✓ · 4 ✓ · 0 ▶ · 3 ☐`) even when the underlying state is correct. Pre-marking phases as completed/skipped before Phase 0 starts is FORBIDDEN — register the tile in order, then flip status via TaskUpdate when the phase actually short-circuits. Full contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
# Phase 0 startup — register one tile per phase (0..N), capture the taskId, persist it:
|
|
89
|
+
for each phase in 0:Init, 3:Dev, 6:Commit, 7:Report:
|
|
90
|
+
TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
|
|
91
|
+
-> returns taskId
|
|
92
|
+
bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
|
|
93
|
+
|
|
94
|
+
# Phase entry — flip the tile to in_progress alongside the state update:
|
|
95
|
+
TaskUpdate({ taskId: <saved>, status: "in_progress" })
|
|
96
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress
|
|
97
|
+
|
|
98
|
+
# Active sub-step inside a phase — update activeForm so the spinner header reflects what's happening now:
|
|
99
|
+
TaskUpdate({ taskId: <saved>, activeForm: "Editing TopBarView.swift" })
|
|
100
|
+
|
|
101
|
+
# Phase exit — flip to completed/failed/skipped on both channels:
|
|
102
|
+
TaskUpdate({ taskId: <saved>, status: "completed" })
|
|
103
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
`--dev autopilot` mode does NOT TaskCreate phases 1/2/4/5 — those are not part of the `--dev autopilot` phase set (`0:Init 3:Dev 6:Commit 7:Report`). Only register tiles for the active set.
|
|
107
|
+
|
|
108
|
+
#### TaskCreate ordering (strict)
|
|
109
|
+
|
|
110
|
+
**All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `--dev autopilot` that means: Phase 0 → Phase 3 → Phase 6 → Phase 7. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
111
|
+
|
|
112
|
+
### Visual channel — Copilot CLI / Cursor / Windsurf / plain shell
|
|
113
|
+
|
|
114
|
+
These CLIs have no TaskList widget. After every state change the agent calls render, which prints a bordered ANSI card as the last tool result so the user sees an updated phase table:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
bash $HOME/.claude/scripts/phase-tracker.sh render
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Do NOT call TaskCreate on these CLIs — the tool does not exist and the call fails.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Fastest + local — Dev(Opus) + autopilot, no worktree, zero interaction."
|
|
3
|
+
allowed-tools: Agent, Bash, Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet, WebFetch, Skill
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# multi-agent dev-local-autopilot — Fastest + Local
|
|
7
|
+
|
|
8
|
+
> **Language (read FIRST)**: Before any status output, read `prefs.global.outputLanguage` and render every conversational line in it. `AskUserQuestion` and external payloads stay English. Full contract: `refs/rules.md` "Language Application".
|
|
9
|
+
|
|
10
|
+
The triple `--dev` + `--local` + `autopilot` — the fastest form available. Zero confirmations, NO worktree.
|
|
11
|
+
|
|
12
|
+
## Pipeline
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Phase 0: Init → project detection, branch check, state (NO worktree, NO confirmation)
|
|
16
|
+
Phase 3: Dev → direct development on Opus (automatic)
|
|
17
|
+
Phase 6: Commit → auto commit + push + PR (no local checkout prompt)
|
|
18
|
+
Phase 7: Report → Jira / Wiki + log + knowledge/memory
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## When to use it
|
|
22
|
+
|
|
23
|
+
- Routine change you trust that needs no review
|
|
24
|
+
- A CI / batch environment running the pipeline automatically — no user interaction
|
|
25
|
+
- Prototype / spike — you care about speed, quality gates can wait
|
|
26
|
+
|
|
27
|
+
## When NOT to use it
|
|
28
|
+
|
|
29
|
+
- Production-bound change — at minimum use `--dev` (without autopilot)
|
|
30
|
+
- Security-sensitive code — autopilot bypasses the safety gates
|
|
31
|
+
- A first big refactor — human review is required
|
|
32
|
+
|
|
33
|
+
## Delegation
|
|
34
|
+
|
|
35
|
+
Routes to the orchestrator with `--dev --local autopilot` flags. The pipeline contract matches `dev-autopilot.md` exactly, with Phase 0 Step 8 (worktree creation) skipped.
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
/multi-agent:dev-local-autopilot "PROJ-12345" # Jira
|
|
41
|
+
/multi-agent:dev-local-autopilot "Add retry to HomeNetworking" # Free-text
|
|
42
|
+
```
|
|
43
|
+
## Required: Phase Tracker Contract
|
|
44
|
+
|
|
45
|
+
**The phase tracker is mandatory** — the agent cannot skip it. Full spec: [`refs/tracker-contract.md`](./refs/tracker-contract.md).
|
|
46
|
+
|
|
47
|
+
> **Autopilot mode:** user confirmations are skipped. The tracker is still mandatory — autopilot agent calls cannot skip it; skipping breaks `smoke-tracker-contract.sh`.
|
|
48
|
+
|
|
49
|
+
> **Local mode:** no worktree is created, work happens on the current branch. Phase 0 Init still calls `init` — the `--local` flag is stored in tracker-state.json, and `:resume` restores the correct CWD.
|
|
50
|
+
|
|
51
|
+
Two channels run in parallel at every phase boundary:
|
|
52
|
+
|
|
53
|
+
1. **State channel** (every CLI, identical): `phase-tracker.sh` writes to `tracker-state.json`. Drives `:resume`, `:log`, `:status`.
|
|
54
|
+
2. **Visual channel** (CLI-specific): native widget on Claude Code, ANSI render on every other CLI. Without it the user sees no phase progress.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Phase 0, very first shell call (every CLI):
|
|
58
|
+
bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
|
|
59
|
+
for p in "0:Init" "3:Dev" "6:Commit" "7:Report"; do
|
|
60
|
+
bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
|
|
61
|
+
done
|
|
62
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
|
|
63
|
+
|
|
64
|
+
# Every phase boundary (every CLI):
|
|
65
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress|completed|failed|skipped
|
|
66
|
+
|
|
67
|
+
# After every LLM call (every CLI):
|
|
68
|
+
bash $HOME/.claude/scripts/phase-tracker.sh tokens <N> <in> <out>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Visual channel — Claude Code (native TaskList widget, required)
|
|
72
|
+
|
|
73
|
+
In Claude Code the agent MUST also drive the native TaskList widget so the user sees a sticky phase tile stack — this is the only progress signal Claude Code surfaces. Skipping these calls is the #1 source of "I don't see any phases" complaints.
|
|
74
|
+
|
|
75
|
+
**TaskCreate ordering (strict)**: All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks (e.g. `1 ✓ · 2 ✓ · 4 ✓ · 0 ▶ · 3 ☐`) even when the underlying state is correct. Pre-marking phases as completed/skipped before Phase 0 starts is FORBIDDEN — register the tile in order, then flip status via TaskUpdate when the phase actually short-circuits. Full contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
# Phase 0 startup — register one tile per phase (0..N), capture the taskId, persist it:
|
|
79
|
+
for each phase in 0:Init, 3:Dev, 6:Commit, 7:Report:
|
|
80
|
+
TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
|
|
81
|
+
-> returns taskId
|
|
82
|
+
bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
|
|
83
|
+
|
|
84
|
+
# Phase entry — flip the tile to in_progress alongside the state update:
|
|
85
|
+
TaskUpdate({ taskId: <saved>, status: "in_progress" })
|
|
86
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress
|
|
87
|
+
|
|
88
|
+
# Active sub-step inside a phase — update activeForm so the spinner header reflects what's happening now:
|
|
89
|
+
TaskUpdate({ taskId: <saved>, activeForm: "Editing TopBarView.swift" })
|
|
90
|
+
|
|
91
|
+
# Phase exit — flip to completed/failed/skipped on both channels:
|
|
92
|
+
TaskUpdate({ taskId: <saved>, status: "completed" })
|
|
93
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
`--dev local autopilot` mode does NOT TaskCreate phases 1/2/4/5 — those are not part of the `--dev local autopilot` phase set (`0:Init 3:Dev 6:Commit 7:Report`). Only register tiles for the active set.
|
|
97
|
+
|
|
98
|
+
#### TaskCreate ordering (strict)
|
|
99
|
+
|
|
100
|
+
**All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `--dev local autopilot` that means: Phase 0 → Phase 3 → Phase 6 → Phase 7. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
101
|
+
|
|
102
|
+
### Visual channel — Copilot CLI / Cursor / Windsurf / plain shell
|
|
103
|
+
|
|
104
|
+
These CLIs have no TaskList widget. After every state change the agent calls render, which prints a bordered ANSI card as the last tool result so the user sees an updated phase table:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
bash $HOME/.claude/scripts/phase-tracker.sh render
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Do NOT call TaskCreate on these CLIs — the tool does not exist and the call fails.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Fast mode + local — Init → Dev(Opus) → Commit → Report, no worktree."
|
|
3
|
+
allowed-tools: Agent, Bash, Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet, AskUserQuestion, WebFetch, Skill
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# multi-agent dev-local — Fast + Local
|
|
7
|
+
|
|
8
|
+
> **Language (read FIRST)**: Before any status output, read `prefs.global.outputLanguage` and render every conversational line in it. `AskUserQuestion` and external payloads stay English. Full contract: `refs/rules.md` "Language Application".
|
|
9
|
+
|
|
10
|
+
Dedicated form of the `--dev` + `--local` combination. A 4-phase fast pipeline with NO worktree.
|
|
11
|
+
|
|
12
|
+
## Pipeline
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Phase 0: Init → project detection, branch check, state (NO worktree)
|
|
16
|
+
Phase 3: Dev → direct development on Opus (Analysis + Planning + Review skipped)
|
|
17
|
+
Phase 6: Commit → pre-commit checkout prompt, commit + push + PR
|
|
18
|
+
Phase 7: Report → Jira / Wiki + log + knowledge/memory
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## When to use it
|
|
22
|
+
|
|
23
|
+
- Quick bug fix or small feature — review overhead is unnecessary
|
|
24
|
+
- You're working on the current branch and don't want to switch worktrees
|
|
25
|
+
- A change you trust — no need for multi-model review
|
|
26
|
+
## Required: Phase Tracker Contract
|
|
27
|
+
|
|
28
|
+
**The phase tracker is mandatory** — the agent cannot skip it. Full spec: [`refs/tracker-contract.md`](./refs/tracker-contract.md).
|
|
29
|
+
|
|
30
|
+
> **Local mode:** no worktree is created, work happens on the current branch. Phase 0 Init still calls `init` — the `--local` flag is stored in tracker-state.json, and `:resume` restores the correct CWD.
|
|
31
|
+
|
|
32
|
+
Two channels run in parallel at every phase boundary:
|
|
33
|
+
|
|
34
|
+
1. **State channel** (every CLI, identical): `phase-tracker.sh` writes to `tracker-state.json`. Drives `:resume`, `:log`, `:status`.
|
|
35
|
+
2. **Visual channel** (CLI-specific): native widget on Claude Code, ANSI render on every other CLI. Without it the user sees no phase progress.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Phase 0, very first shell call (every CLI):
|
|
39
|
+
bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
|
|
40
|
+
for p in "0:Init" "3:Dev" "6:Commit" "7:Report"; do
|
|
41
|
+
bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
|
|
42
|
+
done
|
|
43
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
|
|
44
|
+
|
|
45
|
+
# Every phase boundary (every CLI):
|
|
46
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress|completed|failed|skipped
|
|
47
|
+
|
|
48
|
+
# After every LLM call (every CLI):
|
|
49
|
+
bash $HOME/.claude/scripts/phase-tracker.sh tokens <N> <in> <out>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Visual channel — Claude Code (native TaskList widget, required)
|
|
53
|
+
|
|
54
|
+
In Claude Code the agent MUST also drive the native TaskList widget so the user sees a sticky phase tile stack — this is the only progress signal Claude Code surfaces. Skipping these calls is the #1 source of "I don't see any phases" complaints.
|
|
55
|
+
|
|
56
|
+
**TaskCreate ordering (strict)**: All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks (e.g. `1 ✓ · 2 ✓ · 4 ✓ · 0 ▶ · 3 ☐`) even when the underlying state is correct. Pre-marking phases as completed/skipped before Phase 0 starts is FORBIDDEN — register the tile in order, then flip status via TaskUpdate when the phase actually short-circuits. Full contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
# Phase 0 startup — register one tile per phase (0..N), capture the taskId, persist it:
|
|
60
|
+
for each phase in 0:Init, 3:Dev, 6:Commit, 7:Report:
|
|
61
|
+
TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
|
|
62
|
+
-> returns taskId
|
|
63
|
+
bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
|
|
64
|
+
|
|
65
|
+
# Phase entry — flip the tile to in_progress alongside the state update:
|
|
66
|
+
TaskUpdate({ taskId: <saved>, status: "in_progress" })
|
|
67
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress
|
|
68
|
+
|
|
69
|
+
# Active sub-step inside a phase — update activeForm so the spinner header reflects what's happening now:
|
|
70
|
+
TaskUpdate({ taskId: <saved>, activeForm: "Editing TopBarView.swift" })
|
|
71
|
+
|
|
72
|
+
# Phase exit — flip to completed/failed/skipped on both channels:
|
|
73
|
+
TaskUpdate({ taskId: <saved>, status: "completed" })
|
|
74
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`--dev local` mode does NOT TaskCreate phases 1/2/4/5 — those are not part of the `--dev local` phase set (`0:Init 3:Dev 6:Commit 7:Report`). Only register tiles for the active set.
|
|
78
|
+
|
|
79
|
+
#### TaskCreate ordering (strict)
|
|
80
|
+
|
|
81
|
+
**All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `--dev local` that means: Phase 0 → Phase 3 → Phase 6 → Phase 7. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
82
|
+
|
|
83
|
+
### Visual channel — Copilot CLI / Cursor / Windsurf / plain shell
|
|
84
|
+
|
|
85
|
+
These CLIs have no TaskList widget. After every state change the agent calls render, which prints a bordered ANSI card as the last tool result so the user sees an updated phase table:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
bash $HOME/.claude/scripts/phase-tracker.sh render
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Do NOT call TaskCreate on these CLIs — the tool does not exist and the call fails.
|
|
92
|
+
## Delegation
|
|
93
|
+
|
|
94
|
+
Routes to the orchestrator with `--dev --local` flags. Apply the `$HOME/.claude/commands/multi-agent/dev.md` pipeline in local mode:
|
|
95
|
+
- Phase 0: skip worktree creation, continue on the current branch
|
|
96
|
+
- Phase 3: develop on Opus (instead of the Sonnet TDD cycle)
|
|
97
|
+
- Phase 5 (Test) and Phase 4 (Review) are skipped (`--dev`)
|
|
98
|
+
- Phase 6: commit + push + PR (the local checkout prompt is natural in local mode — you're already there)
|
|
99
|
+
|
|
100
|
+
## Examples
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
/multi-agent:dev-local "PROJ-12345" # Jira
|
|
104
|
+
/multi-agent:dev-local "Bug: LoginView dark mode" # Free-text
|
|
105
|
+
```
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Fast development mode: Init → Dev (Opus) → Test → Commit → Report. Analysis, planning, and review phases are skipped."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# multi-agent dev — Fast Development Mode (--dev)
|
|
6
|
+
|
|
7
|
+
**Input**: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
> **Language (read FIRST)**: Two language axes, independent:
|
|
10
|
+
>
|
|
11
|
+
> 1. **`prefs.global.promptLanguage` is always `en`** — instructions to the LLM (this file, every skill spec, every slash-command body, agent system prompts) stay in English. Do not translate spec docs.
|
|
12
|
+
> 2. **`prefs.global.outputLanguage` is user-selectable** — applies to (a) every conversational line the agent writes back, and (b) every user-facing external payload: PR description body, Jira comment, Confluence body, Wiki body.
|
|
13
|
+
>
|
|
14
|
+
> Regardless of `outputLanguage`, these stay English (interop / convention):
|
|
15
|
+
> - `AskUserQuestion` labels and descriptions (UI contract)
|
|
16
|
+
> - Commit message subject/body (git convention)
|
|
17
|
+
> - Branch names (`feature/`, `bugfix/`, …)
|
|
18
|
+
> - Code identifiers, file paths, log lines
|
|
19
|
+
> - PR title prefix (`feat:`, `fix:`, …) — only the body honors `outputLanguage`
|
|
20
|
+
>
|
|
21
|
+
> Full contract: `refs/rules.md` "Language Application".
|
|
22
|
+
|
|
23
|
+
A 5-phase fast pipeline: Init → Dev → Test → Commit → Report. Development runs on the Opus model.
|
|
24
|
+
|
|
25
|
+
## When to use it
|
|
26
|
+
- Small changes, bug fixes, quick features
|
|
27
|
+
- Simple tasks that don't need the full 8-phase pipeline
|
|
28
|
+
- Routine work that does not require formal review
|
|
29
|
+
|
|
30
|
+
## Pipeline
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Phase 0: Init → project detection, worktree, branch, identity (full picker)
|
|
34
|
+
Phase 3: Dev → direct development on Opus (TDD optional)
|
|
35
|
+
Phase 5: Test → User Test (interactive simulator)
|
|
36
|
+
Phase 6: Commit → commit + push + PR
|
|
37
|
+
Phase 7: Report → channels (Jira / Confluence / PR / Wiki)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`--dev` skips Phase 1 (Analysis), Phase 2 (Planning + Approval Gate), and Phase 4 (Review). Phase 3 Dev runs on **Opus**. Phase 0 picker, Phase 5 test, Phase 6 commit, and Phase 7 channels are identical to the full pipeline.
|
|
41
|
+
|
|
42
|
+
## What `--dev` does NOT skip (required)
|
|
43
|
+
|
|
44
|
+
`--dev` skips the LLM-heavy phases (Phase 1 Analysis, Phase 2 Planning + Approval, Phase 4 Review) and runs Phase 3 Dev on Opus. Phase 0 (Init), Phase 5 (Test), Phase 6 (Commit), and Phase 7 (Report + channels) are byte-for-byte the same as the full pipeline. User-facing prompts **always run** — they exist for audit, not speed.
|
|
45
|
+
|
|
46
|
+
### Required user prompts (Phase 0)
|
|
47
|
+
|
|
48
|
+
The agent CANNOT make these Phase 0 decisions automatically; it suggests, then waits for confirmation:
|
|
49
|
+
|
|
50
|
+
1. Issue / Jira ID confirm
|
|
51
|
+
2. **Account picker — provider-aware**: First detect the git remote provider via `git remote get-url origin`, then list provider-appropriate accounts. Do not default to `gh auth` when the remote is non-GitHub.
|
|
52
|
+
- `bitbucket.*` → Bitbucket account (parse user from remote URL: `https://USER:TOKEN@host/...`; if multiple stored tokens in OS keychain, pick from those)
|
|
53
|
+
- `github.com` → `gh auth status` accounts
|
|
54
|
+
- `gitlab.*` → GitLab account (similar URL parse / keychain)
|
|
55
|
+
- Unknown host → list all stored credentials and ask
|
|
56
|
+
- Show the chosen provider in the picker label (e.g. "Bitbucket account?" not "GitHub account?")
|
|
57
|
+
3. Project root (state inheritance is FORBIDDEN — picker runs every run)
|
|
58
|
+
4. dev-context picker (extra repos / submodules — read `.gitmodules` and suggest)
|
|
59
|
+
5. **Network reachability gate (run before branch picker)**: Test remote with `git ls-remote --heads origin <baseBranch>` (5s timeout). One of three outcomes:
|
|
60
|
+
- **Reachable** → proceed to base branch picker, fetch latest, create worktree from `origin/<baseBranch>`
|
|
61
|
+
- **Unreachable** (DNS resolve fail / timeout) → STOP and ask the user:
|
|
62
|
+
```
|
|
63
|
+
[N/Total] Network gate
|
|
64
|
+
Detected: <host> unreachable (VPN/DNS).
|
|
65
|
+
Options:
|
|
66
|
+
1. Enable VPN and retry (recommended — branch will be fresh)
|
|
67
|
+
2. Continue from local origin/<baseBranch> ref (may be stale)
|
|
68
|
+
3. Cancel
|
|
69
|
+
Confirm? [1/2/3]
|
|
70
|
+
```
|
|
71
|
+
- User picks `2` → log warning + record `"baseRefFreshness": "stale"` in `agent-state.json`, proceed from local ref. Phase 6 push needs network anyway, so re-prompt VPN there if still unreachable.
|
|
72
|
+
6. Base branch picker (show recents, take an explicit pick)
|
|
73
|
+
7. Branch name (suggest, allow edit)
|
|
74
|
+
8. Maturity flags acknowledge (read from the issue body's Progress table)
|
|
75
|
+
|
|
76
|
+
### STOP-AND-CONFIRM format
|
|
77
|
+
|
|
78
|
+
For each decision:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
[N/Total] <Decision name>
|
|
82
|
+
Detected: <suggestion> [+ reason]
|
|
83
|
+
Recent: <last N values used, if any>
|
|
84
|
+
Alternatives: <other options, if any>
|
|
85
|
+
|
|
86
|
+
Confirm? [y/<number>/other/cancel]
|
|
87
|
+
→ <waiting for user input — agent stays SILENT>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Rules:**
|
|
91
|
+
- Confirmation is required even when there is only one option
|
|
92
|
+
- Empty Enter ≠ confirmation; require an explicit answer (`y`, `yes`, `1`, …)
|
|
93
|
+
- State inheritance is FORBIDDEN — the previous `agent-state.json` of the same task ID is not a template
|
|
94
|
+
- Cancel always halts
|
|
95
|
+
- One prompt per decision — bundling is FORBIDDEN
|
|
96
|
+
|
|
97
|
+
### Required commit / report prompts
|
|
98
|
+
|
|
99
|
+
- Phase 6 → "Check out locally to test? 1 = Yes (WIP) / 2 = No (continue)" (default 2)
|
|
100
|
+
- Phase 6 → When pushing directly to a shared branch (`iteration/develop`, `develop`, `main`), a one-line final confirm: "This pushes to iteration/develop with no CI gate. Confirm? (y/n)"
|
|
101
|
+
- Phase 7 → Channels prompt: Jira comment / Confluence / PR description / (optional) Wiki — multi-select
|
|
102
|
+
|
|
103
|
+
### Phase 6: PR creation contract
|
|
104
|
+
|
|
105
|
+
When opening a PR, the agent must:
|
|
106
|
+
|
|
107
|
+
1. **Always add default reviewers**: GET the host's default-reviewers endpoint (Bitbucket Server: `/rest/default-reviewers/1.0/projects/{projectKey}/repos/{repoSlug}/reviewers?sourceRepoId=...&targetRepoId=...&sourceRefId=...&targetRefId=...`; GitHub: `CODEOWNERS` / branch protection required reviewers). Exclude the author from the list. Attach via the create-PR payload's `reviewers` array (Bitbucket Server) or via the `review_requests` API (GitHub) at creation time.
|
|
108
|
+
2. **Never wipe reviewers on update**: Bitbucket Server `PUT /pull-requests/{id}` REPLACES the entire resource. If the payload omits `reviewers`, the field is cleared. Two safe patterns:
|
|
109
|
+
- **Preferred**: do not PUT-update; pre-render the final description so the create-PR call is one-shot.
|
|
110
|
+
- **If you must PUT**: re-fetch the current PR, copy the existing `reviewers` array into the PUT payload along with `version` + the field you're changing.
|
|
111
|
+
- **Or use sub-resource endpoints**: `POST /pull-requests/{id}/participants` (Bitbucket) adds individual reviewers without touching the rest.
|
|
112
|
+
3. **Verify after every PR write**: re-fetch the PR and assert `len(reviewers) >= len(defaultReviewers) - 1` (minus author). If it dropped, re-add via the participants endpoint immediately.
|
|
113
|
+
4. **PR description language**: render in `prefs.global.outputLanguage`. Required sections — Summary, Changed Files, Behavior / Flow, Test Plan, Build Verification (or their localized equivalents). Match the Jira comment structure for cross-channel consistency.
|
|
114
|
+
|
|
115
|
+
### Build "pre-existing" claim rule
|
|
116
|
+
|
|
117
|
+
Before reporting a build failure as "pre-existing, not my problem", reproduce it on the baseline:
|
|
118
|
+
|
|
119
|
+
1. `git stash push -u -m "wip-baseline-check"` (stash local changes)
|
|
120
|
+
2. `git checkout <baseline-sha>` (one commit before any of yours)
|
|
121
|
+
3. Run the same build command — does the failure repeat?
|
|
122
|
+
4. If it repeats: pre-existing is confirmed, report it as such
|
|
123
|
+
5. If it does not repeat: the bug is YOURS — return and fix it
|
|
124
|
+
6. `git checkout -` and `git stash pop`
|
|
125
|
+
|
|
126
|
+
No "pre-existing" claim is allowed without a baseline reproduce.
|
|
127
|
+
|
|
128
|
+
## Skipped phases (definitive list)
|
|
129
|
+
|
|
130
|
+
- Phase 1 (Analysis → Opus deep-think + explore agents)
|
|
131
|
+
- Phase 2 → Plan Approval Gate including clarification + approval
|
|
132
|
+
- Phase 4 (Review → parallel + triage)
|
|
133
|
+
|
|
134
|
+
Phase 0 (Init full picker), Phase 5 (User Test), Phase 6 (Commit), and Phase 7 (Report + channels) run exactly as in the full pipeline. Phase 3 Dev model is **Opus**.
|
|
135
|
+
|
|
136
|
+
## Steps
|
|
137
|
+
|
|
138
|
+
1. **Parse input** — same multi-agent input formats (GitHub Issue URL, Jira ID, free-text)
|
|
139
|
+
|
|
140
|
+
2. **Phase 0: Init** — same as the full pipeline (full picker: account, project, dev-context, base branch, branch name, maturity check, identity, worktree, state)
|
|
141
|
+
- Add `"mode": "dev"` to `agent-state.json`
|
|
142
|
+
|
|
143
|
+
3. **Phase 3: Dev** — on the **Opus model**, with `taskType`-based dispatch:
|
|
144
|
+
|
|
145
|
+
**3a. If `state.taskType === "component"` (figma URL detected at Phase 0 Step 7):**
|
|
146
|
+
- Run the **full figma 17-substep orchestrator** — the same one the full pipeline uses. `--dev` does NOT shrink this. Sub-phases:
|
|
147
|
+
```
|
|
148
|
+
3.0-Init → 3.1-Gather → 3.2A-TestingIDs → 3.2B-Localization → 3.2C-Accessibility → 3.2D-Analytics
|
|
149
|
+
→ 3.3-TokenMapping → 3.4A-Configuration → 3.4B-View → 3.4C-Docs → 3.4D-Preview → 3.4E-Modifiers
|
|
150
|
+
→ 3.5A-Structural (ViewInspector) → 3.5B-Snapshot → 3.5C-Unit
|
|
151
|
+
→ 3.6-CodeConnect → 3.7-Wiki → 3.8-Cleanup
|
|
152
|
+
```
|
|
153
|
+
- **Tests are mandatory** (3.5A + 3.5B + 3.5C). The "tests optional in dev mode" exception below applies to non-component tasks only.
|
|
154
|
+
- Code Connect publish (3.6) is mandatory if `figmaConfig.codeConnect.enabled` (default true).
|
|
155
|
+
- Wiki page generation (3.7) is mandatory if `figmaConfig.wiki.enabled`.
|
|
156
|
+
|
|
157
|
+
**3b. Else (free-text task, bug fix, refactor, generic feature):**
|
|
158
|
+
- Brief analysis (no explore agent — read files directly)
|
|
159
|
+
- Write code + verify build
|
|
160
|
+
- Write tests if needed (not mandatory in dev mode for non-component work)
|
|
161
|
+
|
|
162
|
+
The dispatch is keyed on `agent-state.taskType`, written by Phase 0 Step 7 (`feedback_phase0_tasktype.md`). If the issue body contains a Figma URL, the type is `"component"` and 3a applies — no exception, even in `--dev`.
|
|
163
|
+
|
|
164
|
+
4. **Phase 5: User Test** — same as the full pipeline (interactive simulator / local-test prompt)
|
|
165
|
+
|
|
166
|
+
5. **Phase 6: Commit** — same as the full pipeline (commit + push + PR + shared-branch final confirm)
|
|
167
|
+
|
|
168
|
+
6. **Phase 7: Report** — same as the full pipeline (channels prompt: Jira / Confluence / PR description / Wiki)
|
|
169
|
+
|
|
170
|
+
## Differences vs full pipeline
|
|
171
|
+
|
|
172
|
+
| Aspect | Full (`/multi-agent`) | Dev (`/multi-agent:dev`) |
|
|
173
|
+
|---------|---------------------|------------------------|
|
|
174
|
+
| Phases | 8 (0-7) | 5 (0, 3, 5, 6, 7) — 1, 2, 4 skipped |
|
|
175
|
+
| Phase 3 Dev model | Sonnet | **Opus** |
|
|
176
|
+
| Phase 1 Analysis (explore agents) | ✅ | ❌ |
|
|
177
|
+
| Phase 2 Planning + Approval Gate | ✅ | ❌ |
|
|
178
|
+
| Phase 4 Review (parallel + triage) | ✅ | ❌ |
|
|
179
|
+
| Phase 0 picker (account, repos, branch, …) | ✅ | ✅ (same) |
|
|
180
|
+
| Phase 5 User Test | ✅ | ✅ (same) |
|
|
181
|
+
| Phase 7 channels (Jira / Confluence / PR / Wiki) | ✅ | ✅ (same) |
|
|
182
|
+
| Duration | ~10-15 min | ~5-7 min |
|
|
183
|
+
## Required: Phase Tracker Contract
|
|
184
|
+
|
|
185
|
+
**The phase tracker is mandatory** — the agent cannot skip it. Full spec: [`refs/tracker-contract.md`](./refs/tracker-contract.md).
|
|
186
|
+
|
|
187
|
+
Two channels run in parallel at every phase boundary:
|
|
188
|
+
|
|
189
|
+
1. **State channel** (every CLI, identical): `phase-tracker.sh` writes to `tracker-state.json`. Drives `:resume`, `:log`, `:status`.
|
|
190
|
+
2. **Visual channel** (CLI-specific): native widget on Claude Code, ANSI render on every other CLI. Without it the user sees no phase progress.
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Phase 0, very first shell call (every CLI):
|
|
194
|
+
bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
|
|
195
|
+
for p in "0:Init" "3:Dev" "5:Test" "6:Commit" "7:Report"; do
|
|
196
|
+
bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
|
|
197
|
+
done
|
|
198
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
|
|
199
|
+
|
|
200
|
+
# Every phase boundary (every CLI):
|
|
201
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress|completed|failed|skipped
|
|
202
|
+
|
|
203
|
+
# After every LLM call (every CLI):
|
|
204
|
+
bash $HOME/.claude/scripts/phase-tracker.sh tokens <N> <in> <out>
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Visual channel — Claude Code (native TaskList widget, required)
|
|
208
|
+
|
|
209
|
+
In Claude Code the agent MUST also drive the native TaskList widget so the user sees a sticky phase tile stack — this is the only progress signal Claude Code surfaces. Skipping these calls is the #1 source of "I don't see any phases" complaints.
|
|
210
|
+
|
|
211
|
+
**TaskCreate ordering (strict)**: All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks (e.g. `1 ✓ · 2 ✓ · 4 ✓ · 0 ▶ · 3 ☐`) even when the underlying state is correct. Pre-marking phases as completed/skipped before Phase 0 starts is FORBIDDEN — register the tile in order, then flip status via TaskUpdate when the phase actually short-circuits. Full contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
212
|
+
|
|
213
|
+
```text
|
|
214
|
+
# Phase 0 startup — register one tile per phase (0..N), capture the taskId, persist it:
|
|
215
|
+
for each phase in 0:Init, 3:Dev, 5:Test, 6:Commit, 7:Report:
|
|
216
|
+
TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
|
|
217
|
+
-> returns taskId
|
|
218
|
+
bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
|
|
219
|
+
|
|
220
|
+
# Phase entry — flip the tile to in_progress alongside the state update:
|
|
221
|
+
TaskUpdate({ taskId: <saved>, status: "in_progress" })
|
|
222
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> in_progress
|
|
223
|
+
|
|
224
|
+
# Active sub-step inside a phase — update activeForm so the spinner header reflects what's happening now:
|
|
225
|
+
TaskUpdate({ taskId: <saved>, activeForm: "Editing TopBarView.swift" })
|
|
226
|
+
|
|
227
|
+
# Phase exit — flip to completed/failed/skipped on both channels:
|
|
228
|
+
TaskUpdate({ taskId: <saved>, status: "completed" })
|
|
229
|
+
bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
`--dev` mode does NOT TaskCreate phases 1/2/4 — those are not part of the `--dev` phase set (`0:Init 3:Dev 5:Test 6:Commit 7:Report`). Only register tiles for the active set.
|
|
233
|
+
|
|
234
|
+
#### TaskCreate ordering (strict)
|
|
235
|
+
|
|
236
|
+
**All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `--dev` that means: Phase 0 → Phase 3 → Phase 5 → Phase 6 → Phase 7. The native widget renders by creation order, not by phase number — out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
|
|
237
|
+
|
|
238
|
+
### Visual channel — Copilot CLI / Cursor / Windsurf / plain shell
|
|
239
|
+
|
|
240
|
+
These CLIs have no TaskList widget. After every state change the agent calls render, which prints a bordered ANSI card as the last tool result so the user sees an updated phase table:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
bash $HOME/.claude/scripts/phase-tracker.sh render
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Do NOT call TaskCreate on these CLIs — the tool does not exist and the call fails.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Map Phase 4 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which code change'."
|
|
3
|
+
argument-hint: "[#task-id | --triage <path> | --state <path>] [--branch <name>] [--base <name>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# multi-agent diff-explain — Phase 4 Triage to Diff Bridge
|
|
7
|
+
|
|
8
|
+
Maps the Phase 4 triage output (`accepted` / `deferred` / `rejected`) onto the branch's `git diff`. Every finding lands inline with the matching file / line hunk.
|
|
9
|
+
|
|
10
|
+
**This command has no side effects.** It runs `git diff` and prints markdown.
|
|
11
|
+
|
|
12
|
+
## When to use it
|
|
13
|
+
|
|
14
|
+
- Between Phase 4 and Phase 5/6: answers "5 findings — which one belongs to which file?"
|
|
15
|
+
- Phase 7 reporting: a "review summary with code context" block to embed in the Wiki / Confluence output.
|
|
16
|
+
- Post-hoc audit: for a closed PR, a "what did review flag, and how did the code change" diff.
|
|
17
|
+
|
|
18
|
+
## Steps
|
|
19
|
+
|
|
20
|
+
1. **Resolve input** — figure out the triage source from `$ARGUMENTS`:
|
|
21
|
+
- `#N` or `JIRA-N`: pull the triage from the task's state file
|
|
22
|
+
- `--triage <path>`: triage-output.json directly
|
|
23
|
+
- `--state <path>`: agent-state.json (with embedded triage)
|
|
24
|
+
- None: use the active task
|
|
25
|
+
|
|
26
|
+
2. **Pick the diff source**:
|
|
27
|
+
- `--branch <name>`: target branch (default: HEAD)
|
|
28
|
+
- `--base <name>`: comparison base (default: origin/main → main)
|
|
29
|
+
- `--diff <path>`: precomputed diff (skips the git call; for CI / sandboxes)
|
|
30
|
+
|
|
31
|
+
3. **Run the script** and show the output directly to the user:
|
|
32
|
+
```bash
|
|
33
|
+
node "$HOME/.claude/scripts/diff-explain.mjs" \
|
|
34
|
+
--triage "<resolved-path>" \
|
|
35
|
+
--branch "<branch>" \
|
|
36
|
+
--base "<base>"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
4. **Annotate the output** (optional):
|
|
40
|
+
- Whether every blocking finding actually got touched (Phase 3 fix-coverage check)
|
|
41
|
+
- Whether every deferred finding is on the Phase 7 follow-up list
|
|
42
|
+
|
|
43
|
+
## Output template
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
# Phase 4 Triage Diff Bridge
|
|
47
|
+
|
|
48
|
+
## Summary
|
|
49
|
+
- Accepted: 3 (🚫 1 blocking · ⚠️ 1 important · 💡 1 suggestion)
|
|
50
|
+
- Deferred: 1 · Rejected: 0
|
|
51
|
+
- Approved: ❌ no
|
|
52
|
+
|
|
53
|
+
## src/api/checkout.ts
|
|
54
|
+
|
|
55
|
+
### ✅ 🚫 BLOCKING — line 102 (opus)
|
|
56
|
+
> Race condition: order total computed twice without lock
|
|
57
|
+
**Fix:** Compute total once inside the existing transaction block
|
|
58
|
+
```diff
|
|
59
|
+
@@ -98,5 +98,7 @@ ...
|
|
60
|
+
const total = sum(items);
|
|
61
|
+
+ const total2 = sum(items); // duplicate
|
|
62
|
+
await chargeCard(total);
|
|
63
|
+
```
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Icons:
|
|
67
|
+
- Bucket: ✅ accepted · ⏭️ deferred · ❌ rejected
|
|
68
|
+
- Severity: 🚫 blocking · ⚠️ important · 💡 suggestion
|