@mmerterden/multi-agent-pipeline 8.6.1 → 10.0.6
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 +544 -2484
- package/README.md +117 -138
- package/docs/features.md +1 -1
- package/index.js +8 -10
- package/install/_adapters.mjs +5 -1
- package/install/_common.mjs +63 -0
- package/install/claude.mjs +14 -14
- package/install/copilot.mjs +14 -8
- package/install/index.mjs +85 -19
- package/install/templates/claude-hooks.json +18 -0
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +21 -6
- package/pipeline/adapters/_base.mjs +366 -14
- package/pipeline/adapters/antigravity.mjs +140 -0
- package/pipeline/adapters/codex.mjs +159 -0
- package/pipeline/adapters/copilot-chat-orchestration.mjs +148 -0
- package/pipeline/adapters/copilot-chat.mjs +34 -68
- package/pipeline/adapters/cursor-orchestration.mjs +152 -0
- package/pipeline/adapters/cursor.mjs +49 -90
- package/pipeline/agents/android-architect.md +5 -5
- package/pipeline/agents/backend-architect.md +4 -4
- package/pipeline/agents/code-reviewer.md +10 -10
- package/pipeline/agents/dev-critic.md +17 -17
- package/pipeline/agents/explorer.md +3 -3
- package/pipeline/agents/ios-architect.md +4 -4
- package/pipeline/agents/security-auditor.md +12 -12
- package/pipeline/agents/task-clarifier.md +18 -18
- package/pipeline/claude-md-template.md +3 -3
- package/pipeline/commands/archive-guard.md +3 -3
- package/pipeline/commands/figma-to-swiftui.md +10 -10
- package/pipeline/commands/multi-agent/_account-picker.md +13 -9
- package/pipeline/commands/multi-agent/_dev-context.md +15 -15
- package/pipeline/commands/multi-agent/_input-parser.md +4 -4
- package/pipeline/commands/multi-agent/_repo-picker.md +9 -9
- package/pipeline/commands/multi-agent/analysis-resolve.md +129 -0
- package/pipeline/commands/multi-agent/analysis.md +667 -0
- package/pipeline/commands/multi-agent/autopilot.md +22 -22
- package/pipeline/commands/multi-agent/build-optimize.md +77 -0
- package/pipeline/commands/multi-agent/channels.md +96 -96
- package/pipeline/commands/multi-agent/delete.md +19 -17
- package/pipeline/commands/multi-agent/dev-autopilot.md +23 -23
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +23 -23
- package/pipeline/commands/multi-agent/dev-local.md +25 -22
- package/pipeline/commands/multi-agent/dev.md +49 -49
- package/pipeline/commands/multi-agent/diff-explain.md +4 -4
- package/pipeline/commands/multi-agent/garbage-collect.md +58 -0
- package/pipeline/commands/multi-agent/help.md +75 -66
- package/pipeline/commands/multi-agent/issue.md +3 -3
- package/pipeline/commands/multi-agent/jira.md +12 -12
- package/pipeline/commands/multi-agent/kill.md +6 -6
- package/pipeline/commands/multi-agent/language.md +12 -12
- package/pipeline/commands/multi-agent/local-autopilot.md +34 -34
- package/pipeline/commands/multi-agent/local.md +24 -25
- package/pipeline/commands/multi-agent/log.md +6 -6
- package/pipeline/commands/multi-agent/manual-test.md +3 -3
- package/pipeline/commands/multi-agent/prune-logs.md +60 -0
- package/pipeline/commands/multi-agent/purge.md +10 -7
- package/pipeline/commands/multi-agent/refactor.md +9 -9
- package/pipeline/commands/multi-agent/refs/analysis-template.md +1062 -0
- package/pipeline/commands/multi-agent/refs/android-guide.md +15 -13
- package/pipeline/commands/multi-agent/refs/audit-guide.md +20 -20
- package/pipeline/commands/multi-agent/refs/backend-guide.md +9 -9
- package/pipeline/commands/multi-agent/refs/channels/confluence.md +17 -17
- package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +30 -30
- package/pipeline/commands/multi-agent/refs/channels/jira.md +15 -15
- package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +19 -17
- package/pipeline/commands/multi-agent/refs/channels/pr.md +22 -22
- package/pipeline/commands/multi-agent/refs/channels/wiki.md +19 -19
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +11 -11
- package/pipeline/commands/multi-agent/refs/conventions-defaults.md +179 -0
- package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +35 -33
- package/pipeline/commands/multi-agent/refs/features/dev-critic.md +5 -5
- package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +6 -6
- package/pipeline/commands/multi-agent/refs/features/model-fallback.md +73 -0
- package/pipeline/commands/multi-agent/refs/features/plan-todos.md +1 -1
- package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +4 -4
- package/pipeline/commands/multi-agent/refs/features/repo-map.md +6 -6
- package/pipeline/commands/multi-agent/refs/features/shadow-git.md +2 -2
- package/pipeline/commands/multi-agent/refs/frontend-guide.md +16 -16
- package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +18 -18
- package/pipeline/commands/multi-agent/refs/keychain.md +18 -8
- package/pipeline/commands/multi-agent/refs/knowledge.md +9 -9
- package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +19 -19
- package/pipeline/commands/multi-agent/refs/phases/log-format.md +29 -9
- package/pipeline/commands/multi-agent/refs/phases/modes.md +33 -33
- package/pipeline/commands/multi-agent/refs/phases/operations.md +11 -11
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +93 -57
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +59 -28
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +115 -63
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +160 -63
- package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +33 -18
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +45 -43
- package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +54 -28
- package/pipeline/commands/multi-agent/refs/phases.md +17 -17
- package/pipeline/commands/multi-agent/refs/picker-contract.md +65 -0
- package/pipeline/commands/multi-agent/refs/progress-contract.md +37 -21
- package/pipeline/commands/multi-agent/refs/rules.md +83 -25
- package/pipeline/commands/multi-agent/refs/swiftui-guide.md +32 -30
- package/pipeline/commands/multi-agent/refs/tracker-contract.md +54 -30
- package/pipeline/commands/multi-agent/refs/wiki-capture.md +36 -33
- package/pipeline/commands/multi-agent/resume.md +9 -9
- package/pipeline/commands/multi-agent/review.md +24 -24
- package/pipeline/commands/multi-agent/scan.md +10 -10
- package/pipeline/commands/multi-agent/search.md +8 -8
- package/pipeline/commands/multi-agent/setup.md +111 -84
- package/pipeline/commands/multi-agent/stack.md +5 -5
- package/pipeline/commands/multi-agent/status.md +5 -5
- package/pipeline/commands/multi-agent/sync.md +123 -111
- package/pipeline/commands/multi-agent/test.md +6 -6
- package/pipeline/commands/multi-agent/update.md +1 -1
- package/pipeline/commands/multi-agent.md +66 -60
- package/pipeline/commands/sim-test.md +14 -14
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +1 -1
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +2 -2
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +2 -2
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +1 -1
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +2 -2
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +3 -3
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +4 -4
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +1 -1
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +1 -1
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +12 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +40 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +12 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +28 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +27 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +12 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +41 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +12 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +6 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +12 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +28 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +27 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +12 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +25 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +31 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +12 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +18 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +12 -0
- package/pipeline/eval/golden-tasks/README.md +14 -14
- package/pipeline/eval/intent-cases.json +40 -0
- package/pipeline/eval/run-metrics-fixture.json +46 -0
- package/pipeline/eval/triage/01-empty-findings/notes.md +1 -1
- package/pipeline/eval/triage/02-real-blocker/notes.md +2 -2
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +1 -1
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +1 -1
- package/pipeline/eval/triage/05-mixed-classification/notes.md +2 -2
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +2 -2
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +1 -1
- package/pipeline/eval/triage/08-style-misclassified/notes.md +1 -1
- package/pipeline/eval/triage/09-cascading-finding/notes.md +2 -2
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +2 -2
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +3 -3
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +2 -2
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +5 -5
- package/pipeline/eval/triage/README.md +4 -4
- package/pipeline/lib/account-resolver.sh +3 -3
- package/pipeline/lib/ask-choice.sh +98 -0
- package/pipeline/lib/channels-multi-repo.sh +3 -3
- package/pipeline/lib/classify-intent.sh +110 -0
- package/pipeline/lib/context-link-extractor.sh +3 -3
- package/pipeline/lib/credential-store-resolver.sh +3 -3
- package/pipeline/lib/credential-store.sh +9 -5
- package/pipeline/lib/extract-conventions.sh +1034 -0
- package/pipeline/lib/fetch-confluence.sh +3 -3
- package/pipeline/lib/fetch-crashlytics.sh +5 -5
- package/pipeline/lib/fetch-fortify.sh +5 -21
- package/pipeline/lib/fetch-swagger.sh +5 -5
- package/pipeline/lib/figma-screenshot.sh +536 -0
- package/pipeline/lib/issue-fetcher.sh +46 -20
- package/pipeline/lib/md2confluence-v3.py +1076 -0
- package/pipeline/lib/multi-repo-pipeline.sh +13 -22
- package/pipeline/lib/plan-todos.sh +7 -7
- package/pipeline/lib/post-pr-review.sh +53 -21
- package/pipeline/lib/repo-cache.sh +5 -5
- package/pipeline/lib/review-watch.sh +17 -13
- package/pipeline/lib/shadow-git.sh +7 -7
- package/pipeline/lib/submodule-detector.sh +3 -3
- package/pipeline/lib/vercel-deploy.sh +28 -15
- package/pipeline/preferences-template.json +21 -4
- package/pipeline/rules/app-store-guidelines.md +2 -2
- package/pipeline/rules/code-style.md +6 -6
- package/pipeline/rules/figma-pipeline.md +100 -2
- package/pipeline/rules/kotlin-android.md +8 -8
- package/pipeline/rules/security.md +4 -4
- package/pipeline/rules/tdd.md +1 -1
- package/pipeline/rules/testing.md +5 -5
- package/pipeline/schemas/agent-state.schema.json +55 -20
- package/pipeline/schemas/analysis-output.schema.json +7 -2
- package/pipeline/schemas/analysis-spec.schema.json +484 -0
- package/pipeline/schemas/clarify-output.schema.json +5 -5
- package/pipeline/schemas/conventions-output.schema.json +70 -0
- package/pipeline/schemas/dev-critic-output.schema.json +2 -2
- package/pipeline/schemas/diff-risk.schema.json +3 -3
- package/pipeline/schemas/figma-project-config.schema.json +3 -3
- package/pipeline/schemas/learnings-ledger.schema.json +39 -0
- package/pipeline/schemas/migrations/README.md +2 -2
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +5 -5
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +3 -3
- package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +4 -4
- package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +5 -5
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +3 -3
- package/pipeline/schemas/plan-todos.schema.json +4 -4
- package/pipeline/schemas/planning-output.schema.json +3 -3
- package/pipeline/schemas/prefs.schema.json +97 -13
- package/pipeline/schemas/reviewer-output.schema.json +7 -3
- package/pipeline/schemas/test-gap.schema.json +1 -1
- package/pipeline/schemas/token-budget.json +8 -8
- package/pipeline/schemas/triage-corpus.schema.json +1 -1
- package/pipeline/schemas/triage-output.schema.json +44 -6
- package/pipeline/scripts/README.md +64 -64
- package/pipeline/scripts/aggregate-metrics.mjs +55 -16
- package/pipeline/scripts/audit-log-rotate.sh +3 -3
- package/pipeline/scripts/audit-log.sh +20 -7
- package/pipeline/scripts/benchmark-phase-0.sh +6 -6
- package/pipeline/scripts/build-skills-index.mjs +15 -15
- package/pipeline/scripts/check-md-links.mjs +59 -0
- package/pipeline/scripts/classify-plan-safety.mjs +24 -18
- package/pipeline/scripts/cost-budget-check.mjs +160 -0
- package/pipeline/scripts/cost-table.json +23 -13
- package/pipeline/scripts/diff-explain.mjs +12 -12
- package/pipeline/scripts/diff-risk-score.mjs +18 -17
- package/pipeline/scripts/eval-golden-tasks-live.mjs +13 -10
- package/pipeline/scripts/eval-golden-tasks.mjs +3 -14
- package/pipeline/scripts/eval-intent.mjs +103 -0
- package/pipeline/scripts/eval-triage.mjs +3 -3
- package/pipeline/scripts/evidence-gate.mjs +155 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +9 -9
- package/pipeline/scripts/gc-tmp.sh +102 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +27 -21
- package/pipeline/scripts/gen-skills-index.mjs +6 -6
- package/pipeline/scripts/github-ssh-setup.sh +1 -1
- package/pipeline/scripts/keychain-save.sh +1 -1
- package/pipeline/scripts/keychain.py +6 -6
- package/pipeline/scripts/learnings-ledger.mjs +284 -0
- package/pipeline/scripts/lint-skills.mjs +80 -0
- package/pipeline/scripts/log-metric.sh +18 -9
- package/pipeline/scripts/match-skills.mjs +13 -8
- package/pipeline/scripts/memory-load.sh +3 -3
- package/pipeline/scripts/memory-save.sh +5 -5
- package/pipeline/scripts/migrate-prefs.mjs +17 -17
- package/pipeline/scripts/migrate-state.mjs +12 -12
- package/pipeline/scripts/output-quality-check.sh +7 -7
- package/pipeline/scripts/phase-banner.sh +5 -5
- package/pipeline/scripts/phase-tracker.sh +90 -53
- package/pipeline/scripts/pre-commit-check.sh +45 -5
- package/pipeline/scripts/pre-push-check.sh +7 -7
- package/pipeline/scripts/prune-logs.sh +118 -0
- package/pipeline/scripts/render-agent-log-cost.sh +55 -18
- package/pipeline/scripts/render-cost-summary.sh +9 -9
- package/pipeline/scripts/render-work-summary.sh +4 -4
- package/pipeline/scripts/repo-map.mjs +9 -9
- package/pipeline/scripts/run-aggregator.mjs +7 -6
- package/pipeline/scripts/run-metrics.mjs +129 -0
- package/pipeline/scripts/run-smokes.mjs +76 -0
- package/pipeline/scripts/scan-skills.sh +11 -11
- package/pipeline/scripts/search-logs.sh +8 -8
- package/pipeline/scripts/sign-skills.sh +2 -2
- package/pipeline/scripts/smoke-adapters.sh +79 -10
- package/pipeline/scripts/smoke-add-detail.sh +5 -5
- package/pipeline/scripts/smoke-agent-log-cost.sh +85 -6
- package/pipeline/scripts/smoke-agent-model-routing.sh +3 -3
- package/pipeline/scripts/smoke-ask-choice.sh +42 -0
- package/pipeline/scripts/smoke-bitbucket-contract.sh +19 -3
- package/pipeline/scripts/smoke-changelog-version.sh +47 -0
- package/pipeline/scripts/smoke-channels-flow.sh +1 -1
- package/pipeline/scripts/smoke-ci-workflows.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +3 -3
- package/pipeline/scripts/smoke-commands-skills-parity.sh +4 -4
- package/pipeline/scripts/smoke-community-gates.sh +75 -0
- package/pipeline/scripts/smoke-compliance-skills.sh +5 -5
- package/pipeline/scripts/smoke-cost-budget.sh +70 -0
- package/pipeline/scripts/smoke-cost-summary.sh +4 -4
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +50 -9
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +5 -5
- package/pipeline/scripts/smoke-delete-flow.sh +5 -5
- package/pipeline/scripts/smoke-dev-critic.sh +2 -2
- package/pipeline/scripts/smoke-diff-explain.sh +22 -3
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +1 -1
- package/pipeline/scripts/smoke-eval-live.sh +4 -4
- package/pipeline/scripts/smoke-evidence-gate.sh +93 -0
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +1 -1
- package/pipeline/scripts/smoke-extract-conventions.sh +163 -0
- package/pipeline/scripts/smoke-figma-android-parity.sh +1 -1
- package/pipeline/scripts/smoke-figma-credential-store.sh +3 -3
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +12 -12
- package/pipeline/scripts/smoke-figma-dispatch.sh +5 -5
- package/pipeline/scripts/smoke-figma-sync.sh +1 -1
- package/pipeline/scripts/smoke-gate-hooks.sh +56 -0
- package/pipeline/scripts/smoke-gc-tmp.sh +84 -0
- package/pipeline/scripts/smoke-identity-isolation.sh +7 -7
- package/pipeline/scripts/smoke-install-layout.sh +10 -10
- package/pipeline/scripts/smoke-intent-guard.sh +86 -0
- package/pipeline/scripts/smoke-issue-comment-template.sh +3 -3
- package/pipeline/scripts/smoke-issue-jira-triad.sh +1 -1
- package/pipeline/scripts/smoke-keychain.sh +6 -6
- package/pipeline/scripts/smoke-language-axis.sh +2 -2
- package/pipeline/scripts/smoke-learnings-ledger.sh +86 -0
- package/pipeline/scripts/smoke-lib-scripts.sh +2 -2
- package/pipeline/scripts/smoke-mcp-gate.sh +68 -0
- package/pipeline/scripts/smoke-md-links.sh +8 -0
- package/pipeline/scripts/smoke-md2confluence.sh +126 -0
- package/pipeline/scripts/smoke-metrics-cache-ratio.sh +72 -0
- package/pipeline/scripts/smoke-migrate-state.sh +10 -10
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +7 -4
- package/pipeline/scripts/smoke-model-fallback.sh +80 -0
- package/pipeline/scripts/smoke-multi-repo-integration.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +115 -0
- package/pipeline/scripts/smoke-no-token-prompt.sh +31 -15
- package/pipeline/scripts/smoke-pat-audit.sh +26 -5
- package/pipeline/scripts/smoke-per-repo-memory.sh +1 -1
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +2 -2
- package/pipeline/scripts/smoke-phase-banner.sh +1 -1
- package/pipeline/scripts/smoke-phase-tracker.sh +1 -1
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +4 -4
- package/pipeline/scripts/smoke-phase4-triage.sh +94 -7
- package/pipeline/scripts/smoke-plan-approval-gate.sh +3 -3
- package/pipeline/scripts/smoke-plan-safety.sh +1 -1
- package/pipeline/scripts/smoke-plan-todos.sh +7 -4
- package/pipeline/scripts/smoke-pr-review-actions.sh +2 -2
- package/pipeline/scripts/smoke-pre-commit.sh +34 -2
- package/pipeline/scripts/smoke-pref-migration.sh +1 -1
- package/pipeline/scripts/smoke-prefs-language.sh +5 -5
- package/pipeline/scripts/smoke-progress-contract.sh +3 -3
- package/pipeline/scripts/smoke-prune-logs.sh +87 -0
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-readme-counts.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +9 -9
- package/pipeline/scripts/smoke-review-watch.sh +12 -0
- package/pipeline/scripts/smoke-run-aggregator.sh +7 -7
- package/pipeline/scripts/smoke-run-metrics.sh +50 -0
- package/pipeline/scripts/smoke-schema-validation.sh +18 -11
- package/pipeline/scripts/smoke-search.sh +5 -5
- package/pipeline/scripts/smoke-shared-runtime.sh +108 -0
- package/pipeline/scripts/smoke-skill-authoring.sh +13 -13
- package/pipeline/scripts/smoke-skill-language.sh +4 -4
- package/pipeline/scripts/smoke-skill-manifest.sh +2 -2
- package/pipeline/scripts/smoke-skill-scan.sh +2 -2
- package/pipeline/scripts/smoke-stack-swap.sh +2 -2
- package/pipeline/scripts/smoke-subagent-validators.sh +8 -5
- package/pipeline/scripts/smoke-sync-adapters.sh +1 -1
- package/pipeline/scripts/smoke-sync-delegation.sh +7 -7
- package/pipeline/scripts/smoke-sync-parity.sh +1 -1
- package/pipeline/scripts/smoke-tasklist-ordering.sh +7 -7
- package/pipeline/scripts/smoke-telemetry.sh +1 -1
- package/pipeline/scripts/smoke-test-gap.sh +5 -5
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-tracker-contract.sh +6 -6
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +9 -1
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-contradiction.sh +1 -1
- package/pipeline/scripts/smoke-validator-gates.sh +164 -0
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +11 -11
- package/pipeline/scripts/smoke-wiki-integration.sh +2 -2
- package/pipeline/scripts/smoke-work-summary.sh +3 -3
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/smoke-write-state.sh +2 -2
- package/pipeline/scripts/stack-swap.sh +3 -3
- package/pipeline/scripts/sync-adapters.mjs +37 -10
- package/pipeline/scripts/sync-parity-check.sh +6 -6
- package/pipeline/scripts/test-gap-scan.mjs +11 -13
- package/pipeline/scripts/token-budget-report.mjs +4 -4
- package/pipeline/scripts/triage-memory.mjs +6 -6
- package/pipeline/scripts/uninstall.mjs +42 -4
- package/pipeline/scripts/update-issue-progress.sh +2 -2
- package/pipeline/scripts/validate-analysis.mjs +19 -21
- package/pipeline/scripts/validate-diff-risk.mjs +4 -4
- package/pipeline/scripts/validate-planning.mjs +3 -3
- package/pipeline/scripts/validate-reviewer.mjs +4 -4
- package/pipeline/scripts/validate-schemas.mjs +4 -4
- package/pipeline/scripts/validate-test-gap.mjs +4 -4
- package/pipeline/scripts/validate-triage.mjs +68 -9
- package/pipeline/scripts/verify-skills.sh +7 -7
- package/pipeline/scripts/write-state.mjs +49 -11
- package/pipeline/skills/.skill-manifest.json +245 -149
- package/pipeline/skills/.skills-index.json +236 -47
- package/pipeline/skills/figma-android/README.md +5 -5
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
- package/pipeline/skills/figma-common/README.md +29 -29
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
- package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +12 -12
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
- package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +38 -38
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +57 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +43 -43
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
- package/pipeline/skills/shared/README.md +62 -41
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
- package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
- package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
- package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
- package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
- package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
- package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
- package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
- package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
- package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
- package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
- package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
- package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
- package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
- package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
- package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
- package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
- package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
- package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
- package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
- package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
- package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
- package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
- package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
- package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
- package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
- package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
- package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
- package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
- package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
- package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
- package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
- package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
- package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
- package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
- package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
- package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
- package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
- package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
- package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
- package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
- package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
- package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
- package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
- package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
- package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
- package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
- package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
- package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
- package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
- package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
- package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
- package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
- package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
- package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
- package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
- package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
- package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
- package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
- package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
- package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
- package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
- package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
- package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
- package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
- package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
- package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
- package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
- package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
- package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
- package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
- package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
- package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
- package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
- package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
- package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
- package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
- package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
- package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
- package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
- package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
- package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
- package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
- package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
- package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
- package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
- package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
- package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
- package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
- package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
- package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
- package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
- package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
- package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
- package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
- package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
- package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
- package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
- package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
- package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
- package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
- package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
- package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
- package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
- package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
- package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
- package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
- package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
- package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
- package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
- package/pipeline/skills/skills-index.md +213 -192
- package/docs/GENERICITY-REVIEW.md +0 -277
- package/docs/STABILITY-FIX-PLAN.md +0 -168
- package/pipeline/scripts/.last-figma-sync-plan.json +0 -23
- package/pipeline/scripts/README-figma-smokes.md +0 -34
- package/pipeline/scripts/figma-placeholder-map.json +0 -191
- package/pipeline/scripts/import-figma-skills.sh +0 -253
- package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
- package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
- package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
- package/pipeline/scripts/smoke-personal-data.sh +0 -82
- package/pipeline/scripts/sync-figma-source.sh +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
- package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
- package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
- package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file Cursor adapter
|
|
3
|
-
* legacy `.cursorrules` fallback
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* @file Cursor adapter - emits the knowledge layer (`.cursor/rules/*.mdc`,
|
|
3
|
+
* modern 2025+, plus a legacy `.cursorrules` fallback) AND delegates to
|
|
4
|
+
* cursor-orchestration.mjs for the orchestration layer: Cursor subagents
|
|
5
|
+
* (`.cursor/agents/ma-*.md`), a `/multi-agent` command, and the dev-toolkit MCP
|
|
6
|
+
* server. The deterministic-gate SCRIPTS are installed to a shared
|
|
7
|
+
* `~/.multi-agent/` runtime (v9.4.0+) and the subagents invoke them by absolute
|
|
8
|
+
* path, so the gates DO run on Cursor - the only gap vs Claude Code is that
|
|
9
|
+
* there is no PreToolUse hook, so they are workflow-enforced not OS-blocked.
|
|
10
|
+
* What ports: rules tree + external skills catalog + subagents + command + MCP.
|
|
7
11
|
*
|
|
8
12
|
* Target is the project root by default (process.cwd()) since Cursor rules
|
|
9
13
|
* are repo-scoped, not user-scoped. Use --target=<path> to override.
|
|
@@ -11,16 +15,21 @@
|
|
|
11
15
|
* @module pipeline/adapters/cursor
|
|
12
16
|
*/
|
|
13
17
|
|
|
14
|
-
import { existsSync, readFileSync,
|
|
18
|
+
import { existsSync, readFileSync, rmSync, writeFileSync } from "fs";
|
|
15
19
|
import { join } from "path";
|
|
16
20
|
import {
|
|
21
|
+
collectSkills,
|
|
17
22
|
concatSkills,
|
|
18
|
-
ensureDir,
|
|
19
23
|
inferGlobs,
|
|
24
|
+
installAdapterFiles,
|
|
25
|
+
jsonString,
|
|
20
26
|
rel,
|
|
21
|
-
|
|
27
|
+
removeDirIfEmpty,
|
|
28
|
+
removePrefixedFiles,
|
|
29
|
+
walkRules,
|
|
22
30
|
withoutOrchestrationSkills,
|
|
23
31
|
} from "./_base.mjs";
|
|
32
|
+
import { installOrchestration, uninstallOrchestration } from "./cursor-orchestration.mjs";
|
|
24
33
|
|
|
25
34
|
const NAME = "cursor";
|
|
26
35
|
const RULES_DIR = ".cursor/rules";
|
|
@@ -32,78 +41,47 @@ const FILE_PREFIX = "multi-agent-";
|
|
|
32
41
|
*/
|
|
33
42
|
export function install({ pipelineSrc, target, platformFilter = "all" }) {
|
|
34
43
|
const rulesOut = join(target, RULES_DIR);
|
|
35
|
-
ensureDir(rulesOut);
|
|
36
|
-
|
|
37
44
|
const skills = collectSkills(pipelineSrc, platformFilter);
|
|
38
|
-
const knowledgeSkills = withoutOrchestrationSkills(skills);
|
|
39
|
-
|
|
40
|
-
let written = 0;
|
|
41
|
-
for (const skill of knowledgeSkills) {
|
|
42
|
-
const fileName = `${FILE_PREFIX}${skill.name}.mdc`;
|
|
43
|
-
const outPath = join(rulesOut, fileName);
|
|
44
|
-
writeFileSync(outPath, renderMdc(skill));
|
|
45
|
-
written++;
|
|
46
|
-
}
|
|
47
45
|
|
|
48
|
-
|
|
46
|
+
let written = installAdapterFiles({
|
|
47
|
+
outDir: rulesOut,
|
|
48
|
+
items: withoutOrchestrationSkills(skills),
|
|
49
|
+
fileFor: (skill) => `${FILE_PREFIX}${skill.name}.mdc`,
|
|
50
|
+
render: renderMdc,
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// Pipeline rules tree (TDD, security, code-review, ...) - these stay
|
|
49
54
|
// alwaysApply because they're stack-agnostic conventions.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const outPath = join(rulesOut, `${FILE_PREFIX}rule-${ruleName}.mdc`);
|
|
57
|
-
writeFileSync(
|
|
58
|
-
outPath,
|
|
59
|
-
renderRuleMdc({ name: ruleName, body, alwaysApply: true }),
|
|
60
|
-
);
|
|
61
|
-
written++;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
55
|
+
written += installAdapterFiles({
|
|
56
|
+
outDir: rulesOut,
|
|
57
|
+
items: walkRules(pipelineSrc),
|
|
58
|
+
fileFor: (rule) => `${FILE_PREFIX}rule-${rule.name}.mdc`,
|
|
59
|
+
render: (rule) => renderRuleMdc({ name: rule.name, body: rule.body, alwaysApply: true }),
|
|
60
|
+
});
|
|
64
61
|
|
|
65
|
-
// Legacy .cursorrules
|
|
62
|
+
// Legacy .cursorrules - single concatenated digest of orchestration overview
|
|
66
63
|
// + non-orchestration skills, for users on Cursor versions that don't read
|
|
67
64
|
// `.cursor/rules/*.mdc` yet. Marker-wrapped so uninstall can target it.
|
|
68
65
|
const legacyPath = join(target, LEGACY_FILE);
|
|
69
|
-
|
|
70
|
-
writeFileSync(legacyPath, legacyBody);
|
|
66
|
+
writeFileSync(legacyPath, renderLegacyDigest(skills));
|
|
71
67
|
|
|
72
68
|
console.log(
|
|
73
69
|
` -> [cursor] ${written} rule files in ${rel(target, rulesOut)} + legacy ${LEGACY_FILE}`,
|
|
74
70
|
);
|
|
71
|
+
|
|
72
|
+
// Orchestration layer - Cursor subagents + /multi-agent command + MCP, so
|
|
73
|
+
// the FULL pipeline (not just the knowledge layer) runs in Cursor.
|
|
74
|
+
const orch = installOrchestration({ pipelineSrc, target });
|
|
75
|
+
console.log(
|
|
76
|
+
` -> [cursor] orchestration: ${orch.agents} subagents (.cursor/agents/ma-*) + /multi-agent command + mcp.json (${orch.mcp})`,
|
|
77
|
+
);
|
|
75
78
|
}
|
|
76
79
|
|
|
77
80
|
/**
|
|
78
81
|
* @param {{ target: string }} opts
|
|
79
82
|
*/
|
|
80
83
|
export function uninstall({ target }) {
|
|
81
|
-
|
|
82
|
-
let removed = 0;
|
|
83
|
-
if (existsSync(rulesOut)) {
|
|
84
|
-
for (const entry of readdirSync(rulesOut, { withFileTypes: true })) {
|
|
85
|
-
if (!entry.isFile()) continue;
|
|
86
|
-
if (entry.name.startsWith(FILE_PREFIX) && entry.name.endsWith(".mdc")) {
|
|
87
|
-
rmSync(join(rulesOut, entry.name), { force: true });
|
|
88
|
-
removed++;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
// Drop the rules dir if it's empty after cleanup
|
|
92
|
-
try {
|
|
93
|
-
if (readdirSync(rulesOut).length === 0) rmSync(rulesOut, { recursive: true, force: true });
|
|
94
|
-
} catch {
|
|
95
|
-
/* non-fatal */
|
|
96
|
-
}
|
|
97
|
-
// And the .cursor parent if THAT is empty (we don't remove user's other Cursor configs)
|
|
98
|
-
try {
|
|
99
|
-
const cursorParent = join(target, ".cursor");
|
|
100
|
-
if (existsSync(cursorParent) && readdirSync(cursorParent).length === 0) {
|
|
101
|
-
rmSync(cursorParent, { recursive: true, force: true });
|
|
102
|
-
}
|
|
103
|
-
} catch {
|
|
104
|
-
/* non-fatal */
|
|
105
|
-
}
|
|
106
|
-
}
|
|
84
|
+
let removed = removePrefixedFiles(join(target, RULES_DIR), FILE_PREFIX, ".mdc");
|
|
107
85
|
|
|
108
86
|
const legacyPath = join(target, LEGACY_FILE);
|
|
109
87
|
if (existsSync(legacyPath)) {
|
|
@@ -114,29 +92,14 @@ export function uninstall({ target }) {
|
|
|
114
92
|
}
|
|
115
93
|
}
|
|
116
94
|
|
|
117
|
-
|
|
118
|
-
|
|
95
|
+
const orch = uninstallOrchestration({ target });
|
|
96
|
+
removed += orch.removed;
|
|
119
97
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
join(skillsRoot, "figma-ios"),
|
|
126
|
-
join(skillsRoot, "figma-android"),
|
|
127
|
-
join(skillsRoot, "figma-common"),
|
|
128
|
-
];
|
|
129
|
-
const all = [];
|
|
130
|
-
for (const src of sources) all.push(...walkSkills(src));
|
|
131
|
-
|
|
132
|
-
if (platformFilter === "all") return all;
|
|
133
|
-
return all.filter((s) => {
|
|
134
|
-
const globs = inferGlobs(s.name);
|
|
135
|
-
if (globs == null) return true; // generic / orchestration → always include
|
|
136
|
-
if (platformFilter === "ios") return globs.includes("swift");
|
|
137
|
-
if (platformFilter === "android") return globs.includes("kt");
|
|
138
|
-
return true;
|
|
139
|
-
});
|
|
98
|
+
// Drop the .cursor parent if it's empty AFTER orchestration removed its
|
|
99
|
+
// agents/ + commands/ dirs (we never remove a user's other Cursor configs).
|
|
100
|
+
removeDirIfEmpty(join(target, ".cursor"));
|
|
101
|
+
|
|
102
|
+
return { removed };
|
|
140
103
|
}
|
|
141
104
|
|
|
142
105
|
/**
|
|
@@ -172,7 +135,7 @@ function renderLegacyDigest(skills) {
|
|
|
172
135
|
|
|
173
136
|
> Installed by @mmerterden/multi-agent-pipeline.
|
|
174
137
|
> The 8-phase pipeline orchestration (parallel review, autopilot, subagent
|
|
175
|
-
> dispatch) is not available in Cursor
|
|
138
|
+
> dispatch) is not available in Cursor - only the knowledge layer is exported
|
|
176
139
|
> here. For full pipeline, use Claude Code or Copilot CLI.
|
|
177
140
|
> Run \`npx @mmerterden/multi-agent-pipeline uninstall --cursor\` to remove.
|
|
178
141
|
|
|
@@ -180,8 +143,4 @@ function renderLegacyDigest(skills) {
|
|
|
180
143
|
return header + concatSkills(knowledge.slice(0, 30)); // cap legacy file at top 30
|
|
181
144
|
}
|
|
182
145
|
|
|
183
|
-
function jsonString(s) {
|
|
184
|
-
return JSON.stringify(s);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
146
|
export default { name: NAME, install, uninstall };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Android architect
|
|
3
|
-
model:
|
|
4
|
-
preferredModel:
|
|
5
|
-
modelRationale: "Architecture decisions across Gradle modules, Compose stability, Hilt graphs, and migration paths
|
|
2
|
+
description: Android architect - evaluates design decisions, patterns, and module structure
|
|
3
|
+
model: fable
|
|
4
|
+
preferredModel: fable
|
|
5
|
+
modelRationale: "Architecture decisions across Gradle modules, Compose stability, Hilt graphs, and migration paths run on fable (top tier, above opus). No downgrade recommended."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a senior Android architect with deep expertise in large-scale modular Android applications.
|
|
@@ -32,7 +32,7 @@ You are a senior Android architect with deep expertise in large-scale modular An
|
|
|
32
32
|
- Depend on abstractions (@Provides/@Binds), not concretions
|
|
33
33
|
- Compose stability: @Immutable/@Stable for recomposition control
|
|
34
34
|
- Test at every layer: ViewModel (unit), Compose (UI), Repository (integration)
|
|
35
|
-
- Keep Composables stateless
|
|
35
|
+
- Keep Composables stateless - state lives in ViewModel
|
|
36
36
|
|
|
37
37
|
## Output Format
|
|
38
38
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Backend architect
|
|
3
|
-
model:
|
|
4
|
-
preferredModel:
|
|
5
|
-
modelRationale: "API design + migration safety + scaling analysis are
|
|
2
|
+
description: Backend architect - evaluates API design, data modeling, and system architecture
|
|
3
|
+
model: fable
|
|
4
|
+
preferredModel: fable
|
|
5
|
+
modelRationale: "API design + migration safety + scaling analysis are top-tier concerns; fable improves reasoning on concurrent-write / rollback edge cases in database migration reviews."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a senior backend architect with expertise in API design, distributed systems, and data modeling.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Code reviewer for multi-agent Phase 4
|
|
3
|
-
model:
|
|
4
|
-
preferredModel:
|
|
5
|
-
modelRationale: "Reviewer 1 tier
|
|
2
|
+
description: "Code reviewer for multi-agent Phase 4 - security, architecture, quality, performance. Default model is fable; Phase 4 orchestrator overrides to sonnet for Reviewer 3."
|
|
3
|
+
model: fable
|
|
4
|
+
preferredModel: fable
|
|
5
|
+
modelRationale: "Reviewer 1 tier - deep security + architecture review runs on fable (top intelligence tier, above opus). Phase 4 orchestrator overrides to sonnet for Reviewer 3 (quality/correctness focus) via CLAUDE_CODE_SUBAGENT_MODEL before dispatch. Copilot CLI adds Reviewer 2 on gpt-5.4 for cross-model diversity."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Code Reviewer Agent
|
|
@@ -26,16 +26,16 @@ Return ONLY a JSON object:
|
|
|
26
26
|
|
|
27
27
|
## Severity Classification
|
|
28
28
|
|
|
29
|
-
- **blocking**: Must fix
|
|
30
|
-
- **important**: Should fix
|
|
31
|
-
- **suggestion**: Nice to have
|
|
29
|
+
- **blocking**: Must fix - bugs, security holes, data loss risk, architecture violations
|
|
30
|
+
- **important**: Should fix - significant quality impact, performance issues
|
|
31
|
+
- **suggestion**: Nice to have - style improvements, minor refactoring
|
|
32
32
|
|
|
33
33
|
Do NOT approve if any blocking findings exist.
|
|
34
34
|
|
|
35
35
|
## Priority Files (advisory)
|
|
36
36
|
|
|
37
37
|
When the orchestrator passes a `${PRIORITY_FILES}` block, treat it as a heuristic
|
|
38
|
-
hint
|
|
38
|
+
hint - read those files first and weight your attention toward them. The block
|
|
39
39
|
is produced by `pipeline/scripts/diff-risk-score.mjs` (deterministic, no LLM)
|
|
40
40
|
and lists up to N files ranked by risk signals: security paths, public API
|
|
41
41
|
surfaces, untested source changes, schema migrations, complexity deltas, and
|
|
@@ -45,8 +45,8 @@ Format injected by the orchestrator:
|
|
|
45
45
|
|
|
46
46
|
```
|
|
47
47
|
${PRIORITY_FILES}
|
|
48
|
-
1. <path>
|
|
49
|
-
2. <path>
|
|
48
|
+
1. <path> - score X (signals: <list>)
|
|
49
|
+
2. <path> - score Y (signals: <list>)
|
|
50
50
|
...
|
|
51
51
|
```
|
|
52
52
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Phase 3.5 evaluator
|
|
2
|
+
description: "Phase 3.5 evaluator - runs after Dev's last edit, before Phase 4. Verifies build/test/checklist gates; returns pass | fix-list. Sonnet by default; Phase 3 orchestrator may override."
|
|
3
3
|
model: sonnet
|
|
4
4
|
preferredModel: sonnet
|
|
5
|
-
modelRationale: "Critic tier
|
|
5
|
+
modelRationale: "Critic tier - deterministic checklist + build/test verification needs reliable JSON output and tool-use, not deep reasoning. Sonnet hits the cost/quality sweet spot. Opus override only when the diff is large (>500 LOC) or touches security-critical paths; orchestrator decides via PHASE_MODEL_OVERRIDE."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Dev Critic Agent
|
|
8
|
+
# Dev Critic Agent - Phase 3.5
|
|
9
9
|
|
|
10
|
-
You are the in-loop critic for Phase 3 (Dev). The generator (Sonnet/Opus during Phase 3) has just finished its last edit. **You run BEFORE Phase 4**, on the same worktree, against deterministic criteria that already exist on disk. Your job: catch failures the generator would otherwise send into Phase 4 and waste 2
|
|
10
|
+
You are the in-loop critic for Phase 3 (Dev). The generator (Sonnet/Opus during Phase 3) has just finished its last edit. **You run BEFORE Phase 4**, on the same worktree, against deterministic criteria that already exist on disk. Your job: catch failures the generator would otherwise send into Phase 4 and waste 2-3 reviewer calls + Opus triage on.
|
|
11
11
|
|
|
12
|
-
This is the **evaluator-optimizer pattern** from Anthropic's "Building Effective Agents"
|
|
12
|
+
This is the **evaluator-optimizer pattern** from Anthropic's "Building Effective Agents" - the pattern is most effective "when we have clear evaluation criteria, and when iterative refinement provides measurable value." Phase 3 satisfies both: criteria are written in `rules/*.md`, refinement value is measured by Phase 4 fix-cycles avoided.
|
|
13
13
|
|
|
14
14
|
## Inputs
|
|
15
15
|
|
|
@@ -34,7 +34,7 @@ Run ALL of these before scoring the diff. Any failure means **return `pass: fals
|
|
|
34
34
|
| Test | `xcodebuild test` (touched modules only) / `./gradlew test` / `npm test` / `pytest` | `blocking` if existing tests fail; `important` if no test added for a new fn |
|
|
35
35
|
| Secrets | `grep -rE '(sk-[a-zA-Z0-9]{20,}|password\s*=|api[_-]?key\s*=|BEGIN PRIVATE KEY)' <diff-paths>` | `blocking` |
|
|
36
36
|
|
|
37
|
-
Skip a gate ONLY if its tool isn't installed (xcodebuild on a non-Mac runner, etc.)
|
|
37
|
+
Skip a gate ONLY if its tool isn't installed (xcodebuild on a non-Mac runner, etc.) - log `gate.skipped tool=<name> reason=not_installed` and proceed.
|
|
38
38
|
|
|
39
39
|
## Checklist Pass (after gates green)
|
|
40
40
|
|
|
@@ -42,9 +42,9 @@ Apply the platform checklist verbatim. **Cite the rule file + line/section** so
|
|
|
42
42
|
|
|
43
43
|
### iOS (rules/swiftui-qa.md 13-item)
|
|
44
44
|
|
|
45
|
-
1. No magic numbers
|
|
46
|
-
2. Configuration purity
|
|
47
|
-
3. Modifier correctness
|
|
45
|
+
1. No magic numbers - design tokens used
|
|
46
|
+
2. Configuration purity - no side effects in Configuration types
|
|
47
|
+
3. Modifier correctness - fluent API valid
|
|
48
48
|
4. Accessibility identifiers on interactive elements
|
|
49
49
|
5. Accessibility traits correct (VoiceOver)
|
|
50
50
|
6. Analytics events per spec
|
|
@@ -52,7 +52,7 @@ Apply the platform checklist verbatim. **Cite the rule file + line/section** so
|
|
|
52
52
|
8. Dark mode renders correctly (preview present)
|
|
53
53
|
9. RTL layout mirrors correctly
|
|
54
54
|
10. Dynamic Type scales without breaking
|
|
55
|
-
11. Preview coverage
|
|
55
|
+
11. Preview coverage - all meaningful variants
|
|
56
56
|
12. Code Connect `.figma.swift` map (if Figma task)
|
|
57
57
|
13. FIGMA.md variant matrix (if Figma task)
|
|
58
58
|
|
|
@@ -62,7 +62,7 @@ Apply the platform checklist verbatim. **Cite the rule file + line/section** so
|
|
|
62
62
|
- ViewModel exposes `StateFlow<UiState>.asStateFlow()`, not mutable
|
|
63
63
|
- No business logic in `@Composable`
|
|
64
64
|
- `collectAsStateWithLifecycle()` used in UI
|
|
65
|
-
- `stringResource(R.string
|
|
65
|
+
- `stringResource(R.string....)` for user-facing strings
|
|
66
66
|
- Coroutines: `viewModelScope.launch`, no `GlobalScope`
|
|
67
67
|
- Tests: `runTest` + `TestDispatcher` + `Turbine` for Flow
|
|
68
68
|
|
|
@@ -71,15 +71,15 @@ Apply the platform checklist verbatim. **Cite the rule file + line/section** so
|
|
|
71
71
|
- No hardcoded credentials
|
|
72
72
|
- Error handling at boundaries (Result type, structured errors)
|
|
73
73
|
- Input validation at API surface
|
|
74
|
-
- No `print()` / `console.log` in production paths
|
|
74
|
+
- No `print()` / `console.log` in production paths - proper logger
|
|
75
75
|
- Public functions documented (param + return contract)
|
|
76
76
|
|
|
77
|
-
## Loop Contract
|
|
77
|
+
## Loop Contract - STRICT
|
|
78
78
|
|
|
79
79
|
- **Max 2 critic iterations.** Generator gets feedback, edits, you re-evaluate. If round 2 still fails gates, **escalate**: return `escalate: true` and let the orchestrator decide (pause user / abort / continue with known failures).
|
|
80
80
|
- Round 1 budget: full critic pass with all gates + checklist.
|
|
81
81
|
- Round 2 budget: ONLY re-check the items that failed round 1. Don't re-flag what the generator fixed.
|
|
82
|
-
- Never add new findings in round 2 that weren't in round 1's output
|
|
82
|
+
- Never add new findings in round 2 that weren't in round 1's output - that's scope creep, not iteration.
|
|
83
83
|
|
|
84
84
|
## Output Format
|
|
85
85
|
|
|
@@ -120,7 +120,7 @@ Return ONLY a JSON object conforming to `pipeline/schemas/dev-critic-output.sche
|
|
|
120
120
|
|
|
121
121
|
Generator MUST fix all `blocking` items. `important` items SHOULD be fixed in round 1; if generator skips, they pass through to Phase 4 reviewers (who then have legitimate grounds to flag them, not theatre review).
|
|
122
122
|
|
|
123
|
-
`suggestion` items are **never** sent back for round 2
|
|
123
|
+
`suggestion` items are **never** sent back for round 2 - generator may apply them at its own judgement.
|
|
124
124
|
|
|
125
125
|
## What this agent does NOT do
|
|
126
126
|
|
|
@@ -143,6 +143,6 @@ Phase 7 cost rollup includes critic calls as `phase 3.5` line items so cost summ
|
|
|
143
143
|
|
|
144
144
|
## Rationale citation
|
|
145
145
|
|
|
146
|
-
- **Anthropic, "Building Effective Agents" (Dec 2024)**
|
|
147
|
-
- **Anthropic, "Claude Code Best Practices"**
|
|
146
|
+
- **Anthropic, "Building Effective Agents" (Dec 2024)** - evaluator-optimizer pattern: <https://www.anthropic.com/engineering/building-effective-agents>
|
|
147
|
+
- **Anthropic, "Claude Code Best Practices"** - "Give Claude a way to verify its work... This is the single highest-leverage thing you can do."
|
|
148
148
|
- This agent operationalizes both: clear written criteria (rules/*.md), verifiable feedback (build/test/grep), bounded iteration (max 2 rounds), structured output (schema-validated JSON).
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Codebase explorer agent for multi-agent Phase 1
|
|
2
|
+
description: "Codebase explorer agent for multi-agent Phase 1 - scans project structure, patterns, and impact areas"
|
|
3
3
|
model: sonnet
|
|
4
4
|
preferredModel: sonnet
|
|
5
|
-
modelRationale: "Scan-heavy, pattern-recognition work
|
|
5
|
+
modelRationale: "Scan-heavy, pattern-recognition work - sonnet matches opus quality on file inventory and dependency graphs at a fraction of the cost. If the task requires architectural synthesis (rare at Phase 1), the orchestrator can override."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Codebase Explorer Agent
|
|
@@ -31,4 +31,4 @@ Return a JSON object:
|
|
|
31
31
|
}
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
Be thorough but focused
|
|
34
|
+
Be thorough but focused - report only what is relevant to the specific task.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: iOS architect
|
|
3
|
-
model:
|
|
4
|
-
preferredModel:
|
|
5
|
-
modelRationale: "Architecture decisions require deep reasoning across modules, protocols, and migration paths
|
|
2
|
+
description: iOS architect - evaluates design decisions, patterns, and module structure
|
|
3
|
+
model: fable
|
|
4
|
+
preferredModel: fable
|
|
5
|
+
modelRationale: "Architecture decisions require deep reasoning across modules, protocols, and migration paths - fable is the top intelligence tier. No downgrade recommended; if cost is a concern, skip the architect consultation entirely."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a senior iOS architect with deep expertise in large-scale modular iOS applications.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Security specialist
|
|
3
|
-
model:
|
|
4
|
-
preferredModel:
|
|
5
|
-
modelRationale: "Security reasoning + compliance catalog cross-reference (Apple ITMS, Google Play policy, OWASP)
|
|
2
|
+
description: Security specialist - analyzes code for vulnerabilities and compliance issues
|
|
3
|
+
model: fable
|
|
4
|
+
preferredModel: fable
|
|
5
|
+
modelRationale: "Security reasoning + compliance catalog cross-reference (Apple ITMS, Google Play policy, OWASP) - false negatives are expensive; fable (top tier, above opus) further reduces miss rate on subtle vulnerabilities (auth-flow gaps, cert-pinning bypass, sensitive-data leaks)."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a mobile security auditor specializing in application security.
|
|
@@ -53,7 +53,7 @@ You are a mobile security auditor specializing in application security.
|
|
|
53
53
|
|
|
54
54
|
## Store-compliance catalog cross-reference
|
|
55
55
|
|
|
56
|
-
On store-relevant diffs, load the matching compliance skill's rule catalog and cite the ruleID + Apple ITMS / Google Play reference next to your finding. Binary invocation is NOT required at review time
|
|
56
|
+
On store-relevant diffs, load the matching compliance skill's rule catalog and cite the ruleID + Apple ITMS / Google Play reference next to your finding. Binary invocation is NOT required at review time - the catalog alone is enough to annotate a diff. Full scan runs under `/multi-agent:test "store-ready"`.
|
|
57
57
|
|
|
58
58
|
### When to load `pipeline/skills/shared/core/apple-archive-compliance/SKILL.md` (iOS)
|
|
59
59
|
|
|
@@ -65,8 +65,8 @@ Trigger on any diff path matching:
|
|
|
65
65
|
- `**/AppDelegate*.swift`, `**/SceneDelegate*.swift`, `**/*App.swift` (purpose strings)
|
|
66
66
|
- `**/project.pbxproj` (Team ID, provisioning, code-signing settings)
|
|
67
67
|
|
|
68
|
-
For each flagged line, append: `(apple-archive-compliance / <ruleID>
|
|
69
|
-
Example: new `NSCameraUsageDescription` without justification → `(apple-archive-compliance / info-plist
|
|
68
|
+
For each flagged line, append: `(apple-archive-compliance / <ruleID> - <Apple ref>)`
|
|
69
|
+
Example: new `NSCameraUsageDescription` without justification → `(apple-archive-compliance / info-plist - Guideline 5.1.1)`
|
|
70
70
|
|
|
71
71
|
### When to load `pipeline/skills/shared/core/google-play-compliance/SKILL.md` (Android)
|
|
72
72
|
|
|
@@ -78,15 +78,15 @@ Trigger on any diff path matching:
|
|
|
78
78
|
- `**/network_security_config.xml`
|
|
79
79
|
- `**/gradle/libs.versions.toml` (only when dependency additions map to dangerous-permissions)
|
|
80
80
|
|
|
81
|
-
For each flagged line, append: `(google-play-compliance / <ruleID>
|
|
82
|
-
Example: new `MANAGE_EXTERNAL_STORAGE` permission → `(google-play-compliance / dangerous-permissions
|
|
81
|
+
For each flagged line, append: `(google-play-compliance / <ruleID> - <Play ref>)`
|
|
82
|
+
Example: new `MANAGE_EXTERNAL_STORAGE` permission → `(google-play-compliance / dangerous-permissions - Policy - Permissions)`
|
|
83
83
|
|
|
84
84
|
### What the catalog gives you
|
|
85
85
|
|
|
86
86
|
The two SKILL.md files contain tabular rule catalogs:
|
|
87
87
|
|
|
88
|
-
- **apple-archive-compliance**
|
|
89
|
-
- **google-play-compliance**
|
|
88
|
+
- **apple-archive-compliance** - 17 rules (privacy-manifest, required-reason-api, info-plist, code-signing, embedded-sdk, entitlement, asset-validation, binary-size, team-id-consistency, provisioning-profile, swift-abi, extension-signing, ipv6-compliance, debug-tool-leak, production-hygiene, duplicate-resource, dead-reference) with ITMS codes + App Store Review Guideline refs.
|
|
89
|
+
- **google-play-compliance** - 21 rules across Technical / Security / Privacy / Hygiene categories with Play policy refs.
|
|
90
90
|
|
|
91
91
|
Cite rule + ref in your Output Format's `Category:` line so the code-reviewer and triage layers inherit the reference text unchanged.
|
|
92
92
|
|
|
@@ -95,4 +95,4 @@ Cite rule + ref in your Output Format's `Category:` line so the code-reviewer an
|
|
|
95
95
|
- Only report real vulnerabilities, not theoretical risks
|
|
96
96
|
- Provide actionable fix suggestions
|
|
97
97
|
- Reference Apple/Google docs or OWASP when relevant
|
|
98
|
-
- For store-compliance findings, always cite the ruleID + policy reference from the catalog
|
|
98
|
+
- For store-compliance findings, always cite the ruleID + policy reference from the catalog - don't paraphrase
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Phase 0 Step 9 task ambiguity scorer
|
|
2
|
+
description: "Phase 0 Step 9 task ambiguity scorer - reads task description, emits clarity score (0-10) and up to N clarifying questions. Haiku by default; cost stays under 1¢ per call."
|
|
3
3
|
model: haiku
|
|
4
4
|
preferredModel: haiku
|
|
5
|
-
modelRationale: "Ambiguity scoring is a low-stakes classification + targeted question generation. Haiku hits this well
|
|
5
|
+
modelRationale: "Ambiguity scoring is a low-stakes classification + targeted question generation. Haiku hits this well - short context (issue body + Jira description), structured JSON output, no reasoning chain needed. Sonnet override is available via PHASE_MODEL_OVERRIDE for repos where ambiguity nuance matters (legal, regulated domains)."
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Task Clarifier Agent
|
|
8
|
+
# Task Clarifier Agent - Phase 0 Step 9
|
|
9
9
|
|
|
10
10
|
You score how clearly the task is specified and, when score is below the threshold, emit up to N clarifying questions the user must answer before Phase 1 (Analysis) begins. Pattern source: Devin's clarifying-question loop documented at <https://docs.devin.ai/work-with-devin/devin-review> and the Devin Knowledge pattern (<https://docs.devin.ai/product-guides/knowledge>).
|
|
11
11
|
|
|
@@ -16,9 +16,9 @@ You score how clearly the task is specified and, when score is below the thresho
|
|
|
16
16
|
| Source | Field used |
|
|
17
17
|
|---|---|
|
|
18
18
|
| `agent-state.task.title` | One-line summary |
|
|
19
|
-
| `agent-state.task.description` | Full body
|
|
19
|
+
| `agent-state.task.description` | Full body - Jira description, GitHub issue body, or free-text input |
|
|
20
20
|
| `agent-state.task.acceptance` | Acceptance criteria, when present |
|
|
21
|
-
| `agent-state.task.source` | `jira` / `github-issue` / `freetext`
|
|
21
|
+
| `agent-state.task.source` | `jira` / `github-issue` / `freetext` - context for question style |
|
|
22
22
|
| `agent-state.maturity.warnings[]` | Maturity check warnings already raised (avoid duplicating) |
|
|
23
23
|
|
|
24
24
|
## Clarity Score Rubric (0-10)
|
|
@@ -27,11 +27,11 @@ Score how well a competent developer could start work today without asking any f
|
|
|
27
27
|
|
|
28
28
|
| Score | What it looks like |
|
|
29
29
|
|---|---|
|
|
30
|
-
| 9-10 | Crystal clear
|
|
31
|
-
| 7-8 | Clear enough
|
|
32
|
-
| 5-6 | Borderline
|
|
33
|
-
| 3-4 | Ambiguous
|
|
34
|
-
| 0-2 | Vague
|
|
30
|
+
| 9-10 | Crystal clear - title, scope, acceptance criteria, success measure, target files / module named |
|
|
31
|
+
| 7-8 | Clear enough - small ambiguity (e.g. "improve performance" with no target metric), starter can make a defensible guess |
|
|
32
|
+
| 5-6 | Borderline - the *what* is clear but the *how* or *boundary* is fuzzy (e.g. "add caching" - TTL? scope? in-memory or disk?) |
|
|
33
|
+
| 3-4 | Ambiguous - multiple plausible interpretations, picking wrong wastes a sprint |
|
|
34
|
+
| 0-2 | Vague - title-only task, no body, no acceptance, no examples |
|
|
35
35
|
|
|
36
36
|
The pipeline `prefs.global.clarifyAmbiguous.minScoreToProceed` (default 6) gates this: ≥ threshold → proceed to Phase 1 silently. Below → questions fire.
|
|
37
37
|
|
|
@@ -41,9 +41,9 @@ When score < threshold, emit **at most `maxQuestions`** (default 3) questions. E
|
|
|
41
41
|
|
|
42
42
|
- **Targets a specific decision the task hasn't made.** Not "what is the scope?" but "should this apply to the cart screen only, or also checkout?"
|
|
43
43
|
- **Provides 2-4 options** when the answer is a discrete choice. Free-text only when the answer is genuinely open-ended (an identifier, a URL, a number).
|
|
44
|
-
- **Has a `recommended` option** when one choice is the conventional default
|
|
45
|
-
- **Cites the source of ambiguity** in `reason`
|
|
46
|
-
- **Does NOT ask about scope already covered by maturity.warnings.** If maturity warned about missing acceptance criteria, do not ask "what is the acceptance criteria?"
|
|
44
|
+
- **Has a `recommended` option** when one choice is the conventional default - surfaces what the agent would pick if forced to guess. Lets the user confirm with one tap.
|
|
45
|
+
- **Cites the source of ambiguity** in `reason` - quote the line from the issue body that triggered the question.
|
|
46
|
+
- **Does NOT ask about scope already covered by maturity.warnings.** If maturity warned about missing acceptance criteria, do not ask "what is the acceptance criteria?" - the warning already surfaced it.
|
|
47
47
|
|
|
48
48
|
## Output Format
|
|
49
49
|
|
|
@@ -75,7 +75,7 @@ Return ONLY a JSON object conforming to `pipeline/schemas/clarify-output.schema.
|
|
|
75
75
|
`stopAndAsk` is the orchestrator-facing flag:
|
|
76
76
|
|
|
77
77
|
- `true` → Phase 0 pauses and renders the questions via `AskUserQuestion` (interactive) or follows `clarifyAmbiguous.autopilotMode` (autopilot)
|
|
78
|
-
- `false` → score is acceptable; Phase 0 proceeds to Phase 1 silently. `questions` is still emitted as an empty array
|
|
78
|
+
- `false` → score is acceptable; Phase 0 proceeds to Phase 1 silently. `questions` is still emitted as an empty array - never null.
|
|
79
79
|
|
|
80
80
|
## Autopilot Mode Handling
|
|
81
81
|
|
|
@@ -84,15 +84,15 @@ The orchestrator (not this agent) reads `clarifyAmbiguous.autopilotMode` and cho
|
|
|
84
84
|
| Mode | Behavior on `stopAndAsk: true` in autopilot |
|
|
85
85
|
|---|---|
|
|
86
86
|
| `skip` | Questions are discarded; proceed to Phase 1 with no extra context. Logged as `clarify.skipped` |
|
|
87
|
-
| `log` | Questions are appended to `agent-log.md` for human review; proceed to Phase 1. Default
|
|
87
|
+
| `log` | Questions are appended to `agent-log.md` for human review; proceed to Phase 1. Default - preserves autopilot's "ask nothing" contract while keeping the signal |
|
|
88
88
|
| `abort` | Phase 0 pauses, agent-state marked `clarify-pending`; resume via `multi-agent:resume #N` |
|
|
89
89
|
|
|
90
90
|
## What this agent does NOT do
|
|
91
91
|
|
|
92
|
-
- Does NOT score subjective preferences (color, typography, copy wording
|
|
92
|
+
- Does NOT score subjective preferences (color, typography, copy wording - not architecturally ambiguous)
|
|
93
93
|
- Does NOT propose implementations (that's Phase 2's job)
|
|
94
94
|
- Does NOT request information that maturity check already flagged
|
|
95
|
-
- Does NOT exceed `maxQuestions` even if more ambiguity exists
|
|
95
|
+
- Does NOT exceed `maxQuestions` even if more ambiguity exists - pick the highest-leverage ones
|
|
96
96
|
|
|
97
97
|
## Telemetry
|
|
98
98
|
|
|
@@ -110,4 +110,4 @@ Cost expectation on Haiku (input ~1.5k tokens issue body, output ~400 tokens JSO
|
|
|
110
110
|
|
|
111
111
|
- Devin docs (clarifying via Knowledge triggers + Ask Devin sessions): <https://docs.devin.ai/work-with-devin/devin-review>
|
|
112
112
|
- Cursor Plan Mode (asks clarifying questions before producing the plan): <https://cursor.com/docs/agent/planning>
|
|
113
|
-
- Anthropic Building Effective Agents
|
|
113
|
+
- Anthropic Building Effective Agents - orchestrator-workers pattern, prefer cheap classification before expensive synthesis: <https://www.anthropic.com/engineering/building-effective-agents>
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
- **Author**: Git Identity from preferences (not Keychain)
|
|
26
26
|
- **Branch**: `bugfix/{JIRA_KEY}-{id}` or `feature/{JIRA_KEY}-{id}`
|
|
27
27
|
- **Commit**: `{type}(scope): description [{JIRA_KEY}-{id}]`
|
|
28
|
-
- No "Copilot", "AI", "generated by" in code
|
|
28
|
+
- No "Copilot", "AI", "generated by" in code - FORBIDDEN
|
|
29
29
|
- No unnecessary comments
|
|
30
30
|
- Never commit without passing build
|
|
31
31
|
- Self-documenting code, follow existing style
|
|
32
32
|
|
|
33
33
|
### Issue Management
|
|
34
34
|
|
|
35
|
-
- NEVER auto-close issues (GitHub or Jira)
|
|
36
|
-
- PR body: use `Ref: #N` or `Related: #N`
|
|
35
|
+
- NEVER auto-close issues (GitHub or Jira) - approvals required
|
|
36
|
+
- PR body: use `Ref: #N` or `Related: #N` - never `Closes/Fixes/Resolves`
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -5,7 +5,7 @@ allowed-tools: Bash, Read, Glob
|
|
|
5
5
|
|
|
6
6
|
Run the `ios_app_store_audit` MCP tool (shipped in `@mmerterden/dev-toolkit-mcp` ≥ v2.4)
|
|
7
7
|
on an iOS archive. Backed by the same 17-rule catalog as `/multi-agent:test "store-ready"`
|
|
8
|
-
|
|
8
|
+
- this command is the lighter, post-hoc form (no platform-detect, no UI sweep).
|
|
9
9
|
|
|
10
10
|
> **v8.4.0 migration note:** The standalone `~/ArchiveGuard/.build/release/archive-guard`
|
|
11
11
|
> binary has been retired. The 17 rules live in
|
|
@@ -19,7 +19,7 @@ on an iOS archive. Backed by the same 17-rule catalog as `/multi-agent:test "sto
|
|
|
19
19
|
find ~/Library/Developer/Xcode/Archives/ -name "*.xcarchive" -maxdepth 2 | sort | tail -5
|
|
20
20
|
```
|
|
21
21
|
2. Ask user which archive to scan (or use the argument if provided: $ARGUMENTS).
|
|
22
|
-
3. Run the scan
|
|
22
|
+
3. Run the scan - preferred mode is the native MCP tool call:
|
|
23
23
|
```
|
|
24
24
|
mcp__dev_toolkit__ios_app_store_audit({
|
|
25
25
|
archive_path: "<archive_path>",
|
|
@@ -40,6 +40,6 @@ on an iOS archive. Backed by the same 17-rule catalog as `/multi-agent:test "sto
|
|
|
40
40
|
npm i -g @mmerterden/dev-toolkit-mcp
|
|
41
41
|
# or add it to your MCP config and reload the editor
|
|
42
42
|
```
|
|
43
|
-
6. Summarize results
|
|
43
|
+
6. Summarize results - group by severity (`error` blockers, `warning` risks,
|
|
44
44
|
`info` hygiene), cite ruleID + Apple guideline reference for each finding,
|
|
45
45
|
suggest fixes from the rule catalog.
|