@mmerterden/multi-agent-pipeline 8.6.2 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +660 -2483
- package/README.md +100 -101
- 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 +3 -3
- package/pipeline/agents/backend-architect.md +2 -2
- package/pipeline/agents/code-reviewer.md +8 -8
- package/pipeline/agents/dev-critic.md +17 -17
- package/pipeline/agents/explorer.md +3 -3
- package/pipeline/agents/ios-architect.md +2 -2
- package/pipeline/agents/security-auditor.md +10 -10
- 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 +12 -8
- 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 +20 -20
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +22 -22
- package/pipeline/commands/multi-agent/dev-local.md +23 -20
- package/pipeline/commands/multi-agent/dev.md +43 -43
- 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 +65 -56
- 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 +16 -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 +41 -35
- 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 +91 -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 +24 -14
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +107 -57
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +65 -29
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +114 -62
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +181 -62
- 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 +12 -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 +64 -58
- 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 +5 -5
- package/pipeline/lib/fetch-crashlytics.sh +7 -7
- package/pipeline/lib/fetch-fortify.sh +6 -22
- package/pipeline/lib/fetch-swagger.sh +6 -6
- 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 +28 -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 +63 -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 +42 -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 +95 -11
- 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 +17 -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 +97 -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 +88 -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 +2 -2
- 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-state.mjs +108 -0
- 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 +62 -13
- 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 +37 -30
- package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +137 -0
- 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-evolve-component/SKILL.md +61 -0
- 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-navigation/SKILL.md +142 -0
- package/pipeline/skills/figma-common/figma-overlays/SKILL.md +128 -0
- 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 +13 -12
- package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +112 -0
- 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 +53 -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 +88 -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 +53 -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 +56 -2
- 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/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 -84
- 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,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figma-component-code-connect
|
|
3
|
-
description: "Figma Code Connect mapping publisher for implemented SwiftUI components. Creates + publishes .figma.swift registration for a component already built via Phase 4 codegen. Runs standalone (reads source files + fetches Figma property data) or as a Phase 3.6 continuation. iOS platform peer
|
|
3
|
+
description: "Figma Code Connect mapping publisher for implemented SwiftUI components. Creates + publishes .figma.swift registration for a component already built via Phase 4 codegen. Runs standalone (reads source files + fetches Figma property data) or as a Phase 3.6 continuation. iOS platform peer - Android equivalent lives under figma-android/."
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "<figma-url> | --component <name>"
|
|
6
6
|
language: en
|
|
@@ -10,11 +10,11 @@ sourced-from: upstream/figma-to-swift-ui-code-connect
|
|
|
10
10
|
local-overlay: true
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# figma-component-code-connect
|
|
13
|
+
# figma-component-code-connect - Standalone Code Connect Publish
|
|
14
14
|
|
|
15
15
|
## Purpose
|
|
16
16
|
|
|
17
|
-
Creates and publishes Figma Code Connect mapping for an implemented component. Works independently from `/figma-to-swiftui`
|
|
17
|
+
Creates and publishes Figma Code Connect mapping for an implemented component. Works independently from `/figma-to-swiftui` - reads source files and fetches Figma property data directly. Can also run as a continuation after Phase 5 when full artifacts exist.
|
|
18
18
|
|
|
19
19
|
## Parameters
|
|
20
20
|
|
|
@@ -64,15 +64,15 @@ If Swift file or FIGMA.md missing → HALT. Component not implemented.
|
|
|
64
64
|
|
|
65
65
|
| Condition | Action |
|
|
66
66
|
|-----------|--------|
|
|
67
|
-
| `{ComponentName}.figma.swift` exists | **UPDATE** mode
|
|
67
|
+
| `{ComponentName}.figma.swift` exists | **UPDATE** mode - will overwrite |
|
|
68
68
|
| `{ComponentName}.figma.swift` missing | **CREATE** mode |
|
|
69
69
|
|
|
70
70
|
### 4. Detect Path: HOT or COLD
|
|
71
71
|
|
|
72
72
|
| Condition | Path |
|
|
73
73
|
|-----------|------|
|
|
74
|
-
| `{artifactPath}/pass1/component_properties.json` exists | **HOT**
|
|
75
|
-
| Missing | **COLD**
|
|
74
|
+
| `{artifactPath}/pass1/component_properties.json` exists | **HOT** - skip Gate 1, go to Gate 2 |
|
|
75
|
+
| Missing | **COLD** - run Gate 1 |
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
@@ -80,7 +80,7 @@ If Swift file or FIGMA.md missing → HALT. Component not implemented.
|
|
|
80
80
|
|
|
81
81
|
Two-step process: script (Figma REST API) → AI subagent (deduction).
|
|
82
82
|
|
|
83
|
-
### Step 1: Script
|
|
83
|
+
### Step 1: Script - Fetch Component Properties
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
86
|
python3 .instructions/figma/figma-to-swiftui/scripts/code-connect-data-gather.py \
|
|
@@ -94,7 +94,7 @@ This script:
|
|
|
94
94
|
2. Extracts `componentPropertyDefinitions` from the node document
|
|
95
95
|
3. Writes `pass1/component_properties.json` in the same format Phase 1 produces
|
|
96
96
|
|
|
97
|
-
### Step 2: AI Subagent
|
|
97
|
+
### Step 2: AI Subagent - Boolean Classification
|
|
98
98
|
|
|
99
99
|
Dispatch a subagent (sonnet, 15 turns) to read source files and produce the variant config analysis:
|
|
100
100
|
|
|
@@ -122,7 +122,7 @@ Dispatch as subagent with:
|
|
|
122
122
|
- componentName, fileKey, nodeId, artifactPath, componentLocation
|
|
123
123
|
- All standard context variables
|
|
124
124
|
|
|
125
|
-
The phase file is shared with `/figma-to-swiftui`
|
|
125
|
+
The phase file is shared with `/figma-to-swiftui` - same templates, same validation, same publish flow.
|
|
126
126
|
|
|
127
127
|
---
|
|
128
128
|
|
|
@@ -146,11 +146,11 @@ Updates `codeConnect.ios = true` in the component registry JSON.
|
|
|
146
146
|
|
|
147
147
|
| Gate | Instruction | Model | Max Turns |
|
|
148
148
|
|------|-------------|-------|-----------|
|
|
149
|
-
| 0 | Inline (this file) |
|
|
150
|
-
| 1 Step 1 | Script (`code-connect-data-gather.py`) |
|
|
149
|
+
| 0 | Inline (this file) | - | - |
|
|
150
|
+
| 1 Step 1 | Script (`code-connect-data-gather.py`) | - | - |
|
|
151
151
|
| 1 Step 2 | AI subagent | sonnet | 15 |
|
|
152
152
|
| 2 | `phases/phase-6-code-connect.md` (shared) | opus | 30 |
|
|
153
|
-
| 3 | Script (`phase6-finalize.py`) |
|
|
153
|
+
| 3 | Script (`phase6-finalize.py`) | - | - |
|
|
154
154
|
|
|
155
155
|
---
|
|
156
156
|
|
|
@@ -170,9 +170,9 @@ These files are shared with `/figma-to-swiftui` phase 6:
|
|
|
170
170
|
|
|
171
171
|
## Notes
|
|
172
172
|
|
|
173
|
-
- Standalone entry point
|
|
173
|
+
- Standalone entry point - does NOT require `/figma-to-swiftui` to have run
|
|
174
174
|
- When called after Phase 5, detects existing artifacts (HOT path) and skips data gathering
|
|
175
175
|
- The data gather script produces the same artifact structure as Phase 1
|
|
176
|
-
- Phase 6 instruction file doesn't know which skill invoked it
|
|
177
|
-
- Handles the `figma.config.json` exclude list for broken components (see phase-6
|
|
176
|
+
- Phase 6 instruction file doesn't know which skill invoked it - fully modular
|
|
177
|
+
- Handles the `figma.config.json` exclude list for broken components (see phase-6 sectionGATE 5)
|
|
178
178
|
- If component has no Figma property definitions → uses STATIC_VALUES strategy automatically
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figma-component-implement
|
|
3
|
-
description: "Figma → SwiftUI implementation for a single component. Runs Phases 0
|
|
3
|
+
description: "Figma → SwiftUI implementation for a single component. Runs Phases 0-4 of the figma-to-swiftui pipeline (init, data gathering, analysis, code generation) and produces a production-ready SwiftUI view. Excludes testing, Code Connect, and wiki - those are separate standalone skills. iOS platform peer - Android equivalent lives under figma-android/."
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "<figma-url>"
|
|
6
6
|
language: en
|
|
@@ -10,11 +10,11 @@ sourced-from: upstream/figma-to-swift-ui-implement
|
|
|
10
10
|
local-overlay: true
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# figma-component-implement
|
|
13
|
+
# figma-component-implement - Standalone Implementation (Phases 0-4)
|
|
14
14
|
|
|
15
15
|
## Purpose
|
|
16
16
|
|
|
17
|
-
Implements a Figma component as a production-ready SwiftUI view. Runs Phases 0
|
|
17
|
+
Implements a Figma component as a production-ready SwiftUI view. Runs Phases 0-4 of the figma-to-swiftui pipeline: init, data gathering, analysis, and code generation. Does NOT include testing, Code Connect, or Confluence - those are separate standalone skills.
|
|
18
18
|
|
|
19
19
|
## Parameters
|
|
20
20
|
|
|
@@ -67,7 +67,7 @@ This skill stops after Phase 4. To continue:
|
|
|
67
67
|
|
|
68
68
|
## Dispatch Table
|
|
69
69
|
|
|
70
|
-
All instruction files are in `.instructions/figma/figma-to-swiftui/`
|
|
70
|
+
All instruction files are in `.instructions/figma/figma-to-swiftui/` - shared with `/figma-to-swiftui`.
|
|
71
71
|
|
|
72
72
|
| Phase | Instruction (shared) | Model | Max Turns | Tool Restrictions |
|
|
73
73
|
|-------|---------------------|-------|-----------|-------------------|
|
|
@@ -99,7 +99,7 @@ All routing logic is identical to `/figma-to-swiftui` SKILL.md:
|
|
|
99
99
|
- **Phase 3**: Inline routing (PRE-CHECK → NORMALIZE → Wave 1 scripts+3A+3C+3H → missing token resolution → Wave 2 3D → Wave 3 3G → COLLECT → SPEC → INDEX)
|
|
100
100
|
- **Phase 4**: Inline routing (PRE-CHECK → LOAD_SPEC → PREPARE_DIRECTORY → Wave 1 4A+4B+4C → Wave 2 4D+4E → COLLECT → VALIDATE → BUILD → UPDATE_REGISTRY)
|
|
101
101
|
|
|
102
|
-
Refer to `.instructions/figma/figma-to-swiftui/SKILL.md` for the full routing logic
|
|
102
|
+
Refer to `.instructions/figma/figma-to-swiftui/SKILL.md` for the full routing logic - it is the authoritative source. This skill uses the exact same dispatch procedures, read-order tables, and return parsing.
|
|
103
103
|
|
|
104
104
|
### Phase 4 registry finalize
|
|
105
105
|
|
|
@@ -113,7 +113,7 @@ python3 .instructions/figma/figma-to-swiftui/scripts/phase4-finalize.py \
|
|
|
113
113
|
--platform ios
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
The actual GitHub issue sync (labels, body progress table, Projects V2 fields, assignee) runs later when you call `/figma-iteration-commit`
|
|
116
|
+
The actual GitHub issue sync (labels, body progress table, Projects V2 fields, assignee) runs later when you call `/figma-iteration-commit` - it reads this registry state and invokes `update-issue-from-registry.py` once per node.
|
|
117
117
|
|
|
118
118
|
---
|
|
119
119
|
|
|
@@ -177,8 +177,8 @@ Next steps:
|
|
|
177
177
|
|
|
178
178
|
## Notes
|
|
179
179
|
|
|
180
|
-
- This skill runs Phases 0
|
|
180
|
+
- This skill runs Phases 0-4 only - the implementation core
|
|
181
181
|
- All phase files, scripts, and references are shared with `/figma-to-swiftui`
|
|
182
|
-
- The routing logic is identical
|
|
183
|
-
- Resume mode works the same
|
|
182
|
+
- The routing logic is identical - only the scope differs (stops at Phase 4 vs going to Phase 8)
|
|
183
|
+
- Resume mode works the same - `phase-3` resumes Phase 3 from existing artifacts
|
|
184
184
|
- Can be followed by any combination of the standalone skills in any order
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figma-component-test
|
|
3
|
-
description: "Test generator + runner for implemented SwiftUI Figma components. Produces ViewInspector structural tests, snapshot tests, and XCTest unit tests for a component already built via Phase 4 codegen. Runs standalone (reads source files) or as a Phase 3.5 continuation. iOS platform peer
|
|
3
|
+
description: "Test generator + runner for implemented SwiftUI Figma components. Produces ViewInspector structural tests, snapshot tests, and XCTest unit tests for a component already built via Phase 4 codegen. Runs standalone (reads source files) or as a Phase 3.5 continuation. iOS platform peer - Android equivalent (Paparazzi/Roborazzi) lives under figma-android/."
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "<figma-url> | --component <name>"
|
|
6
6
|
language: en
|
|
@@ -10,11 +10,11 @@ sourced-from: upstream/figma-to-swift-ui-test
|
|
|
10
10
|
local-overlay: true
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# figma-component-test
|
|
13
|
+
# figma-component-test - Standalone Test Generation & Execution
|
|
14
14
|
|
|
15
15
|
## Purpose
|
|
16
16
|
|
|
17
|
-
Generates and runs ViewInspector, snapshot, and unit tests for an implemented Figma component. Works independently from `/figma-to-swiftui`
|
|
17
|
+
Generates and runs ViewInspector, snapshot, and unit tests for an implemented Figma component. Works independently from `/figma-to-swiftui` - reads source files directly. Can also run as a continuation after Phase 4 when full artifacts exist.
|
|
18
18
|
|
|
19
19
|
## Parameters
|
|
20
20
|
|
|
@@ -63,15 +63,15 @@ If Swift file missing → HALT. Component not implemented.
|
|
|
63
63
|
|
|
64
64
|
| Condition | Action |
|
|
65
65
|
|-----------|--------|
|
|
66
|
-
| ViewInspector + Snapshot tests exist | **UPDATE** mode
|
|
66
|
+
| ViewInspector + Snapshot tests exist | **UPDATE** mode - regenerate and re-record |
|
|
67
67
|
| Tests missing | **CREATE** mode |
|
|
68
68
|
|
|
69
69
|
### 4. Detect Path: HOT or COLD
|
|
70
70
|
|
|
71
71
|
| Condition | Path |
|
|
72
72
|
|-----------|------|
|
|
73
|
-
| `{artifactPath}/pass5/_test_index.md` exists | **HOT**
|
|
74
|
-
| Missing | **COLD**
|
|
73
|
+
| `{artifactPath}/pass5/_test_index.md` exists | **HOT** - skip Gate 1, go to Gate 2 |
|
|
74
|
+
| Missing | **COLD** - run Gate 1 |
|
|
75
75
|
|
|
76
76
|
---
|
|
77
77
|
|
|
@@ -84,7 +84,7 @@ AI subagent (sonnet, 20 turns) reads source files and produces the test index +
|
|
|
84
84
|
| Source | Derives |
|
|
85
85
|
|--------|---------|
|
|
86
86
|
| `{ComponentName}.swift` (init signature, enums, types) | Variant axes, complexity (SIMPLE/COMPLEX), optional properties |
|
|
87
|
-
| FIGMA.md (variant mapping table) | Snapshot matrix
|
|
87
|
+
| FIGMA.md (variant mapping table) | Snapshot matrix - which property combinations to test |
|
|
88
88
|
| FIGMA.md (parameters table) | Parameter types, defaults |
|
|
89
89
|
| Component registry JSON (testingIdentifiers) | Accessibility identifier test cases |
|
|
90
90
|
| `{ComponentName}Configuration.swift` (if COMPLEX) | Configuration properties, chain modifiers |
|
|
@@ -98,7 +98,7 @@ The subagent writes:
|
|
|
98
98
|
{artifactPath}/pass3/04b_component_architecture.md (if missing)
|
|
99
99
|
{artifactPath}/pass3/04_patterns.md (if missing)
|
|
100
100
|
{artifactPath}/pass3/05_complexity.md (if missing)
|
|
101
|
-
{artifactPath}/pass2/utility_identifiers.json (if missing
|
|
101
|
+
{artifactPath}/pass2/utility_identifiers.json (if missing - from registry)
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
The `_test_index.md` contains:
|
|
@@ -135,7 +135,7 @@ Dispatch subagents:
|
|
|
135
135
|
| Condition | Action |
|
|
136
136
|
|-----------|--------|
|
|
137
137
|
| Component has ViewModel/model logic | Dispatch `phases/phase-5c-unit.md` (sonnet, 30 turns) |
|
|
138
|
-
| Pure View + Configuration | Skip
|
|
138
|
+
| Pure View + Configuration | Skip - N/A |
|
|
139
139
|
|
|
140
140
|
---
|
|
141
141
|
|
|
@@ -176,7 +176,7 @@ The script records `against = status.ios.implemented.version`, so the flag will
|
|
|
176
176
|
| Result | Action |
|
|
177
177
|
|--------|--------|
|
|
178
178
|
| Exit 0, `"action": "updated"` / `"already_current"` / `"created"` | Proceed |
|
|
179
|
-
| Exit 1 | HALT
|
|
179
|
+
| Exit 1 | HALT - verify node-id matches registry |
|
|
180
180
|
|
|
181
181
|
GitHub issue sync (labels, Progress table, Projects V2 fields) runs later when `/figma-iteration-commit` invokes `update-issue-from-registry.py`.
|
|
182
182
|
|
|
@@ -186,13 +186,13 @@ GitHub issue sync (labels, Progress table, Projects V2 fields) runs later when `
|
|
|
186
186
|
|
|
187
187
|
| Gate | Instruction | Model | Max Turns |
|
|
188
188
|
|------|-------------|-------|-----------|
|
|
189
|
-
| 0 | Inline (this file) |
|
|
189
|
+
| 0 | Inline (this file) | - | - |
|
|
190
190
|
| 1 | AI subagent | sonnet | 20 |
|
|
191
191
|
| 2 (5A) | `phases/phase-5a-viewinspector.md` (shared) | sonnet | 40 |
|
|
192
192
|
| 2 (5B) | `phases/phase-5b-snapshot.md` (shared) | sonnet | 40 |
|
|
193
193
|
| 2 (5C) | `phases/phase-5c-unit.md` (shared) | sonnet | 30 |
|
|
194
|
-
| 3 | Script (`run-uicomponents-tests.sh`) |
|
|
195
|
-
| 4 | Script (`phase5-finalize.py`) |
|
|
194
|
+
| 3 | Script (`run-uicomponents-tests.sh`) | - | - |
|
|
195
|
+
| 4 | Script (`phase5-finalize.py`) | - | - |
|
|
196
196
|
|
|
197
197
|
---
|
|
198
198
|
|
|
@@ -211,9 +211,9 @@ GitHub issue sync (labels, Progress table, Projects V2 fields) runs later when `
|
|
|
211
211
|
|
|
212
212
|
## Notes
|
|
213
213
|
|
|
214
|
-
- Standalone entry point
|
|
214
|
+
- Standalone entry point - does NOT require `/figma-to-swiftui` to have run
|
|
215
215
|
- When called after Phase 4, detects existing artifacts (HOT path) and skips data accumulation
|
|
216
|
-
- Phase 5A/5B/5C instruction files don't know which skill invoked them
|
|
216
|
+
- Phase 5A/5B/5C instruction files don't know which skill invoked them - fully modular
|
|
217
217
|
- Always switches to local common dependency for test execution, reverts after
|
|
218
218
|
- Snapshot tests run twice: first to record, second to verify
|
|
219
219
|
- If component already has tests (UPDATE mode), deletes old snapshots before re-recording
|
|
@@ -9,9 +9,9 @@ sourced-from: upstream/figma-to-swift-ui-wiki
|
|
|
9
9
|
local-overlay: true
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# figma-component-wiki
|
|
12
|
+
# figma-component-wiki - Component Wiki Documentation
|
|
13
13
|
|
|
14
|
-
> **WS-5 v5.0.0
|
|
14
|
+
> **WS-5 v5.0.0 - locally overlaid.** `local-overlay: true` in frontmatter tells `sync-figma-source.sh` + `import-figma-skills.sh` to skip this file so this v5-specific contract (4-adapter dispatch) isn't flattened on every sync.
|
|
15
15
|
|
|
16
16
|
## Dispatch contract (Phase 7 Report Step 2)
|
|
17
17
|
|
|
@@ -36,7 +36,7 @@ Emit progress line `→ writing wiki {componentName} (mode: {mode})` as the firs
|
|
|
36
36
|
| mode | when to pick | path layout | push semantics |
|
|
37
37
|
|---|---|---|---|
|
|
38
38
|
| `submodule` | Team versions the wiki as a git submodule (source project's native layout). | `{repos.wiki.path}/FigmaComponents/{Category}/{Name}/{Name}.md` + `assets/` | Commit into submodule's `{repos.wiki.branch}`, push. Updates parent repo's submodule pointer. |
|
|
39
|
-
| `in-repo` | Simple projects without a separate wiki repo (default). | `{repos.components.path}/.wiki/components/{Category}/{Name}.md` | No push
|
|
39
|
+
| `in-repo` | Simple projects without a separate wiki repo (default). | `{repos.components.path}/.wiki/components/{Category}/{Name}.md` | No push - commits with the component change in Phase 6. |
|
|
40
40
|
| `github-wiki` | Team uses GitHub's built-in wiki (`{org}/{repo}.wiki.git`). | `{repo}.wiki.git/{Category}/{Name}.md` | Clone `.wiki.git`, add/commit, push. Idempotent over re-renders. |
|
|
41
41
|
| `separate-repo` | Wiki in a separate GitHub repo (not submodule, not `.wiki`). | Remote repo's configured branch; same file layout as submodule. | Clone on demand to `~/.cache/multi-agent/wiki/{slug}/`, commit, push. |
|
|
42
42
|
|
|
@@ -45,37 +45,37 @@ Every adapter:
|
|
|
45
45
|
1. Receives identical rendered markdown (content identical across layouts).
|
|
46
46
|
2. Generates `_Sidebar.md` via `pipeline/scripts/wiki/sidebar-generator.py` (ships in a follow-up).
|
|
47
47
|
3. Updates `ComponentImplementationStatus.md` via `pipeline/scripts/wiki/status-page.py` (ships in a follow-up).
|
|
48
|
-
4. Is idempotent
|
|
48
|
+
4. Is idempotent - re-running on unchanged component produces no diff.
|
|
49
49
|
|
|
50
50
|
## Failure contracts
|
|
51
51
|
|
|
52
|
-
- `submodule`
|
|
53
|
-
- `in-repo`
|
|
54
|
-
- `github-wiki`
|
|
55
|
-
- `separate-repo`
|
|
52
|
+
- `submodule` - submodule path missing → return error, no partial commit.
|
|
53
|
+
- `in-repo` - target dir not writable → return error; Phase 6 commit picks up the `.wiki/` change on its next run if paths eventually exist.
|
|
54
|
+
- `github-wiki` - wiki repo not enabled on GitHub → suggest enabling and skip (return success with `writtenPaths: []`).
|
|
55
|
+
- `separate-repo` - remote unreachable → cache the markdown under `~/.cache/multi-agent/wiki/{slug}/pending/` and return a warning; next run retries.
|
|
56
56
|
|
|
57
57
|
## Markdown rendering (mode-agnostic)
|
|
58
58
|
|
|
59
59
|
Reads `componentPath` + sibling `FIGMA.md` (variant matrix, usage examples). Writes:
|
|
60
60
|
|
|
61
|
-
- `{Name}.md`
|
|
62
|
-
- `{Name}/assets/`
|
|
63
|
-
- `_Sidebar.md`
|
|
64
|
-
- `ComponentImplementationStatus.md`
|
|
61
|
+
- `{Name}.md` - component page (overview, parameters, variants, code examples, tokens, accessibility notes).
|
|
62
|
+
- `{Name}/assets/` - design screenshots.
|
|
63
|
+
- `_Sidebar.md` - navigation (regenerated by the sidebar script).
|
|
64
|
+
- `ComponentImplementationStatus.md` - status dashboard (regenerated).
|
|
65
65
|
|
|
66
66
|
---
|
|
67
67
|
|
|
68
|
-
## Legacy content (upstream
|
|
68
|
+
## Legacy content (upstream - submodule-mode reference)
|
|
69
69
|
|
|
70
70
|
Everything below is the original `/figma-to-swift-ui-wiki` skill content, preserved as the reference implementation for the `submodule` adapter.
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
|
74
|
-
# /figma-to-swift-ui-wiki
|
|
74
|
+
# /figma-to-swift-ui-wiki - Standalone Wiki Documentation
|
|
75
75
|
|
|
76
76
|
## Purpose
|
|
77
77
|
|
|
78
|
-
Generates GitHub Wiki documentation for an implemented Figma component. Works independently from `/figma-to-swiftui`
|
|
78
|
+
Generates GitHub Wiki documentation for an implemented Figma component. Works independently from `/figma-to-swiftui` - reads source files and artifacts directly. Can also run as a continuation after Phase 6 when full artifacts exist.
|
|
79
79
|
|
|
80
80
|
The wiki is the **source of truth** for component documentation. Confluence pages are synced from the wiki via `/figma-to-swift-ui-confluence-sync`.
|
|
81
81
|
|
|
@@ -190,7 +190,7 @@ If the component is **missing** from `_Sidebar.md`, re-run the sidebar generator
|
|
|
190
190
|
python3 .instructions/figma/figma-to-swiftui/scripts/sidebar-generator.py --wiki-root ${wikiRoot}
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
This regenerates the entire sidebar from the wiki directory structure. If the component's wiki folder exists, it will appear in the output. If it still doesn't appear after regeneration, the wiki folder structure is incorrect
|
|
193
|
+
This regenerates the entire sidebar from the wiki directory structure. If the component's wiki folder exists, it will appear in the output. If it still doesn't appear after regeneration, the wiki folder structure is incorrect - HALT and ask the user to verify the component's wiki directory path.
|
|
194
194
|
|
|
195
195
|
---
|
|
196
196
|
|
|
@@ -241,7 +241,7 @@ The script records `against = status.ios.implemented.version`, so the flag drops
|
|
|
241
241
|
| Result | Action |
|
|
242
242
|
|--------|--------|
|
|
243
243
|
| Exit 0, `"action": "updated"` / `"already_current"` / `"created"` | Proceed |
|
|
244
|
-
| Exit 1 | HALT
|
|
244
|
+
| Exit 1 | HALT - verify node-id matches registry |
|
|
245
245
|
|
|
246
246
|
GitHub issue sync runs later via `/figma-iteration-commit` → `update-issue-from-registry.py`.
|
|
247
247
|
|
|
@@ -267,7 +267,7 @@ Wiki documentation complete:
|
|
|
267
267
|
|
|
268
268
|
## Error Handling
|
|
269
269
|
|
|
270
|
-
- **Component not implemented**: HALT
|
|
270
|
+
- **Component not implemented**: HALT - run implementation first.
|
|
271
271
|
- **FigmaRegistryUtility not built**: Run `swift build --product FigmaRegistryUtility`.
|
|
272
272
|
- **Wiki submodule not initialized**: Run `git submodule update --init` on the wiki path.
|
|
273
273
|
- **Push fails**: Check if wiki submodule is on `master` and remote is accessible.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figma-to-component
|
|
3
|
-
description: Figma-to-SwiftUI component implementation workflow. Takes a Figma URL and produces a production-ready SwiftUI component through 8 phases
|
|
3
|
+
description: Figma-to-SwiftUI component implementation workflow. Takes a Figma URL and produces a production-ready SwiftUI component through 8 phases - data gathering, analysis, code generation, testing, Code Connect, and documentation.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: <figma-url> | phase-<N> | status
|
|
6
6
|
allowed-tools: Task, Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion
|
|
@@ -8,7 +8,7 @@ status: wip-v5
|
|
|
8
8
|
sourced-from: upstream/figma-to-swiftui
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# /figma
|
|
11
|
+
# /figma - Figma-to-SwiftUI Workflow Orchestrator
|
|
12
12
|
|
|
13
13
|
## Parse Arguments
|
|
14
14
|
|
|
@@ -50,7 +50,7 @@ These 6 rules govern orchestrator behavior. Violations have caused repeated fail
|
|
|
50
50
|
0 (Init) → 1 (Gather) → 2A → 2B → 2C → 2D → 3 (Analysis) → 4 (Implementation) → 5A → 5B → 5C → 6 (Code Connect) → 7 (Wiki Markdown)
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
This skill dispatches Phase 2 and Phase 5 sub-phases directly
|
|
53
|
+
This skill dispatches Phase 2 and Phase 5 sub-phases directly - no orchestrator subagent.
|
|
54
54
|
|
|
55
55
|
When `phase-7` is invoked:
|
|
56
56
|
1. Dispatch `phase-7a` (generate two wiki pages: main + iOS, plus assets into wiki submodule).
|
|
@@ -113,6 +113,21 @@ Bundled in `.instructions/figma/figma-to-swiftui/reference/`. Include relevant p
|
|
|
113
113
|
| `reference/viewinspector.md` | 5A |
|
|
114
114
|
| `reference/snapshot-testing.md` | 5D |
|
|
115
115
|
|
|
116
|
+
## Complementary integration skills
|
|
117
|
+
|
|
118
|
+
Cross-cutting skills in `figma-common/` that feed Phase 3D / 4A / 4B when the design triggers them (see `reference/orchestrator-discipline.md` Rule 4). Native-SwiftUI-first; project specifics come from `figma-config` `ui.*` hooks.
|
|
119
|
+
|
|
120
|
+
| Skill | Phase 3D trigger | Purpose |
|
|
121
|
+
|-------|------------------|---------|
|
|
122
|
+
| `/figma-form-integration` | form-capable sub-components | FormField/FormSection modeling |
|
|
123
|
+
| `/figma-price-integration` | currency+amount / Price instance | PriceRepresentable modeling |
|
|
124
|
+
| `/figma-ui-patterns` | scroll/motion/shape signal | reusable technique recipes (incl. `animated-gradient-border`) |
|
|
125
|
+
| `/figma-navigation` | tab/back/push/deep-link affordance | headless Output; native NavigationStack or `ui.navigationSystem` |
|
|
126
|
+
| `/figma-overlays` | toast/HUD/alert/data-modal | caller-owned; native `.alert`/`.sheet(item:)` or `ui.overlaySystem` |
|
|
127
|
+
| `/figma-bottom-sheets` | sheet/drawer/pinned-CTA/multi-step | sheet content; native `.presentationDetents` or `ui.sheetSystem` |
|
|
128
|
+
|
|
129
|
+
Related workflow: `/figma-evolve-component` reconciles + extends an already-implemented component (drift-heal + additive extend, human-gated) - distinct from a fresh build here, `/figma-mend` (rebuild), and `/figma-fix` (review bug).
|
|
130
|
+
|
|
116
131
|
---
|
|
117
132
|
|
|
118
133
|
## Dispatch Procedure
|
|
@@ -133,10 +148,10 @@ You are executing {Phase Name} of the Figma-to-SwiftUI workflow.
|
|
|
133
148
|
- Artifact Path: {artifactPath}
|
|
134
149
|
- Component Location: {componentLocation}
|
|
135
150
|
- GitHub Issue: {issueNumber} (omit if not available)
|
|
136
|
-
- Wiki Path: {wikiPath} (Phase 7 only
|
|
151
|
+
- Wiki Path: {wikiPath} (Phase 7 only - `{repos.wiki.path}`)
|
|
137
152
|
|
|
138
153
|
## Tool Restrictions
|
|
139
|
-
{from dispatch table
|
|
154
|
+
{from dispatch table - e.g., "Do NOT use the Edit tool."}
|
|
140
155
|
|
|
141
156
|
## Your Instructions
|
|
142
157
|
Read and STRICTLY FOLLOW your phase instructions gate-by-gate from this file:
|
|
@@ -149,18 +164,18 @@ Read the return protocol from:
|
|
|
149
164
|
|
|
150
165
|
## Specs (if present)
|
|
151
166
|
- {artifactPath}/pass0/specs.md
|
|
152
|
-
Read and incorporate specs alongside phase instructions. Both are inputs you must follow
|
|
167
|
+
Read and incorporate specs alongside phase instructions. Both are inputs you must follow - phase instructions define methodology and coding standards, specs define acceptance criteria and design intent. Neither overrides the other.
|
|
153
168
|
|
|
154
169
|
## Reference Files (read during execution if needed)
|
|
155
170
|
- .instructions/figma/figma-to-swiftui/{reference path}
|
|
156
171
|
|
|
157
172
|
## Previous Phase Artifacts (read in this order)
|
|
158
|
-
{use the Read-Order Table below
|
|
173
|
+
{use the Read-Order Table below - list file PATHS only, do not embed content}
|
|
159
174
|
```
|
|
160
175
|
|
|
161
176
|
### 2. Dispatch
|
|
162
177
|
|
|
163
|
-
**Phase 1 (script):** Run directly via Bash
|
|
178
|
+
**Phase 1 (script):** Run directly via Bash - no subagent needed:
|
|
164
179
|
|
|
165
180
|
```bash
|
|
166
181
|
python3 .instructions/figma/figma-to-swiftui/scripts/phase1-gather.py \
|
|
@@ -175,7 +190,7 @@ The script tries remote MCP first, falls back to local MCP automatically.
|
|
|
175
190
|
|
|
176
191
|
**If `status` = `COMPLETE_WITH_DEFERRED`:**
|
|
177
192
|
Design context was deferred (too many sublayers). All other artifacts are present.
|
|
178
|
-
Do NOT ask the user
|
|
193
|
+
Do NOT ask the user - dispatch a **Phase 1 subagent** for deferred resolution:
|
|
179
194
|
|
|
180
195
|
```
|
|
181
196
|
Agent(
|
|
@@ -230,13 +245,13 @@ After each phase completes, update IMPLEMENTATION_HISTORY.md with phase status,
|
|
|
230
245
|
|
|
231
246
|
---
|
|
232
247
|
|
|
233
|
-
## Phase 2 Routing (inline
|
|
248
|
+
## Phase 2 Routing (inline - do NOT read phase-2-orchestrator.md)
|
|
234
249
|
|
|
235
250
|
**Do NOT read `phase-2-orchestrator.md`. All routing logic is here. Subagents read their own docs.**
|
|
236
251
|
|
|
237
252
|
1. **PRE-CHECK**: Read `IMPLEMENTATION_HISTORY.md` (already in context). Verify `pass1/_index.md` exists.
|
|
238
|
-
2. **NORMALIZE**: Check `pass1/design_context_response.json`
|
|
239
|
-
3. **REGISTRY_LOOKUP**: `cd {repos.common.path} && .build/debug/FigmaRegistryUtility utility-lookup --node-id '{nodeId}'`
|
|
253
|
+
2. **NORMALIZE**: Check `pass1/design_context_response.json` - if `sublayers: true` and no `response` field, concatenate `responses` values into `response` field and write back.
|
|
254
|
+
3. **REGISTRY_LOOKUP**: `cd {repos.common.path} && .build/debug/FigmaRegistryUtility utility-lookup --node-id '{nodeId}'` - pass result as `registryData` context to subagents.
|
|
240
255
|
4. **Wave 1 (parallel)**: Dispatch 2A + 2B + 2C as subagents (each reads its own instruction doc by path).
|
|
241
256
|
5. **Wave 2**: Dispatch 2D as subagent (depends on 2A output).
|
|
242
257
|
6. **FINALIZE (script)**:
|
|
@@ -250,7 +265,7 @@ After each phase completes, update IMPLEMENTATION_HISTORY.md with phase status,
|
|
|
250
265
|
|
|
251
266
|
---
|
|
252
267
|
|
|
253
|
-
## Phase 3 Routing (inline
|
|
268
|
+
## Phase 3 Routing (inline - do NOT read phase-3-orchestrator.md)
|
|
254
269
|
|
|
255
270
|
**Do NOT read `phase-3-orchestrator.md`. Subagents read their own docs. Scripts handle deterministic phases.**
|
|
256
271
|
|
|
@@ -260,14 +275,14 @@ After each phase completes, update IMPLEMENTATION_HISTORY.md with phase status,
|
|
|
260
275
|
- **Scripts**: `python3 .instructions/figma/figma-to-swiftui/scripts/phase3-scripts.py wave1 --artifact-path '{artifactPath}'` (runs 3B+3E+3F, ~5s)
|
|
261
276
|
- **Subagents**: 3A (`phase-3a-location.md`, sonnet, 20 turns), 3C (`phase-3c-nested.md`, sonnet, 20 turns), 3H (`phase-3h-variant-config.md`, opus, 25 turns)
|
|
262
277
|
4. **MISSING TOKEN RESOLUTION**: After Wave 1, check `pass3/02_token_mapping.md` for missing tokens (lines with "⚠️ not found"). If any exist, dispatch a subagent:
|
|
263
|
-
- **Subagent** (`general-purpose`, opus, 25 turns)
|
|
278
|
+
- **Subagent** (`general-purpose`, opus, 25 turns) - reads `reference/missing-tokens.md` for procedure, resolves each missing token by:
|
|
264
279
|
- **Typography**: Adding alias entries to `typography-registry.json` (match font size + weight to existing Swift tokens)
|
|
265
280
|
- **Colors**: Adding to `Shared/UIAssets/Colors/*.json` (source), running `swift package plugin --allow-writing-to-package-directory generate-ui-assets`, adding to `ui-token-index.json`
|
|
266
281
|
- **Variables**: Using `FigmaRegistryUtility ui-token-lookup` / `ui-token-index` to verify
|
|
267
282
|
- Pass artifact path and token mapping path as context. Subagent updates token mapping after resolution.
|
|
268
283
|
- If 0 missing tokens, skip this step entirely.
|
|
269
284
|
5. **Wave 2 (parallel)**: Launch simultaneously:
|
|
270
|
-
- **Subagent**: 3D (`phase-3d-patterns.md`, opus, 30 turns)
|
|
285
|
+
- **Subagent**: 3D (`phase-3d-patterns.md`, opus, 30 turns) - reads 3H output (`pass3/04c_variant_config_analysis.json`)
|
|
271
286
|
6. **Wave 3**: `python3 .instructions/figma/figma-to-swiftui/scripts/phase3-scripts.py 3g --artifact-path '{artifactPath}'` (depends on 3D JSON output)
|
|
272
287
|
7. **COLLECT**: Verify 12 artifacts exist in `pass3/` (10 original + 2 from 3H).
|
|
273
288
|
8. **SPEC (script)**: `python3 .instructions/figma/figma-to-swiftui/scripts/phase3-scripts.py spec --artifact-path '{artifactPath}'`
|
|
@@ -276,38 +291,38 @@ After each phase completes, update IMPLEMENTATION_HISTORY.md with phase status,
|
|
|
276
291
|
|
|
277
292
|
---
|
|
278
293
|
|
|
279
|
-
## Phase 4 Routing (inline
|
|
294
|
+
## Phase 4 Routing (inline - do NOT read phase-4-orchestrator.md)
|
|
280
295
|
|
|
281
296
|
**Do NOT read `phase-4-orchestrator.md`. Subagents read their own docs. Orchestrator stays lean.**
|
|
282
297
|
|
|
283
298
|
1. **PRE-CHECK**: Verify `pass3/_index.md` exists.
|
|
284
|
-
2. **LOAD_SPEC**: Read `pass3/07_implementation_spec.md` and `pass3/05_complexity.md`
|
|
299
|
+
2. **LOAD_SPEC**: Read `pass3/07_implementation_spec.md` and `pass3/05_complexity.md` - extract `componentLocation`, `complexity` (SIMPLE/COMPLEX).
|
|
285
300
|
3. **PREPARE_DIRECTORY**: `mkdir -p {componentLocation}`. Get `gitUser` via `git config user.name`. Get `date` in DD.MM.YYYY format.
|
|
286
301
|
4. **Wave 1 (parallel)**: Dispatch subagents:
|
|
287
|
-
- **4A** (`phase-4a-configuration.md`, opus, 30 turns)
|
|
288
|
-
- **4B** (`phase-4b-view.md`, opus, 40 turns)
|
|
289
|
-
- **4C** (`phase-4c-documentation.md`, sonnet, 20 turns)
|
|
290
|
-
- Pass to each: componentName, componentLocation, artifactPath, nodeId, fileKey, complexity, gitUser, date, issueNumber (from IMPLEMENTATION_HISTORY.md `GitHub Issue` field
|
|
302
|
+
- **4A** (`phase-4a-configuration.md`, opus, 30 turns) - **COMPLEX only** (skip if SIMPLE). Writes `{ComponentName}Configuration.swift`.
|
|
303
|
+
- **4B** (`phase-4b-view.md`, opus, 40 turns) - **ALWAYS**. Writes `{ComponentName}.swift`.
|
|
304
|
+
- **4C** (`phase-4c-documentation.md`, sonnet, 20 turns) - **ALWAYS**. Writes `FIGMA.md`.
|
|
305
|
+
- Pass to each: componentName, componentLocation, artifactPath, nodeId, fileKey, complexity, gitUser, date, issueNumber (from IMPLEMENTATION_HISTORY.md `GitHub Issue` field - extract the number after `#`).
|
|
291
306
|
5. **Wave 2 (parallel)**: Dispatch subagents that depend on 4A+4B:
|
|
292
|
-
- **4D** (`phase-4d-preview.md`, sonnet, 20 turns)
|
|
293
|
-
- **4E** (`phase-4e-modifiers.md`, sonnet, 20 turns)
|
|
307
|
+
- **4D** (`phase-4d-preview.md`, sonnet, 20 turns) - appends Preview to `{ComponentName}.swift`.
|
|
308
|
+
- **4E** (`phase-4e-modifiers.md`, sonnet, 20 turns) - **COMPLEX only** (skip if SIMPLE). Writes `{ComponentName}+Modifiers.swift`.
|
|
294
309
|
6. **COLLECT**: Verify `{ComponentName}.swift`, `{ComponentName}Configuration.swift` (if COMPLEX), `{ComponentName}+Modifiers.swift` (if COMPLEX), `FIGMA.md` exist.
|
|
295
|
-
7. **VALIDATE**: `bash .instructions/figma/figma-to-swiftui/scripts/validate-phase4.sh "{componentLocation}" "{ComponentName}" "{artifactPath}/pass3/00_property_coverage.json"`
|
|
296
|
-
8. **BUILD**: `xcodebuild build -project "$(git rev-parse --show-toplevel)/{build.xcodeproj}" -scheme {build.scheme} -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO -quiet`
|
|
310
|
+
7. **VALIDATE**: `bash .instructions/figma/figma-to-swiftui/scripts/validate-phase4.sh "{componentLocation}" "{ComponentName}" "{artifactPath}/pass3/00_property_coverage.json"` - fix violations if any.
|
|
311
|
+
8. **BUILD**: `xcodebuild build -project "$(git rev-parse --show-toplevel)/{build.xcodeproj}" -scheme {build.scheme} -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO -quiet` - fix compilation errors if any.
|
|
297
312
|
9. **UPDATE HISTORY**: Append Phase 4 summary.
|
|
298
313
|
|
|
299
314
|
---
|
|
300
315
|
|
|
301
|
-
## Phase 5 Routing (inline
|
|
316
|
+
## Phase 5 Routing (inline - do NOT read phase-5-orchestrator.md)
|
|
302
317
|
|
|
303
318
|
**Do NOT read `phase-5-orchestrator.md`. Subagents read their own docs.**
|
|
304
319
|
|
|
305
320
|
1. **PRE-CHECK**: Verify Phase 4 complete (component Swift file exists at `{componentLocation}`).
|
|
306
321
|
2. **Wave 1 (parallel)**: Dispatch subagents:
|
|
307
|
-
- **5A** (`phase-5a-viewinspector.md`, sonnet, 40 turns)
|
|
308
|
-
- **5B** (`phase-5b-snapshot.md`, sonnet, 40 turns)
|
|
309
|
-
3. **Wave 2 (conditional)**: **5C** (`phase-5c-unit.md`, sonnet, 30 turns)
|
|
310
|
-
4. **TEST EXECUTION**: Run all tests via script
|
|
322
|
+
- **5A** (`phase-5a-viewinspector.md`, sonnet, 40 turns) - ViewInspector structure + accessibility tests.
|
|
323
|
+
- **5B** (`phase-5b-snapshot.md`, sonnet, 40 turns) - Snapshot tests for all Figma variants.
|
|
324
|
+
3. **Wave 2 (conditional)**: **5C** (`phase-5c-unit.md`, sonnet, 30 turns) - Unit tests. Only if component has ViewModel/model logic. N/A for pure View + Configuration.
|
|
325
|
+
4. **TEST EXECUTION**: Run all tests via script - sequentially, NOT parallel (shared DerivedData lock):
|
|
311
326
|
a. **Switch to local common dependency**: In `{repos.components.path}/Package.swift`, comment out the `.package(url: "...{project.slug}-common...", ...)` line and add `.package(path: "../{project.slug}-common"),` below it. This is needed because the SPM package resolves dependencies from remote git, but Phase 2 adds identifiers/keys to the local editable copy.
|
|
312
327
|
b. **Run tests**:
|
|
313
328
|
```bash
|
|
@@ -323,7 +338,7 @@ After each phase completes, update IMPLEMENTATION_HISTORY.md with phase status,
|
|
|
323
338
|
|
|
324
339
|
## Phase 6 Routing
|
|
325
340
|
|
|
326
|
-
Phase 6 is dispatched as a single subagent. After the subagent returns COMPLETE, run the finalization script as a safety net (idempotent
|
|
341
|
+
Phase 6 is dispatched as a single subagent. After the subagent returns COMPLETE, run the finalization script as a safety net (idempotent - safe to run even if the subagent already ran it):
|
|
327
342
|
|
|
328
343
|
```bash
|
|
329
344
|
python3 .instructions/figma/figma-to-swiftui/scripts/phase6-finalize.py \
|
|
@@ -341,24 +356,24 @@ Parse stdout JSON. Verify `"status": "ok"`. Update IMPLEMENTATION_HISTORY.md wit
|
|
|
341
356
|
|
|
342
357
|
When building the `Previous Phase Artifacts` section of the dispatch prompt, list artifacts in this order. Compact artifacts go FIRST so the subagent establishes context before large files consume the context window.
|
|
343
358
|
|
|
344
|
-
Every phase must be independently operable from a clean session
|
|
359
|
+
Every phase must be independently operable from a clean session - all artifacts remain accessible on disk. This table is a **read-ordering preference**, not a prohibition.
|
|
345
360
|
|
|
346
361
|
| Phase | Read FIRST (compact) | Read SECOND (if detail needed) |
|
|
347
362
|
|-------|---------------------|-------------------------------|
|
|
348
363
|
| 2A-2D | `pass1/component_summary.json` | `pass1/design_context_response.json`, `pass1/component_properties.json` |
|
|
349
|
-
| 3A | `pass1/component_summary.json`, `IMPLEMENTATION_HISTORY.md` |
|
|
364
|
+
| 3A | `pass1/component_summary.json`, `IMPLEMENTATION_HISTORY.md` | - |
|
|
350
365
|
| 3B | `pass1/component_summary.json`, `pass1/variable_defs_response.json` | `pass1/design_context_response.json` (for binding context) |
|
|
351
|
-
| 3C | `pass1/component_summary.json`, `pass1/code_connect_map_response.json` |
|
|
366
|
+
| 3C | `pass1/component_summary.json`, `pass1/code_connect_map_response.json` | - |
|
|
352
367
|
| 3D | `pass1/component_summary.json`, `pass1/component_properties.json` | `pass1/design_context_response.json`, `pass1/metadata_response.xml` |
|
|
353
|
-
| 3E | `pass1/component_summary.json`, `pass1/design_context_assets.txt` |
|
|
368
|
+
| 3E | `pass1/component_summary.json`, `pass1/design_context_assets.txt` | - |
|
|
354
369
|
| 3F | `pass1/component_summary.json`, `pass2/utility_*.md` | `pass1/design_context_response.json` |
|
|
355
|
-
| 3G | `pass1/component_summary.json`, `pass3/04b_component_architecture.md` |
|
|
370
|
+
| 3G | `pass1/component_summary.json`, `pass3/04b_component_architecture.md` | - |
|
|
356
371
|
| 4A | `pass3/04b_component_architecture.md`, `pass3/05_complexity.md`, `pass3/00_property_coverage.json` | `pass1/component_summary.json` |
|
|
357
372
|
| 4B | `pass1/component_summary.json`, `pass3/00_property_coverage.json`, `pass3/07_implementation_spec.md`, `pass3/02_token_mapping.md`, `pass3/04b_component_architecture.md`, `pass3/04_patterns.md`, `pass3/03_nested_components.md`, `pass3/08_utility_integration.md`, `pass1/screenshot.png` | `pass1/design_context_response.json` (for complex layout detail) |
|
|
358
373
|
| 4C | `pass3/07_implementation_spec.md`, `pass3/04b_component_architecture.md`, `pass3/00_property_coverage.json` | `pass1/component_summary.json` |
|
|
359
374
|
| 4D | `{componentLocation}/{ComponentName}.swift`, `{componentLocation}/{ComponentName}Configuration.swift` (if exists) | `pass3/04_patterns.md` |
|
|
360
|
-
| 4E | `{componentLocation}/{ComponentName}Configuration.swift`, `{componentLocation}/{ComponentName}.swift` |
|
|
361
|
-
| 6 | `pass1/component_properties.json`, `{sourceLocation}/FIGMA.md`, `{sourceLocation}/{componentName}.swift` |
|
|
375
|
+
| 4E | `{componentLocation}/{ComponentName}Configuration.swift`, `{componentLocation}/{ComponentName}.swift` | - |
|
|
376
|
+
| 6 | `pass1/component_properties.json`, `{sourceLocation}/FIGMA.md`, `{sourceLocation}/{componentName}.swift` | - |
|
|
362
377
|
|
|
363
378
|
---
|
|
364
379
|
|
|
@@ -22,7 +22,7 @@ SUMMARY: {one-line description of what was accomplished}
|
|
|
22
22
|
STATUS: HALT
|
|
23
23
|
PHASE: phase-{N}
|
|
24
24
|
GATE: {gate-id that failed}
|
|
25
|
-
REASON: {exact reason
|
|
25
|
+
REASON: {exact reason - copy from instruction if applicable}
|
|
26
26
|
COMPLETED_GATES: [gates that passed before halt]
|
|
27
27
|
ARTIFACTS_CREATED: [files written before halt, or "none"]
|
|
28
28
|
USER_ACTION_REQUIRED: {what the user must fix before retry}
|
|
@@ -52,6 +52,6 @@ CONTEXT: {relevant data the user needs to make the decision}
|
|
|
52
52
|
2. STOP after outputting the block. Do not call any more tools.
|
|
53
53
|
3. Every gate you pass must appear in GATES_PASSED or COMPLETED_GATES.
|
|
54
54
|
4. Every file you created must appear in ARTIFACTS_CREATED.
|
|
55
|
-
5. Never output a STATUS block mid-execution
|
|
55
|
+
5. Never output a STATUS block mid-execution - only at the very end.
|
|
56
56
|
6. If you encounter multiple failures, report the FIRST one.
|
|
57
57
|
7. If a HALT condition says to check for USER_DECISION in the prompt first, do so before halting.
|