@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,4 +1,4 @@
|
|
|
1
|
-
# figma-android
|
|
1
|
+
# figma-android - Android Platform Skills
|
|
2
2
|
|
|
3
3
|
Platform peer to `pipeline/skills/figma-ios/`.
|
|
4
4
|
|
|
@@ -8,15 +8,15 @@ Platform-specific skills for generating Jetpack Compose components from Figma de
|
|
|
8
8
|
|
|
9
9
|
| Skill | Subphase | Sibling in figma-ios |
|
|
10
10
|
|---|---|---|
|
|
11
|
-
| `figma-to-component` | Orchestrator (3.0
|
|
11
|
+
| `figma-to-component` | Orchestrator (3.0 - 3.8) | `figma-ios/figma-to-component` |
|
|
12
12
|
| `figma-component-implement` | 3.4 (code gen: Compose) | `figma-ios/figma-component-implement` |
|
|
13
13
|
| `figma-component-test` | 3.5 (Compose Testing + Paparazzi) | `figma-ios/figma-component-test` |
|
|
14
14
|
| `figma-component-code-connect` | 3.6 (Code Connect for Compose) | `figma-ios/figma-component-code-connect` |
|
|
15
|
-
| `figma-component-wiki` | 3.7 (wiki
|
|
15
|
+
| `figma-component-wiki` | 3.7 (wiki - platform-aware rendering) | `figma-ios/figma-component-wiki` |
|
|
16
16
|
|
|
17
17
|
## What's NOT here (yet)
|
|
18
18
|
|
|
19
|
-
The platform-**agnostic** skills
|
|
19
|
+
The platform-**agnostic** skills - `figma-commit`, `figma-iterate`, `figma-issue`, `figma-review`, `figma-setup`, `figma-validate`, `figma-utility`, `figma-fix`, `figma-mend`, `figma-ui-patterns`, `figma-remote-mcp-auth`, `figma-cli-*`, `performance-*`, etc. - live under [`pipeline/skills/figma-common/`](../figma-common/) (WS-7b ✓). Both iOS and Android orchestrators dispatch there without duplication.
|
|
20
20
|
|
|
21
21
|
## Routing
|
|
22
22
|
|
|
@@ -33,4 +33,4 @@ Android orchestrator expects `figmaConfig.build.gradleModule` to be set (e.g. `:
|
|
|
33
33
|
|
|
34
34
|
## Status
|
|
35
35
|
|
|
36
|
-
All five skills stamped `status: wip-v5`
|
|
36
|
+
All five skills stamped `status: wip-v5` - contracts + skeleton in place, not yet validated against a real Android project. Fill in the reference implementation detail as a downstream integration lands (follow-up issues will be opened per skill).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figma-component-code-connect
|
|
3
|
-
description: Generate Code Connect for Compose mappings
|
|
3
|
+
description: Generate Code Connect for Compose mappings - {Name}.figma.kt registers the composable with Figma's Code Connect so designers see live code snippets for each variant. Android peer to pipeline/skills/figma-ios/figma-component-code-connect.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: <component-name>
|
|
6
6
|
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
@@ -9,9 +9,9 @@ sourced-from: derived-from/figma-ios/figma-component-code-connect
|
|
|
9
9
|
platform: android
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# figma-component-code-connect
|
|
12
|
+
# figma-component-code-connect - Code Connect for Compose
|
|
13
13
|
|
|
14
|
-
> **WS-7 v5.0.0**
|
|
14
|
+
> **WS-7 v5.0.0** - Subphase 3.6 for Android. Generates `{Name}.figma.kt` so Figma's Dev Mode shows Compose usage for every variant of the component, classified by the Figma variant properties read in subphase 3.1.
|
|
15
15
|
|
|
16
16
|
## Output
|
|
17
17
|
|
|
@@ -9,9 +9,9 @@ sourced-from: derived-from/figma-ios/figma-component-implement
|
|
|
9
9
|
platform: android
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# figma-component-implement
|
|
12
|
+
# figma-component-implement - Compose Code Generation
|
|
13
13
|
|
|
14
|
-
> **WS-7 v5.0.0**
|
|
14
|
+
> **WS-7 v5.0.0** - Called by the Android `figma-to-component` orchestrator during subphase 3.4. Reads `agent-state.json.phases["3"].subphases["3.1-gather"]` for the fetched Figma tree + token map and writes Kotlin + Compose artefacts.
|
|
15
15
|
|
|
16
16
|
## Inputs
|
|
17
17
|
|
|
@@ -37,7 +37,7 @@ Four Kotlin files beside the component's package, plus a README:
|
|
|
37
37
|
|
|
38
38
|
### 1. `{Name}Configuration.kt`
|
|
39
39
|
|
|
40
|
-
Pure data class. Every variable knob lives here
|
|
40
|
+
Pure data class. Every variable knob lives here - the composable itself holds no state beyond its `Configuration` parameter. Marked `@Immutable` so Compose can skip recomposition when the instance is `equals`:
|
|
41
41
|
|
|
42
42
|
```kotlin
|
|
43
43
|
@Immutable
|
|
@@ -53,10 +53,10 @@ data class ButtonPrimaryConfiguration(
|
|
|
53
53
|
|
|
54
54
|
Rules:
|
|
55
55
|
|
|
56
|
-
- `@Immutable` OR `@Stable`
|
|
56
|
+
- `@Immutable` OR `@Stable` - never raw. `@Immutable` when all properties are primitives / immutable; `@Stable` when you guarantee structural stability.
|
|
57
57
|
- Default values for every property so call sites can use `copy()` idiomatically (fluent-API equivalent).
|
|
58
|
-
- Callbacks typed as named function types (`val onClick: () -> Unit = {}`)
|
|
59
|
-
- Enums inside the Configuration's companion or nested scope
|
|
58
|
+
- Callbacks typed as named function types (`val onClick: () -> Unit = {}`) - never `Any?`.
|
|
59
|
+
- Enums inside the Configuration's companion or nested scope - mirrors SwiftUI Configuration style.
|
|
60
60
|
|
|
61
61
|
### 2. `{Name}.kt` (the composable)
|
|
62
62
|
|
|
@@ -84,8 +84,8 @@ Rules:
|
|
|
84
84
|
|
|
85
85
|
- Signature is always `(configuration: XConfiguration, modifier: Modifier = Modifier)`. The `modifier` param is the caller's slot; nothing else.
|
|
86
86
|
- `testTag` from `testingIds`; `contentDescription` from `accessibility.label` or `stringResource(R.string...)`.
|
|
87
|
-
- No hardcoded `dp` / `Color(0xFF...)` / `TextStyle(...)`
|
|
88
|
-
- No `LaunchedEffect` / `rememberCoroutineScope` for stateful behaviour
|
|
87
|
+
- No hardcoded `dp` / `Color(0xFF...)` / `TextStyle(...)` - every value reads from `MaterialTheme.*` or the project's theme extension.
|
|
88
|
+
- No `LaunchedEffect` / `rememberCoroutineScope` for stateful behaviour - keep the composable pure. If async is needed, surface it via Configuration callbacks (the caller orchestrates).
|
|
89
89
|
|
|
90
90
|
### 3. `{Name}Modifiers.kt`
|
|
91
91
|
|
|
@@ -9,9 +9,9 @@ sourced-from: derived-from/figma-ios/figma-component-test
|
|
|
9
9
|
platform: android
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# figma-component-test
|
|
12
|
+
# figma-component-test - Compose Test Suite
|
|
13
13
|
|
|
14
|
-
> **WS-7 v5.0.0**
|
|
14
|
+
> **WS-7 v5.0.0** - Subphase 3.5 for Android. Three-layer test strategy mirroring the iOS peer (ViewInspector → Compose Testing, Snapshot → Paparazzi/Roborazzi, Unit → JUnit).
|
|
15
15
|
|
|
16
16
|
## Three-layer strategy (Android)
|
|
17
17
|
|
|
@@ -62,7 +62,7 @@ class ButtonPrimaryComposeTest {
|
|
|
62
62
|
Rules:
|
|
63
63
|
- Prefer `onNodeWithTag(TestingIdentifiers.buttonPrimary)` over `onNodeWithText` when the text is localised.
|
|
64
64
|
- Every interactive state (enabled, disabled, loading) gets a test.
|
|
65
|
-
- No `Thread.sleep`
|
|
65
|
+
- No `Thread.sleep` - use `composeRule.waitUntil { ... }` or `runTest` for coroutine flows.
|
|
66
66
|
|
|
67
67
|
### 2. `{Name}SnapshotTest.kt` (visual)
|
|
68
68
|
|
|
@@ -113,7 +113,7 @@ Covers: fluent modifier semantics, default values, enum exhaustiveness.
|
|
|
113
113
|
./gradlew :${module}:recordPaparazziDebug
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
On failure
|
|
116
|
+
On failure - up to 3 auto-fix cycles, then halt.
|
|
117
117
|
|
|
118
118
|
## Cross-CLI parity
|
|
119
119
|
|
|
@@ -9,11 +9,11 @@ sourced-from: derived-from/figma-ios/figma-component-wiki
|
|
|
9
9
|
platform: android
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# figma-component-wiki
|
|
12
|
+
# figma-component-wiki - Component Wiki (Android)
|
|
13
13
|
|
|
14
|
-
> **WS-7 v5.0.0**
|
|
14
|
+
> **WS-7 v5.0.0** - Android peer to `pipeline/skills/figma-ios/figma-component-wiki`. Identical dispatch contract (Phase 7 Report Step 2 → `{componentName, componentPath, figmaConfig, agentState}` → `{writtenPaths[], committedSha?, pushedRemote?}`). Identical 4-adapter matrix (submodule / in-repo / github-wiki / separate-repo). Only the markdown rendering differs: reads Kotlin composable signature + sibling `README.md` rather than SwiftUI `+Modifiers.swift` + `FIGMA.md`.
|
|
15
15
|
|
|
16
|
-
See `pipeline/skills/figma-ios/figma-component-wiki/SKILL.md` for the full adapter table and dispatch contract
|
|
16
|
+
See `pipeline/skills/figma-ios/figma-component-wiki/SKILL.md` for the full adapter table and dispatch contract - shared verbatim.
|
|
17
17
|
|
|
18
18
|
## Android-specific rendering notes
|
|
19
19
|
|
|
@@ -28,8 +28,8 @@ See `pipeline/skills/figma-ios/figma-component-wiki/SKILL.md` for the full adapt
|
|
|
28
28
|
|
|
29
29
|
## Python helpers
|
|
30
30
|
|
|
31
|
-
Shared with the iOS peer
|
|
31
|
+
Shared with the iOS peer - same `pipeline/scripts/wiki/sidebar-generator.py` and `pipeline/scripts/wiki/status-page.py` land in WS-5b. The helpers are platform-agnostic (they read component markdown files, not Swift or Kotlin sources).
|
|
32
32
|
|
|
33
33
|
## Cross-CLI parity
|
|
34
34
|
|
|
35
|
-
Byte-identical progress lines, identical adapter dispatch, identical return schema. Wiki layout convergence across iOS and Android is an explicit goal
|
|
35
|
+
Byte-identical progress lines, identical adapter dispatch, identical return schema. Wiki layout convergence across iOS and Android is an explicit goal - the same `/components/{Category}/{Name}.md` path structure on every project regardless of platform.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figma-to-component
|
|
3
|
-
description: Figma-to-Compose component implementation workflow for Android. Takes a Figma URL and produces a production-ready Jetpack Compose component through the same 8-phase pipeline shape as the iOS peer
|
|
3
|
+
description: Figma-to-Compose component implementation workflow for Android. Takes a Figma URL and produces a production-ready Jetpack Compose component through the same 8-phase pipeline shape as the iOS peer - data gathering, analysis, code generation, testing, Code Connect, 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
|
|
@@ -9,9 +9,9 @@ sourced-from: derived-from/figma-ios/figma-to-component
|
|
|
9
9
|
platform: android
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# figma-to-component
|
|
12
|
+
# figma-to-component - Android Orchestrator
|
|
13
13
|
|
|
14
|
-
> **WS-7 v5.0.0**
|
|
14
|
+
> **WS-7 v5.0.0** - Platform peer to `pipeline/skills/figma-ios/figma-to-component`. Same 8-phase shape; platform-specific phases (3-Token Mapping, 4-Code Gen, 5-Tests, 6-Code Connect) target Kotlin / Jetpack Compose / Paparazzi / Code Connect for Compose. Common phases (0-Init, 1-Gather, 2A-2D utilities, 7-Wiki, 8-Cleanup) share logic with the iOS peer - implementations stay in this skill for now; a `figma-common/` refactor lands in WS-7b.
|
|
15
15
|
|
|
16
16
|
## Dispatch entry
|
|
17
17
|
|
|
@@ -38,20 +38,20 @@ Called from multi-agent Phase 3 when `state.taskType === "component"` AND `figma
|
|
|
38
38
|
| 3.0 | Init | no | Node-id parse, registry lookup, worktree confirm |
|
|
39
39
|
| 3.1 | Gather | no | Figma API/MCP fetch, design tokens, properties |
|
|
40
40
|
| 3.2a | Testing identifiers | no | Platform-agnostic semantic IDs (shared with iOS) |
|
|
41
|
-
| 3.2b | Localization | no | Shared strings
|
|
42
|
-
| 3.2c | Accessibility | partial | `contentDescription` / `Role` / `semantics {}` vs SwiftUI's `.accessibility*`
|
|
41
|
+
| 3.2b | Localization | no | Shared strings - lands in `{repos.common}` |
|
|
42
|
+
| 3.2c | Accessibility | partial | `contentDescription` / `Role` / `semantics {}` vs SwiftUI's `.accessibility*` - the generator knows both |
|
|
43
43
|
| 3.2d | Analytics | no | Shared analytics keys |
|
|
44
44
|
| 3.3 | Token Mapping | **yes** | Maps Figma tokens → MaterialTheme dimensions / colorScheme / typography; outputs a per-project `DesignTokens.kt` if missing |
|
|
45
|
-
| 3.4a | Configuration | **yes** | `{Name}Configuration.kt`
|
|
46
|
-
| 3.4b | View | **yes** | `{Name}Screen.kt` or `{Name}.kt`
|
|
45
|
+
| 3.4a | Configuration | **yes** | `{Name}Configuration.kt` - data class with all properties, marked `@Immutable`/`@Stable` for Compose skippability |
|
|
46
|
+
| 3.4b | View | **yes** | `{Name}Screen.kt` or `{Name}.kt` - `@Composable fun {Name}(configuration: {Name}Configuration, modifier: Modifier = Modifier)` |
|
|
47
47
|
| 3.4c | Docs | no | `README.md` next to the composable |
|
|
48
48
|
| 3.4d | Preview | **yes** | `@Preview` functions covering variants (device, darkMode, RTL, fontScale) |
|
|
49
|
-
| 3.4e | Modifiers | **yes** | Kotlin extension functions on `Modifier` or on the Configuration type
|
|
49
|
+
| 3.4e | Modifiers | **yes** | Kotlin extension functions on `Modifier` or on the Configuration type - the fluent API the iOS peer expresses as `+Modifiers.swift` |
|
|
50
50
|
| 3.5a | Structural tests | **yes** | `createComposeRule()` + semantic matchers (`onNodeWithText`, `onNodeWithTag`, `onNodeWithContentDescription`) |
|
|
51
51
|
| 3.5b | Snapshot | **yes** | Paparazzi or Roborazzi snapshot tests covering light/dark, LTR/RTL, Dynamic Font Scale |
|
|
52
52
|
| 3.5c | Unit | yes (opt) | Logic-only unit tests; `--dev` may elide |
|
|
53
|
-
| 3.6 | Code Connect | **yes** | Code Connect for Compose
|
|
54
|
-
| 3.7 | Wiki | no | Delegates to `figma-component-wiki`
|
|
53
|
+
| 3.6 | Code Connect | **yes** | Code Connect for Compose - `{Name}.figma.kt` with `@FigmaConnect` variant mappings |
|
|
54
|
+
| 3.7 | Wiki | no | Delegates to `figma-component-wiki` - same 4-mode adapter as iOS |
|
|
55
55
|
| 3.8 | Cleanup | no | Artifact pruning, state finalize |
|
|
56
56
|
|
|
57
57
|
## Delegation graph
|
|
@@ -61,10 +61,10 @@ figma-to-component (this skill)
|
|
|
61
61
|
├─ phase 3.4 (code gen) → figma-component-implement (Android peer)
|
|
62
62
|
├─ phase 3.5 (tests) → figma-component-test (Android peer)
|
|
63
63
|
├─ phase 3.6 (code connect) → figma-component-code-connect (Android peer)
|
|
64
|
-
└─ phase 3.7 (wiki) → figma-component-wiki (Android peer
|
|
64
|
+
└─ phase 3.7 (wiki) → figma-component-wiki (Android peer - mode-aware adapter)
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
The platform-agnostic subphases (3.0
|
|
67
|
+
The platform-agnostic subphases (3.0-3.3, 3.2a-d, 3.8) use the same logic as the iOS orchestrator - they read `figmaConfig` + Figma API results and write registry entries that don't care about language target. WS-7b extracts those to `pipeline/skills/figma-common/` so both platforms import rather than duplicate.
|
|
68
68
|
|
|
69
69
|
## Build target resolution
|
|
70
70
|
|
|
@@ -89,7 +89,7 @@ If `build.gradleModule` is missing, halt with a clear "configure `figmaConfig.bu
|
|
|
89
89
|
|
|
90
90
|
## Component output locations
|
|
91
91
|
|
|
92
|
-
Default layout
|
|
92
|
+
Default layout - override per project via `figmaConfig.repos` and `figmaConfig.artifactBasePath`:
|
|
93
93
|
|
|
94
94
|
| Artifact | Path |
|
|
95
95
|
|---|---|
|
|
@@ -99,7 +99,7 @@ Default layout — override per project via `figmaConfig.repos` and `figmaConfig
|
|
|
99
99
|
| Instrumented/Compose tests | `{repos.components.path}/src/androidTest/java/.../components/{Category}/{Name}ComposeTest.kt` |
|
|
100
100
|
| Snapshot tests | Beside Compose tests, using Paparazzi's `@get:Rule val paparazzi = Paparazzi(...)` |
|
|
101
101
|
| Code Connect | `{repos.components.path}/src/main/java/.../components/{Category}/{Name}/{Name}.figma.kt` |
|
|
102
|
-
| Component artifacts | `{artifactBasePath}/{Category}/{Name}/` (screenshots, specs
|
|
102
|
+
| Component artifacts | `{artifactBasePath}/{Category}/{Name}/` (screenshots, specs - platform-agnostic) |
|
|
103
103
|
|
|
104
104
|
## Design token conventions
|
|
105
105
|
|
|
@@ -1,42 +1,49 @@
|
|
|
1
|
-
# figma-common
|
|
1
|
+
# figma-common - Platform-agnostic figma-to-component skills
|
|
2
2
|
|
|
3
3
|
Shared skills that both `pipeline/skills/figma-ios/` (SwiftUI) and `pipeline/skills/figma-android/` (Jetpack Compose) dispatch. Moved here by WS-7b of the v5.0.0 rebuild so the platform trees stay lean and there's no duplication.
|
|
4
4
|
|
|
5
|
-
## What lives here (
|
|
5
|
+
## What lives here (31 skills)
|
|
6
6
|
|
|
7
7
|
**Workflow orchestration:**
|
|
8
8
|
|
|
9
|
-
- `figma-component-start`
|
|
10
|
-
- `figma-component-confluence-sync`
|
|
11
|
-
- `figma-component-status-update`
|
|
12
|
-
- `figma-commit`
|
|
13
|
-
- `figma-iteration-commit`
|
|
9
|
+
- `figma-component-start` - Issue → branches, check out worktree
|
|
10
|
+
- `figma-component-confluence-sync` - Phase 7b: wiki markdown → Confluence XHTML
|
|
11
|
+
- `figma-component-status-update` - Refresh Confluence dashboard
|
|
12
|
+
- `figma-commit` - 14-item review + PR creation
|
|
13
|
+
- `figma-iteration-commit` - Commit to iteration/develop + PR
|
|
14
14
|
|
|
15
15
|
**Batch + iterate:**
|
|
16
16
|
|
|
17
|
-
- `figma-iterate`
|
|
18
|
-
- `figma-cli-iterate`
|
|
19
|
-
- `figma-cli-lean-iterate`
|
|
20
|
-
- `figma-cli-iterate-mend`
|
|
21
|
-
- `figma-cli-skip`
|
|
22
|
-
- `figma-skip`
|
|
17
|
+
- `figma-iterate` - Auto loop: pick → implement → commit
|
|
18
|
+
- `figma-cli-iterate` - Full CLI iterate (all phases)
|
|
19
|
+
- `figma-cli-lean-iterate` - Iterate skipping test + wiki
|
|
20
|
+
- `figma-cli-iterate-mend` - Re-implement discarded components
|
|
21
|
+
- `figma-cli-skip` - Mark component as skipped
|
|
22
|
+
- `figma-skip` - Skip + update Confluence dashboard
|
|
23
23
|
|
|
24
24
|
**Issue + review:**
|
|
25
25
|
|
|
26
|
-
- `figma-issue`
|
|
27
|
-
- `figma-review`
|
|
28
|
-
- `figma-validate`
|
|
29
|
-
- `figma-fix`
|
|
30
|
-
- `figma-mend`
|
|
26
|
+
- `figma-issue` - Create GitHub issue + optional Jira (feeds WS-6 triad)
|
|
27
|
+
- `figma-review` - Interactive review gate (approve / bug / skip)
|
|
28
|
+
- `figma-validate` - Pre-implementation validation
|
|
29
|
+
- `figma-fix` - Targeted bug fix from review findings
|
|
30
|
+
- `figma-mend` - Re-implement component from scratch
|
|
31
|
+
- `figma-evolve-component` - Reconcile drift + additively extend an existing component (human-gated)
|
|
31
32
|
|
|
32
33
|
**Setup + utility:**
|
|
33
34
|
|
|
34
|
-
- `figma-setup`
|
|
35
|
-
- `figma-remote-mcp-auth`
|
|
36
|
-
- `figma-utility`
|
|
37
|
-
- `figma-ui-patterns`
|
|
38
|
-
- `figma-form-integration`
|
|
39
|
-
- `figma-price-integration`
|
|
35
|
+
- `figma-setup` - Environment setup wizard (MCP, tokens, Code Connect CLI)
|
|
36
|
+
- `figma-remote-mcp-auth` - Figma MCP OAuth flow
|
|
37
|
+
- `figma-utility` - Figma data fetch (screenshots, metadata)
|
|
38
|
+
- `figma-ui-patterns` - UI pattern library index
|
|
39
|
+
- `figma-form-integration` - Form protocol adapter (shared UX)
|
|
40
|
+
- `figma-price-integration` - Price protocol adapter (shared UX)
|
|
41
|
+
|
|
42
|
+
**Cross-cutting interaction adapters (native-SwiftUI-first; project system via `figma-config` `ui.*`):**
|
|
43
|
+
|
|
44
|
+
- `figma-navigation` - Navigation pattern: headless Output vs self-route; native `NavigationStack` or `ui.navigationSystem`
|
|
45
|
+
- `figma-overlays` - Overlay pattern: toast/HUD/alert/data-modal; native `.alert`/`.sheet(item:)` or `ui.overlaySystem`
|
|
46
|
+
- `figma-bottom-sheets` - Bottom-sheet/detent pattern: native `.presentationDetents` or `ui.sheetSystem`
|
|
40
47
|
|
|
41
48
|
**Performance batch:**
|
|
42
49
|
|
|
@@ -46,12 +53,12 @@ Shared skills that both `pipeline/skills/figma-ios/` (SwiftUI) and `pipeline/ski
|
|
|
46
53
|
|
|
47
54
|
Platform-specific skills stay under `figma-ios/` or `figma-android/`:
|
|
48
55
|
|
|
49
|
-
- `figma-to-component`
|
|
50
|
-
- `figma-component-implement`
|
|
51
|
-
- `figma-component-test`
|
|
52
|
-
- `figma-component-code-connect`
|
|
53
|
-
- `figma-component-wiki`
|
|
56
|
+
- `figma-to-component` - orchestrator (platform-specific build command)
|
|
57
|
+
- `figma-component-implement` - Swift / Kotlin code generator
|
|
58
|
+
- `figma-component-test` - SwiftUI ViewInspector / Compose Testing
|
|
59
|
+
- `figma-component-code-connect` - Swift / Kotlin Code Connect
|
|
60
|
+
- `figma-component-wiki` - same 4-adapter contract, but platform-aware rendering
|
|
54
61
|
|
|
55
62
|
## Invocation
|
|
56
63
|
|
|
57
|
-
Both platforms' orchestrators call the same common skill paths
|
|
64
|
+
Both platforms' orchestrators call the same common skill paths - no CLI or platform routing needed. The cross-CLI contract (`refs/cross-cli-contract.md` section 1.1) enforces the inventory.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: figma-bottom-sheets
|
|
3
|
+
description: "Bottom-sheet / detent pattern integration for Figma-to-SwiftUI components — half-sheets, drawers, pinned bottom CTAs, resizable pull-up panels, content-sized sheets, and multi-step in-sheet flows. Native SwiftUI (.sheet + presentationDetents/dragIndicator/backgroundInteraction) by default; an optional project-supplied detent-sheet system when figma-config declares one. Reach for this when a design shows a bottom sheet, half-sheet, bottom drawer, snap points, a sticky footer button, or a wizard-in-a-sheet."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools: Read, Glob, Grep
|
|
6
|
+
status: wip-v5
|
|
7
|
+
sourced-from: upstream/figma-bottom-sheets
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /figma-bottom-sheets - Bottom-Sheet / Detent Pattern Integration
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Consumed by the figma-to-swiftui pipeline (Phase 3D detection, Phase 4B view) and available ad-hoc, this skill defines how **bottom-anchored, detent-based surfaces** are presented. Sibling of `/figma-overlays` (transient/blocking overlays) and `/figma-navigation` (routing): native-SwiftUI default + a config-driven hook for projects that ship a custom detent-sheet engine.
|
|
15
|
+
|
|
16
|
+
**Generic by design.** Default is stock SwiftUI `.sheet` + `.presentationDetents`. If `figma-config.json` declares `ui.sheetSystem`, route through that engine by name - same rules, project vocabulary. (Some apps replace system sheets because iOS 26 forces a Liquid-Glass floating inset on partial detents with no removal API; that replacement is the custom-system case, not the default.)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Strict Rules (non-negotiable)
|
|
21
|
+
|
|
22
|
+
1. **The sheet surface is a caller concern; the component is the content.** A reusable component authored from Figma is the sheet's **content**, not the presenter. The caller owns the `isPresented`/`item` binding and the detents. A component that presents itself can't be reused elsewhere.
|
|
23
|
+
2. **No magic numbers.** Detents, corner radius, grabber size, insets come from tokens / figma-config token patterns, never hard-coded literals.
|
|
24
|
+
3. **Detents ascend, max 3.** Pass `[detent]` lowest→highest; the sheet opens at the lowest. Prefer semantic detents (`.medium`, `.large`, `.fraction`, content-height) over pixel heights where possible.
|
|
25
|
+
4. **A bottom sheet is not a modal card and not a navigation push.** Data alert/modal card → `/figma-overlays`; screen routing → `/figma-navigation` (a routed modal may still *render* as a sheet, but navigation owns the routing).
|
|
26
|
+
5. **Native SwiftUI is the default; a custom sheet engine is opt-in via config.** Only use a project detent-sheet system when `ui.sheetSystem.mode == "custom"`.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## When to Invoke This Skill
|
|
31
|
+
|
|
32
|
+
1. **Phase 3D - sheet affordance/pattern:** the design is (or contains) a bottom sheet / half-sheet / drawer, a **pinned bottom CTA** bar, a resizable pull-up panel, a **content-sized** sheet, or a **multi-step** in-sheet flow (in-sheet back/next that resizes per step).
|
|
33
|
+
2. **Phase 4B - View:** the view is authored as sheet content, or presents a child as a sheet.
|
|
34
|
+
3. **Ad-hoc:** "half sheet", "bottom drawer", "pull-up panel", "snap points", "sticky footer button", "multi-step sheet", "sheet sized to its content".
|
|
35
|
+
|
|
36
|
+
**Not a bottom sheet (guards):**
|
|
37
|
+
- Toast / HUD / alert / data modal card → `/figma-overlays`.
|
|
38
|
+
- Full screen navigation / tab / deep link → `/figma-navigation`.
|
|
39
|
+
- An inline expandable section within the page flow (not an anchored surface) → plain component content.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Native-first architecture (default)
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Caller
|
|
47
|
+
| owns isPresented / item + detents; presents the component as content
|
|
48
|
+
v
|
|
49
|
+
.sheet(item:/isPresented:) {
|
|
50
|
+
ComponentContent() // the Figma-authored component
|
|
51
|
+
.presentationDetents([.medium, .large])
|
|
52
|
+
.presentationDragIndicator(.visible)
|
|
53
|
+
.presentationBackgroundInteraction(.enabled(upThrough: .medium)) // passthrough-ish
|
|
54
|
+
.presentationCornerRadius(<token>)
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
- **Half / expandable:** `.presentationDetents([.medium, .large])` or `[.fraction(0.25), .fraction(0.6), .large]`.
|
|
59
|
+
- **Content-sized:** `.presentationDetents([.height(measuredHeight)])` using a height read via a preference key (a `sizeThatFits`/`GeometryReader` measured content height), then scroll past the cap.
|
|
60
|
+
- **Pinned bottom CTA (part of the screen, not a modal):** `.safeAreaInset(edge: .bottom) { CTA() }` - reserves space, screen stays interactive. This is NOT a presented sheet.
|
|
61
|
+
- **Backdrop behavior:** dim+block is the `.sheet` default; passthrough/interactive-behind uses `.presentationBackgroundInteraction(.enabled(...))`.
|
|
62
|
+
- **Multi-step in-sheet flow:** drive a `NavigationStack(path:)` *inside* the sheet content for push/pop, resizing detents per step; each step is a headless view emitting `Output` (see `/figma-navigation`). If the target project's custom engine forbids a nested `NavigationStack`, use its engine (config hook).
|
|
63
|
+
- **Overlays over a sheet:** mount the toast/HUD host on the sheet content (`/figma-overlays`), not the root.
|
|
64
|
+
|
|
65
|
+
Tokens per `reference/ui` + figma-config token patterns.
|
|
66
|
+
|
|
67
|
+
## Config hook - project-supplied detent-sheet engine
|
|
68
|
+
|
|
69
|
+
When `figma-config.json` declares:
|
|
70
|
+
```jsonc
|
|
71
|
+
"ui": { "sheetSystem": {
|
|
72
|
+
"mode": "custom",
|
|
73
|
+
"brandedModifier": "bottomSheet", // .bottomSheet(isPresented:title:) branded entry
|
|
74
|
+
"headlessModifiers": ["modalSheet", "dockedSheet", "expandableSheet", "detentNavigationSheet"],
|
|
75
|
+
"detentType": "SheetDetentType", // detent enum
|
|
76
|
+
"backdropType": "Backdrop", // backdrop enum
|
|
77
|
+
"cornerRadiusToken": ".Radius.n12" // branded top-corner token
|
|
78
|
+
}}
|
|
79
|
+
```
|
|
80
|
+
apply the SAME rules via the project's engine (names from config, do NOT hardcode):
|
|
81
|
+
- Use `.{brandedModifier}` for product sheets needing brand chrome; the headless modifiers for unbranded surfaces / CTAs / resizable panels / multi-step flows.
|
|
82
|
+
- Detents/backdrops use `{detentType}`/`{backdropType}` values; corner radius from `{cornerRadiusToken}`.
|
|
83
|
+
- Multi-step flows use the engine's navigation sheet (e.g. `detentNavigationSheet` with a `Navigator<Route>`) rather than a raw nested `NavigationStack`.
|
|
84
|
+
- One container-owned grabber (pass custom headers grabberless if the engine draws the grabber).
|
|
85
|
+
- Present only from the surface's own host - never walk the scene/window hierarchy for a "top" controller.
|
|
86
|
+
|
|
87
|
+
If `mode` is absent or `native`, use the native-first section.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Integration with Phase 3D
|
|
92
|
+
|
|
93
|
+
Record in `04b_component_architecture.md`:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## Bottom Sheet
|
|
97
|
+
| Signal | Surface | Detents | Owner |
|
|
98
|
+
|---|---|---|---|
|
|
99
|
+
| Half-sheet picker | presented sheet | [.medium, .large] | caller owns isPresented |
|
|
100
|
+
| Sticky "Devam Et" bar | pinned bottom CTA | n/a (safeAreaInset) | part of screen |
|
|
101
|
+
| 3-step add flow | multi-step in-sheet | per-step (content height) | caller drives path |
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Property classification addition:
|
|
105
|
+
|
|
106
|
+
| Classification | When | Swift Pattern |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| Sheet content | Component is authored to live inside a sheet | plain component; caller adds `.presentationDetents(...)` |
|
|
109
|
+
| Present-child-as-sheet | Component reveals a child surface | caller-owned `isPresented`/`item` + `.sheet` (component emits the trigger intent) |
|
|
110
|
+
| Pinned CTA | Sticky bottom action bar | `.safeAreaInset(edge:.bottom)` at the screen, not a modal |
|
|
111
|
+
|
|
112
|
+
## Integration with Phase 4B
|
|
113
|
+
- Author the component as sheet **content**; let the caller own presentation + detents.
|
|
114
|
+
- Prefer semantic detents; content-sized sheets measure height via a preference key.
|
|
115
|
+
- Pinned CTA = `.safeAreaInset(edge:.bottom)`, not a presented sheet.
|
|
116
|
+
- Multi-step flow = `NavigationStack` inside the sheet (native) or the engine's nav sheet (custom).
|
|
117
|
+
- If `ui.sheetSystem.mode == custom`, use `{brandedModifier}`/headless modifiers + `{detentType}`/`{backdropType}` per config.
|
|
118
|
+
- Verify on the simulator across detents, backdrop, and drag/dismiss on the project's min + current iOS.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## When NOT to Use Bottom-Sheet Integration
|
|
123
|
+
- Toast/HUD/alert/data modal card → `/figma-overlays`.
|
|
124
|
+
- Screen routing/tabs/deep links → `/figma-navigation`.
|
|
125
|
+
- An inline expandable/disclosure within page flow → plain component content.
|
|
126
|
+
|
|
127
|
+
## Checklist - Before Leaving the Skill
|
|
128
|
+
```
|
|
129
|
+
[ ] Component is sheet CONTENT; caller owns isPresented/item + detents
|
|
130
|
+
[ ] Detents ascend, max 3; semantic detents preferred; no magic-number heights
|
|
131
|
+
[ ] Pinned CTA uses safeAreaInset(edge:.bottom), not a presented sheet
|
|
132
|
+
[ ] Content-sized sheet measures height via preference key, then scrolls
|
|
133
|
+
[ ] Multi-step flow uses NavigationStack-in-sheet (native) or engine nav sheet (custom)
|
|
134
|
+
[ ] Corner radius / grabber / insets from tokens, not literals
|
|
135
|
+
[ ] Default native SwiftUI; custom engine only when figma-config ui.sheetSystem.mode == custom
|
|
136
|
+
[ ] Overlays over the sheet mount on the sheet content surface
|
|
137
|
+
```
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: figma-cli-iterate
|
|
3
|
+
description: Runs the complete Figma-to-SwiftUI pipeline for one or more issues: pick → start → implement (phases 0-7) → commit. Returns a structured `ORCHESTRATOR_RESULT` block that the CLI orchestrator can parse.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /figma-cli-iterate - Full Pipeline Orchestrator for CLI
|
|
2
7
|
|
|
3
8
|
## Purpose
|
|
4
9
|
|
|
5
10
|
Runs the complete Figma-to-SwiftUI pipeline for one or more issues: pick → start → implement (phases 0-7) → commit. Returns a structured `ORCHESTRATOR_RESULT` block that the CLI orchestrator can parse.
|
|
6
11
|
|
|
7
|
-
This skill IS the orchestrator. It dispatches **only leaf-phase subagents**
|
|
12
|
+
This skill IS the orchestrator. It dispatches **only leaf-phase subagents** - individual phase instruction files that read one doc, execute gates, and return. It never delegates to multi-phase meta-skills.
|
|
8
13
|
|
|
9
14
|
## Forbidden Dispatches
|
|
10
15
|
|
|
11
|
-
**NEVER dispatch these as subagents
|
|
16
|
+
**NEVER dispatch these as subagents - they are orchestrators that would try to dispatch further:**
|
|
12
17
|
|
|
13
18
|
- `/figma-to-swift-ui-implement` (Phases 0-4)
|
|
14
19
|
- `/figma-to-swift-ui-test` (Phase 5)
|
|
@@ -43,7 +48,7 @@ SCRIPT_DIR = .instructions/figma/figma-to-swiftui/scripts
|
|
|
43
48
|
|
|
44
49
|
---
|
|
45
50
|
|
|
46
|
-
## STEP 0
|
|
51
|
+
## STEP 0 - Pick Issue
|
|
47
52
|
|
|
48
53
|
Same logic as `/figma-iterate` STEP 0. Read `.instructions/figma/figma-iterate/SKILL.md` STEP 0 for details.
|
|
49
54
|
|
|
@@ -51,7 +56,7 @@ Extract from issue body: `componentName`, `figmaUrl`, `nodeId`, `jiraKey`, `regi
|
|
|
51
56
|
|
|
52
57
|
---
|
|
53
58
|
|
|
54
|
-
## STEP 1
|
|
59
|
+
## STEP 1 - Start
|
|
55
60
|
|
|
56
61
|
Run inline (not as a skill). Read `.instructions/figma/figma-to-swift-ui-start/SKILL.md` for the full procedure:
|
|
57
62
|
|
|
@@ -61,7 +66,7 @@ Run inline (not as a skill). Read `.instructions/figma/figma-to-swift-ui-start/S
|
|
|
61
66
|
4. Registry lookup → `componentLocation`, `artifactPath`
|
|
62
67
|
5. Save specs artifact if acceptance criteria exist
|
|
63
68
|
6. Assign (GitHub + Jira)
|
|
64
|
-
7. **Move GitHub issue to "In Develop" on the Projects V2 board**
|
|
69
|
+
7. **Move GitHub issue to "In Develop" on the Projects V2 board** - required. Read STEP 5 of the start skill. Run both GraphQL mutations: set Status option `bc6c45f7` (In Develop) and Phase option `0577dcda` (Implementation). Do NOT skip this - new issues are created with Status=Todo, so this transition is how the board reflects "someone is working on it".
|
|
65
70
|
|
|
66
71
|
---
|
|
67
72
|
|
|
@@ -74,7 +79,7 @@ These 6 rules govern orchestrator behavior. Violations have caused repeated fail
|
|
|
74
79
|
|
|
75
80
|
---
|
|
76
81
|
|
|
77
|
-
## STEP 2
|
|
82
|
+
## STEP 2 - Implement (Phases 0-7)
|
|
78
83
|
|
|
79
84
|
This is the core orchestration. Run each phase by dispatching leaf subagents and scripts.
|
|
80
85
|
|
|
@@ -83,7 +88,7 @@ This is the core orchestration. Run each phase by dispatching leaf subagents and
|
|
|
83
88
|
Before dispatching any Phase 4+ subagent, check if `{artifactPath}/pass0/specs.md` exists. If it does:
|
|
84
89
|
1. Read the specs
|
|
85
90
|
2. Extract concrete requirements
|
|
86
|
-
3. Inject them as **CRITICAL SPEC GATES** in the subagent dispatch prompt
|
|
91
|
+
3. Inject them as **CRITICAL SPEC GATES** in the subagent dispatch prompt - NOT as a sidecar "also read this file" instruction
|
|
87
92
|
|
|
88
93
|
This ensures spec requirements become indistinguishable from standard gates.
|
|
89
94
|
|
|
@@ -130,7 +135,7 @@ You are executing {Phase Name} of the Figma-to-SwiftUI workflow.
|
|
|
130
135
|
- GitHub Issue: {issueNumber} (omit if not available)
|
|
131
136
|
|
|
132
137
|
## CRITICAL SPEC GATES (only if specs exist)
|
|
133
|
-
{Concrete requirements extracted from specs
|
|
138
|
+
{Concrete requirements extracted from specs - phrased as mandatory instructions, not a file reference}
|
|
134
139
|
|
|
135
140
|
## Tool Restrictions
|
|
136
141
|
{from dispatch table}
|
|
@@ -146,7 +151,7 @@ Read the return protocol from:
|
|
|
146
151
|
{relevant reference files from the read-order table in figma-to-swiftui/SKILL.md}
|
|
147
152
|
|
|
148
153
|
## Previous Phase Artifacts
|
|
149
|
-
{artifact paths in read order
|
|
154
|
+
{artifact paths in read order - compact first}
|
|
150
155
|
```
|
|
151
156
|
|
|
152
157
|
### Phase Execution Flow
|
|
@@ -183,7 +188,7 @@ If `COMPLETE_WITH_DEFERRED` → dispatch Phase 1 deferred resolution subagent.
|
|
|
183
188
|
3. Wave 1 (parallel): dispatch 4B + 4C (+ 4A if COMPLEX)
|
|
184
189
|
4. Wave 2 (parallel): dispatch 4D (+ 4E if COMPLEX)
|
|
185
190
|
5. Validate: `bash ${SCRIPT_DIR}/validate-phase4.sh ...`
|
|
186
|
-
6. Build: `xcodebuild build ...`
|
|
191
|
+
6. Build: `xcodebuild build ...` - fix errors if any
|
|
187
192
|
|
|
188
193
|
**Phase 5**:
|
|
189
194
|
1. Switch to local common: comment out remote URL in Package.swift, add local path
|
|
@@ -198,7 +203,7 @@ If `COMPLETE_WITH_DEFERRED` → dispatch Phase 1 deferred resolution subagent.
|
|
|
198
203
|
|
|
199
204
|
---
|
|
200
205
|
|
|
201
|
-
## STEP 3
|
|
206
|
+
## STEP 3 - Commit
|
|
202
207
|
|
|
203
208
|
Run inline. Read `.instructions/figma/figma-iteration-commit/SKILL.md` for the full procedure:
|
|
204
209
|
|
|
@@ -212,13 +217,13 @@ Run inline. Read `.instructions/figma/figma-iteration-commit/SKILL.md` for the f
|
|
|
212
217
|
|
|
213
218
|
---
|
|
214
219
|
|
|
215
|
-
## STEP 4
|
|
220
|
+
## STEP 4 - Loop
|
|
216
221
|
|
|
217
222
|
Same logic as `/figma-iterate` STEP 4. If specific issue → exit after one. If `--count` → decrement. Otherwise → pick next.
|
|
218
223
|
|
|
219
224
|
---
|
|
220
225
|
|
|
221
|
-
## STEP 5
|
|
226
|
+
## STEP 5 - Output Result
|
|
222
227
|
|
|
223
228
|
Output EXACTLY this block as your FINAL message. Nothing else after it.
|
|
224
229
|
|
|
@@ -274,4 +279,4 @@ ORCHESTRATOR_RESULT:
|
|
|
274
279
|
- **Phase HALT**: Show reason, ask user. If resolved → retry phase. If skipped → FAILED for this component, move to next.
|
|
275
280
|
- **Build failure**: Attempt auto-fix. If unfixable → FAILED.
|
|
276
281
|
- **3 consecutive failures**: Stop iteration.
|
|
277
|
-
- **Subagents can't dispatch subagents**: This is why we dispatch only leaf phases. If a phase instruction file references dispatching subagents, ignore that
|
|
282
|
+
- **Subagents can't dispatch subagents**: This is why we dispatch only leaf phases. If a phase instruction file references dispatching subagents, ignore that - run its gates directly in the subagent.
|