@mmerterden/multi-agent-pipeline 8.6.1 → 10.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +544 -2484
- package/README.md +117 -138
- package/docs/features.md +1 -1
- package/index.js +8 -10
- package/install/_adapters.mjs +5 -1
- package/install/_common.mjs +63 -0
- package/install/claude.mjs +14 -14
- package/install/copilot.mjs +14 -8
- package/install/index.mjs +85 -19
- package/install/templates/claude-hooks.json +18 -0
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +21 -6
- package/pipeline/adapters/_base.mjs +366 -14
- package/pipeline/adapters/antigravity.mjs +140 -0
- package/pipeline/adapters/codex.mjs +159 -0
- package/pipeline/adapters/copilot-chat-orchestration.mjs +148 -0
- package/pipeline/adapters/copilot-chat.mjs +34 -68
- package/pipeline/adapters/cursor-orchestration.mjs +152 -0
- package/pipeline/adapters/cursor.mjs +49 -90
- package/pipeline/agents/android-architect.md +5 -5
- package/pipeline/agents/backend-architect.md +4 -4
- package/pipeline/agents/code-reviewer.md +10 -10
- package/pipeline/agents/dev-critic.md +17 -17
- package/pipeline/agents/explorer.md +3 -3
- package/pipeline/agents/ios-architect.md +4 -4
- package/pipeline/agents/security-auditor.md +12 -12
- package/pipeline/agents/task-clarifier.md +18 -18
- package/pipeline/claude-md-template.md +3 -3
- package/pipeline/commands/archive-guard.md +3 -3
- package/pipeline/commands/figma-to-swiftui.md +10 -10
- package/pipeline/commands/multi-agent/_account-picker.md +13 -9
- package/pipeline/commands/multi-agent/_dev-context.md +15 -15
- package/pipeline/commands/multi-agent/_input-parser.md +4 -4
- package/pipeline/commands/multi-agent/_repo-picker.md +9 -9
- package/pipeline/commands/multi-agent/analysis-resolve.md +129 -0
- package/pipeline/commands/multi-agent/analysis.md +667 -0
- package/pipeline/commands/multi-agent/autopilot.md +22 -22
- package/pipeline/commands/multi-agent/build-optimize.md +77 -0
- package/pipeline/commands/multi-agent/channels.md +96 -96
- package/pipeline/commands/multi-agent/delete.md +19 -17
- package/pipeline/commands/multi-agent/dev-autopilot.md +23 -23
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +23 -23
- package/pipeline/commands/multi-agent/dev-local.md +25 -22
- package/pipeline/commands/multi-agent/dev.md +49 -49
- package/pipeline/commands/multi-agent/diff-explain.md +4 -4
- package/pipeline/commands/multi-agent/garbage-collect.md +58 -0
- package/pipeline/commands/multi-agent/help.md +75 -66
- package/pipeline/commands/multi-agent/issue.md +3 -3
- package/pipeline/commands/multi-agent/jira.md +12 -12
- package/pipeline/commands/multi-agent/kill.md +6 -6
- package/pipeline/commands/multi-agent/language.md +12 -12
- package/pipeline/commands/multi-agent/local-autopilot.md +34 -34
- package/pipeline/commands/multi-agent/local.md +24 -25
- package/pipeline/commands/multi-agent/log.md +6 -6
- package/pipeline/commands/multi-agent/manual-test.md +3 -3
- package/pipeline/commands/multi-agent/prune-logs.md +60 -0
- package/pipeline/commands/multi-agent/purge.md +10 -7
- package/pipeline/commands/multi-agent/refactor.md +9 -9
- package/pipeline/commands/multi-agent/refs/analysis-template.md +1062 -0
- package/pipeline/commands/multi-agent/refs/android-guide.md +15 -13
- package/pipeline/commands/multi-agent/refs/audit-guide.md +20 -20
- package/pipeline/commands/multi-agent/refs/backend-guide.md +9 -9
- package/pipeline/commands/multi-agent/refs/channels/confluence.md +17 -17
- package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +30 -30
- package/pipeline/commands/multi-agent/refs/channels/jira.md +15 -15
- package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +19 -17
- package/pipeline/commands/multi-agent/refs/channels/pr.md +22 -22
- package/pipeline/commands/multi-agent/refs/channels/wiki.md +19 -19
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +11 -11
- package/pipeline/commands/multi-agent/refs/conventions-defaults.md +179 -0
- package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +35 -33
- package/pipeline/commands/multi-agent/refs/features/dev-critic.md +5 -5
- package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +6 -6
- package/pipeline/commands/multi-agent/refs/features/model-fallback.md +73 -0
- package/pipeline/commands/multi-agent/refs/features/plan-todos.md +1 -1
- package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +4 -4
- package/pipeline/commands/multi-agent/refs/features/repo-map.md +6 -6
- package/pipeline/commands/multi-agent/refs/features/shadow-git.md +2 -2
- package/pipeline/commands/multi-agent/refs/frontend-guide.md +16 -16
- package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +18 -18
- package/pipeline/commands/multi-agent/refs/keychain.md +18 -8
- package/pipeline/commands/multi-agent/refs/knowledge.md +9 -9
- package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +19 -19
- package/pipeline/commands/multi-agent/refs/phases/log-format.md +29 -9
- package/pipeline/commands/multi-agent/refs/phases/modes.md +33 -33
- package/pipeline/commands/multi-agent/refs/phases/operations.md +11 -11
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +93 -57
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +59 -28
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +115 -63
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +160 -63
- package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +33 -18
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +45 -43
- package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +54 -28
- package/pipeline/commands/multi-agent/refs/phases.md +17 -17
- package/pipeline/commands/multi-agent/refs/picker-contract.md +65 -0
- package/pipeline/commands/multi-agent/refs/progress-contract.md +37 -21
- package/pipeline/commands/multi-agent/refs/rules.md +83 -25
- package/pipeline/commands/multi-agent/refs/swiftui-guide.md +32 -30
- package/pipeline/commands/multi-agent/refs/tracker-contract.md +54 -30
- package/pipeline/commands/multi-agent/refs/wiki-capture.md +36 -33
- package/pipeline/commands/multi-agent/resume.md +9 -9
- package/pipeline/commands/multi-agent/review.md +24 -24
- package/pipeline/commands/multi-agent/scan.md +10 -10
- package/pipeline/commands/multi-agent/search.md +8 -8
- package/pipeline/commands/multi-agent/setup.md +111 -84
- package/pipeline/commands/multi-agent/stack.md +5 -5
- package/pipeline/commands/multi-agent/status.md +5 -5
- package/pipeline/commands/multi-agent/sync.md +123 -111
- package/pipeline/commands/multi-agent/test.md +6 -6
- package/pipeline/commands/multi-agent/update.md +1 -1
- package/pipeline/commands/multi-agent.md +66 -60
- package/pipeline/commands/sim-test.md +14 -14
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +1 -1
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +2 -2
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +2 -2
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +1 -1
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +2 -2
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +3 -3
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +4 -4
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +1 -1
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +1 -1
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +12 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +40 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +12 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +28 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +27 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +12 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +41 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +12 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +6 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +12 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +28 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +27 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +12 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +25 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +31 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +12 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +18 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +12 -0
- package/pipeline/eval/golden-tasks/README.md +14 -14
- package/pipeline/eval/intent-cases.json +40 -0
- package/pipeline/eval/run-metrics-fixture.json +46 -0
- package/pipeline/eval/triage/01-empty-findings/notes.md +1 -1
- package/pipeline/eval/triage/02-real-blocker/notes.md +2 -2
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +1 -1
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +1 -1
- package/pipeline/eval/triage/05-mixed-classification/notes.md +2 -2
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +2 -2
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +1 -1
- package/pipeline/eval/triage/08-style-misclassified/notes.md +1 -1
- package/pipeline/eval/triage/09-cascading-finding/notes.md +2 -2
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +2 -2
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +3 -3
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +2 -2
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +5 -5
- package/pipeline/eval/triage/README.md +4 -4
- package/pipeline/lib/account-resolver.sh +3 -3
- package/pipeline/lib/ask-choice.sh +98 -0
- package/pipeline/lib/channels-multi-repo.sh +3 -3
- package/pipeline/lib/classify-intent.sh +110 -0
- package/pipeline/lib/context-link-extractor.sh +3 -3
- package/pipeline/lib/credential-store-resolver.sh +3 -3
- package/pipeline/lib/credential-store.sh +9 -5
- package/pipeline/lib/extract-conventions.sh +1034 -0
- package/pipeline/lib/fetch-confluence.sh +3 -3
- package/pipeline/lib/fetch-crashlytics.sh +5 -5
- package/pipeline/lib/fetch-fortify.sh +5 -21
- package/pipeline/lib/fetch-swagger.sh +5 -5
- package/pipeline/lib/figma-screenshot.sh +536 -0
- package/pipeline/lib/issue-fetcher.sh +46 -20
- package/pipeline/lib/md2confluence-v3.py +1076 -0
- package/pipeline/lib/multi-repo-pipeline.sh +13 -22
- package/pipeline/lib/plan-todos.sh +7 -7
- package/pipeline/lib/post-pr-review.sh +53 -21
- package/pipeline/lib/repo-cache.sh +5 -5
- package/pipeline/lib/review-watch.sh +17 -13
- package/pipeline/lib/shadow-git.sh +7 -7
- package/pipeline/lib/submodule-detector.sh +3 -3
- package/pipeline/lib/vercel-deploy.sh +28 -15
- package/pipeline/preferences-template.json +21 -4
- package/pipeline/rules/app-store-guidelines.md +2 -2
- package/pipeline/rules/code-style.md +6 -6
- package/pipeline/rules/figma-pipeline.md +100 -2
- package/pipeline/rules/kotlin-android.md +8 -8
- package/pipeline/rules/security.md +4 -4
- package/pipeline/rules/tdd.md +1 -1
- package/pipeline/rules/testing.md +5 -5
- package/pipeline/schemas/agent-state.schema.json +55 -20
- package/pipeline/schemas/analysis-output.schema.json +7 -2
- package/pipeline/schemas/analysis-spec.schema.json +484 -0
- package/pipeline/schemas/clarify-output.schema.json +5 -5
- package/pipeline/schemas/conventions-output.schema.json +70 -0
- package/pipeline/schemas/dev-critic-output.schema.json +2 -2
- package/pipeline/schemas/diff-risk.schema.json +3 -3
- package/pipeline/schemas/figma-project-config.schema.json +3 -3
- package/pipeline/schemas/learnings-ledger.schema.json +39 -0
- package/pipeline/schemas/migrations/README.md +2 -2
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +5 -5
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +3 -3
- package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +4 -4
- package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +5 -5
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +3 -3
- package/pipeline/schemas/plan-todos.schema.json +4 -4
- package/pipeline/schemas/planning-output.schema.json +3 -3
- package/pipeline/schemas/prefs.schema.json +97 -13
- package/pipeline/schemas/reviewer-output.schema.json +7 -3
- package/pipeline/schemas/test-gap.schema.json +1 -1
- package/pipeline/schemas/token-budget.json +8 -8
- package/pipeline/schemas/triage-corpus.schema.json +1 -1
- package/pipeline/schemas/triage-output.schema.json +44 -6
- package/pipeline/scripts/README.md +64 -64
- package/pipeline/scripts/aggregate-metrics.mjs +55 -16
- package/pipeline/scripts/audit-log-rotate.sh +3 -3
- package/pipeline/scripts/audit-log.sh +20 -7
- package/pipeline/scripts/benchmark-phase-0.sh +6 -6
- package/pipeline/scripts/build-skills-index.mjs +15 -15
- package/pipeline/scripts/check-md-links.mjs +59 -0
- package/pipeline/scripts/classify-plan-safety.mjs +24 -18
- package/pipeline/scripts/cost-budget-check.mjs +160 -0
- package/pipeline/scripts/cost-table.json +23 -13
- package/pipeline/scripts/diff-explain.mjs +12 -12
- package/pipeline/scripts/diff-risk-score.mjs +18 -17
- package/pipeline/scripts/eval-golden-tasks-live.mjs +13 -10
- package/pipeline/scripts/eval-golden-tasks.mjs +3 -14
- package/pipeline/scripts/eval-intent.mjs +103 -0
- package/pipeline/scripts/eval-triage.mjs +3 -3
- package/pipeline/scripts/evidence-gate.mjs +155 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +9 -9
- package/pipeline/scripts/gc-tmp.sh +102 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +27 -21
- package/pipeline/scripts/gen-skills-index.mjs +6 -6
- package/pipeline/scripts/github-ssh-setup.sh +1 -1
- package/pipeline/scripts/keychain-save.sh +1 -1
- package/pipeline/scripts/keychain.py +6 -6
- package/pipeline/scripts/learnings-ledger.mjs +284 -0
- package/pipeline/scripts/lint-skills.mjs +80 -0
- package/pipeline/scripts/log-metric.sh +18 -9
- package/pipeline/scripts/match-skills.mjs +13 -8
- package/pipeline/scripts/memory-load.sh +3 -3
- package/pipeline/scripts/memory-save.sh +5 -5
- package/pipeline/scripts/migrate-prefs.mjs +17 -17
- package/pipeline/scripts/migrate-state.mjs +12 -12
- package/pipeline/scripts/output-quality-check.sh +7 -7
- package/pipeline/scripts/phase-banner.sh +5 -5
- package/pipeline/scripts/phase-tracker.sh +90 -53
- package/pipeline/scripts/pre-commit-check.sh +45 -5
- package/pipeline/scripts/pre-push-check.sh +7 -7
- package/pipeline/scripts/prune-logs.sh +118 -0
- package/pipeline/scripts/render-agent-log-cost.sh +55 -18
- package/pipeline/scripts/render-cost-summary.sh +9 -9
- package/pipeline/scripts/render-work-summary.sh +4 -4
- package/pipeline/scripts/repo-map.mjs +9 -9
- package/pipeline/scripts/run-aggregator.mjs +7 -6
- package/pipeline/scripts/run-metrics.mjs +129 -0
- package/pipeline/scripts/run-smokes.mjs +76 -0
- package/pipeline/scripts/scan-skills.sh +11 -11
- package/pipeline/scripts/search-logs.sh +8 -8
- package/pipeline/scripts/sign-skills.sh +2 -2
- package/pipeline/scripts/smoke-adapters.sh +79 -10
- package/pipeline/scripts/smoke-add-detail.sh +5 -5
- package/pipeline/scripts/smoke-agent-log-cost.sh +85 -6
- package/pipeline/scripts/smoke-agent-model-routing.sh +3 -3
- package/pipeline/scripts/smoke-ask-choice.sh +42 -0
- package/pipeline/scripts/smoke-bitbucket-contract.sh +19 -3
- package/pipeline/scripts/smoke-changelog-version.sh +47 -0
- package/pipeline/scripts/smoke-channels-flow.sh +1 -1
- package/pipeline/scripts/smoke-ci-workflows.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +3 -3
- package/pipeline/scripts/smoke-commands-skills-parity.sh +4 -4
- package/pipeline/scripts/smoke-community-gates.sh +75 -0
- package/pipeline/scripts/smoke-compliance-skills.sh +5 -5
- package/pipeline/scripts/smoke-cost-budget.sh +70 -0
- package/pipeline/scripts/smoke-cost-summary.sh +4 -4
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +50 -9
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +5 -5
- package/pipeline/scripts/smoke-delete-flow.sh +5 -5
- package/pipeline/scripts/smoke-dev-critic.sh +2 -2
- package/pipeline/scripts/smoke-diff-explain.sh +22 -3
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +1 -1
- package/pipeline/scripts/smoke-eval-live.sh +4 -4
- package/pipeline/scripts/smoke-evidence-gate.sh +93 -0
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +1 -1
- package/pipeline/scripts/smoke-extract-conventions.sh +163 -0
- package/pipeline/scripts/smoke-figma-android-parity.sh +1 -1
- package/pipeline/scripts/smoke-figma-credential-store.sh +3 -3
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +12 -12
- package/pipeline/scripts/smoke-figma-dispatch.sh +5 -5
- package/pipeline/scripts/smoke-figma-sync.sh +1 -1
- package/pipeline/scripts/smoke-gate-hooks.sh +56 -0
- package/pipeline/scripts/smoke-gc-tmp.sh +84 -0
- package/pipeline/scripts/smoke-identity-isolation.sh +7 -7
- package/pipeline/scripts/smoke-install-layout.sh +10 -10
- package/pipeline/scripts/smoke-intent-guard.sh +86 -0
- package/pipeline/scripts/smoke-issue-comment-template.sh +3 -3
- package/pipeline/scripts/smoke-issue-jira-triad.sh +1 -1
- package/pipeline/scripts/smoke-keychain.sh +6 -6
- package/pipeline/scripts/smoke-language-axis.sh +2 -2
- package/pipeline/scripts/smoke-learnings-ledger.sh +86 -0
- package/pipeline/scripts/smoke-lib-scripts.sh +2 -2
- package/pipeline/scripts/smoke-mcp-gate.sh +68 -0
- package/pipeline/scripts/smoke-md-links.sh +8 -0
- package/pipeline/scripts/smoke-md2confluence.sh +126 -0
- package/pipeline/scripts/smoke-metrics-cache-ratio.sh +72 -0
- package/pipeline/scripts/smoke-migrate-state.sh +10 -10
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +7 -4
- package/pipeline/scripts/smoke-model-fallback.sh +80 -0
- package/pipeline/scripts/smoke-multi-repo-integration.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +115 -0
- package/pipeline/scripts/smoke-no-token-prompt.sh +31 -15
- package/pipeline/scripts/smoke-pat-audit.sh +26 -5
- package/pipeline/scripts/smoke-per-repo-memory.sh +1 -1
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +2 -2
- package/pipeline/scripts/smoke-phase-banner.sh +1 -1
- package/pipeline/scripts/smoke-phase-tracker.sh +1 -1
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +4 -4
- package/pipeline/scripts/smoke-phase4-triage.sh +94 -7
- package/pipeline/scripts/smoke-plan-approval-gate.sh +3 -3
- package/pipeline/scripts/smoke-plan-safety.sh +1 -1
- package/pipeline/scripts/smoke-plan-todos.sh +7 -4
- package/pipeline/scripts/smoke-pr-review-actions.sh +2 -2
- package/pipeline/scripts/smoke-pre-commit.sh +34 -2
- package/pipeline/scripts/smoke-pref-migration.sh +1 -1
- package/pipeline/scripts/smoke-prefs-language.sh +5 -5
- package/pipeline/scripts/smoke-progress-contract.sh +3 -3
- package/pipeline/scripts/smoke-prune-logs.sh +87 -0
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-readme-counts.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +9 -9
- package/pipeline/scripts/smoke-review-watch.sh +12 -0
- package/pipeline/scripts/smoke-run-aggregator.sh +7 -7
- package/pipeline/scripts/smoke-run-metrics.sh +50 -0
- package/pipeline/scripts/smoke-schema-validation.sh +18 -11
- package/pipeline/scripts/smoke-search.sh +5 -5
- package/pipeline/scripts/smoke-shared-runtime.sh +108 -0
- package/pipeline/scripts/smoke-skill-authoring.sh +13 -13
- package/pipeline/scripts/smoke-skill-language.sh +4 -4
- package/pipeline/scripts/smoke-skill-manifest.sh +2 -2
- package/pipeline/scripts/smoke-skill-scan.sh +2 -2
- package/pipeline/scripts/smoke-stack-swap.sh +2 -2
- package/pipeline/scripts/smoke-subagent-validators.sh +8 -5
- package/pipeline/scripts/smoke-sync-adapters.sh +1 -1
- package/pipeline/scripts/smoke-sync-delegation.sh +7 -7
- package/pipeline/scripts/smoke-sync-parity.sh +1 -1
- package/pipeline/scripts/smoke-tasklist-ordering.sh +7 -7
- package/pipeline/scripts/smoke-telemetry.sh +1 -1
- package/pipeline/scripts/smoke-test-gap.sh +5 -5
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-tracker-contract.sh +6 -6
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +9 -1
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-contradiction.sh +1 -1
- package/pipeline/scripts/smoke-validator-gates.sh +164 -0
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +11 -11
- package/pipeline/scripts/smoke-wiki-integration.sh +2 -2
- package/pipeline/scripts/smoke-work-summary.sh +3 -3
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/smoke-write-state.sh +2 -2
- package/pipeline/scripts/stack-swap.sh +3 -3
- package/pipeline/scripts/sync-adapters.mjs +37 -10
- package/pipeline/scripts/sync-parity-check.sh +6 -6
- package/pipeline/scripts/test-gap-scan.mjs +11 -13
- package/pipeline/scripts/token-budget-report.mjs +4 -4
- package/pipeline/scripts/triage-memory.mjs +6 -6
- package/pipeline/scripts/uninstall.mjs +42 -4
- package/pipeline/scripts/update-issue-progress.sh +2 -2
- package/pipeline/scripts/validate-analysis.mjs +19 -21
- package/pipeline/scripts/validate-diff-risk.mjs +4 -4
- package/pipeline/scripts/validate-planning.mjs +3 -3
- package/pipeline/scripts/validate-reviewer.mjs +4 -4
- package/pipeline/scripts/validate-schemas.mjs +4 -4
- package/pipeline/scripts/validate-test-gap.mjs +4 -4
- package/pipeline/scripts/validate-triage.mjs +68 -9
- package/pipeline/scripts/verify-skills.sh +7 -7
- package/pipeline/scripts/write-state.mjs +49 -11
- package/pipeline/skills/.skill-manifest.json +245 -149
- package/pipeline/skills/.skills-index.json +236 -47
- package/pipeline/skills/figma-android/README.md +5 -5
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
- package/pipeline/skills/figma-common/README.md +29 -29
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
- package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +12 -12
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
- package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +38 -38
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +57 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +43 -43
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
- package/pipeline/skills/shared/README.md +62 -41
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
- package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
- package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
- package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
- package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
- package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
- package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
- package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
- package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
- package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
- package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
- package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
- package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
- package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
- package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
- package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
- package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
- package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
- package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
- package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
- package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
- package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
- package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
- package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
- package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
- package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
- package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
- package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
- package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
- package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
- package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
- package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
- package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
- package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
- package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
- package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
- package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
- package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
- package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
- package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
- package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
- package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
- package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
- package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
- package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
- package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
- package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
- package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
- package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
- package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
- package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
- package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
- package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
- package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
- package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
- package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
- package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
- package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
- package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
- package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
- package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
- package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
- package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
- package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
- package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
- package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
- package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
- package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
- package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
- package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
- package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
- package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
- package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
- package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
- package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
- package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
- package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
- package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
- package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
- package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
- package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
- package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
- package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
- package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
- package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
- package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
- package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
- package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
- package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
- package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
- package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
- package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
- package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
- package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
- package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
- package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
- package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
- package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
- package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
- package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
- package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
- package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
- package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
- package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
- package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
- package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
- package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
- package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
- package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
- package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
- package/pipeline/skills/skills-index.md +213 -192
- package/docs/GENERICITY-REVIEW.md +0 -277
- package/docs/STABILITY-FIX-PLAN.md +0 -168
- package/pipeline/scripts/.last-figma-sync-plan.json +0 -23
- package/pipeline/scripts/README-figma-smokes.md +0 -34
- package/pipeline/scripts/figma-placeholder-map.json +0 -191
- package/pipeline/scripts/import-figma-skills.sh +0 -253
- package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
- package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
- package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
- package/pipeline/scripts/smoke-personal-data.sh +0 -82
- package/pipeline/scripts/sync-figma-source.sh +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
- package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
- package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
- package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
|
@@ -8,14 +8,14 @@ status: wip-v5
|
|
|
8
8
|
sourced-from: upstream/figma-validate
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# /figma-validate
|
|
11
|
+
# /figma-validate - Pre-Implementation Component Validation
|
|
12
12
|
|
|
13
13
|
## Purpose
|
|
14
14
|
|
|
15
15
|
Validates whether a Figma component is ready for the figma-to-swiftui implementation pipeline.
|
|
16
16
|
Runs 6 criteria checks and returns a verdict: **VALID**, **CONDITIONAL**, or **INVALID**.
|
|
17
17
|
|
|
18
|
-
This is a **read-only diagnostic skill**
|
|
18
|
+
This is a **read-only diagnostic skill** - it does NOT modify any files.
|
|
19
19
|
|
|
20
20
|
## Parameters
|
|
21
21
|
|
|
@@ -80,8 +80,8 @@ gh issue view <N> --repo ${GH_REPO} --json number,title,body
|
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
Extract from the issue body:
|
|
83
|
-
- **Figma URL**
|
|
84
|
-
- **Component Name**
|
|
83
|
+
- **Figma URL** - from the line after `### Figma URL` heading
|
|
84
|
+
- **Component Name** - from `### Component Name (PascalCase)` section (informational)
|
|
85
85
|
|
|
86
86
|
```python
|
|
87
87
|
import json, re
|
|
@@ -117,7 +117,7 @@ Seven criteria are checked. Each returns ✅ (pass) or ❌ (fail) with a reason.
|
|
|
117
117
|
|
|
118
118
|
---
|
|
119
119
|
|
|
120
|
-
### Criterion 1
|
|
120
|
+
### Criterion 1 - Component Registry Presence
|
|
121
121
|
|
|
122
122
|
**Question:** Component registry'de (`component-registry.json`) yer alıyor mu?
|
|
123
123
|
|
|
@@ -131,9 +131,9 @@ Also check `excludePatterns` in `$REGISTRY_CONFIG`:
|
|
|
131
131
|
- If the component's `pageName` or `sectionName` matches an exclude pattern → ❌ FAIL. Reason: "Component is in an excluded page: {pageName}."
|
|
132
132
|
|
|
133
133
|
**Known valid file keys** (from registry config):
|
|
134
|
-
- `ps4xrJzhn7WNbfkZs895Bi`
|
|
135
|
-
- `9ipBvrtsq9HlQ175B9k0wx`
|
|
136
|
-
- `YSs4g0EeGAW53haB0zz5sa`
|
|
134
|
+
- `ps4xrJzhn7WNbfkZs895Bi` - Design System Core
|
|
135
|
+
- `9ipBvrtsq9HlQ175B9k0wx` - Mobile App Components
|
|
136
|
+
- `YSs4g0EeGAW53haB0zz5sa` - Visual Assets
|
|
137
137
|
|
|
138
138
|
If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknown Figma file. Only Design System Core, Mobile App Components, and Visual Assets are supported."
|
|
139
139
|
|
|
@@ -141,7 +141,7 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
|
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
|
-
### Criterion 2
|
|
144
|
+
### Criterion 2 - Figma Property Structure & Code Connect Strategy
|
|
145
145
|
|
|
146
146
|
**Question:** Uygulanabilir bir Code Connect stratejisi var mı?
|
|
147
147
|
|
|
@@ -149,7 +149,7 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
|
|
|
149
149
|
|
|
150
150
|
1. Fetch component data via Figma REST API:
|
|
151
151
|
```python
|
|
152
|
-
# Use python3 urllib.request
|
|
152
|
+
# Use python3 urllib.request - curl may be blocked by policy
|
|
153
153
|
import subprocess, urllib.request, json
|
|
154
154
|
token = subprocess.check_output(
|
|
155
155
|
["security", "find-generic-password", "-s", "FIGMA_ACCESS_TOKEN", "-w"],
|
|
@@ -177,32 +177,32 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
|
|
|
177
177
|
| `COMPONENT` | 0 properties | STATIC_VALUES | ✅ PASS |
|
|
178
178
|
| `COMPONENT` | N/A | STATIC_VALUES | ✅ PASS |
|
|
179
179
|
|
|
180
|
-
**Pass Condition:** Component has a valid Code Connect strategy
|
|
180
|
+
**Pass Condition:** Component has a valid Code Connect strategy - either property mapping (for COMPONENT_SET with ≥1 property) or STATIC_VALUES (for plain COMPONENT).
|
|
181
181
|
|
|
182
182
|
**Output:** Always report the detected strategy in the result:
|
|
183
|
-
- `✅ STATIC_VALUES
|
|
184
|
-
- `✅ Property Mapping
|
|
185
|
-
- `❌ COMPONENT_SET with 0 properties
|
|
183
|
+
- `✅ STATIC_VALUES - plain COMPONENT, no variant properties (uses static preview in .figma.swift)`
|
|
184
|
+
- `✅ Property Mapping - 3 enum, 1 string, 2 bool`
|
|
185
|
+
- `❌ COMPONENT_SET with 0 properties - unexpected, needs design review`
|
|
186
186
|
|
|
187
187
|
**Warning Flags** (informational, not failures):
|
|
188
|
-
- Property named `"Property 1"` → flag as `UNNAMED_PROPERTY`: "Unnamed property detected
|
|
188
|
+
- Property named `"Property 1"` → flag as `UNNAMED_PROPERTY`: "Unnamed property detected - design team should rename."
|
|
189
189
|
- Property values with likely typos (e.g., `"Standart"`, `"Clasic Plus"`) → flag as `TYPO_DETECTED`.
|
|
190
190
|
|
|
191
191
|
**Fallback:** If Figma API is unreachable, mark criterion as ⚠️ SKIPPED. Do NOT fail the entire validation.
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
195
|
-
### Criterion 3
|
|
195
|
+
### Criterion 3 - Design Token Compliance
|
|
196
196
|
|
|
197
197
|
**Question:** Renkler/spacing/typography design token kullanıyor mu?
|
|
198
198
|
|
|
199
199
|
**Check:**
|
|
200
200
|
|
|
201
201
|
1. From Figma node data, extract:
|
|
202
|
-
- **Fill colors**
|
|
203
|
-
- **Text styles**
|
|
204
|
-
- **Spacing values**
|
|
205
|
-
- **Corner radius**
|
|
202
|
+
- **Fill colors** - check if they correspond to known design token hex values
|
|
203
|
+
- **Text styles** - check if they match `UIAssetTokens` typography styles
|
|
204
|
+
- **Spacing values** - check if padding/gap values are standard multiples: 2, 4, 8, 12, 16, 24, 32, 48
|
|
205
|
+
- **Corner radius** - check if values match known radius tokens: 4, 8, 12, 16, 24
|
|
206
206
|
2. Optionally cross-reference with the token index:
|
|
207
207
|
```bash
|
|
208
208
|
cd "${COMMON_PATH}" && .build/debug/FigmaRegistryUtility uitoken-index 2>/dev/null
|
|
@@ -210,11 +210,11 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
|
|
|
210
210
|
|
|
211
211
|
**Pass Condition:** No hardcoded hex colors outside the design token palette. Spacing uses standard increments.
|
|
212
212
|
|
|
213
|
-
**Soft Pass:** If token verification is not possible from the API response, mark as ⚠️ ASSUMED PASS with note: "Token compliance could not be fully verified from API
|
|
213
|
+
**Soft Pass:** If token verification is not possible from the API response, mark as ⚠️ ASSUMED PASS with note: "Token compliance could not be fully verified from API - manual visual check recommended."
|
|
214
214
|
|
|
215
215
|
---
|
|
216
216
|
|
|
217
|
-
### Criterion 4
|
|
217
|
+
### Criterion 4 - Nested Dependency Readiness
|
|
218
218
|
|
|
219
219
|
**Question:** Bağımlı olduğu alt bileşenler zaten implemente mi?
|
|
220
220
|
|
|
@@ -225,7 +225,7 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
|
|
|
225
225
|
3. **Resolve the componentId** to a searchable ID using the `components` metadata from the API response.
|
|
226
226
|
4. **Search for implementation** using the decision tree below.
|
|
227
227
|
|
|
228
|
-
#### Step 3
|
|
228
|
+
#### Step 3 - ComponentId Resolution (CRITICAL)
|
|
229
229
|
|
|
230
230
|
Figma INSTANCE nodes reference a **variant's node ID** (`componentId`), NOT the COMPONENT_SET's node ID. The API response includes a `components` metadata map at `data.nodes[nodeId].components` that provides the `componentSetId` for each variant.
|
|
231
231
|
|
|
@@ -266,7 +266,7 @@ For each child `componentId`, look it up in the component registry (`component-r
|
|
|
266
266
|
│ └──────────┬───────────────────┘
|
|
267
267
|
┌────────────┼────────────┐ found │ not found
|
|
268
268
|
│ │ │ │ │
|
|
269
|
-
VA (Y
|
|
269
|
+
VA (Y...sa) DSC (p...Bi) MAC (9...wx) ┌─────┴──────┐ UNKNOWN
|
|
270
270
|
│ │ │ │status.ios. │ (warn)
|
|
271
271
|
▼ ▼ ▼ │implemented │
|
|
272
272
|
COMMON UICOMP UICOMP │.value=true?│
|
|
@@ -283,7 +283,7 @@ For each child `componentId`, look it up in the component registry (`component-r
|
|
|
283
283
|
| `ps4xrJzhn7WNbfkZs895Bi` | Design System Core | **UICOMP** | Core UI components |
|
|
284
284
|
| `9ipBvrtsq9HlQ175B9k0wx` | Mobile App Components | **UICOMP** | Flow-based / app-specific components |
|
|
285
285
|
|
|
286
|
-
**Registry-based shortcuts** (parentPage check
|
|
286
|
+
**Registry-based shortcuts** (parentPage check - no filesystem search needed):
|
|
287
287
|
|
|
288
288
|
| `parentPage` value | Location | Verification |
|
|
289
289
|
|--------------------|----------|-------------|
|
|
@@ -300,7 +300,7 @@ For each child `componentId`, look it up in the component registry (`component-r
|
|
|
300
300
|
# IMPORTANT: Search on iteration/develop, not current HEAD
|
|
301
301
|
cd "${COMMON_PATH}"
|
|
302
302
|
NODE_DASH="${nodeId//:/-}"
|
|
303
|
-
# 1. Check Components/{nodeId}.json
|
|
303
|
+
# 1. Check Components/{nodeId}.json - new status.ios.implemented.value (architecture-update)
|
|
304
304
|
# with legacy codeConnect.ios fallback for pre-backfill entries
|
|
305
305
|
git show iteration/develop:Shared/Figma/Components/${NODE_DASH}.json 2>/dev/null | \
|
|
306
306
|
python3 -c "
|
|
@@ -342,7 +342,7 @@ git grep -rl "${component_name}" iteration/develop -- 'Sources/UIComponents/Regr
|
|
|
342
342
|
|
|
343
343
|
**Pass Condition:** ALL child component instances are either:
|
|
344
344
|
- Already implemented (have a matching `.figma.swift` on `iteration/develop`), OR
|
|
345
|
-
- Have `status.ios.implemented.value = true` in individual `Components/{nodeId}.json` (architecture-update model
|
|
345
|
+
- Have `status.ios.implemented.value = true` in individual `Components/{nodeId}.json` (architecture-update model - with legacy `codeConnect.ios = true` as fallback for pre-backfill entries), OR
|
|
346
346
|
- Listed under `parentPage: "Icons"` or `"Logos"` in the component registry, OR
|
|
347
347
|
- Found in `Regroup/` folder (cross-file logos like `MilesAndSmilesLogo`), OR
|
|
348
348
|
- Marked as skipped in registry (`skip: true`), OR
|
|
@@ -353,7 +353,7 @@ List the missing dependencies with their Figma names and node IDs.
|
|
|
353
353
|
|
|
354
354
|
---
|
|
355
355
|
|
|
356
|
-
### Criterion 5
|
|
356
|
+
### Criterion 5 - Atomic Component Scope
|
|
357
357
|
|
|
358
358
|
**Question:** Atomic (tek başına anlamlı) bir UI parçası mı?
|
|
359
359
|
|
|
@@ -365,8 +365,8 @@ List the missing dependencies with their Figma names and node IDs.
|
|
|
365
365
|
2. From Figma node data, check dimensions:
|
|
366
366
|
- Width > 500 AND height > 800 → likely a full screen ❌
|
|
367
367
|
3. Check variant count from component properties:
|
|
368
|
-
- 2
|
|
369
|
-
- 0
|
|
368
|
+
- 2-50 variant combinations → reasonable ✅
|
|
369
|
+
- 0-1 variants → acceptable for STATIC_VALUES components - ⚠️ warn but pass
|
|
370
370
|
- 500+ variants → likely needs splitting ❌
|
|
371
371
|
4. Check component name depth:
|
|
372
372
|
- Name contains `/` separators with 4+ levels (e.g., `A/B/C/D/E`) → ⚠️ warn, may be deeply nested subcomponent
|
|
@@ -375,7 +375,7 @@ List the missing dependencies with their Figma names and node IDs.
|
|
|
375
375
|
|
|
376
376
|
---
|
|
377
377
|
|
|
378
|
-
### Criterion 6
|
|
378
|
+
### Criterion 6 - iOS Platform Applicability
|
|
379
379
|
|
|
380
380
|
**Question:** iOS platformu için geçerli mi (Hover-only değil)?
|
|
381
381
|
|
|
@@ -390,11 +390,11 @@ List the missing dependencies with their Figma names and node IDs.
|
|
|
390
390
|
3. Check for web-only component patterns in the name:
|
|
391
391
|
- `"Breadcrumb"`, `"Sidebar"`, `"Tooltip/Hover"` → ⚠️ flag for review but don't auto-fail
|
|
392
392
|
|
|
393
|
-
**Pass Condition:** Component is usable on iOS
|
|
393
|
+
**Pass Condition:** Component is usable on iOS - has non-hover states and is not desktop-only.
|
|
394
394
|
|
|
395
395
|
---
|
|
396
396
|
|
|
397
|
-
### Criterion 7
|
|
397
|
+
### Criterion 7 - Already Implemented Check
|
|
398
398
|
|
|
399
399
|
**Question:** Bu component zaten implemente edilmiş mi?
|
|
400
400
|
|
|
@@ -466,8 +466,8 @@ From registry, count how many components on the same `pageName` are implemented
|
|
|
466
466
|
| Score | Verdict | Meaning |
|
|
467
467
|
|-------|---------|---------|
|
|
468
468
|
| 7/7 ✅ | **VALID** | Ready for `/figma-to-swiftui` implementation pipeline |
|
|
469
|
-
| 6/7 ✅ | **CONDITIONAL** | One criterion failed
|
|
470
|
-
| 5/7 or below | **INVALID** | Not ready
|
|
469
|
+
| 6/7 ✅ | **CONDITIONAL** | One criterion failed - may be resolvable |
|
|
470
|
+
| 5/7 or below | **INVALID** | Not ready - requires design-side changes or scope adjustment |
|
|
471
471
|
|
|
472
472
|
**Note on ⚠️ SKIPPED criteria:** A skipped criterion (e.g., Figma API unreachable) counts as a pass for scoring purposes but is noted in the output.
|
|
473
473
|
|
|
@@ -509,7 +509,7 @@ From registry, count how many components on the same `pageName` are implemented
|
|
|
509
509
|
- Page progress: Explore 12/18 (67%)
|
|
510
510
|
|
|
511
511
|
⚠️ Warnings:
|
|
512
|
-
- UNNAMED_PROPERTY: "Property 1" detected
|
|
512
|
+
- UNNAMED_PROPERTY: "Property 1" detected - design team should rename
|
|
513
513
|
```
|
|
514
514
|
|
|
515
515
|
If `--verbose`, expand each criterion with detailed findings.
|
|
@@ -539,13 +539,13 @@ These are logged but do NOT affect the VALID/INVALID verdict:
|
|
|
539
539
|
|
|
540
540
|
| Flag | Description |
|
|
541
541
|
|------|-------------|
|
|
542
|
-
| `UNNAMED_PROPERTY` | Figma property named "Property 1"
|
|
542
|
+
| `UNNAMED_PROPERTY` | Figma property named "Property 1" - tasarımcı rename etmeli |
|
|
543
543
|
| `TYPO_DETECTED` | Variant value appears misspelled (e.g., "Standart", "Clasic Plus") |
|
|
544
|
-
| `DESKTOP_CHANNEL` | Component has Desktop/Web channel mapping
|
|
545
|
-
| `MEND_CANDIDATE` | A previous implementation exists in `Discarded/`
|
|
544
|
+
| `DESKTOP_CHANNEL` | Component has Desktop/Web channel mapping - iOS'ta kullanılmaz |
|
|
545
|
+
| `MEND_CANDIDATE` | A previous implementation exists in `Discarded/` - use `/figma-mend` instead |
|
|
546
546
|
| `URL_FORMAT_INCONSISTENT` | Node URL uses non-standard format (www vs non-www, `:` vs `-`) |
|
|
547
|
-
| `LOW_VARIANT_COUNT` | 0
|
|
548
|
-
| `DEEP_NESTING` | Component name has 4+ path levels
|
|
547
|
+
| `LOW_VARIANT_COUNT` | 0-1 variants - uses STATIC_VALUES Code Connect strategy |
|
|
548
|
+
| `DEEP_NESTING` | Component name has 4+ path levels - may be a deeply nested subcomponent |
|
|
549
549
|
|
|
550
550
|
---
|
|
551
551
|
|
|
@@ -553,7 +553,7 @@ These are logged but do NOT affect the VALID/INVALID verdict:
|
|
|
553
553
|
|
|
554
554
|
| Error | Action |
|
|
555
555
|
|-------|--------|
|
|
556
|
-
| Figma API unreachable | Skip Criteria 2, 3, 4, 6
|
|
556
|
+
| Figma API unreachable | Skip Criteria 2, 3, 4, 6 - mark as ⚠️ SKIPPED, continue with Criteria 1, 5, 7 |
|
|
557
557
|
| Registry file not found | Show command: `cd ${COMMON_PATH} && swift build --product FigmaRegistryUtility && .build/debug/FigmaRegistryUtility update` |
|
|
558
558
|
| FigmaRegistryUtility not built | Show: `cd ${COMMON_PATH} && swift build --product FigmaRegistryUtility` |
|
|
559
559
|
| Invalid URL format | Ask user for correct URL via AskUserQuestion |
|
|
@@ -593,7 +593,7 @@ The script:
|
|
|
593
593
|
- Outputs a single JSON object with `results`, `intel`, `warnings`, `score`, `total`, `elapsed_ms`
|
|
594
594
|
- Agent parses the JSON and formats the verdict box
|
|
595
595
|
|
|
596
|
-
**IMPORTANT
|
|
596
|
+
**IMPORTANT - Do NOT create temporary `.py` or `.json` files.** Always use the permanent script above. If for any reason temporary files were created during execution, clean them up before returning the result:
|
|
597
597
|
|
|
598
598
|
```bash
|
|
599
599
|
rm -f /tmp/figma_validate*.py /tmp/figma_validate*.json /tmp/figma_qr*.py /tmp/figma_analyze*.py /tmp/figma_lookup*.py
|
|
@@ -607,17 +607,17 @@ rm -f /tmp/figma_validate*.py /tmp/figma_validate*.json /tmp/figma_qr*.py /tmp/f
|
|
|
607
607
|
Never write intermediate results to disk.
|
|
608
608
|
|
|
609
609
|
**Key rules for speed:**
|
|
610
|
-
- ONE terminal command total (the python3 script)
|
|
611
|
-
- Use `urllib.request`
|
|
612
|
-
- Use `os.walk` / `glob.glob` for file searches
|
|
613
|
-
- Never put `#` comments in shell compound commands
|
|
610
|
+
- ONE terminal command total (the python3 script) - no sequential shell calls
|
|
611
|
+
- Use `urllib.request` - never `curl` (may be blocked by auto-approval policy)
|
|
612
|
+
- Use `os.walk` / `glob.glob` for file searches - never shell `grep`/`find`
|
|
613
|
+
- Never put `#` comments in shell compound commands - causes `zsh` parse errors
|
|
614
614
|
|
|
615
615
|
---
|
|
616
616
|
|
|
617
617
|
## Future Extensibility
|
|
618
618
|
|
|
619
619
|
Each criterion is self-contained with:
|
|
620
|
-
- A **question** (what it checks
|
|
620
|
+
- A **question** (what it checks - displayed in Turkish for team context)
|
|
621
621
|
- A **check** procedure (how to verify)
|
|
622
622
|
- A **pass condition** (what constitutes success)
|
|
623
623
|
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: performance-iteration-commit-all
|
|
3
|
+
description: Reads `_tour_tracker.json`, validates all reviewed components in a single build+test cycle, pushes all local commits in a single push per submodule, then handles issue.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /performance-iteration-commit-all - Batch Validate & Push All Tour Components
|
|
2
7
|
|
|
3
8
|
> Reads `_tour_tracker.json`, validates all reviewed components in a single build+test
|
|
4
9
|
> cycle, pushes all local commits in a single push per submodule, then handles issue
|
|
@@ -16,7 +21,7 @@
|
|
|
16
21
|
|
|
17
22
|
## Parameters
|
|
18
23
|
|
|
19
|
-
No arguments
|
|
24
|
+
No arguments - reads `_tour_tracker.json`.
|
|
20
25
|
|
|
21
26
|
```
|
|
22
27
|
/performance-iteration-commit-all
|
|
@@ -37,12 +42,12 @@ TRACKER_FILE = ${REPO_ROOT}/_tour_tracker.json
|
|
|
37
42
|
|
|
38
43
|
---
|
|
39
44
|
|
|
40
|
-
## STEP 0
|
|
45
|
+
## STEP 0 - Read Tracker & Verify State
|
|
41
46
|
|
|
42
47
|
Read `_tour_tracker.json`.
|
|
43
48
|
|
|
44
49
|
Verify:
|
|
45
|
-
- `current_step` is `"STEP_3"`
|
|
50
|
+
- `current_step` is `"STEP_3"` - if not, HALT: "Review not complete. Run /performance-review-next first."
|
|
46
51
|
- `reviewed_components` has at least 1 entry
|
|
47
52
|
- All reviewed components have local commits (check with `git log`)
|
|
48
53
|
|
|
@@ -57,15 +62,15 @@ Print:
|
|
|
57
62
|
|
|
58
63
|
```
|
|
59
64
|
╔══════════════════════════════════════════════════════════════╗
|
|
60
|
-
║ BATCH COMMIT
|
|
65
|
+
║ BATCH COMMIT - PRE-FLIGHT ║
|
|
61
66
|
╠══════════════════════════════════════════════════════════════╣
|
|
62
67
|
║ ║
|
|
63
68
|
║ Components to commit: ║
|
|
64
|
-
║ 1. ComponentA (#1000)
|
|
65
|
-
║ 2. ComponentC (#1002)
|
|
69
|
+
║ 1. ComponentA (#1000) - reviewed ✅ ║
|
|
70
|
+
║ 2. ComponentC (#1002) - reviewed ✅ ║
|
|
66
71
|
║ ║
|
|
67
72
|
║ Dropped (will NOT be committed): ║
|
|
68
|
-
║ ❌ ComponentB (#1001)
|
|
73
|
+
║ ❌ ComponentB (#1001) - halted, dropped ║
|
|
69
74
|
║ ║
|
|
70
75
|
╚══════════════════════════════════════════════════════════════╝
|
|
71
76
|
|
|
@@ -76,7 +81,7 @@ Wait for user confirmation.
|
|
|
76
81
|
|
|
77
82
|
---
|
|
78
83
|
|
|
79
|
-
## STEP 1
|
|
84
|
+
## STEP 1 - Validate (SINGLE PASS)
|
|
80
85
|
|
|
81
86
|
### 1a. Build
|
|
82
87
|
|
|
@@ -165,7 +170,7 @@ Validation Summary:
|
|
|
165
170
|
|
|
166
171
|
---
|
|
167
172
|
|
|
168
|
-
## STEP 2
|
|
173
|
+
## STEP 2 - Push (SINGLE PUSH per submodule)
|
|
169
174
|
|
|
170
175
|
### 2a. Push with Rebase-Retry Loop
|
|
171
176
|
|
|
@@ -179,12 +184,12 @@ MAX_RETRIES=3
|
|
|
179
184
|
for i in $(seq 1 $MAX_RETRIES); do
|
|
180
185
|
git push origin ${PUSH_BRANCH} && break
|
|
181
186
|
|
|
182
|
-
echo "Push rejected
|
|
187
|
+
echo "Push rejected - remote updated. Rebasing (attempt $i)..."
|
|
183
188
|
git fetch origin ${PUSH_BRANCH}
|
|
184
189
|
git rebase origin/${PUSH_BRANCH}
|
|
185
190
|
|
|
186
191
|
if [ $? -ne 0 ]; then
|
|
187
|
-
# Rebase conflict
|
|
192
|
+
# Rebase conflict - attempt auto-resolution for generated files
|
|
188
193
|
# See "Generated File Conflict Resolution" below
|
|
189
194
|
# If auto-resolution fails → HALT
|
|
190
195
|
fi
|
|
@@ -202,12 +207,12 @@ done
|
|
|
202
207
|
```
|
|
203
208
|
|
|
204
209
|
**Push order matters:** common → uicomponents → wiki (dependencies flow this direction).
|
|
205
|
-
In **lean mode**, wiki submodule has no commits
|
|
210
|
+
In **lean mode**, wiki submodule has no commits - skip the wiki push entirely.
|
|
206
211
|
|
|
207
212
|
#### Generated File Conflict Resolution (common submodule)
|
|
208
213
|
|
|
209
214
|
During rebase, conflicts in generated files are **expected** when others have pushed to
|
|
210
|
-
`iteration/develop` concurrently. **NEVER resolve these by picking a side
|
|
215
|
+
`iteration/develop` concurrently. **NEVER resolve these by picking a side - always
|
|
211
216
|
accept remote then regenerate.**
|
|
212
217
|
|
|
213
218
|
**Conflict resolution table:**
|
|
@@ -265,7 +270,7 @@ Update tracker: record SHAs for each component.
|
|
|
265
270
|
```bash
|
|
266
271
|
cd ${COMMON} && git fetch origin iteration/develop
|
|
267
272
|
cd ${UICOMPONENTS} && git fetch origin iteration/develop
|
|
268
|
-
# Wiki fetch
|
|
273
|
+
# Wiki fetch - skip in lean mode
|
|
269
274
|
if [ "$LEAN_MODE" != "true" ]; then
|
|
270
275
|
cd ${WIKI} && git fetch origin master
|
|
271
276
|
fi
|
|
@@ -308,7 +313,7 @@ conflict resolution (e.g., `LocalizationStringKeys.swift` missing component keys
|
|
|
308
313
|
|
|
309
314
|
---
|
|
310
315
|
|
|
311
|
-
## STEP 3
|
|
316
|
+
## STEP 3 - Issue Housekeeping (Per Component)
|
|
312
317
|
|
|
313
318
|
> **(strict) NONE of these substeps may be skipped.** Each substep prints a
|
|
314
319
|
> status line (`✅` or `❌`). The Completion Gate at the end (3g) verifies ALL
|
|
@@ -348,9 +353,9 @@ Print: ` #<N> 3a Comment: ✅` or `❌`
|
|
|
348
353
|
|
|
349
354
|
Determine completed phases from committed files:
|
|
350
355
|
- Has Swift view file → phase:implementation done
|
|
351
|
-
- Has test files → phase:testing done (**skip check in lean mode
|
|
356
|
+
- Has test files → phase:testing done (**skip check in lean mode - always false**)
|
|
352
357
|
- Has .figma.swift → phase:code-connect done
|
|
353
|
-
- Has wiki markdown → phase:documentation done (**skip check in lean mode
|
|
358
|
+
- Has wiki markdown → phase:documentation done (**skip check in lean mode - always false**)
|
|
354
359
|
|
|
355
360
|
**Add phase labels to issue (adjust for lean mode):**
|
|
356
361
|
|
|
@@ -385,7 +390,7 @@ ISSUE_NODE_ID=$(gh api graphql -f query='{ repository(owner: "{github.org}", nam
|
|
|
385
390
|
|
|
386
391
|
ITEM_ID=$(gh api graphql -f query='mutation { addProjectV2ItemById(input: { projectId: "{github.projectV2Id}", contentId: "'"$ISSUE_NODE_ID"'" }) { item { id } } }' --jq '.data.addProjectV2ItemById.item.id')
|
|
387
392
|
|
|
388
|
-
# Set Phase = Documentation (last completed)
|
|
393
|
+
# Set Phase = Documentation (last completed) - or Code Connect in lean mode
|
|
389
394
|
LAST_PHASE_ID="7307fb8f" # Documentation
|
|
390
395
|
if [ "$LEAN_MODE" = "true" ]; then
|
|
391
396
|
LAST_PHASE_ID="5384b1e1" # Code Connect
|
|
@@ -466,7 +471,7 @@ python3 ${REPO_ROOT}/.instructions/figma/figma-to-swiftui/scripts/update-status-
|
|
|
466
471
|
|
|
467
472
|
If the script is not available, skip with a warning:
|
|
468
473
|
```
|
|
469
|
-
⚠️ Status dashboard regeneration skipped
|
|
474
|
+
⚠️ Status dashboard regeneration skipped - script not found.
|
|
470
475
|
Run /figma-to-swift-ui-status-update manually to update counts.
|
|
471
476
|
```
|
|
472
477
|
|
|
@@ -599,7 +604,7 @@ Print the housekeeping checklist for ALL components:
|
|
|
599
604
|
║ HOUSEKEEPING COMPLETION GATE ║
|
|
600
605
|
╠══════════════════════════════════════════════════════════════╣
|
|
601
606
|
║ ║
|
|
602
|
-
║ #308
|
|
607
|
+
║ #308 FeatureXInviteList ║
|
|
603
608
|
║ 3a Comment: ✅ ║
|
|
604
609
|
║ 3b Phase: ✅ → Documentation ║
|
|
605
610
|
║ 3c Wiki Link: ✅ ║
|
|
@@ -607,7 +612,7 @@ Print the housekeeping checklist for ALL components:
|
|
|
607
612
|
║ 3e Dashboard: ✅ regenerated ║
|
|
608
613
|
║ 3f Jira: ✅ {jira.projectKey}-132507 ║
|
|
609
614
|
║ ║
|
|
610
|
-
║ #309
|
|
615
|
+
║ #309 FeatureXVoucherGroup ║
|
|
611
616
|
║ 3a Comment: ✅ ║
|
|
612
617
|
║ 3b Phase: ✅ → Documentation ║
|
|
613
618
|
║ 3c Wiki Link: ✅ ║
|
|
@@ -627,14 +632,14 @@ Print the housekeeping checklist for ALL components:
|
|
|
627
632
|
```
|
|
628
633
|
|
|
629
634
|
**Critical substeps** (MUST pass or have valid skip reason):
|
|
630
|
-
- **3a**
|
|
631
|
-
- **3b**
|
|
632
|
-
- **3c**
|
|
633
|
-
- **3f**
|
|
635
|
+
- **3a** - Comment on issue
|
|
636
|
+
- **3b** - Phase + labels updated
|
|
637
|
+
- **3c** - Wiki linked (if wiki committed)
|
|
638
|
+
- **3f** - Jira assigned (if Jira key exists)
|
|
634
639
|
|
|
635
640
|
**Non-critical substeps** (warn but continue):
|
|
636
|
-
- **3d**
|
|
637
|
-
- **3e**
|
|
641
|
+
- **3d** - Auto-unblock (best effort)
|
|
642
|
+
- **3e** - Status dashboard (best effort)
|
|
638
643
|
|
|
639
644
|
If ANY critical substep shows `❌`:
|
|
640
645
|
1. Print which substeps failed and for which components
|
|
@@ -645,11 +650,11 @@ If gate passes → proceed to STEP 4.
|
|
|
645
650
|
|
|
646
651
|
---
|
|
647
652
|
|
|
648
|
-
## STEP 4
|
|
653
|
+
## STEP 4 - Final Report
|
|
649
654
|
|
|
650
655
|
```
|
|
651
656
|
╔══════════════════════════════════════════════════════════════╗
|
|
652
|
-
║ TOUR COMPLETE
|
|
657
|
+
║ TOUR COMPLETE - FINAL REPORT ║
|
|
653
658
|
╠══════════════════════════════════════════════════════════════╣
|
|
654
659
|
║ ║
|
|
655
660
|
║ ┌───┬────────┬──────────────┬──────────┬────────────────┐ ║
|
|
@@ -657,7 +662,7 @@ If gate passes → proceed to STEP 4.
|
|
|
657
662
|
║ ├───┼────────┼──────────────┼──────────┼────────────────┤ ║
|
|
658
663
|
║ │ 1 │ #1000 │ ComponentA │ ✅ Pushed │ abc1234 │ ║
|
|
659
664
|
║ │ 2 │ #1002 │ ComponentC │ ✅ Pushed │ def5678 │ ║
|
|
660
|
-
║ │ 3 │ #1001 │ ComponentB │ ❌ Dropped│
|
|
665
|
+
║ │ 3 │ #1001 │ ComponentB │ ❌ Dropped│ - │ ║
|
|
661
666
|
║ └───┴────────┴──────────────┴──────────┴────────────────┘ ║
|
|
662
667
|
║ ║
|
|
663
668
|
║ Validation: ║
|
|
@@ -698,14 +703,14 @@ rm -f ${TRACKER_FILE}
|
|
|
698
703
|
| Tracker not found | HALT: "No tour in progress" |
|
|
699
704
|
| current_step not STEP_3 | HALT: "Review not complete" |
|
|
700
705
|
| No reviewed components | HALT: "Nothing to commit" |
|
|
701
|
-
| Build fails | HALT
|
|
702
|
-
| Tests fail | HALT
|
|
703
|
-
| Push rejected (after 3 retries) | HALT
|
|
706
|
+
| Build fails | HALT - fix, then re-run |
|
|
707
|
+
| Tests fail | HALT - fix failing component, then re-run |
|
|
708
|
+
| Push rejected (after 3 retries) | HALT - manual conflict resolution needed |
|
|
704
709
|
| Rebase conflict (generated file) | Auto-resolve: accept remote + regenerate (see 2a table) |
|
|
705
|
-
| Rebase conflict (non-generated) | HALT
|
|
710
|
+
| Rebase conflict (non-generated) | HALT - print conflict file, ask user to resolve |
|
|
706
711
|
| Post-push build fails | Regenerate generated files in common, commit + push fix |
|
|
707
|
-
| Status dashboard script missing | Warn + skip
|
|
712
|
+
| Status dashboard script missing | Warn + skip - not blocking |
|
|
708
713
|
| Issue housekeeping fails (critical: 3a/3b/3c/3f) | Retry once → if still fails, HALT |
|
|
709
714
|
| Issue housekeeping fails (non-critical: 3d/3e) | Warn but continue |
|
|
710
|
-
| Jira unreachable | ⚠️ warn
|
|
715
|
+
| Jira unreachable | ⚠️ warn - mark 3f as skipped with reason, pass gate |
|
|
711
716
|
| Completion gate fails | HALT: print failed substeps, retry once, then abort |
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: performance-review-next
|
|
3
|
+
description: Reads `_tour_tracker.json`, presents a dashboard of produced components, and guides the user through reviewing each one. Fix commits are separate. Halted components can be retried or dropped.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /performance-review-next - Interactive Component Review Session
|
|
2
7
|
|
|
3
8
|
> Reads `_tour_tracker.json`, presents a dashboard of produced components,
|
|
4
9
|
> and guides the user through reviewing each one. Fix commits are separate.
|
|
@@ -8,7 +13,7 @@
|
|
|
8
13
|
|
|
9
14
|
| Parameter | Required | Default | Description |
|
|
10
15
|
|-----------|----------|---------|-------------|
|
|
11
|
-
| `--status` | No |
|
|
16
|
+
| `--status` | No | - | Show dashboard only, don't start review loop |
|
|
12
17
|
|
|
13
18
|
```
|
|
14
19
|
/performance-review-next
|
|
@@ -27,7 +32,7 @@ UICOMPONENTS = ${REPO_ROOT}/{repos.components.path}
|
|
|
27
32
|
|
|
28
33
|
---
|
|
29
34
|
|
|
30
|
-
## STEP 0
|
|
35
|
+
## STEP 0 - Read Tracker & Show Dashboard
|
|
31
36
|
|
|
32
37
|
Read `_tour_tracker.json`. If not found → HALT: "No tour in progress."
|
|
33
38
|
|
|
@@ -45,8 +50,8 @@ lean_mode = tracker.get("lean_mode", False)
|
|
|
45
50
|
║ ║
|
|
46
51
|
║ # │ Issue │ Component │ Status ║
|
|
47
52
|
║ ──┼────────┼──────────────┼──────────────────────────────── ║
|
|
48
|
-
║ 1 │ #1000 │ ComponentA │ ✅ Produced
|
|
49
|
-
║ 2 │ #1002 │ ComponentC │ ✅ Produced
|
|
53
|
+
║ 1 │ #1000 │ ComponentA │ ✅ Produced - ready for review ║
|
|
54
|
+
║ 2 │ #1002 │ ComponentC │ ✅ Produced - ready for review ║
|
|
50
55
|
║ 3 │ #1001 │ ComponentB │ ❌ Halted (Phase 4) ║
|
|
51
56
|
║ ║
|
|
52
57
|
║ Reviewed: 0/2 produced ║
|
|
@@ -57,7 +62,7 @@ lean_mode = tracker.get("lean_mode", False)
|
|
|
57
62
|
If `lean_mode` is `true`, add a warning banner after the dashboard:
|
|
58
63
|
|
|
59
64
|
```
|
|
60
|
-
⚠️ LEAN MODE
|
|
65
|
+
⚠️ LEAN MODE - Tests & wiki were NOT generated.
|
|
61
66
|
Review covers: implementation (Phase 4) + Code Connect (Phase 6) only.
|
|
62
67
|
```
|
|
63
68
|
|
|
@@ -65,7 +70,7 @@ If `--status` → print dashboard and exit.
|
|
|
65
70
|
|
|
66
71
|
---
|
|
67
72
|
|
|
68
|
-
## STEP 1
|
|
73
|
+
## STEP 1 - Build All (One Time)
|
|
69
74
|
|
|
70
75
|
Before any review, run a single build to verify the current state:
|
|
71
76
|
|
|
@@ -89,19 +94,19 @@ Print:
|
|
|
89
94
|
|
|
90
95
|
Do NOT proceed until build passes.
|
|
91
96
|
|
|
92
|
-
**If build passes:** Print "Build ✅
|
|
97
|
+
**If build passes:** Print "Build ✅ - all components compile" and proceed to STEP 2.
|
|
93
98
|
|
|
94
99
|
---
|
|
95
100
|
|
|
96
|
-
## STEP 2
|
|
101
|
+
## STEP 2 - Review Loop
|
|
97
102
|
|
|
98
103
|
Ask user which component to review:
|
|
99
104
|
|
|
100
105
|
```
|
|
101
106
|
Which component would you like to review?
|
|
102
|
-
[1] ComponentA (#1000)
|
|
103
|
-
[2] ComponentC (#1002)
|
|
104
|
-
[3] ComponentB (#1001)
|
|
107
|
+
[1] ComponentA (#1000) - ready for review
|
|
108
|
+
[2] ComponentC (#1002) - ready for review
|
|
109
|
+
[3] ComponentB (#1001) - halted (retry/drop)
|
|
105
110
|
[done] All reviews complete → proceed to commit
|
|
106
111
|
```
|
|
107
112
|
|
|
@@ -131,13 +136,13 @@ When user selects a produced component:
|
|
|
131
136
|
|
|
132
137
|
3. **Present review options:**
|
|
133
138
|
```
|
|
134
|
-
ComponentA (#1000)
|
|
139
|
+
ComponentA (#1000) - Review
|
|
135
140
|
Files: 8 files (view, config, tests, snapshots, wiki, code-connect) # lean: fewer files
|
|
136
141
|
Tests: ✅ 12 passed # lean: ⏭ skipped (lean mode)
|
|
137
142
|
|
|
138
143
|
Actions:
|
|
139
144
|
[approve] Mark as reviewed ✅
|
|
140
|
-
[fix] I see an issue
|
|
145
|
+
[fix] I see an issue - let me fix it
|
|
141
146
|
[back] Back to dashboard
|
|
142
147
|
```
|
|
143
148
|
|
|
@@ -166,8 +171,8 @@ When user selects a produced component:
|
|
|
166
171
|
When user selects a halted component:
|
|
167
172
|
|
|
168
173
|
```
|
|
169
|
-
ComponentB (#1001)
|
|
170
|
-
Reason: Build failure
|
|
174
|
+
ComponentB (#1001) - Halted at Phase 4
|
|
175
|
+
Reason: Build failure - missing dependency protocol
|
|
171
176
|
|
|
172
177
|
Actions:
|
|
173
178
|
[retry] Re-produce this component from scratch
|
|
@@ -198,8 +203,8 @@ When user selects "done" or all produced components are reviewed:
|
|
|
198
203
|
║ Dropped: 1 component (ComponentB) ║
|
|
199
204
|
║ ║
|
|
200
205
|
║ Ready to commit: ║
|
|
201
|
-
║ ✅ #1000
|
|
202
|
-
║ ✅ #1002
|
|
206
|
+
║ ✅ #1000 - ComponentA ║
|
|
207
|
+
║ ✅ #1002 - ComponentC ║
|
|
203
208
|
║ ║
|
|
204
209
|
║ Next: /performance-iteration-commit-all ║
|
|
205
210
|
╚══════════════════════════════════════════════════════════════╝
|