@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
|
@@ -8,7 +8,7 @@ status: wip-v5
|
|
|
8
8
|
sourced-from: upstream/performance-swiftui
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# /performance-swiftui
|
|
11
|
+
# /performance-swiftui - Performance-Optimized Figma-to-SwiftUI Workflow
|
|
12
12
|
|
|
13
13
|
> Based on `/figma-to-swiftui`. All phase instruction files, scripts, and reference docs
|
|
14
14
|
> are shared from `.instructions/figma/figma-to-swiftui/`. Only the orchestrator routing,
|
|
@@ -31,7 +31,7 @@ sourced-from: upstream/performance-swiftui
|
|
|
31
31
|
|
|
32
32
|
### Lean Mode (`--lean`)
|
|
33
33
|
|
|
34
|
-
When `--lean` is appended to a Figma URL, the workflow runs **Phases 0
|
|
34
|
+
When `--lean` is appended to a Figma URL, the workflow runs **Phases 0-4 + Phase 6 only**.
|
|
35
35
|
Phase 5 (testing) and Phase 7 (wiki) are **skipped**.
|
|
36
36
|
|
|
37
37
|
Lean mode is persisted in the `_perf_tracker.json` tracker:
|
|
@@ -62,7 +62,7 @@ Convert `-` to `:` in node-id (e.g., `9419-30700` → `9419:30700`).
|
|
|
62
62
|
|
|
63
63
|
### Tracker File
|
|
64
64
|
|
|
65
|
-
All performance metrics are stored in `{artifactPath}/_perf_tracker.json`. This file is the **single source of truth**
|
|
65
|
+
All performance metrics are stored in `{artifactPath}/_perf_tracker.json`. This file is the **single source of truth** - never rely on in-memory variables for timing or reliability data.
|
|
66
66
|
|
|
67
67
|
**At workflow start** (Phase 0 or first resumed phase), create/update the tracker file:
|
|
68
68
|
|
|
@@ -114,7 +114,7 @@ with open(tracker_path, "w") as f:
|
|
|
114
114
|
json.dump(tracker, f, indent=2)
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
**CRITICAL:** The tracker file write happens IMMEDIATELY after each phase dispatch returns
|
|
117
|
+
**CRITICAL:** The tracker file write happens IMMEDIATELY after each phase dispatch returns - before proceeding to the next phase. This is the mechanism that survives context loss.
|
|
118
118
|
|
|
119
119
|
---
|
|
120
120
|
|
|
@@ -141,7 +141,7 @@ These 6 rules govern orchestrator behavior. Violations have caused repeated fail
|
|
|
141
141
|
|
|
142
142
|
In lean mode, Phase 5 (testing) and Phase 7 (wiki) are **SKIPPED**. Phase 6 runs sequentially (no parallel partner).
|
|
143
143
|
|
|
144
|
-
This skill dispatches Phase 2 and Phase 5 sub-phases directly
|
|
144
|
+
This skill dispatches Phase 2 and Phase 5 sub-phases directly - no orchestrator subagent.
|
|
145
145
|
|
|
146
146
|
When `phase-7` is invoked:
|
|
147
147
|
1. Dispatch `phase-7a` (generate two wiki pages: main + iOS, plus assets into wiki submodule).
|
|
@@ -228,11 +228,11 @@ You are executing {Phase Name} of the Figma-to-SwiftUI workflow.
|
|
|
228
228
|
- Artifact Path: {artifactPath}
|
|
229
229
|
- Component Location: {componentLocation}
|
|
230
230
|
- GitHub Issue: {issueNumber} (omit if not available)
|
|
231
|
-
- Wiki Path: {wikiPath} (Phase 7 only
|
|
232
|
-
- Specs: {specsPath} (if `{artifactPath}/pass0/specs.md` exists
|
|
231
|
+
- Wiki Path: {wikiPath} (Phase 7 only - `{repos.wiki.path}`)
|
|
232
|
+
- Specs: {specsPath} (if `{artifactPath}/pass0/specs.md` exists - include in Phase 3, 4 dispatch prompts as additional implementation guidance)
|
|
233
233
|
|
|
234
234
|
## Tool Restrictions
|
|
235
|
-
{from dispatch table
|
|
235
|
+
{from dispatch table - e.g., "Do NOT use the Edit tool."}
|
|
236
236
|
|
|
237
237
|
## Your Instructions
|
|
238
238
|
Read and STRICTLY FOLLOW your phase instructions gate-by-gate from this file:
|
|
@@ -245,18 +245,18 @@ Read the return protocol from:
|
|
|
245
245
|
|
|
246
246
|
## Specs (if present)
|
|
247
247
|
- {artifactPath}/pass0/specs.md
|
|
248
|
-
Read and incorporate specs alongside phase instructions. Both are inputs you must follow
|
|
248
|
+
Read and incorporate specs alongside phase instructions. Both are inputs you must follow - phase instructions define methodology and coding standards, specs define acceptance criteria and design intent. Neither overrides the other.
|
|
249
249
|
|
|
250
250
|
## Reference Files (read during execution if needed)
|
|
251
251
|
- .instructions/figma/figma-to-swiftui/{reference path}
|
|
252
252
|
|
|
253
253
|
## Previous Phase Artifacts (read in this order)
|
|
254
|
-
{use the Read-Order Table below
|
|
254
|
+
{use the Read-Order Table below - list file PATHS only, do not embed content}
|
|
255
255
|
```
|
|
256
256
|
|
|
257
257
|
### 2. Dispatch
|
|
258
258
|
|
|
259
|
-
**Phase 1 (script):** Run directly via Bash
|
|
259
|
+
**Phase 1 (script):** Run directly via Bash - no subagent needed:
|
|
260
260
|
|
|
261
261
|
```bash
|
|
262
262
|
python3 .instructions/figma/figma-to-swiftui/scripts/phase1-gather.py \
|
|
@@ -271,7 +271,7 @@ The script tries remote MCP first, falls back to local MCP automatically.
|
|
|
271
271
|
|
|
272
272
|
**If `status` = `COMPLETE_WITH_DEFERRED`:**
|
|
273
273
|
Design context was deferred (too many sublayers). All other artifacts are present.
|
|
274
|
-
Do NOT ask the user
|
|
274
|
+
Do NOT ask the user - dispatch a **Phase 1 subagent** for deferred resolution:
|
|
275
275
|
|
|
276
276
|
```
|
|
277
277
|
Agent(
|
|
@@ -301,7 +301,7 @@ Agent(
|
|
|
301
301
|
|
|
302
302
|
### 3. Parse the return
|
|
303
303
|
|
|
304
|
-
> **All counters are persisted to `{artifactPath}/_perf_tracker.json`
|
|
304
|
+
> **All counters are persisted to `{artifactPath}/_perf_tracker.json` - NOT held in memory.**
|
|
305
305
|
> Read the tracker file before updating, write it back immediately after. This survives context loss.
|
|
306
306
|
|
|
307
307
|
**Before dispatching each phase**, record the start time in the tracker:
|
|
@@ -319,16 +319,16 @@ with open(tracker_path, "w") as f:
|
|
|
319
319
|
**STATUS: COMPLETE**
|
|
320
320
|
→ Record gates and artifacts
|
|
321
321
|
→ **Update tracker file on disk**: set phase `end`, `duration_seconds`, `status: "COMPLETE"`
|
|
322
|
-
→ **Append phase timing to IMPLEMENTATION_HISTORY.md** (incremental write
|
|
322
|
+
→ **Append phase timing to IMPLEMENTATION_HISTORY.md** (incremental write - see step 4)
|
|
323
323
|
→ Proceed to next phase
|
|
324
324
|
|
|
325
325
|
**STATUS: HALT**
|
|
326
326
|
→ **Update tracker file on disk**: increment `halt_count`, append to `halt_log`
|
|
327
327
|
→ Show user: GATE, REASON, USER_ACTION_REQUIRED via AskUserQuestion
|
|
328
328
|
→ Options: "Fix and retry", "Skip this phase", "Abort workflow"
|
|
329
|
-
→ Retry: update tracker
|
|
330
|
-
→ Skip: update tracker
|
|
331
|
-
→ Abort: update tracker
|
|
329
|
+
→ Retry: update tracker - increment `retry_count`, set `resolution: "retry"`, re-dispatch same phase
|
|
330
|
+
→ Skip: update tracker - set `resolution: "skipped"`, `status: "SKIPPED"`, proceed
|
|
331
|
+
→ Abort: update tracker - set `resolution: "aborted"`, `status: "ABORTED"`, stop workflow
|
|
332
332
|
|
|
333
333
|
**STATUS: NEEDS_INPUT**
|
|
334
334
|
→ Show user: QUESTION, OPTIONS, SUGGESTED via AskUserQuestion
|
|
@@ -339,7 +339,7 @@ with open(tracker_path, "w") as f:
|
|
|
339
339
|
ANSWER: {user's choice}
|
|
340
340
|
```
|
|
341
341
|
|
|
342
|
-
### 4. Update history (incremental
|
|
342
|
+
### 4. Update history (incremental - after EVERY phase)
|
|
343
343
|
|
|
344
344
|
**After each phase completes, IMMEDIATELY write two things:**
|
|
345
345
|
|
|
@@ -371,15 +371,15 @@ Also update IMPLEMENTATION_HISTORY.md with the standard phase status, gates, and
|
|
|
371
371
|
|
|
372
372
|
---
|
|
373
373
|
|
|
374
|
-
## Phase 2 Routing (inline
|
|
374
|
+
## Phase 2 Routing (inline - do NOT read phase-2-orchestrator.md)
|
|
375
375
|
|
|
376
376
|
**Do NOT read `phase-2-orchestrator.md`. All routing logic is here. Subagents read their own docs.**
|
|
377
377
|
|
|
378
|
-
> **UNCHANGED from original**
|
|
378
|
+
> **UNCHANGED from original** - Phase 2 routing preserved exactly.
|
|
379
379
|
|
|
380
380
|
1. **PRE-CHECK**: Read `IMPLEMENTATION_HISTORY.md` (already in context). Verify `pass1/_index.md` exists.
|
|
381
|
-
2. **NORMALIZE**: Check `pass1/design_context_response.json`
|
|
382
|
-
3. **REGISTRY_LOOKUP**: `cd {repos.common.path} && .build/debug/FigmaRegistryUtility utility-lookup --node-id '{nodeId}'`
|
|
381
|
+
2. **NORMALIZE**: Check `pass1/design_context_response.json` - if `sublayers: true` and no `response` field, concatenate `responses` values into `response` field and write back.
|
|
382
|
+
3. **REGISTRY_LOOKUP**: `cd {repos.common.path} && .build/debug/FigmaRegistryUtility utility-lookup --node-id '{nodeId}'` - pass result as `registryData` context to subagents.
|
|
383
383
|
4. **Wave 1 (parallel)**: Dispatch 2A + 2B + 2C as subagents (each reads its own instruction doc by path).
|
|
384
384
|
5. **Wave 2**: Dispatch 2D as subagent (depends on 2A output).
|
|
385
385
|
6. **FINALIZE (script)**:
|
|
@@ -393,11 +393,11 @@ Also update IMPLEMENTATION_HISTORY.md with the standard phase status, gates, and
|
|
|
393
393
|
|
|
394
394
|
---
|
|
395
395
|
|
|
396
|
-
## Phase 3 Routing (inline
|
|
396
|
+
## Phase 3 Routing (inline - do NOT read phase-3-orchestrator.md)
|
|
397
397
|
|
|
398
398
|
**Do NOT read `phase-3-orchestrator.md`. Subagents read their own docs. Scripts handle deterministic phases.**
|
|
399
399
|
|
|
400
|
-
> **UNCHANGED from original**
|
|
400
|
+
> **UNCHANGED from original** - Phase 3 routing preserved exactly.
|
|
401
401
|
|
|
402
402
|
1. **PRE-CHECK**: Verify `pass2/_index.md` exists.
|
|
403
403
|
2. **NORMALIZE**: Same sublayer check as Phase 2 (skip if already normalized).
|
|
@@ -405,14 +405,14 @@ Also update IMPLEMENTATION_HISTORY.md with the standard phase status, gates, and
|
|
|
405
405
|
- **Scripts**: `python3 .instructions/figma/figma-to-swiftui/scripts/phase3-scripts.py wave1 --artifact-path '{artifactPath}'` (runs 3B+3E+3F, ~5s)
|
|
406
406
|
- **Subagents**: 3A (`phase-3a-location.md`, sonnet, 20 turns), 3C (`phase-3c-nested.md`, sonnet, 20 turns), 3H (`phase-3h-variant-config.md`, opus, 25 turns)
|
|
407
407
|
4. **MISSING TOKEN RESOLUTION**: After Wave 1, check `pass3/02_token_mapping.md` for missing tokens (lines with "⚠️ not found"). If any exist, dispatch a subagent:
|
|
408
|
-
- **Subagent** (`general-purpose`, opus, 25 turns)
|
|
408
|
+
- **Subagent** (`general-purpose`, opus, 25 turns) - reads `reference/missing-tokens.md` for procedure, resolves each missing token by:
|
|
409
409
|
- **Typography**: Adding alias entries to `typography-registry.json` (match font size + weight to existing Swift tokens)
|
|
410
410
|
- **Colors**: Adding to `Shared/UIAssets/Colors/*.json` (source), running `swift package plugin --allow-writing-to-package-directory generate-ui-assets`, adding to `ui-token-index.json`
|
|
411
411
|
- **Variables**: Using `FigmaRegistryUtility ui-token-lookup` / `ui-token-index` to verify
|
|
412
412
|
- Pass artifact path and token mapping path as context. Subagent updates token mapping after resolution.
|
|
413
413
|
- If 0 missing tokens, skip this step entirely.
|
|
414
414
|
5. **Wave 2 (parallel)**: Launch simultaneously:
|
|
415
|
-
- **Subagent**: 3D (`phase-3d-patterns.md`, opus, 30 turns)
|
|
415
|
+
- **Subagent**: 3D (`phase-3d-patterns.md`, opus, 30 turns) - reads 3H output (`pass3/04c_variant_config_analysis.json`)
|
|
416
416
|
6. **Wave 3**: `python3 .instructions/figma/figma-to-swiftui/scripts/phase3-scripts.py 3g --artifact-path '{artifactPath}'` (depends on 3D JSON output)
|
|
417
417
|
7. **COLLECT**: Verify 12 artifacts exist in `pass3/` (10 original + 2 from 3H).
|
|
418
418
|
8. **SPEC (script)**: `python3 .instructions/figma/figma-to-swiftui/scripts/phase3-scripts.py spec --artifact-path '{artifactPath}'`
|
|
@@ -421,24 +421,24 @@ Also update IMPLEMENTATION_HISTORY.md with the standard phase status, gates, and
|
|
|
421
421
|
|
|
422
422
|
---
|
|
423
423
|
|
|
424
|
-
## Phase 4 Routing (inline
|
|
424
|
+
## Phase 4 Routing (inline - do NOT read phase-4-orchestrator.md)
|
|
425
425
|
|
|
426
426
|
**Do NOT read `phase-4-orchestrator.md`. Subagents read their own docs. Orchestrator stays lean.**
|
|
427
427
|
|
|
428
428
|
1. **PRE-CHECK**: Verify `pass3/_index.md` exists.
|
|
429
|
-
2. **LOAD_SPEC**: Read `pass3/07_implementation_spec.md` and `pass3/05_complexity.md`
|
|
429
|
+
2. **LOAD_SPEC**: Read `pass3/07_implementation_spec.md` and `pass3/05_complexity.md` - extract `componentLocation`, `complexity` (SIMPLE/COMPLEX).
|
|
430
430
|
3. **PREPARE_DIRECTORY**: `mkdir -p {componentLocation}`. Get `gitUser` via `git config user.name`. Get `date` in DD.MM.YYYY format.
|
|
431
431
|
4. **Wave 1 (parallel)**: Dispatch subagents:
|
|
432
|
-
- **4A** (`phase-4a-configuration.md`, opus, 30 turns)
|
|
433
|
-
- **4B** (`phase-4b-view.md`, opus, 40 turns)
|
|
434
|
-
- **4C** (`phase-4c-documentation.md`, sonnet, 20 turns)
|
|
435
|
-
- Pass to each: componentName, componentLocation, artifactPath, nodeId, fileKey, complexity, gitUser, date, issueNumber (from IMPLEMENTATION_HISTORY.md `GitHub Issue` field
|
|
432
|
+
- **4A** (`phase-4a-configuration.md`, opus, 30 turns) - **COMPLEX only** (skip if SIMPLE). Writes `{ComponentName}Configuration.swift`.
|
|
433
|
+
- **4B** (`phase-4b-view.md`, opus, 40 turns) - **ALWAYS**. Writes `{ComponentName}.swift`.
|
|
434
|
+
- **4C** (`phase-4c-documentation.md`, sonnet, 20 turns) - **ALWAYS**. Writes `FIGMA.md`.
|
|
435
|
+
- Pass to each: componentName, componentLocation, artifactPath, nodeId, fileKey, complexity, gitUser, date, issueNumber (from IMPLEMENTATION_HISTORY.md `GitHub Issue` field - extract the number after `#`).
|
|
436
436
|
5. **Wave 2 (parallel)**: Dispatch subagents that depend on 4A+4B:
|
|
437
|
-
- **4D** (`phase-4d-preview.md`, sonnet, 20 turns)
|
|
438
|
-
- **4E** (`phase-4e-modifiers.md`, sonnet, 20 turns)
|
|
437
|
+
- **4D** (`phase-4d-preview.md`, sonnet, 20 turns) - appends Preview to `{ComponentName}.swift`.
|
|
438
|
+
- **4E** (`phase-4e-modifiers.md`, sonnet, 20 turns) - **COMPLEX only** (skip if SIMPLE). Writes `{ComponentName}+Modifiers.swift`.
|
|
439
439
|
6. **COLLECT**: Verify `{ComponentName}.swift`, `{ComponentName}Configuration.swift` (if COMPLEX), `{ComponentName}+Modifiers.swift` (if COMPLEX), `FIGMA.md` exist.
|
|
440
|
-
7. **VALIDATE**: `bash .instructions/figma/figma-to-swiftui/scripts/validate-phase4.sh "{componentLocation}" "{ComponentName}" "{artifactPath}/pass3/00_property_coverage.json"`
|
|
441
|
-
8. **BUILD**: `xcodebuild build -project "$(git rev-parse --show-toplevel)/{build.xcodeproj}" -scheme {build.scheme} -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO -quiet`
|
|
440
|
+
7. **VALIDATE**: `bash .instructions/figma/figma-to-swiftui/scripts/validate-phase4.sh "{componentLocation}" "{ComponentName}" "{artifactPath}/pass3/00_property_coverage.json"` - fix violations if any.
|
|
441
|
+
8. **BUILD**: `xcodebuild build -project "$(git rev-parse --show-toplevel)/{build.xcodeproj}" -scheme {build.scheme} -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO -quiet` - fix compilation errors if any.
|
|
442
442
|
9. **REGISTRY FINALIZE**: After build passes, mark `status.ios.implemented` green in the component registry with a content-hashed version bump:
|
|
443
443
|
```bash
|
|
444
444
|
python3 .instructions/figma/figma-to-swiftui/scripts/phase4-finalize.py \
|
|
@@ -447,32 +447,32 @@ Also update IMPLEMENTATION_HISTORY.md with the standard phase status, gates, and
|
|
|
447
447
|
--source-file "{componentLocation}/{ComponentName}.swift" \
|
|
448
448
|
--platform ios
|
|
449
449
|
```
|
|
450
|
-
Parse stdout JSON. On success (`"status": "ok"`), the registry entry now has `implemented.value: true`, `implemented.version: 1` (or bumped), and a content hash. On failure, log the error but do NOT halt
|
|
450
|
+
Parse stdout JSON. On success (`"status": "ok"`), the registry entry now has `implemented.value: true`, `implemented.version: 1` (or bumped), and a content hash. On failure, log the error but do NOT halt - the finalize can be re-run manually or via `/figma-iteration-commit`.
|
|
451
451
|
10. **UPDATE HISTORY**: Append Phase 4 summary.
|
|
452
452
|
|
|
453
453
|
---
|
|
454
454
|
|
|
455
|
-
## Phase 5 Routing (inline
|
|
455
|
+
## Phase 5 Routing (inline - do NOT read phase-5-orchestrator.md)
|
|
456
456
|
|
|
457
457
|
> **LEAN MODE: If `lean_mode` is `true` in `_perf_tracker.json`, SKIP this entire section.**
|
|
458
|
-
> Record Phase 5 as `"status": "SKIPPED"` in the tracker and append `| Phase 5 (Testing) |
|
|
458
|
+
> Record Phase 5 as `"status": "SKIPPED"` in the tracker and append `| Phase 5 (Testing) | - | ⏭️ lean | ... |` to IMPLEMENTATION_HISTORY.md.
|
|
459
459
|
> Proceed directly to Phase 6 (sequentially, not parallel with Phase 7).
|
|
460
460
|
|
|
461
461
|
**Do NOT read `phase-5-orchestrator.md`. Subagents read their own docs.**
|
|
462
462
|
|
|
463
|
-
> **PERF CHANGE: Combined test execution**
|
|
464
|
-
> **PERF CHANGE: Simulator pre-warm**
|
|
463
|
+
> **PERF CHANGE: Combined test execution** - runs ViewInspector + Snapshot tests in a single xcodebuild invocation instead of two separate build+test cycles.
|
|
464
|
+
> **PERF CHANGE: Simulator pre-warm** - boots simulator in background during test file generation to eliminate cold-start latency.
|
|
465
465
|
|
|
466
466
|
1. **PRE-CHECK**: Verify Phase 4 complete (component Swift file exists at `{componentLocation}`).
|
|
467
467
|
2. **SIMULATOR PRE-WARM** (parallel with Wave 1): Boot the simulator in the background before test files are written:
|
|
468
468
|
```bash
|
|
469
469
|
xcrun simctl boot "iPhone 17 Pro" 2>/dev/null &
|
|
470
470
|
```
|
|
471
|
-
This runs asynchronously
|
|
471
|
+
This runs asynchronously - no need to wait. By the time test execution starts (step 4b), the simulator is ready.
|
|
472
472
|
3. **Wave 1 (parallel)**: Dispatch subagents:
|
|
473
|
-
- **5A** (`phase-5a-viewinspector.md`, sonnet, 40 turns)
|
|
474
|
-
- **5B** (`phase-5b-snapshot.md`, sonnet, 40 turns)
|
|
475
|
-
4. **Wave 2 (conditional)**: **5C** (`phase-5c-unit.md`, sonnet, 30 turns)
|
|
473
|
+
- **5A** (`phase-5a-viewinspector.md`, sonnet, 40 turns) - ViewInspector structure + accessibility tests.
|
|
474
|
+
- **5B** (`phase-5b-snapshot.md`, sonnet, 40 turns) - Snapshot tests for all Figma variants.
|
|
475
|
+
4. **Wave 2 (conditional)**: **5C** (`phase-5c-unit.md`, sonnet, 30 turns) - Unit tests. Only if component has ViewModel/model logic. N/A for pure View + Configuration.
|
|
476
476
|
5. **TEST EXECUTION (combined)**: Run all tests via a SINGLE xcodebuild invocation:
|
|
477
477
|
a. **Switch to local common dependency**: In `{repos.components.path}/Package.swift`, comment out the `.package(url: "...{project.slug}-common...", ...)` line and add `.package(path: "../{project.slug}-common"),` below it. This is needed because the SPM package resolves dependencies from remote git, but Phase 2 adds identifiers/keys to the local editable copy.
|
|
478
478
|
b. **Run ALL tests in a single invocation**:
|
|
@@ -499,10 +499,10 @@ Also update IMPLEMENTATION_HISTORY.md with the standard phase status, gates, and
|
|
|
499
499
|
|
|
500
500
|
> **LEAN MODE:** If `lean_mode` is `true` in `_perf_tracker.json`:
|
|
501
501
|
> - Run **Phase 6 only** (sequentially, after Phase 4).
|
|
502
|
-
> - **SKIP Phase 7 entirely.** Record as `"status": "SKIPPED"` in the tracker and append `| Phase 7 (Wiki) |
|
|
502
|
+
> - **SKIP Phase 7 entirely.** Record as `"status": "SKIPPED"` in the tracker and append `| Phase 7 (Wiki) | - | ⏭️ lean | ... |` to IMPLEMENTATION_HISTORY.md.
|
|
503
503
|
> - Do NOT touch the wiki submodule.
|
|
504
504
|
|
|
505
|
-
> **PERF CHANGE:** Phase 6 (Code Connect) and Phase 7 (Wiki Markdown generation) have NO dependency on each other. Phase 7 reads component Swift files + FIGMA.md + pass3 artifacts
|
|
505
|
+
> **PERF CHANGE:** Phase 6 (Code Connect) and Phase 7 (Wiki Markdown generation) have NO dependency on each other. Phase 7 reads component Swift files + FIGMA.md + pass3 artifacts - all completed in Phase 4. Phase 6 publishes to Figma. Running them in parallel saves ~5-10 minutes.
|
|
506
506
|
|
|
507
507
|
After Phase 5 completes (or Phase 4 in lean mode):
|
|
508
508
|
|
|
@@ -524,7 +524,7 @@ After Phase 5 completes (or Phase 4 in lean mode):
|
|
|
524
524
|
subagent_type: "general-purpose",
|
|
525
525
|
model: sonnet,
|
|
526
526
|
max_turns: 30,
|
|
527
|
-
prompt: {standard Phase 7 dispatch prompt
|
|
527
|
+
prompt: {standard Phase 7 dispatch prompt - include wikiPath in context}
|
|
528
528
|
)
|
|
529
529
|
```
|
|
530
530
|
|
|
@@ -549,24 +549,24 @@ After Phase 5 completes (or Phase 4 in lean mode):
|
|
|
549
549
|
|
|
550
550
|
When building the `Previous Phase Artifacts` section of the dispatch prompt, list artifacts in this order. Compact artifacts go FIRST so the subagent establishes context before large files consume the context window.
|
|
551
551
|
|
|
552
|
-
Every phase must be independently operable from a clean session
|
|
552
|
+
Every phase must be independently operable from a clean session - all artifacts remain accessible on disk. This table is a **read-ordering preference**, not a prohibition.
|
|
553
553
|
|
|
554
554
|
| Phase | Read FIRST (compact) | Read SECOND (if detail needed) |
|
|
555
555
|
|-------|---------------------|-------------------------------|
|
|
556
556
|
| 2A-2D | `pass1/component_summary.json` | `pass1/design_context_response.json`, `pass1/component_properties.json` |
|
|
557
|
-
| 3A | `pass1/component_summary.json`, `IMPLEMENTATION_HISTORY.md` |
|
|
557
|
+
| 3A | `pass1/component_summary.json`, `IMPLEMENTATION_HISTORY.md` | - |
|
|
558
558
|
| 3B | `pass1/component_summary.json`, `pass1/variable_defs_response.json` | `pass1/design_context_response.json` (for binding context) |
|
|
559
|
-
| 3C | `pass1/component_summary.json`, `pass1/code_connect_map_response.json` |
|
|
559
|
+
| 3C | `pass1/component_summary.json`, `pass1/code_connect_map_response.json` | - |
|
|
560
560
|
| 3D | `pass1/component_summary.json`, `pass1/component_properties.json` | `pass1/design_context_response.json`, `pass1/metadata_response.xml` |
|
|
561
|
-
| 3E | `pass1/component_summary.json`, `pass1/design_context_assets.txt` |
|
|
561
|
+
| 3E | `pass1/component_summary.json`, `pass1/design_context_assets.txt` | - |
|
|
562
562
|
| 3F | `pass1/component_summary.json`, `pass2/utility_*.md` | `pass1/design_context_response.json` |
|
|
563
|
-
| 3G | `pass1/component_summary.json`, `pass3/04b_component_architecture.md` |
|
|
563
|
+
| 3G | `pass1/component_summary.json`, `pass3/04b_component_architecture.md` | - |
|
|
564
564
|
| 4A | `pass3/04b_component_architecture.md`, `pass3/05_complexity.md`, `pass3/00_property_coverage.json` | `pass1/component_summary.json` |
|
|
565
565
|
| 4B | `pass1/component_summary.json`, `pass3/00_property_coverage.json`, `pass3/07_implementation_spec.md`, `pass3/02_token_mapping.md`, `pass3/04b_component_architecture.md`, `pass3/04_patterns.md`, `pass3/03_nested_components.md`, `pass3/08_utility_integration.md`, `pass1/screenshot.png` | `pass1/design_context_response.json` (for complex layout detail) |
|
|
566
566
|
| 4C | `pass3/07_implementation_spec.md`, `pass3/04b_component_architecture.md`, `pass3/00_property_coverage.json` | `pass1/component_summary.json` |
|
|
567
567
|
| 4D | `{componentLocation}/{ComponentName}.swift`, `{componentLocation}/{ComponentName}Configuration.swift` (if exists) | `pass3/04_patterns.md` |
|
|
568
|
-
| 4E | `{componentLocation}/{ComponentName}Configuration.swift`, `{componentLocation}/{ComponentName}.swift` |
|
|
569
|
-
| 6 | `pass1/component_properties.json`, `{sourceLocation}/FIGMA.md`, `{sourceLocation}/{componentName}.swift` |
|
|
568
|
+
| 4E | `{componentLocation}/{ComponentName}Configuration.swift`, `{componentLocation}/{ComponentName}.swift` | - |
|
|
569
|
+
| 6 | `pass1/component_properties.json`, `{sourceLocation}/FIGMA.md`, `{sourceLocation}/{componentName}.swift` | - |
|
|
570
570
|
|
|
571
571
|
---
|
|
572
572
|
|
|
@@ -591,7 +591,7 @@ When `$ARGUMENTS` is `status`:
|
|
|
591
591
|
2. For each found IMPLEMENTATION_HISTORY.md, look for a sibling `_perf_tracker.json` in the same directory.
|
|
592
592
|
3. If `_perf_tracker.json` exists:
|
|
593
593
|
a. Read it and display the full timing/reliability summary (same format as Final Summary).
|
|
594
|
-
b. If IMPLEMENTATION_HISTORY.md is missing the `## Workflow Summary` section but the tracker shows all phases completed, **generate and append the summary now**
|
|
594
|
+
b. If IMPLEMENTATION_HISTORY.md is missing the `## Workflow Summary` section but the tracker shows all phases completed, **generate and append the summary now** - this recovers from context loss.
|
|
595
595
|
4. If `_perf_tracker.json` does not exist, fall back to displaying: component name, current phase, last gate, last updated (from IMPLEMENTATION_HISTORY.md only).
|
|
596
596
|
|
|
597
597
|
---
|
|
@@ -618,8 +618,8 @@ Derive confluencePath from artifactPath: replace `Figma/Components` with `Conflu
|
|
|
618
618
|
|
|
619
619
|
When the last phase completes (or workflow is aborted/skipped):
|
|
620
620
|
|
|
621
|
-
1. **Read `{artifactPath}/_perf_tracker.json`**
|
|
622
|
-
2. **Read IMPLEMENTATION_HISTORY.md** `## Phase Timings` table
|
|
621
|
+
1. **Read `{artifactPath}/_perf_tracker.json`** - this is the single source of truth for all timing and reliability data.
|
|
622
|
+
2. **Read IMPLEMENTATION_HISTORY.md** `## Phase Timings` table - as a cross-check.
|
|
623
623
|
3. **Compute totals** from the tracker file (not from memory).
|
|
624
624
|
4. **Output the summary** to the user AND **append it to IMPLEMENTATION_HISTORY.md**.
|
|
625
625
|
|
|
@@ -633,9 +633,9 @@ When the last phase completes (or workflow is aborted/skipped):
|
|
|
633
633
|
## Workflow Summary
|
|
634
634
|
|
|
635
635
|
- Component: {componentName}
|
|
636
|
-
- Lean Mode: {yes/no
|
|
637
|
-
- Phases Executed: {list of completed phases
|
|
638
|
-
- Phases Skipped: {list, if any
|
|
636
|
+
- Lean Mode: {yes/no - from tracker `lean_mode` field}
|
|
637
|
+
- Phases Executed: {list of completed phases - from tracker}
|
|
638
|
+
- Phases Skipped: {list, if any - from tracker. In lean mode: Phase 5, Phase 7}
|
|
639
639
|
- Total Elapsed Time: {HH:MM:SS} (from tracker workflow_start to last phase end)
|
|
640
640
|
- Artifacts: {artifactPath}
|
|
641
641
|
- Component Location: {componentLocation}
|
|
@@ -655,12 +655,12 @@ When the last phase completes (or workflow is aborted/skipped):
|
|
|
655
655
|
|
|
656
656
|
### Reliability
|
|
657
657
|
- First-pass success: {phases_without_halt}/{total_phases} phases ({percentage}%)
|
|
658
|
-
- HALTs: {halt_count from tracker}
|
|
658
|
+
- HALTs: {halt_count from tracker} - {halt_log entries}
|
|
659
659
|
- Retries: {retry_count from tracker}
|
|
660
660
|
|
|
661
661
|
### Bottlenecks
|
|
662
|
-
⚠️ Phase {N} took {actual} (expected ~{expected})
|
|
663
|
-
{If no bottlenecks: "None
|
|
662
|
+
⚠️ Phase {N} took {actual} (expected ~{expected}) - {reason if known from halt_log, else "investigate"}
|
|
663
|
+
{If no bottlenecks: "None - all phases within expected duration."}
|
|
664
664
|
```
|
|
665
665
|
|
|
666
666
|
**Expected Phase Durations** (used for bottleneck detection):
|
|
@@ -700,7 +700,7 @@ The `status` command reads `_perf_tracker.json`, computes the summary, and appen
|
|
|
700
700
|
| **Combined test execution** | Single `xcodebuild test` with multiple `--only-testing:` instead of 2 separate build+test cycles |
|
|
701
701
|
| **Simulator pre-warm** | Boots iOS Simulator in background during test file generation, eliminating cold-start latency |
|
|
702
702
|
| **Phase 6 ∥ 7 parallelism** | Code Connect publish + Wiki Markdown generation run simultaneously |
|
|
703
|
-
| **Phase 4 registry finalize** | Calls `phase4-finalize.py` after BUILD to mark `implemented: true`
|
|
704
|
-
| **Disk-persisted tracking** | All timing, HALT, and retry data written to `_perf_tracker.json` after every phase
|
|
705
|
-
| **Incremental history writes** | Phase timing rows appended to IMPLEMENTATION_HISTORY.md after each phase
|
|
706
|
-
| **Bottleneck detection** | Flags phases exceeding 2× expected duration
|
|
703
|
+
| **Phase 4 registry finalize** | Calls `phase4-finalize.py` after BUILD to mark `implemented: true` - was missing in original routing, caused gray implementation flags on issue board |
|
|
704
|
+
| **Disk-persisted tracking** | All timing, HALT, and retry data written to `_perf_tracker.json` after every phase - survives context loss |
|
|
705
|
+
| **Incremental history writes** | Phase timing rows appended to IMPLEMENTATION_HISTORY.md after each phase - no data lost if conversation cuts |
|
|
706
|
+
| **Bottleneck detection** | Flags phases exceeding 2× expected duration - reconstructable from `_perf_tracker.json` at any time |
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: performance-tour
|
|
3
|
+
description: Produces multiple Figma components in a single session. Validates dependencies, determines implementation order, produces each component sequentially with clean subagent contexts, then hands off to review and batch.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /performance-tour - Batch Component Production Pipeline
|
|
2
7
|
|
|
3
8
|
> Produces multiple Figma components in a single session. Validates dependencies,
|
|
4
9
|
> determines implementation order, produces each component sequentially with clean
|
|
@@ -8,9 +13,9 @@
|
|
|
8
13
|
|
|
9
14
|
| Parameter | Required | Default | Description |
|
|
10
15
|
|-----------|----------|---------|-------------|
|
|
11
|
-
| `<issue-numbers>` | Yes |
|
|
12
|
-
| `--resume` | No |
|
|
13
|
-
| `--lean` | No |
|
|
16
|
+
| `<issue-numbers>` | Yes | - | Comma-separated GitHub issue numbers from uicomponents repo |
|
|
17
|
+
| `--resume` | No | - | Resume an interrupted tour from `_tour_tracker.json` |
|
|
18
|
+
| `--lean` | No | - | Lean mode: skip Phase 5 (testing) and Phase 7 (wiki) for all components. Forwarded to `performance-start --lean` → `performance-swiftui --lean`. |
|
|
14
19
|
|
|
15
20
|
```
|
|
16
21
|
/performance-tour 1000, 1001, 1002
|
|
@@ -78,12 +83,12 @@ context loss and conversation timeouts. Written after every state change.
|
|
|
78
83
|
}
|
|
79
84
|
```
|
|
80
85
|
|
|
81
|
-
**CRITICAL:** Write the tracker file after every state change
|
|
86
|
+
**CRITICAL:** Write the tracker file after every state change - component status update,
|
|
82
87
|
step transition, HALT event, review completion. This is the mechanism that survives context loss.
|
|
83
88
|
|
|
84
89
|
---
|
|
85
90
|
|
|
86
|
-
## STEP 0
|
|
91
|
+
## STEP 0 - Parse, Validate & Sort
|
|
87
92
|
|
|
88
93
|
### 0a. Parse Issues
|
|
89
94
|
|
|
@@ -95,11 +100,11 @@ gh issue view <N> --repo ${GH_REPO} --json number,title,body,labels,state
|
|
|
95
100
|
```
|
|
96
101
|
|
|
97
102
|
Extract from each issue body:
|
|
98
|
-
- **Component Name**
|
|
99
|
-
- **Figma URL**
|
|
100
|
-
- **Node ID**
|
|
101
|
-
- **Registry Name**
|
|
102
|
-
- **Jira Key**
|
|
103
|
+
- **Component Name** - from `### Component Name (PascalCase)` section
|
|
104
|
+
- **Figma URL** - from `### Figma URL` section
|
|
105
|
+
- **Node ID** - from `### Node ID` section
|
|
106
|
+
- **Registry Name** - from `### Registry Name` section
|
|
107
|
+
- **Jira Key** - from `### Jira Issue` section
|
|
103
108
|
|
|
104
109
|
Validate:
|
|
105
110
|
- Issue is open → if closed, remove from tour with warning
|
|
@@ -109,8 +114,8 @@ Validate:
|
|
|
109
114
|
### 0b. Validate Each Component
|
|
110
115
|
|
|
111
116
|
Run `/figma-validate` logic for each issue (inline, not as skill invocation):
|
|
112
|
-
- Criterion 7 (Already Implemented)
|
|
113
|
-
- Criterion 4 (Dependency Readiness)
|
|
117
|
+
- Criterion 7 (Already Implemented) - if already implemented, remove from tour
|
|
118
|
+
- Criterion 4 (Dependency Readiness) - collect nested dependencies
|
|
114
119
|
|
|
115
120
|
### 0c. Build Dependency Graph
|
|
116
121
|
|
|
@@ -170,13 +175,13 @@ Print tour plan:
|
|
|
170
175
|
|
|
171
176
|
```
|
|
172
177
|
╔══════════════════════════════════════════════════════════════╗
|
|
173
|
-
║ PERFORMANCE TOUR
|
|
178
|
+
║ PERFORMANCE TOUR - PLAN ║
|
|
174
179
|
╠══════════════════════════════════════════════════════════════╣
|
|
175
180
|
║ ║
|
|
176
181
|
║ Execution Order: ║
|
|
177
|
-
║ 1. #1000
|
|
178
|
-
║ 2. #1002
|
|
179
|
-
║ 3. #1001
|
|
182
|
+
║ 1. #1000 - ComponentA (independent) ║
|
|
183
|
+
║ 2. #1002 - ComponentC (independent) ║
|
|
184
|
+
║ 3. #1001 - ComponentB (depends on: ComponentA) ║
|
|
180
185
|
║ ║
|
|
181
186
|
║ Dependency Graph: ║
|
|
182
187
|
║ ComponentA ← ComponentB ║
|
|
@@ -200,7 +205,7 @@ These 6 rules govern orchestrator behavior across the tour. Rules 2 (every dispa
|
|
|
200
205
|
|
|
201
206
|
---
|
|
202
207
|
|
|
203
|
-
## STEP 1
|
|
208
|
+
## STEP 1 - Sequential Produce + Local Commit
|
|
204
209
|
|
|
205
210
|
For each component in `execution_order`:
|
|
206
211
|
|
|
@@ -208,22 +213,22 @@ For each component in `execution_order`:
|
|
|
208
213
|
|
|
209
214
|
Invoke `/performance-start <issue-number> --tour` (add `--lean` if `lean_mode` is `true` in tracker):
|
|
210
215
|
- Parses issue metadata (STEP 0)
|
|
211
|
-
- **SKIPS** fetch + pull (STEP 1)
|
|
212
|
-
- **SKIPS** branch creation (STEP 2)
|
|
216
|
+
- **SKIPS** fetch + pull (STEP 1) - already done in STEP 0e
|
|
217
|
+
- **SKIPS** branch creation (STEP 2) - staying on iteration/develop
|
|
213
218
|
- Runs registry lookup (STEP 3)
|
|
214
219
|
- Saves specs artifact (STEP 3.5)
|
|
215
220
|
- Assigns to me + sets In Progress (STEP 4, 5)
|
|
216
221
|
- Prints summary (STEP 6)
|
|
217
|
-
- Auto-launches `/performance-swiftui <figma-url>` (STEP 6)
|
|
222
|
+
- Auto-launches `/performance-swiftui <figma-url>` (STEP 6) - with `--lean` if lean mode
|
|
218
223
|
|
|
219
224
|
### 1b. Wait for production to complete
|
|
220
225
|
|
|
221
|
-
`performance-swiftui` runs Phase 0
|
|
226
|
+
`performance-swiftui` runs Phase 0-7 as a subagent chain (or Phase 0-4 + 6 in lean mode). When it completes:
|
|
222
227
|
|
|
223
228
|
**If COMPLETE:**
|
|
224
229
|
|
|
225
230
|
```bash
|
|
226
|
-
# Local commit
|
|
231
|
+
# Local commit - all submodules
|
|
227
232
|
cd ${COMMON}
|
|
228
233
|
git add -A
|
|
229
234
|
git commit -m "feat(common): [${JIRA_KEY}] add ${COMPONENT_NAME} tokens and keys
|
|
@@ -238,7 +243,7 @@ git commit -m "feat(uicomponents): [${JIRA_KEY}] add ${COMPONENT_NAME} component
|
|
|
238
243
|
Refs: ${JIRA_KEY}
|
|
239
244
|
Tour: performance-tour $(date +%Y%m%d)"
|
|
240
245
|
|
|
241
|
-
# Wiki commit
|
|
246
|
+
# Wiki commit - SKIP if lean_mode is true
|
|
242
247
|
if [ "$LEAN_MODE" != "true" ]; then
|
|
243
248
|
cd ${WIKI}
|
|
244
249
|
git add -A
|
|
@@ -262,7 +267,7 @@ ARTIFACT_PATH="${component.artifact_path}"
|
|
|
262
267
|
|
|
263
268
|
# 2. Remove isolated files (component-specific directories)
|
|
264
269
|
rm -rf "${UICOMPONENTS}/${COMPONENT_LOCATION}"
|
|
265
|
-
# Remove test directories if created (skip check in lean mode
|
|
270
|
+
# Remove test directories if created (skip check in lean mode - tests weren't generated)
|
|
266
271
|
if [ "$LEAN_MODE" != "true" ]; then
|
|
267
272
|
find "${UICOMPONENTS}/Tests" -type d -name "${COMPONENT_NAME}*" -exec rm -rf {} +
|
|
268
273
|
# Remove snapshot baselines if created
|
|
@@ -298,7 +303,7 @@ Add to `halted_components` list.
|
|
|
298
303
|
Print:
|
|
299
304
|
|
|
300
305
|
```
|
|
301
|
-
⚠️ ComponentB HALTED at Phase 4
|
|
306
|
+
⚠️ ComponentB HALTED at Phase 4 - build failure
|
|
302
307
|
Files cleaned up. Proceeding to next component.
|
|
303
308
|
ComponentB can be fixed during review session.
|
|
304
309
|
```
|
|
@@ -309,9 +314,9 @@ After each component (produced or halted), print progress:
|
|
|
309
314
|
|
|
310
315
|
```
|
|
311
316
|
Tour Progress: 2/3 produced, 1/3 halted
|
|
312
|
-
✅ #1000
|
|
313
|
-
❌ #1001
|
|
314
|
-
🔄 #1002
|
|
317
|
+
✅ #1000 - ComponentA (produced)
|
|
318
|
+
❌ #1001 - ComponentB (halted: Phase 4 build failure)
|
|
319
|
+
🔄 #1002 - ComponentC (in progress...)
|
|
315
320
|
```
|
|
316
321
|
|
|
317
322
|
### 1d. Loop
|
|
@@ -329,9 +334,9 @@ Print:
|
|
|
329
334
|
║ Produced: 2/3 ║
|
|
330
335
|
║ Halted: 1/3 ║
|
|
331
336
|
║ ║
|
|
332
|
-
║ ✅ #1000
|
|
333
|
-
║ ✅ #1002
|
|
334
|
-
║ ❌ #1001
|
|
337
|
+
║ ✅ #1000 - ComponentA ║
|
|
338
|
+
║ ✅ #1002 - ComponentC ║
|
|
339
|
+
║ ❌ #1001 - ComponentB (Phase 4 build failure) ║
|
|
335
340
|
║ ║
|
|
336
341
|
║ Next: /performance-review-next ║
|
|
337
342
|
║ Or: /performance-tour --resume ║
|
|
@@ -340,18 +345,18 @@ Print:
|
|
|
340
345
|
|
|
341
346
|
---
|
|
342
347
|
|
|
343
|
-
## STEP 2
|
|
348
|
+
## STEP 2 - Review Session
|
|
344
349
|
|
|
345
|
-
Invoke `/performance-review-next`
|
|
350
|
+
Invoke `/performance-review-next` - this is a separate skill that reads the tracker
|
|
346
351
|
and manages the interactive review loop.
|
|
347
352
|
|
|
348
353
|
See `.instructions/figma/performance-review-next/SKILL.md` for details.
|
|
349
354
|
|
|
350
355
|
---
|
|
351
356
|
|
|
352
|
-
## STEP 3
|
|
357
|
+
## STEP 3 - Batch Commit
|
|
353
358
|
|
|
354
|
-
After all components are reviewed, invoke `/performance-iteration-commit-all`
|
|
359
|
+
After all components are reviewed, invoke `/performance-iteration-commit-all` - this is
|
|
355
360
|
a separate skill that validates, pushes, and handles issue housekeeping.
|
|
356
361
|
|
|
357
362
|
See `.instructions/figma/performance-iteration-commit-all/SKILL.md` for details.
|
|
@@ -373,7 +378,7 @@ When invoked with `--resume`:
|
|
|
373
378
|
╔══════════════════════════════════════════════════════════════╗
|
|
374
379
|
║ RESUMING TOUR ║
|
|
375
380
|
╠══════════════════════════════════════════════════════════════╣
|
|
376
|
-
║ Last state: STEP 1
|
|
381
|
+
║ Last state: STEP 1 - producing ComponentC (#1002) ║
|
|
377
382
|
║ Produced: 1 (ComponentA) ║
|
|
378
383
|
║ Halted: 1 (ComponentB) ║
|
|
379
384
|
║ Remaining: 1 (ComponentC) ║
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
# Figma-iOS Skill Review Checklist
|
|
2
2
|
|
|
3
|
-
> **Status: WIP
|
|
3
|
+
> **Status: WIP - v5.0.0 pass 1 (markdown only).** Every skill in this directory was imported from an upstream source via `pipeline/scripts/import-figma-skills.sh`. Placeholders have been applied, personal-data smoke is green, but **no skill is production-ready until it passes this checklist**. Common skills were moved to `pipeline/skills/figma-common/` in WS-7b - only platform-specific skills (orchestrator + implement + test + code-connect + wiki) remain here.
|
|
4
4
|
|
|
5
5
|
## Scope of this pass
|
|
6
6
|
|
|
7
7
|
- ✅ Markdown files transformed: `SKILL.md`, `phases/*.md`, `reference/*.md`, top-level support files (e.g. `halt-return-protocol.md`).
|
|
8
|
-
- ❌ Python/shell scripts **not** imported in this pass
|
|
8
|
+
- ❌ Python/shell scripts **not** imported in this pass - hardcoded paths beyond the placeholder map require manual review. Scheduled for WS-2b.
|
|
9
9
|
|
|
10
10
|
## Per-skill review gates
|
|
11
11
|
|
|
12
12
|
For each skill listed below, a reviewer must confirm:
|
|
13
13
|
|
|
14
|
-
1. **Frontmatter accuracy**
|
|
15
|
-
2. **Placeholder coverage**
|
|
16
|
-
3. **No upstream bleed**
|
|
17
|
-
4. **Cross-references**
|
|
18
|
-
5. **Progress-contract adoption**
|
|
19
|
-
6. **Android parity note**
|
|
20
|
-
7. **Smoke green**
|
|
14
|
+
1. **Frontmatter accuracy** - `description`, `argument-hint`, `allowed-tools`, `user-invocable` reflect the generic behaviour. Remove `status: wip-v5` when passed.
|
|
15
|
+
2. **Placeholder coverage** - run `grep -E '\{(github|jira|repos|build|confluence|project|user)\.' SKILL.md` - every placeholder must resolve from `figma-project-config.schema.json` v2.0.0. Any unresolved placeholder either extends the schema or becomes a literal default.
|
|
16
|
+
3. **No upstream bleed** - `grep -riE 'turkish|dijital|thy\.com|PVT_[A-Za-z0-9]+' skill/` returns nothing. (Guarded by `smoke-personal-data.sh` globally.)
|
|
17
|
+
4. **Cross-references** - internal links point at the new names (no `figma-to-swift-ui-*`). Script references either resolve under `scripts/` once WS-2b lands, or are explicitly commented as TODO.
|
|
18
|
+
5. **Progress-contract adoption** - add the `<!-- progress-contract: applied -->` marker once the skill emits `→ <verb> <object>` lines per `refs/progress-contract.md`.
|
|
19
|
+
6. **Android parity note** - for component-implement/component-test, note which bits are iOS-only so WS-7 can write the Android peer.
|
|
20
|
+
7. **Smoke green** - `smoke-figma-skill-import.sh`, `smoke-personal-data.sh`, `smoke-commands-skills-parity.sh`, `smoke-progress-contract.sh`.
|
|
21
21
|
|
|
22
22
|
## Skills to review (32)
|
|
23
23
|
|
|
@@ -58,10 +58,10 @@ For each skill listed below, a reviewer must confirm:
|
|
|
58
58
|
|
|
59
59
|
## Follow-up workstreams that consume this output
|
|
60
60
|
|
|
61
|
-
- **WS-2b**
|
|
62
|
-
- **WS-4**
|
|
63
|
-
- **WS-5**
|
|
64
|
-
- **WS-6**
|
|
65
|
-
- **WS-7**
|
|
66
|
-
- **WS-8**
|
|
67
|
-
- **WS-11**
|
|
61
|
+
- **WS-2b** - Import Python/shell scripts with transform + manual review.
|
|
62
|
+
- **WS-4** - Reduce Phase 3 dispatch to single `figma-to-component` call.
|
|
63
|
+
- **WS-5** - Wiki mode adapter; update `figma-component-wiki`.
|
|
64
|
+
- **WS-6** - Issue → Jira → Wiki triad; extend `figma-issue` + `figma-component-wiki`.
|
|
65
|
+
- **WS-7** - Android peer skills (`figma-component-implement-android`, `figma-component-test-android`).
|
|
66
|
+
- **WS-8** - Cross-CLI parity matrix expansion.
|
|
67
|
+
- **WS-11** - Add `<!-- progress-contract: applied -->` marker + `→ <verb>` lines to each skill.
|