@mmerterden/multi-agent-pipeline 11.2.0 → 11.3.1
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 +68 -0
- package/README.md +2 -2
- package/docs/FIGMA_PIPELINE.md +12 -25
- package/docs/architecture.md +3 -5
- package/docs/features.md +8 -8
- package/install/_dev-only-files.mjs +0 -6
- package/install/claude.mjs +39 -17
- package/install/copilot.mjs +22 -16
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +1 -1
- package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
- package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
- package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
- package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
- package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
- package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
- package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
- package/pipeline/lib/credential-store.sh +8 -4
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
- package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
- package/pipeline/preferences-template.json +17 -1
- package/pipeline/rules/figma-pipeline.md +2 -2
- package/pipeline/schemas/prefs.schema.json +0 -34
- package/pipeline/scripts/README.md +1 -3
- package/pipeline/scripts/build-skills-index.mjs +3 -6
- package/pipeline/scripts/eval-mine-corpus.mjs +187 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/lint-skills.mjs +26 -1
- package/pipeline/scripts/phase-banner.sh +2 -2
- package/pipeline/scripts/review-scope.mjs +94 -0
- package/pipeline/scripts/scan-agent-config.sh +2 -2
- package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
- package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
- package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
- package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
- package/pipeline/scripts/smoke-channels-flow.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +1 -1
- package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
- package/pipeline/scripts/smoke-community-gates.sh +1 -1
- package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
- package/pipeline/scripts/smoke-cost-summary.sh +1 -1
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
- package/pipeline/scripts/smoke-dev-critic.sh +1 -1
- package/pipeline/scripts/smoke-diff-explain.sh +1 -1
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
- package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
- package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
- package/pipeline/scripts/smoke-generate-issue.sh +8 -8
- package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
- package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
- package/pipeline/scripts/smoke-intent-guard.sh +1 -1
- package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
- package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
- package/pipeline/scripts/smoke-language-axis.sh +6 -6
- package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
- package/pipeline/scripts/smoke-model-fallback.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
- package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
- package/pipeline/scripts/smoke-plan-todos.sh +3 -3
- package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
- package/pipeline/scripts/smoke-prefs-language.sh +1 -1
- package/pipeline/scripts/smoke-progress-contract.sh +2 -2
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +2 -2
- package/pipeline/scripts/smoke-shadow-git.sh +1 -1
- package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
- package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
- package/pipeline/scripts/smoke-test-gap.sh +1 -1
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-token-preflight.sh +2 -2
- package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-update-check.sh +1 -1
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-gates.sh +1 -1
- package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
- package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
- package/pipeline/scripts/smoke-work-summary.sh +1 -1
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/test-integrity-gate.mjs +83 -0
- package/pipeline/scripts/uninstall.mjs +17 -6
- package/pipeline/skills/.skill-manifest.json +40 -160
- package/pipeline/skills/.skills-index.json +3 -373
- package/pipeline/skills/shared/README.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
- package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
- package/pipeline/skills/skills-index.md +3 -44
- package/pipeline/commands/multi-agent/refactor.md +0 -188
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
- package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
- package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
- package/pipeline/scripts/smoke-figma-sync.sh +0 -149
- package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
- package/pipeline/skills/figma-android/README.md +0 -38
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
- package/pipeline/skills/figma-common/README.md +0 -64
- package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
- package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
- package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
- package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
- package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
- package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
- package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
- /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
- /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,74 @@ Internal file-layout changes that don't affect the slash-command surface are sti
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
+
## [11.3.1] - 2026-07-10
|
|
18
|
+
|
|
19
|
+
Self-audit patch (found by running `/multi-agent:refactor` on the pipeline itself): a data-loss fix, a latent gate regression, supply-chain hardening, and a few correctness fixes.
|
|
20
|
+
|
|
21
|
+
- **Fix (data-loss): uninstall no longer deletes `~/.claude/rules/`.** Install
|
|
22
|
+
treats `rules/` as user-owned (write-if-missing, never overwritten), but the
|
|
23
|
+
uninstaller recursively removed the whole tree, destroying personal rules
|
|
24
|
+
(including the git-attribution rule). Uninstall now preserves `rules/`, and
|
|
25
|
+
lists it in the PRESERVED summary.
|
|
26
|
+
- **Fix (gate regression): `lint-skills` scoped to `pipeline/skills`.** The
|
|
27
|
+
v11.3.0 command-layout migration made command files match `find pipeline -name
|
|
28
|
+
SKILL.md`; slash commands have no `name:` frontmatter, so the skill linter
|
|
29
|
+
started erroring on all 37 of them (latent because CI is billing-paused and
|
|
30
|
+
releases were published manually). The linter now only checks actual skills.
|
|
31
|
+
- **Fix: `.skills-index.json` is idempotent** - dropped the `generatedAt`
|
|
32
|
+
timestamp so regenerating an unchanged skill set produces no diff.
|
|
33
|
+
- **Fix: uninstall strips the Copilot pipeline block regardless of file size** -
|
|
34
|
+
removed the 50 KB fallback cap that orphaned the block in large
|
|
35
|
+
`copilot-instructions.md` files.
|
|
36
|
+
- **Fix: install "dev-only excluded" count** is now the real file count (the
|
|
37
|
+
`fixtures/` directory was under-counted as one entry).
|
|
38
|
+
- **Security (supply-chain):** `release.yml` publishes with `npm publish
|
|
39
|
+
--provenance` (`id-token: write`); all GitHub Actions pinned to commit SHAs;
|
|
40
|
+
added `.github/dependabot.yml` (actions + npm dev deps); `credential-store.sh`
|
|
41
|
+
escapes single quotes in the Windows PowerShell paths.
|
|
42
|
+
- **New: `eval-mine-corpus.mjs`** turns recorded triage decisions
|
|
43
|
+
(`triage-corpus.jsonl`) into review-gated candidate triage-eval fixtures.
|
|
44
|
+
- **Tests:** added node unit tests for the Phase 4 diff-risk gates
|
|
45
|
+
(`test/phase4-gates.test.mjs`) so they run in the release lane, not only the
|
|
46
|
+
bash smoke; `lint-skills` now warns (non-fatal) on terse skill descriptions.
|
|
47
|
+
|
|
48
|
+
## [11.3.0] - 2026-07-10
|
|
49
|
+
|
|
50
|
+
Single-source skill management, an upgraded `refactor` command, and two new Phase 4 diff-risk gates.
|
|
51
|
+
|
|
52
|
+
- **Component/Figma work is plugin-only.** The pipeline no longer bundles the
|
|
53
|
+
`figma-ios` / `figma-android` / `figma-common` skill trees. Phase 3 dispatches
|
|
54
|
+
component and Figma-to-code work to the per-stack marketplace plugins
|
|
55
|
+
(`ai-ios-engineering-toolkit` / `ai-android-engineering-toolkit`) via the Skill
|
|
56
|
+
tool, so component skills live in one place. The 3-tier Figma design-access
|
|
57
|
+
fallback still governs the analysis phase.
|
|
58
|
+
- **Command layout migrated to `<name>/SKILL.md`.** Each subcommand is now its own
|
|
59
|
+
directory with a `SKILL.md`, and the dispatcher is `commands/multi-agent/SKILL.md`.
|
|
60
|
+
This restores subcommand registration in the `/` picker on current Claude Code
|
|
61
|
+
(the older flat `commands/multi-agent/<name>.md` files stopped registering). The
|
|
62
|
+
slash surface (`/multi-agent:<name>`) is unchanged.
|
|
63
|
+
- **Refs are non-invocable.** The 46 reference docs + internal pickers moved out of
|
|
64
|
+
`commands/` into `multi-agent-refs/`, so Claude Code no longer registers them as
|
|
65
|
+
`/multi-agent:refs:*` slash commands. Commands read them by absolute path.
|
|
66
|
+
- **`refactor` upgraded.** `/multi-agent:refactor` now (A) researches field
|
|
67
|
+
best-practices from GitHub + X/Twitter + Reddit + web and produces an adapted
|
|
68
|
+
plan fitted to the repo's stack, (B) runs an explicit bug hunt (real defects with
|
|
69
|
+
file:line + failure scenario, verified before reporting), and (C) checks upstream
|
|
70
|
+
drift of derived skills, configured via `global.derivedSkillSources` in local
|
|
71
|
+
preferences (never synced, so it can reference private sources). All four bands
|
|
72
|
+
(best-practice / bug / improvement / drift) merge into one prioritized plan.
|
|
73
|
+
- **New: Phase 4 diff-risk gates.** `test-integrity-gate.mjs` is an
|
|
74
|
+
anti-reward-hacking gate that turns removed/weakened tests into a blocking review
|
|
75
|
+
finding, and `review-scope.mjs` scales the reviewer count to diff complexity
|
|
76
|
+
(trivial diffs get a single reviewer, high-stakes or large churn gets the full
|
|
77
|
+
panel). Both are deterministic pure functions of the diff-risk JSON, covered by
|
|
78
|
+
`smoke-phase4-gates.sh`.
|
|
79
|
+
- **Cleanup + hardening.** Removed stale flat/`refs/` paths from the Copilot core
|
|
80
|
+
skills and `copilot-instructions`, pruned the orphaned `figma-to-component`
|
|
81
|
+
install dir, broadened the personal-data leak detector to catch private
|
|
82
|
+
marketplace/plugin names, and refreshed the docs (README, features, architecture,
|
|
83
|
+
Figma pipeline) to the plugin-dispatch model.
|
|
84
|
+
|
|
17
85
|
## [11.2.0] - 2026-07-07
|
|
18
86
|
|
|
19
87
|
Skill mining + an install-safety fix.
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://nodejs.org)
|
|
6
6
|
[](https://github.com/mmerterden/multi-agent-pipeline/blob/main/package.json)
|
|
7
7
|
|
|
8
|
-
An 8-phase AI development pipeline for **Claude Code** and **Copilot CLI**. Drives a Jira issue or GitHub URL to a merged PR in one command — analysis → plan → TDD → review → test → commit → PR — with multi-repo orchestration, a plan-approval gate, CLI-aware parallel review, and store-compliance checks.
|
|
8
|
+
An 8-phase AI development pipeline for **Claude Code** and **Copilot CLI**. Drives a Jira issue or GitHub URL to a merged PR in one command — analysis → plan → TDD → review → test → commit → PR — with multi-repo orchestration, a plan-approval gate, CLI-aware parallel review, and store-compliance checks. Component and Figma-to-code work is dispatched to the per-stack marketplace plugins (iOS/SwiftUI, Android/Compose) rather than bundled, so component skills live in one place.
|
|
9
9
|
|
|
10
10
|
Runs natively on Claude Code and Copilot CLI. macOS / Linux / Windows. Zero runtime dependencies.
|
|
11
11
|
|
|
@@ -63,7 +63,7 @@ The discipline behind all of this — bounded loops, evidence gates, token-budge
|
|
|
63
63
|
| Local | `/multi-agent:local "task"` | Full pipeline, current branch (no worktree) |
|
|
64
64
|
| Finish | `/multi-agent:finish` | Run the review→test→commit→report tail over local work |
|
|
65
65
|
|
|
66
|
-
Helpers: `setup`, `status`, `resume #N`, `review`, `test`, `channels`, `stack`, `update`, `sync`, `jira`, `issue`, `analysis`, `generate-task`, `generate-bug`. Full list: `/multi-agent:help`.
|
|
66
|
+
Helpers: `setup`, `status`, `resume #N`, `review`, `test`, `channels`, `stack`, `update`, `sync`, `refactor`, `jira`, `issue`, `analysis`, `generate-task`, `generate-bug`. Full list: `/multi-agent:help`.
|
|
67
67
|
|
|
68
68
|
## Stacks
|
|
69
69
|
|
package/docs/FIGMA_PIPELINE.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
End-to-end guide for generating production-ready UI components from Figma designs through the multi-agent pipeline. Covers iOS (SwiftUI) and Android (Jetpack Compose) with the same workflow shape.
|
|
4
4
|
|
|
5
|
+
> Note: Component and Figma-to-code skills are no longer bundled in this repo. Phase 3 dispatches component work to the per-stack marketplace plugins (`ai-ios-engineering-toolkit` / `ai-android-engineering-toolkit` in the `multi-agent-plugins` marketplace) via the Skill tool. The workflow, subphases, and skill names described below are what those plugin skills run internally, not pipeline-bundled code. The 3-tier Figma design-access fallback still governs the analysis phase in this repo.
|
|
6
|
+
|
|
5
7
|
## What you get
|
|
6
8
|
|
|
7
9
|
- **One command** — `/multi-agent <figma-url-or-issue>` — produces a complete component: Configuration + View + Modifiers + Preview + README + three layers of tests + Code Connect + wiki doc.
|
|
@@ -13,7 +15,7 @@ End-to-end guide for generating production-ready UI components from Figma design
|
|
|
13
15
|
|
|
14
16
|
## How it runs
|
|
15
17
|
|
|
16
|
-
When multi-agent Phase 0 classifies a task as `component` (Figma URL in description, or figma-driven instruction path), Phase 3 delegates the entire phase to the `
|
|
18
|
+
When multi-agent Phase 0 classifies a task as `component` (Figma URL in description, or figma-driven instruction path), Phase 3 delegates the entire phase to the enabled `ai-<platform>-engineering-toolkit` marketplace plugin's component skill (`create-component`, fallback `create-ui-component`) via the Skill tool. Component skills live in the plugin marketplace, not the pipeline. The dispatch layer records a coarse component-build row in `state.phases["3"].subphases[]` — multi-agent's phase-tracker reads that array with no special case. The subphase list below describes the flow the plugin skill runs internally.
|
|
17
19
|
|
|
18
20
|
### Internal phase order
|
|
19
21
|
|
|
@@ -88,7 +90,7 @@ When a GitHub issue triggers the pipeline and has no Jira link:
|
|
|
88
90
|
3. Phase 7 Step 3.5 runs component wiki capture.
|
|
89
91
|
4. Phase 7 posts a humanizer'd wiki summary back to the linked Jira (`wikiToJiraComment`, default `true`).
|
|
90
92
|
|
|
91
|
-
Full contract: [`pipeline/
|
|
93
|
+
Full contract: [`pipeline/multi-agent-refs/issue-jira-triad.md`](../pipeline/multi-agent-refs/issue-jira-triad.md).
|
|
92
94
|
|
|
93
95
|
## Wiki modes (pick one per project)
|
|
94
96
|
|
|
@@ -99,7 +101,7 @@ Full contract: [`pipeline/commands/multi-agent/refs/issue-jira-triad.md`](../pip
|
|
|
99
101
|
| `github-wiki` | `{owner}/{repo}.wiki.git/{Category}/{Name}.md` | Clone the `.wiki.git`, commit, push |
|
|
100
102
|
| `separate-repo` | Remote repo's configured branch | Clone to cache, commit, push |
|
|
101
103
|
|
|
102
|
-
Full contract: [`pipeline/
|
|
104
|
+
Full contract: [`pipeline/multi-agent-refs/wiki-capture.md`](../pipeline/multi-agent-refs/wiki-capture.md).
|
|
103
105
|
|
|
104
106
|
## Preferences
|
|
105
107
|
|
|
@@ -116,35 +118,20 @@ Global settings that affect the figma pipeline:
|
|
|
116
118
|
| `confluenceDefault` | bool | `false` | Phase 7 Confluence auto-yes |
|
|
117
119
|
| `jiraCommentDefault` | bool | `true` | Phase 7 test-scenarios Jira comment auto-yes |
|
|
118
120
|
|
|
119
|
-
## Upstream sync (for teams maintaining a source project)
|
|
120
|
-
|
|
121
|
-
If your team maintains a separate figma-to-component source repo, set:
|
|
122
|
-
|
|
123
|
-
```json
|
|
124
|
-
"figmaSource": {
|
|
125
|
-
"path": "/absolute/path/to/source",
|
|
126
|
-
"branch": "develop"
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Then run `pipeline/scripts/sync-figma-source.sh` (directly or through the planned WS-9b `/multi-agent:sync` delegation). Changes since the last sync watermark are imported with the placeholder transform applied automatically.
|
|
131
|
-
|
|
132
121
|
## Troubleshooting
|
|
133
122
|
|
|
134
123
|
| Symptom | Likely cause | Fix |
|
|
135
124
|
|---|---|---|
|
|
136
|
-
| Phase 3 halts with "
|
|
137
|
-
| `
|
|
138
|
-
| `smoke-personal-data` fails after import | New hardcoded value slipped through | Add a rule to `pipeline/scripts/figma-placeholder-map.json` and re-run import |
|
|
125
|
+
| Phase 3 halts with "plugin not enabled" | The `ai-<platform>-engineering-toolkit` plugin is not enabled in this repo | Enable it in the repo's `.claude/settings.local.json` (`"ai-ios-engineering-toolkit@<marketplace>": true`) and reload the session |
|
|
126
|
+
| `multi-agent:create-component` not found | Marketplace not installed / plugin disabled | Install the marketplace and enable the platform toolkit; dispatch tries `create-component` then `create-ui-component` |
|
|
139
127
|
| Wiki adapter failure | Remote unreachable (separate-repo mode) | Adapter caches pending output; next run retries. Non-blocking — Phase 7 continues. |
|
|
140
128
|
| Jira auto-create hits 5xx | Transient Jira outage | Non-blocking — pipeline continues without link. User can run `/multi-agent:channels` post-hoc to add it. |
|
|
141
129
|
| Android gradle unresolved | `figmaConfig.build.gradleModule` not set | Populate the config; halt is intentional (no guessing) |
|
|
142
130
|
|
|
143
131
|
## Further reading
|
|
144
132
|
|
|
145
|
-
- [`pipeline/
|
|
146
|
-
- [`pipeline/
|
|
147
|
-
- [`pipeline/
|
|
148
|
-
- [`pipeline/
|
|
149
|
-
- [`pipeline/
|
|
150
|
-
- [`pipeline/skills/figma-ios/REVIEW_CHECKLIST.md`](../pipeline/skills/figma-ios/REVIEW_CHECKLIST.md) — per-skill review gate after import.
|
|
133
|
+
- [`pipeline/multi-agent-refs/component-dispatch.md`](../pipeline/multi-agent-refs/component-dispatch.md) — Phase 3 delegation contract.
|
|
134
|
+
- [`pipeline/multi-agent-refs/wiki-capture.md`](../pipeline/multi-agent-refs/wiki-capture.md) — Phase 7 wiki contract.
|
|
135
|
+
- [`pipeline/multi-agent-refs/issue-jira-triad.md`](../pipeline/multi-agent-refs/issue-jira-triad.md) — issue → jira → wiki triad contract.
|
|
136
|
+
- [`pipeline/multi-agent-refs/progress-contract.md`](../pipeline/multi-agent-refs/progress-contract.md) — live progress-line emission contract.
|
|
137
|
+
- [`pipeline/multi-agent-refs/cross-cli-contract.md`](../pipeline/multi-agent-refs/cross-cli-contract.md) — Claude ↔ Copilot CLI parity.
|
package/docs/architecture.md
CHANGED
|
@@ -71,7 +71,7 @@ graph TD
|
|
|
71
71
|
|
|
72
72
|
## Figma SubPhase Integration (Phase 3)
|
|
73
73
|
|
|
74
|
-
When
|
|
74
|
+
When a task is classified `component`, Phase 3 dispatches to the marketplace component plugin (`ai-<platform>-engineering-toolkit`) via the Skill tool. Component skills are not bundled in this repo; the subphases below describe the flow the plugin skill runs internally:
|
|
75
75
|
|
|
76
76
|
```mermaid
|
|
77
77
|
graph TD
|
|
@@ -120,9 +120,8 @@ graph TB
|
|
|
120
120
|
CMD[commands/<br/>39 command files<br/>(34 user-facing)]
|
|
121
121
|
AGT[agents/<br/>8 agent personas]
|
|
122
122
|
RUL[rules/<br/>12 domain rules]
|
|
123
|
-
PHS[refs/phases/<br/>
|
|
124
|
-
|
|
125
|
-
CMP[skills/shared/core/<br/>38 orchestration skills<br/>incl. compliance]
|
|
123
|
+
PHS[multi-agent-refs/phases/<br/>phase specs + contracts]
|
|
124
|
+
CMP[skills/shared/core/<br/>orchestration skills<br/>incl. compliance]
|
|
126
125
|
EXT[skills/shared/external/<br/>143 curated skills<br/>(authoring source for the<br/>multi-agent-plugins marketplace)]
|
|
127
126
|
end
|
|
128
127
|
|
|
@@ -137,7 +136,6 @@ graph TB
|
|
|
137
136
|
INS -->|copies to ~/.claude/| AGT
|
|
138
137
|
INS -->|copies to ~/.claude/| RUL
|
|
139
138
|
CMD --> PHS
|
|
140
|
-
CMD --> FIG
|
|
141
139
|
SCH --> EVL
|
|
142
140
|
SCH --> SMK
|
|
143
141
|
```
|
package/docs/features.md
CHANGED
|
@@ -19,7 +19,7 @@ Phase 7: Report External: Jira comment · Wiki + Figma screenshots · Confluen
|
|
|
19
19
|
Internal: agent-log.md + Quality & Metrics + knowledge + memory
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
Each phase reads its own spec file under `pipeline/
|
|
22
|
+
Each phase reads its own spec file under `pipeline/multi-agent-refs/phases/phase-N-*.md` — lazy-loaded so the orchestrator only pays the token cost for the phase it's currently in.
|
|
23
23
|
|
|
24
24
|
### Modifier Flags (orthogonal, combinable)
|
|
25
25
|
|
|
@@ -65,7 +65,7 @@ Result persisted to `agent-state.taskType`:
|
|
|
65
65
|
|
|
66
66
|
| Type | Downstream effects |
|
|
67
67
|
| ----------- | ----------------------------------------------------------------------------- |
|
|
68
|
-
| `component` | Phase 3
|
|
68
|
+
| `component` | Phase 3 dispatches to the marketplace component plugin (create-component) with SubPhase reporting |
|
|
69
69
|
| `bugfix` | Phase 4 emphasizes test coverage + regression; Phase 6 uses `fix(...)` prefix |
|
|
70
70
|
| `feature` | Standard TDD flow; Phase 6 uses `feat(...)` prefix |
|
|
71
71
|
| `refactor` | Phase 4 emphasizes behavior preservation; Phase 6 uses `refactor(...)` prefix |
|
|
@@ -180,7 +180,7 @@ Pure code analysis — no simulator needed. Device-level audits run in Phase 5 w
|
|
|
180
180
|
|
|
181
181
|
### Status Enforcement
|
|
182
182
|
|
|
183
|
-
Phase 3
|
|
183
|
+
Phase 3 treats the issue-tracker status update as a required step with a post-mutation verify step that re-reads the field and retries once on silent `VALIDATION` failures (e.g. stale Projects V2 option IDs after a board rebuild).
|
|
184
184
|
|
|
185
185
|
## Safety & Hygiene
|
|
186
186
|
|
|
@@ -209,7 +209,7 @@ All critical state files are schema-validated at read and write time:
|
|
|
209
209
|
|
|
210
210
|
### Sync Parity Check
|
|
211
211
|
|
|
212
|
-
Detects drift between Claude Code instructions (`~/.claude/commands/multi-agent.md`), Copilot CLI instructions (`~/.copilot/copilot-instructions.md`), and the repo's pipeline spec files. Reports discrepancies during Phase 0 Init.
|
|
212
|
+
Detects drift between Claude Code instructions (`~/.claude/commands/multi-agent/SKILL.md`), Copilot CLI instructions (`~/.copilot/copilot-instructions.md`), and the repo's pipeline spec files. Reports discrepancies during Phase 0 Init.
|
|
213
213
|
|
|
214
214
|
### Token Budget Enforcement
|
|
215
215
|
|
|
@@ -251,11 +251,11 @@ Pipeline learns behavioral signals (feedback corrections, project constraints, e
|
|
|
251
251
|
|
|
252
252
|
## Integrations
|
|
253
253
|
|
|
254
|
-
### Figma
|
|
254
|
+
### Figma / Component Generation (dispatched to marketplace plugins)
|
|
255
255
|
|
|
256
|
-
|
|
256
|
+
Component + Figma-to-code work is no longer bundled in this repo. When Phase 0 classifies a task as `component`, Phase 3 dispatches it to the per-stack marketplace plugins (`ai-ios-engineering-toolkit` / `ai-android-engineering-toolkit` in the `multi-agent-plugins` marketplace) via the Skill tool. The plugin's component skill generates `{Name}Configuration.swift`, `{Name}View.swift`, `{Name}+Modifiers.swift`, `{Name}.figma.swift`, and `FIGMA.md` with a variant matrix, then runs a 14-item pre-commit checklist covering design tokens, accessibility, tests, and Code Connect.
|
|
257
257
|
|
|
258
|
-
|
|
258
|
+
The plugin's cross-cutting integration skills feed component detection + implementation when the design triggers them (content: form / price / ui-patterns; interaction: navigation / overlays / bottom-sheets). Each is native-SwiftUI-first and reads project specifics (token namespaces, component paths, UI systems) from `figma-config`, including the optional `ui.navigationSystem` / `ui.overlaySystem` / `ui.sheetSystem` hooks (absent -> stock SwiftUI), so the same capabilities work on any SwiftUI codebase. The plugin's evolve-component skill reconciles an existing component against current Figma (drift-heal) and additively extends it, behind a human gate.
|
|
259
259
|
|
|
260
260
|
### UI Bug Hunter + Audits
|
|
261
261
|
|
|
@@ -290,4 +290,4 @@ Token registry maps logical names (`jira`, `bitbucket`, `github`, `confluence`)
|
|
|
290
290
|
|
|
291
291
|
## File Layout
|
|
292
292
|
|
|
293
|
-
`commands/multi-agent
|
|
293
|
+
Each subcommand is its own directory: `commands/multi-agent/<name>/SKILL.md` → slash command; the dispatcher is `commands/multi-agent/SKILL.md`. The user-facing invocation `/multi-agent:<name>` is unchanged. Guides, phase specs, and rules live under `pipeline/multi-agent-refs/**` (kept out of `commands/` so they are not invocable as slash commands). Modifier flags and ops stay inline in the dispatcher SKILL.
|
|
@@ -10,14 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
export const DEV_ONLY_SCRIPTS = Object.freeze([
|
|
13
|
-
"figma-placeholder-map.json",
|
|
14
|
-
"sync-figma-source.sh",
|
|
15
|
-
"import-figma-skills.sh",
|
|
16
|
-
"smoke-figma-skill-import.sh",
|
|
17
13
|
"smoke-figma-config-schema.sh",
|
|
18
14
|
"smoke-personal-data.sh", // scanner contains the patterns it detects
|
|
19
15
|
"smoke-install-leak-gate.sh", // same — scanner shadows the install pipeline
|
|
20
|
-
"README-figma-smokes.md",
|
|
21
16
|
"fixtures", // smoke test fixtures live in the repo only, never ship to users
|
|
22
|
-
".last-figma-sync-plan.json", // figma-sync runtime plan artifact, contains maintainer paths
|
|
23
17
|
]);
|
package/install/claude.mjs
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @module install/claude
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { existsSync, readFileSync } from "fs";
|
|
15
|
+
import { existsSync, readFileSync, rmSync } from "fs";
|
|
16
16
|
import { join } from "path";
|
|
17
17
|
import { execSync } from "child_process";
|
|
18
18
|
|
|
@@ -49,8 +49,10 @@ export function installClaude(ctx) {
|
|
|
49
49
|
const CLAUDE_SKILLS = join(home, ".claude", "skills");
|
|
50
50
|
const CLAUDE_SCHEMAS = join(home, ".claude", "schemas");
|
|
51
51
|
const CLAUDE_LIB = join(home, ".claude", "lib");
|
|
52
|
+
const CLAUDE_MA_REFS = join(home, ".claude", "multi-agent-refs");
|
|
52
53
|
|
|
53
54
|
installCommands(pipelineSrc, CLAUDE_COMMANDS, useSymlinks);
|
|
55
|
+
installMultiAgentRefs(pipelineSrc, CLAUDE_MA_REFS, useSymlinks);
|
|
54
56
|
installScripts(pipelineSrc, CLAUDE_SCRIPTS, useSymlinks);
|
|
55
57
|
installAgents(pipelineSrc, CLAUDE_AGENTS, useSymlinks);
|
|
56
58
|
installRules(pipelineSrc, CLAUDE_RULES, useSymlinks);
|
|
@@ -80,6 +82,20 @@ function installCommands(pipelineSrc, dest, useSymlinks) {
|
|
|
80
82
|
console.log(` -> ${countFiles(commandsSrc)} files copied to ${dest}`);
|
|
81
83
|
}
|
|
82
84
|
|
|
85
|
+
// The pipeline's reference docs (refs/) + internal pickers live OUTSIDE the
|
|
86
|
+
// commands/ tree so Claude Code does NOT register them as invocable
|
|
87
|
+
// `/multi-agent:refs:*` slash commands. Commands read them by absolute path
|
|
88
|
+
// ($HOME/.claude/multi-agent-refs/...). Wipe-before-copy so renamed/removed
|
|
89
|
+
// refs don't linger.
|
|
90
|
+
function installMultiAgentRefs(pipelineSrc, dest, useSymlinks) {
|
|
91
|
+
const refsSrc = join(pipelineSrc, "multi-agent-refs");
|
|
92
|
+
if (!existsSync(refsSrc)) return;
|
|
93
|
+
console.log(" [Claude Code] Installing multi-agent refs (non-command)...");
|
|
94
|
+
wipeDir(dest);
|
|
95
|
+
copyDir(refsSrc, dest, { useSymlinks });
|
|
96
|
+
console.log(` -> ${countFiles(refsSrc)} ref files copied to ${dest}`);
|
|
97
|
+
}
|
|
98
|
+
|
|
83
99
|
function installScripts(pipelineSrc, dest, useSymlinks) {
|
|
84
100
|
console.log(" [Claude Code] Installing scripts...");
|
|
85
101
|
const scriptsSrc = join(pipelineSrc, "scripts");
|
|
@@ -89,9 +105,13 @@ function installScripts(pipelineSrc, dest, useSymlinks) {
|
|
|
89
105
|
// removed upstream should not linger.
|
|
90
106
|
wipeDir(dest);
|
|
91
107
|
copyDir(scriptsSrc, dest, { exclude: DEV_ONLY_SCRIPTS, useSymlinks });
|
|
92
|
-
|
|
108
|
+
// Count files actually excluded, not the array length: DEV_ONLY_SCRIPTS mixes
|
|
109
|
+
// individual .sh files with the `fixtures` directory (many files), so the
|
|
110
|
+
// array length under-counts the real exclusion.
|
|
111
|
+
const excludedCount = DEV_ONLY_SCRIPTS.reduce((n, name) => n + countFiles(join(scriptsSrc, name)), 0);
|
|
112
|
+
const scriptCount = countFiles(scriptsSrc) - excludedCount;
|
|
93
113
|
console.log(
|
|
94
|
-
` -> ${scriptCount} files copied to ${dest} (${
|
|
114
|
+
` -> ${scriptCount} files copied to ${dest} (${excludedCount} dev-only excluded)`,
|
|
95
115
|
);
|
|
96
116
|
}
|
|
97
117
|
|
|
@@ -200,9 +220,6 @@ function installSkills(opts) {
|
|
|
200
220
|
|
|
201
221
|
const sharedCoreSrc = join(pipelineSrc, "skills", "shared", "core");
|
|
202
222
|
const sharedExternalSrc = join(pipelineSrc, "skills", "shared", "external");
|
|
203
|
-
const figmaIosSrc = join(pipelineSrc, "skills", "figma-ios");
|
|
204
|
-
const figmaAndroidSrc = join(pipelineSrc, "skills", "figma-android");
|
|
205
|
-
const figmaCommonSrc = join(pipelineSrc, "skills", "figma-common");
|
|
206
223
|
|
|
207
224
|
let claudeSkillCount = 0;
|
|
208
225
|
|
|
@@ -235,17 +252,22 @@ function installSkills(opts) {
|
|
|
235
252
|
}
|
|
236
253
|
}
|
|
237
254
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
if (!existsSync(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
255
|
+
// Figma component skills moved to the ai-<platform>-engineering-toolkit marketplace
|
|
256
|
+
// plugin and are no longer bundled here. Prune any stale copies left by a
|
|
257
|
+
// pre-migration install so the installed tree stays consistent.
|
|
258
|
+
for (const sub of ["figma-ios", "figma-android", "figma-common", "figma-to-component"]) {
|
|
259
|
+
const stale = join(dest, sub);
|
|
260
|
+
if (!existsSync(stale)) continue;
|
|
261
|
+
if (isDryRun()) {
|
|
262
|
+
console.log(` [dry-run] would prune stale ${stale} (moved to plugin)`);
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
try {
|
|
266
|
+
rmSync(stale, { recursive: true, force: true });
|
|
267
|
+
console.log(` -> pruned stale ${sub}/ (moved to marketplace plugin)`);
|
|
268
|
+
} catch {
|
|
269
|
+
/* non-fatal */
|
|
270
|
+
}
|
|
249
271
|
}
|
|
250
272
|
|
|
251
273
|
console.log(` -> ${claudeSkillCount} skill files installed to ${dest}`);
|
package/install/copilot.mjs
CHANGED
|
@@ -119,9 +119,13 @@ function installScripts(pipelineSrc, dest, useSymlinks) {
|
|
|
119
119
|
if (!existsSync(scriptsSrc)) return;
|
|
120
120
|
wipeDir(dest);
|
|
121
121
|
copyDir(scriptsSrc, dest, { exclude: DEV_ONLY_SCRIPTS, useSymlinks });
|
|
122
|
-
|
|
122
|
+
// Count files actually excluded, not the array length: DEV_ONLY_SCRIPTS mixes
|
|
123
|
+
// individual .sh files with the `fixtures` directory (many files), so the
|
|
124
|
+
// array length under-counts the real exclusion.
|
|
125
|
+
const excludedCount = DEV_ONLY_SCRIPTS.reduce((n, name) => n + countFiles(join(scriptsSrc, name)), 0);
|
|
126
|
+
const scriptCount = countFiles(scriptsSrc) - excludedCount;
|
|
123
127
|
console.log(
|
|
124
|
-
` -> ${scriptCount} files copied to ${dest} (${
|
|
128
|
+
` -> ${scriptCount} files copied to ${dest} (${excludedCount} dev-only excluded)`,
|
|
125
129
|
);
|
|
126
130
|
}
|
|
127
131
|
|
|
@@ -173,9 +177,6 @@ function installSkills(opts) {
|
|
|
173
177
|
|
|
174
178
|
const sharedCoreSrc = join(pipelineSrc, "skills", "shared", "core");
|
|
175
179
|
const sharedExternalSrc = join(pipelineSrc, "skills", "shared", "external");
|
|
176
|
-
const figmaIosSrc = join(pipelineSrc, "skills", "figma-ios");
|
|
177
|
-
const figmaAndroidSrc = join(pipelineSrc, "skills", "figma-android");
|
|
178
|
-
const figmaCommonSrc = join(pipelineSrc, "skills", "figma-common");
|
|
179
180
|
let copilotSkillCount = 0;
|
|
180
181
|
|
|
181
182
|
// Wipe stale multi-agent-* skill dirs that were removed upstream.
|
|
@@ -229,17 +230,22 @@ function installSkills(opts) {
|
|
|
229
230
|
}
|
|
230
231
|
}
|
|
231
232
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (!existsSync(
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
233
|
+
// Figma component skills moved to the ai-<platform>-engineering-toolkit marketplace
|
|
234
|
+
// plugin and are no longer bundled here. Prune any stale copies left by a
|
|
235
|
+
// pre-migration install so the installed tree stays consistent.
|
|
236
|
+
for (const sub of ["figma-ios", "figma-android", "figma-common", "figma-to-component"]) {
|
|
237
|
+
const stale = join(dest, sub);
|
|
238
|
+
if (!existsSync(stale)) continue;
|
|
239
|
+
if (isDryRun()) {
|
|
240
|
+
console.log(` [dry-run] would prune stale ${stale} (moved to plugin)`);
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
try {
|
|
244
|
+
rmSync(stale, { recursive: true, force: true });
|
|
245
|
+
console.log(` -> pruned stale ${sub}/ (moved to marketplace plugin)`);
|
|
246
|
+
} catch {
|
|
247
|
+
/* non-fatal */
|
|
248
|
+
}
|
|
243
249
|
}
|
|
244
250
|
|
|
245
251
|
console.log(` -> ${copilotSkillCount} skill files installed to ${dest}`);
|
|
@@ -100,9 +100,9 @@ so execute ALL of these explicitly before touching code:
|
|
|
100
100
|
for back-compat with single-repo phases.
|
|
101
101
|
|
|
102
102
|
Full contract (recents schema, token resolution order, GitHub-issue → Jira auto-create policy):
|
|
103
|
-
https://github.com/mmerterden/multi-agent-pipeline/blob/main/pipeline/
|
|
103
|
+
https://github.com/mmerterden/multi-agent-pipeline/blob/main/pipeline/multi-agent-refs/phases/phase-0-init.md
|
|
104
104
|
or, on machines with Claude Code also installed:
|
|
105
|
-
`~/.claude/
|
|
105
|
+
`~/.claude/multi-agent-refs/phases/phase-0-init.md`
|
|
106
106
|
|
|
107
107
|
## Progress Tracking — required
|
|
108
108
|
|
|
@@ -300,7 +300,7 @@ fi
|
|
|
300
300
|
```
|
|
301
301
|
|
|
302
302
|
Full contract: `~/.copilot/skills/multi-agent/refs/multi-repo-integration-build.md`
|
|
303
|
-
(or on GitHub: https://github.com/mmerterden/multi-agent-pipeline/blob/main/pipeline/
|
|
303
|
+
(or on GitHub: https://github.com/mmerterden/multi-agent-pipeline/blob/main/pipeline/multi-agent-refs/multi-repo-integration-build.md)
|
|
304
304
|
|
|
305
305
|
## Permissions Expectation
|
|
306
306
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.3.1",
|
|
4
4
|
"description": "8-phase AI development pipeline with full orchestration on Claude Code and Copilot CLI. Analysis, planning, TDD, CLI-aware parallel review with consensus surfacing + Fable triage, default-FAIL evidence gates, secret + intent guards, per-phase cost ledger, persistent learnings memory, wiki generation, commit automation. Token-preserving uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|