@mmerterden/multi-agent-pipeline 8.6.2 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (933) hide show
  1. package/CHANGELOG.md +660 -2483
  2. package/README.md +100 -101
  3. package/docs/features.md +1 -1
  4. package/index.js +8 -10
  5. package/install/_adapters.mjs +5 -1
  6. package/install/_common.mjs +63 -0
  7. package/install/claude.mjs +14 -14
  8. package/install/copilot.mjs +14 -8
  9. package/install/index.mjs +85 -19
  10. package/install/templates/claude-hooks.json +18 -0
  11. package/install/templates/copilot-instructions.md +3 -3
  12. package/package.json +21 -6
  13. package/pipeline/adapters/_base.mjs +366 -14
  14. package/pipeline/adapters/antigravity.mjs +140 -0
  15. package/pipeline/adapters/codex.mjs +159 -0
  16. package/pipeline/adapters/copilot-chat-orchestration.mjs +148 -0
  17. package/pipeline/adapters/copilot-chat.mjs +34 -68
  18. package/pipeline/adapters/cursor-orchestration.mjs +152 -0
  19. package/pipeline/adapters/cursor.mjs +49 -90
  20. package/pipeline/agents/android-architect.md +3 -3
  21. package/pipeline/agents/backend-architect.md +2 -2
  22. package/pipeline/agents/code-reviewer.md +8 -8
  23. package/pipeline/agents/dev-critic.md +17 -17
  24. package/pipeline/agents/explorer.md +3 -3
  25. package/pipeline/agents/ios-architect.md +2 -2
  26. package/pipeline/agents/security-auditor.md +10 -10
  27. package/pipeline/agents/task-clarifier.md +18 -18
  28. package/pipeline/claude-md-template.md +3 -3
  29. package/pipeline/commands/archive-guard.md +3 -3
  30. package/pipeline/commands/figma-to-swiftui.md +10 -10
  31. package/pipeline/commands/multi-agent/_account-picker.md +12 -8
  32. package/pipeline/commands/multi-agent/_dev-context.md +15 -15
  33. package/pipeline/commands/multi-agent/_input-parser.md +4 -4
  34. package/pipeline/commands/multi-agent/_repo-picker.md +9 -9
  35. package/pipeline/commands/multi-agent/analysis-resolve.md +129 -0
  36. package/pipeline/commands/multi-agent/analysis.md +667 -0
  37. package/pipeline/commands/multi-agent/autopilot.md +22 -22
  38. package/pipeline/commands/multi-agent/build-optimize.md +77 -0
  39. package/pipeline/commands/multi-agent/channels.md +96 -96
  40. package/pipeline/commands/multi-agent/delete.md +19 -17
  41. package/pipeline/commands/multi-agent/dev-autopilot.md +20 -20
  42. package/pipeline/commands/multi-agent/dev-local-autopilot.md +22 -22
  43. package/pipeline/commands/multi-agent/dev-local.md +23 -20
  44. package/pipeline/commands/multi-agent/dev.md +43 -43
  45. package/pipeline/commands/multi-agent/diff-explain.md +4 -4
  46. package/pipeline/commands/multi-agent/garbage-collect.md +58 -0
  47. package/pipeline/commands/multi-agent/help.md +65 -56
  48. package/pipeline/commands/multi-agent/issue.md +3 -3
  49. package/pipeline/commands/multi-agent/jira.md +12 -12
  50. package/pipeline/commands/multi-agent/kill.md +6 -6
  51. package/pipeline/commands/multi-agent/language.md +12 -12
  52. package/pipeline/commands/multi-agent/local-autopilot.md +34 -34
  53. package/pipeline/commands/multi-agent/local.md +24 -25
  54. package/pipeline/commands/multi-agent/log.md +6 -6
  55. package/pipeline/commands/multi-agent/manual-test.md +3 -3
  56. package/pipeline/commands/multi-agent/prune-logs.md +60 -0
  57. package/pipeline/commands/multi-agent/purge.md +10 -7
  58. package/pipeline/commands/multi-agent/refactor.md +9 -9
  59. package/pipeline/commands/multi-agent/refs/analysis-template.md +1062 -0
  60. package/pipeline/commands/multi-agent/refs/android-guide.md +15 -13
  61. package/pipeline/commands/multi-agent/refs/audit-guide.md +20 -20
  62. package/pipeline/commands/multi-agent/refs/backend-guide.md +9 -9
  63. package/pipeline/commands/multi-agent/refs/channels/confluence.md +17 -17
  64. package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +30 -30
  65. package/pipeline/commands/multi-agent/refs/channels/jira.md +16 -15
  66. package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +19 -17
  67. package/pipeline/commands/multi-agent/refs/channels/pr.md +22 -22
  68. package/pipeline/commands/multi-agent/refs/channels/wiki.md +19 -19
  69. package/pipeline/commands/multi-agent/refs/component-dispatch.md +11 -11
  70. package/pipeline/commands/multi-agent/refs/conventions-defaults.md +179 -0
  71. package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +41 -35
  72. package/pipeline/commands/multi-agent/refs/features/dev-critic.md +5 -5
  73. package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +6 -6
  74. package/pipeline/commands/multi-agent/refs/features/model-fallback.md +91 -0
  75. package/pipeline/commands/multi-agent/refs/features/plan-todos.md +1 -1
  76. package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +4 -4
  77. package/pipeline/commands/multi-agent/refs/features/repo-map.md +6 -6
  78. package/pipeline/commands/multi-agent/refs/features/shadow-git.md +2 -2
  79. package/pipeline/commands/multi-agent/refs/frontend-guide.md +16 -16
  80. package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +18 -18
  81. package/pipeline/commands/multi-agent/refs/keychain.md +18 -8
  82. package/pipeline/commands/multi-agent/refs/knowledge.md +9 -9
  83. package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +19 -19
  84. package/pipeline/commands/multi-agent/refs/phases/log-format.md +29 -9
  85. package/pipeline/commands/multi-agent/refs/phases/modes.md +33 -33
  86. package/pipeline/commands/multi-agent/refs/phases/operations.md +24 -14
  87. package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +107 -57
  88. package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +65 -29
  89. package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +114 -62
  90. package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
  91. package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +181 -62
  92. package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +33 -18
  93. package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +45 -43
  94. package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +54 -28
  95. package/pipeline/commands/multi-agent/refs/phases.md +17 -17
  96. package/pipeline/commands/multi-agent/refs/picker-contract.md +65 -0
  97. package/pipeline/commands/multi-agent/refs/progress-contract.md +37 -21
  98. package/pipeline/commands/multi-agent/refs/rules.md +83 -25
  99. package/pipeline/commands/multi-agent/refs/swiftui-guide.md +32 -30
  100. package/pipeline/commands/multi-agent/refs/tracker-contract.md +54 -30
  101. package/pipeline/commands/multi-agent/refs/wiki-capture.md +36 -33
  102. package/pipeline/commands/multi-agent/resume.md +12 -9
  103. package/pipeline/commands/multi-agent/review.md +24 -24
  104. package/pipeline/commands/multi-agent/scan.md +10 -10
  105. package/pipeline/commands/multi-agent/search.md +8 -8
  106. package/pipeline/commands/multi-agent/setup.md +111 -84
  107. package/pipeline/commands/multi-agent/stack.md +5 -5
  108. package/pipeline/commands/multi-agent/status.md +5 -5
  109. package/pipeline/commands/multi-agent/sync.md +123 -111
  110. package/pipeline/commands/multi-agent/test.md +6 -6
  111. package/pipeline/commands/multi-agent/update.md +1 -1
  112. package/pipeline/commands/multi-agent.md +64 -58
  113. package/pipeline/commands/sim-test.md +14 -14
  114. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +1 -1
  115. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +2 -2
  116. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +2 -2
  117. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +1 -1
  118. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +2 -2
  119. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +3 -3
  120. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +4 -4
  121. package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +1 -1
  122. package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +1 -1
  123. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +29 -0
  124. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +42 -0
  125. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +20 -0
  126. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +15 -0
  127. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +14 -0
  128. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +12 -0
  129. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +29 -0
  130. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +40 -0
  131. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +20 -0
  132. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +15 -0
  133. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +14 -0
  134. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +12 -0
  135. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +29 -0
  136. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +42 -0
  137. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +28 -0
  138. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +27 -0
  139. package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +14 -0
  140. package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +12 -0
  141. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +29 -0
  142. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +41 -0
  143. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +12 -0
  144. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +6 -0
  145. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +14 -0
  146. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +12 -0
  147. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +29 -0
  148. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +42 -0
  149. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +28 -0
  150. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +27 -0
  151. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +14 -0
  152. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +12 -0
  153. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +25 -0
  154. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +31 -0
  155. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +12 -0
  156. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +18 -0
  157. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +14 -0
  158. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +12 -0
  159. package/pipeline/eval/golden-tasks/README.md +14 -14
  160. package/pipeline/eval/intent-cases.json +40 -0
  161. package/pipeline/eval/run-metrics-fixture.json +46 -0
  162. package/pipeline/eval/triage/01-empty-findings/notes.md +1 -1
  163. package/pipeline/eval/triage/02-real-blocker/notes.md +2 -2
  164. package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +1 -1
  165. package/pipeline/eval/triage/04-false-positive-reject/notes.md +1 -1
  166. package/pipeline/eval/triage/05-mixed-classification/notes.md +2 -2
  167. package/pipeline/eval/triage/06-severity-mismatch/notes.md +2 -2
  168. package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +1 -1
  169. package/pipeline/eval/triage/08-style-misclassified/notes.md +1 -1
  170. package/pipeline/eval/triage/09-cascading-finding/notes.md +2 -2
  171. package/pipeline/eval/triage/10-deferred-crossref/notes.md +2 -2
  172. package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +3 -3
  173. package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +2 -2
  174. package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +5 -5
  175. package/pipeline/eval/triage/README.md +4 -4
  176. package/pipeline/lib/account-resolver.sh +3 -3
  177. package/pipeline/lib/ask-choice.sh +98 -0
  178. package/pipeline/lib/channels-multi-repo.sh +3 -3
  179. package/pipeline/lib/classify-intent.sh +110 -0
  180. package/pipeline/lib/context-link-extractor.sh +3 -3
  181. package/pipeline/lib/credential-store-resolver.sh +3 -3
  182. package/pipeline/lib/credential-store.sh +9 -5
  183. package/pipeline/lib/extract-conventions.sh +1034 -0
  184. package/pipeline/lib/fetch-confluence.sh +5 -5
  185. package/pipeline/lib/fetch-crashlytics.sh +7 -7
  186. package/pipeline/lib/fetch-fortify.sh +6 -22
  187. package/pipeline/lib/fetch-swagger.sh +6 -6
  188. package/pipeline/lib/figma-screenshot.sh +536 -0
  189. package/pipeline/lib/issue-fetcher.sh +46 -20
  190. package/pipeline/lib/md2confluence-v3.py +1076 -0
  191. package/pipeline/lib/multi-repo-pipeline.sh +13 -22
  192. package/pipeline/lib/plan-todos.sh +7 -7
  193. package/pipeline/lib/post-pr-review.sh +53 -21
  194. package/pipeline/lib/repo-cache.sh +5 -5
  195. package/pipeline/lib/review-watch.sh +17 -13
  196. package/pipeline/lib/shadow-git.sh +7 -7
  197. package/pipeline/lib/submodule-detector.sh +3 -3
  198. package/pipeline/lib/vercel-deploy.sh +28 -15
  199. package/pipeline/preferences-template.json +28 -4
  200. package/pipeline/rules/app-store-guidelines.md +2 -2
  201. package/pipeline/rules/code-style.md +6 -6
  202. package/pipeline/rules/figma-pipeline.md +100 -2
  203. package/pipeline/rules/kotlin-android.md +8 -8
  204. package/pipeline/rules/security.md +4 -4
  205. package/pipeline/rules/tdd.md +1 -1
  206. package/pipeline/rules/testing.md +5 -5
  207. package/pipeline/schemas/agent-state.schema.json +63 -20
  208. package/pipeline/schemas/analysis-output.schema.json +7 -2
  209. package/pipeline/schemas/analysis-spec.schema.json +484 -0
  210. package/pipeline/schemas/clarify-output.schema.json +5 -5
  211. package/pipeline/schemas/conventions-output.schema.json +70 -0
  212. package/pipeline/schemas/dev-critic-output.schema.json +2 -2
  213. package/pipeline/schemas/diff-risk.schema.json +3 -3
  214. package/pipeline/schemas/figma-project-config.schema.json +42 -3
  215. package/pipeline/schemas/learnings-ledger.schema.json +39 -0
  216. package/pipeline/schemas/migrations/README.md +2 -2
  217. package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +5 -5
  218. package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +3 -3
  219. package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +4 -4
  220. package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +5 -5
  221. package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +3 -3
  222. package/pipeline/schemas/plan-todos.schema.json +4 -4
  223. package/pipeline/schemas/planning-output.schema.json +3 -3
  224. package/pipeline/schemas/prefs.schema.json +95 -11
  225. package/pipeline/schemas/reviewer-output.schema.json +7 -3
  226. package/pipeline/schemas/test-gap.schema.json +1 -1
  227. package/pipeline/schemas/token-budget.json +8 -8
  228. package/pipeline/schemas/triage-corpus.schema.json +1 -1
  229. package/pipeline/schemas/triage-output.schema.json +44 -6
  230. package/pipeline/scripts/README.md +64 -64
  231. package/pipeline/scripts/aggregate-metrics.mjs +55 -16
  232. package/pipeline/scripts/audit-log-rotate.sh +3 -3
  233. package/pipeline/scripts/audit-log.sh +20 -7
  234. package/pipeline/scripts/benchmark-phase-0.sh +6 -6
  235. package/pipeline/scripts/build-skills-index.mjs +15 -15
  236. package/pipeline/scripts/check-md-links.mjs +59 -0
  237. package/pipeline/scripts/classify-plan-safety.mjs +24 -18
  238. package/pipeline/scripts/cost-budget-check.mjs +160 -0
  239. package/pipeline/scripts/cost-table.json +17 -13
  240. package/pipeline/scripts/diff-explain.mjs +12 -12
  241. package/pipeline/scripts/diff-risk-score.mjs +18 -17
  242. package/pipeline/scripts/eval-golden-tasks-live.mjs +13 -10
  243. package/pipeline/scripts/eval-golden-tasks.mjs +3 -14
  244. package/pipeline/scripts/eval-intent.mjs +103 -0
  245. package/pipeline/scripts/eval-triage.mjs +3 -3
  246. package/pipeline/scripts/evidence-gate.mjs +155 -0
  247. package/pipeline/scripts/fixtures/install-layout.tsv +9 -9
  248. package/pipeline/scripts/gc-tmp.sh +102 -0
  249. package/pipeline/scripts/gen-mode-dispatch.mjs +27 -21
  250. package/pipeline/scripts/gen-skills-index.mjs +6 -6
  251. package/pipeline/scripts/github-ssh-setup.sh +1 -1
  252. package/pipeline/scripts/keychain-save.sh +1 -1
  253. package/pipeline/scripts/keychain.py +6 -6
  254. package/pipeline/scripts/learnings-ledger.mjs +284 -0
  255. package/pipeline/scripts/lint-skills.mjs +80 -0
  256. package/pipeline/scripts/log-metric.sh +18 -9
  257. package/pipeline/scripts/match-skills.mjs +13 -8
  258. package/pipeline/scripts/memory-load.sh +3 -3
  259. package/pipeline/scripts/memory-save.sh +5 -5
  260. package/pipeline/scripts/migrate-prefs.mjs +17 -17
  261. package/pipeline/scripts/migrate-state.mjs +12 -12
  262. package/pipeline/scripts/output-quality-check.sh +7 -7
  263. package/pipeline/scripts/phase-banner.sh +5 -5
  264. package/pipeline/scripts/phase-tracker.sh +97 -53
  265. package/pipeline/scripts/pre-commit-check.sh +45 -5
  266. package/pipeline/scripts/pre-push-check.sh +7 -7
  267. package/pipeline/scripts/prune-logs.sh +118 -0
  268. package/pipeline/scripts/render-agent-log-cost.sh +55 -18
  269. package/pipeline/scripts/render-cost-summary.sh +9 -9
  270. package/pipeline/scripts/render-work-summary.sh +4 -4
  271. package/pipeline/scripts/repo-map.mjs +9 -9
  272. package/pipeline/scripts/run-aggregator.mjs +7 -6
  273. package/pipeline/scripts/run-metrics.mjs +129 -0
  274. package/pipeline/scripts/run-smokes.mjs +76 -0
  275. package/pipeline/scripts/scan-skills.sh +11 -11
  276. package/pipeline/scripts/search-logs.sh +8 -8
  277. package/pipeline/scripts/sign-skills.sh +2 -2
  278. package/pipeline/scripts/smoke-adapters.sh +79 -10
  279. package/pipeline/scripts/smoke-add-detail.sh +5 -5
  280. package/pipeline/scripts/smoke-agent-log-cost.sh +85 -6
  281. package/pipeline/scripts/smoke-agent-model-routing.sh +3 -3
  282. package/pipeline/scripts/smoke-ask-choice.sh +42 -0
  283. package/pipeline/scripts/smoke-bitbucket-contract.sh +19 -3
  284. package/pipeline/scripts/smoke-changelog-version.sh +47 -0
  285. package/pipeline/scripts/smoke-channels-flow.sh +1 -1
  286. package/pipeline/scripts/smoke-ci-workflows.sh +5 -5
  287. package/pipeline/scripts/smoke-clarify.sh +3 -3
  288. package/pipeline/scripts/smoke-commands-skills-parity.sh +4 -4
  289. package/pipeline/scripts/smoke-community-gates.sh +75 -0
  290. package/pipeline/scripts/smoke-compliance-skills.sh +5 -5
  291. package/pipeline/scripts/smoke-cost-budget.sh +70 -0
  292. package/pipeline/scripts/smoke-cost-summary.sh +4 -4
  293. package/pipeline/scripts/smoke-cross-cli-behavior.sh +50 -9
  294. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +5 -5
  295. package/pipeline/scripts/smoke-delete-flow.sh +5 -5
  296. package/pipeline/scripts/smoke-dev-critic.sh +2 -2
  297. package/pipeline/scripts/smoke-diff-explain.sh +22 -3
  298. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  299. package/pipeline/scripts/smoke-dynamic-skill-loading.sh +1 -1
  300. package/pipeline/scripts/smoke-eval-live.sh +4 -4
  301. package/pipeline/scripts/smoke-evidence-gate.sh +93 -0
  302. package/pipeline/scripts/smoke-existing-discovery-gate.sh +1 -1
  303. package/pipeline/scripts/smoke-extract-conventions.sh +163 -0
  304. package/pipeline/scripts/smoke-figma-android-parity.sh +1 -1
  305. package/pipeline/scripts/smoke-figma-credential-store.sh +3 -3
  306. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +12 -12
  307. package/pipeline/scripts/smoke-figma-dispatch.sh +5 -5
  308. package/pipeline/scripts/smoke-figma-sync.sh +1 -1
  309. package/pipeline/scripts/smoke-gate-hooks.sh +56 -0
  310. package/pipeline/scripts/smoke-gc-tmp.sh +84 -0
  311. package/pipeline/scripts/smoke-identity-isolation.sh +7 -7
  312. package/pipeline/scripts/smoke-install-layout.sh +10 -10
  313. package/pipeline/scripts/smoke-intent-guard.sh +86 -0
  314. package/pipeline/scripts/smoke-issue-comment-template.sh +3 -3
  315. package/pipeline/scripts/smoke-issue-jira-triad.sh +1 -1
  316. package/pipeline/scripts/smoke-keychain.sh +6 -6
  317. package/pipeline/scripts/smoke-language-axis.sh +2 -2
  318. package/pipeline/scripts/smoke-learnings-ledger.sh +86 -0
  319. package/pipeline/scripts/smoke-lib-scripts.sh +2 -2
  320. package/pipeline/scripts/smoke-mcp-gate.sh +68 -0
  321. package/pipeline/scripts/smoke-md-links.sh +8 -0
  322. package/pipeline/scripts/smoke-md2confluence.sh +126 -0
  323. package/pipeline/scripts/smoke-metrics-cache-ratio.sh +72 -0
  324. package/pipeline/scripts/smoke-migrate-state.sh +10 -10
  325. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +7 -4
  326. package/pipeline/scripts/smoke-model-fallback.sh +88 -0
  327. package/pipeline/scripts/smoke-multi-repo-integration.sh +3 -3
  328. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  329. package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +115 -0
  330. package/pipeline/scripts/smoke-no-token-prompt.sh +31 -15
  331. package/pipeline/scripts/smoke-pat-audit.sh +26 -5
  332. package/pipeline/scripts/smoke-per-repo-memory.sh +1 -1
  333. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  334. package/pipeline/scripts/smoke-phase-6-multi.sh +2 -2
  335. package/pipeline/scripts/smoke-phase-banner.sh +1 -1
  336. package/pipeline/scripts/smoke-phase-tracker.sh +1 -1
  337. package/pipeline/scripts/smoke-phase0-bridge-contract.sh +4 -4
  338. package/pipeline/scripts/smoke-phase4-triage.sh +94 -7
  339. package/pipeline/scripts/smoke-plan-approval-gate.sh +3 -3
  340. package/pipeline/scripts/smoke-plan-safety.sh +1 -1
  341. package/pipeline/scripts/smoke-plan-todos.sh +2 -2
  342. package/pipeline/scripts/smoke-pr-review-actions.sh +2 -2
  343. package/pipeline/scripts/smoke-pre-commit.sh +34 -2
  344. package/pipeline/scripts/smoke-pref-migration.sh +1 -1
  345. package/pipeline/scripts/smoke-prefs-language.sh +5 -5
  346. package/pipeline/scripts/smoke-progress-contract.sh +3 -3
  347. package/pipeline/scripts/smoke-prune-logs.sh +87 -0
  348. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  349. package/pipeline/scripts/smoke-readme-counts.sh +1 -1
  350. package/pipeline/scripts/smoke-repo-map.sh +9 -9
  351. package/pipeline/scripts/smoke-review-watch.sh +12 -0
  352. package/pipeline/scripts/smoke-run-aggregator.sh +7 -7
  353. package/pipeline/scripts/smoke-run-metrics.sh +50 -0
  354. package/pipeline/scripts/smoke-schema-validation.sh +18 -11
  355. package/pipeline/scripts/smoke-search.sh +5 -5
  356. package/pipeline/scripts/smoke-shared-runtime.sh +108 -0
  357. package/pipeline/scripts/smoke-skill-authoring.sh +13 -13
  358. package/pipeline/scripts/smoke-skill-language.sh +4 -4
  359. package/pipeline/scripts/smoke-skill-manifest.sh +2 -2
  360. package/pipeline/scripts/smoke-skill-scan.sh +2 -2
  361. package/pipeline/scripts/smoke-stack-swap.sh +2 -2
  362. package/pipeline/scripts/smoke-subagent-validators.sh +8 -5
  363. package/pipeline/scripts/smoke-sync-adapters.sh +1 -1
  364. package/pipeline/scripts/smoke-sync-delegation.sh +7 -7
  365. package/pipeline/scripts/smoke-sync-parity.sh +1 -1
  366. package/pipeline/scripts/smoke-tasklist-ordering.sh +7 -7
  367. package/pipeline/scripts/smoke-telemetry.sh +1 -1
  368. package/pipeline/scripts/smoke-test-gap.sh +5 -5
  369. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  370. package/pipeline/scripts/smoke-tracker-contract.sh +6 -6
  371. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +9 -1
  372. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  373. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  374. package/pipeline/scripts/smoke-validator-contradiction.sh +1 -1
  375. package/pipeline/scripts/smoke-validator-gates.sh +164 -0
  376. package/pipeline/scripts/smoke-vercel-deploy-redact.sh +11 -11
  377. package/pipeline/scripts/smoke-wiki-integration.sh +2 -2
  378. package/pipeline/scripts/smoke-work-summary.sh +3 -3
  379. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  380. package/pipeline/scripts/smoke-write-state.sh +2 -2
  381. package/pipeline/scripts/stack-swap.sh +3 -3
  382. package/pipeline/scripts/sync-adapters.mjs +37 -10
  383. package/pipeline/scripts/sync-parity-check.sh +6 -6
  384. package/pipeline/scripts/test-gap-scan.mjs +11 -13
  385. package/pipeline/scripts/token-budget-report.mjs +4 -4
  386. package/pipeline/scripts/triage-memory.mjs +6 -6
  387. package/pipeline/scripts/uninstall.mjs +42 -4
  388. package/pipeline/scripts/update-issue-progress.sh +2 -2
  389. package/pipeline/scripts/validate-analysis.mjs +19 -21
  390. package/pipeline/scripts/validate-diff-risk.mjs +4 -4
  391. package/pipeline/scripts/validate-planning.mjs +3 -3
  392. package/pipeline/scripts/validate-reviewer.mjs +4 -4
  393. package/pipeline/scripts/validate-schemas.mjs +4 -4
  394. package/pipeline/scripts/validate-state.mjs +108 -0
  395. package/pipeline/scripts/validate-test-gap.mjs +4 -4
  396. package/pipeline/scripts/validate-triage.mjs +68 -9
  397. package/pipeline/scripts/verify-skills.sh +7 -7
  398. package/pipeline/scripts/write-state.mjs +62 -13
  399. package/pipeline/skills/.skill-manifest.json +245 -149
  400. package/pipeline/skills/.skills-index.json +236 -47
  401. package/pipeline/skills/figma-android/README.md +5 -5
  402. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
  403. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
  404. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
  405. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
  406. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
  407. package/pipeline/skills/figma-common/README.md +37 -30
  408. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +137 -0
  409. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
  410. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
  411. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
  412. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
  413. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
  414. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
  415. package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
  416. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
  417. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
  418. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
  419. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +61 -0
  420. package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
  421. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
  422. package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
  423. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
  424. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
  425. package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
  426. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +142 -0
  427. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +128 -0
  428. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
  429. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
  430. package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
  431. package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
  432. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
  433. package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
  434. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +13 -12
  435. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +112 -0
  436. package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
  437. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
  438. package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
  439. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
  440. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
  441. package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
  442. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
  443. package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
  444. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
  445. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
  446. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
  447. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
  448. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
  449. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +53 -38
  450. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
  451. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
  452. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
  453. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
  454. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
  455. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
  456. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
  457. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
  458. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
  459. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
  460. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
  461. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
  462. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
  463. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +88 -57
  464. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
  465. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
  466. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
  467. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
  468. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
  469. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
  470. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +53 -43
  471. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
  472. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
  473. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
  474. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
  475. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
  476. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
  477. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
  478. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
  479. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
  480. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
  481. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
  482. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
  483. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +56 -2
  484. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
  485. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
  486. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
  487. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
  488. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
  489. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
  490. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
  491. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
  492. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
  493. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
  494. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
  495. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
  496. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
  497. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
  498. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
  499. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
  500. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
  501. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
  502. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
  503. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
  504. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
  505. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
  506. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
  507. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
  508. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
  509. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
  510. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
  511. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
  512. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
  513. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
  514. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
  515. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
  516. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
  517. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
  518. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
  519. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
  520. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
  521. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
  522. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
  523. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
  524. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
  525. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
  526. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
  527. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
  528. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
  529. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
  530. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
  531. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
  532. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
  533. package/pipeline/skills/shared/README.md +62 -41
  534. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
  535. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
  536. package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
  537. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
  538. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
  539. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
  540. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
  541. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
  542. package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
  543. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
  544. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
  545. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
  546. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
  547. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
  548. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
  549. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
  550. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
  551. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
  552. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
  553. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
  554. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
  555. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
  556. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
  557. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
  558. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
  559. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
  560. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
  561. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
  562. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
  563. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
  564. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
  565. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
  566. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
  567. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
  568. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
  569. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
  570. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
  571. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
  572. package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
  573. package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
  574. package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
  575. package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
  576. package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
  577. package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
  578. package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
  579. package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
  580. package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
  581. package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
  582. package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
  583. package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
  584. package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
  585. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
  586. package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
  587. package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
  588. package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
  589. package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
  590. package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
  591. package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
  592. package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
  593. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
  594. package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
  595. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
  596. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
  597. package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
  598. package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
  599. package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
  600. package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
  601. package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
  602. package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
  603. package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
  604. package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
  605. package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
  606. package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
  607. package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
  608. package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
  609. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
  610. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
  611. package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
  612. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
  613. package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
  614. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
  615. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
  616. package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
  617. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
  618. package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
  619. package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
  620. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
  621. package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
  622. package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
  623. package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
  624. package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
  625. package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
  626. package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
  627. package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
  628. package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
  629. package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
  630. package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
  631. package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
  632. package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
  633. package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
  634. package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
  635. package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
  636. package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
  637. package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
  638. package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
  639. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
  640. package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
  641. package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
  642. package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
  643. package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
  644. package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
  645. package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
  646. package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
  647. package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
  648. package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
  649. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
  650. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
  651. package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
  652. package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
  653. package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
  654. package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
  655. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
  656. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
  657. package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
  658. package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
  659. package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
  660. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
  661. package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
  662. package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
  663. package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
  664. package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
  665. package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
  666. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
  667. package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
  668. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
  669. package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
  670. package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
  671. package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
  672. package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
  673. package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
  674. package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
  675. package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
  676. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
  677. package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
  678. package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
  679. package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
  680. package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
  681. package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
  682. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
  683. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
  684. package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
  685. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
  686. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
  687. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
  688. package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
  689. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
  690. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
  691. package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
  692. package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
  693. package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
  694. package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
  695. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
  696. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
  697. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
  698. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
  699. package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
  700. package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
  701. package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
  702. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
  703. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
  704. package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
  705. package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
  706. package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
  707. package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
  708. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
  709. package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
  710. package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
  711. package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
  712. package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
  713. package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
  714. package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
  715. package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
  716. package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
  717. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
  718. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
  719. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
  720. package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
  721. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
  722. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
  723. package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
  724. package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
  725. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
  726. package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
  727. package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
  728. package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
  729. package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
  730. package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
  731. package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
  732. package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
  733. package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
  734. package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
  735. package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
  736. package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
  737. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
  738. package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
  739. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
  740. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
  741. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
  742. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
  743. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
  744. package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
  745. package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
  746. package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
  747. package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
  748. package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
  749. package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
  750. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
  751. package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
  752. package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
  753. package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
  754. package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
  755. package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
  756. package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
  757. package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
  758. package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
  759. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
  760. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
  761. package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
  762. package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
  763. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
  764. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
  765. package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
  766. package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
  767. package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
  768. package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
  769. package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
  770. package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
  771. package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
  772. package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
  773. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
  774. package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
  775. package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
  776. package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
  777. package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
  778. package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
  779. package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
  780. package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
  781. package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
  782. package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
  783. package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
  784. package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
  785. package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
  786. package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
  787. package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
  788. package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
  789. package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
  790. package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
  791. package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
  792. package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
  793. package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
  794. package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
  795. package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
  796. package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
  797. package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
  798. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
  799. package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
  800. package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
  801. package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
  802. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
  803. package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
  804. package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
  805. package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
  806. package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
  807. package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
  808. package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
  809. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
  810. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
  811. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
  812. package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
  813. package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
  814. package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
  815. package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
  816. package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
  817. package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
  818. package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
  819. package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
  820. package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
  821. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
  822. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
  823. package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
  824. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
  825. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
  826. package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
  827. package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
  828. package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
  829. package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
  830. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
  831. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
  832. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
  833. package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
  834. package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
  835. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
  836. package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
  837. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
  838. package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
  839. package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
  840. package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
  841. package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
  842. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
  843. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
  844. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
  845. package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
  846. package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
  847. package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
  848. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
  849. package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
  850. package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
  851. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
  852. package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
  853. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
  854. package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
  855. package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
  856. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
  857. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
  858. package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
  859. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
  860. package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
  861. package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
  862. package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
  863. package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
  864. package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
  865. package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
  866. package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
  867. package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
  868. package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
  869. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
  870. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
  871. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
  872. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
  873. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
  874. package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
  875. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
  876. package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
  877. package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
  878. package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
  879. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
  880. package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
  881. package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
  882. package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
  883. package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
  884. package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
  885. package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
  886. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
  887. package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
  888. package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
  889. package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
  890. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
  891. package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
  892. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
  893. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
  894. package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
  895. package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
  896. package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
  897. package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
  898. package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
  899. package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
  900. package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
  901. package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
  902. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
  903. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
  904. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
  905. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
  906. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
  907. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
  908. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
  909. package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
  910. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
  911. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
  912. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
  913. package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
  914. package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
  915. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
  916. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
  917. package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
  918. package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
  919. package/pipeline/skills/skills-index.md +213 -192
  920. package/docs/GENERICITY-REVIEW.md +0 -277
  921. package/docs/STABILITY-FIX-PLAN.md +0 -168
  922. package/pipeline/scripts/README-figma-smokes.md +0 -34
  923. package/pipeline/scripts/figma-placeholder-map.json +0 -191
  924. package/pipeline/scripts/import-figma-skills.sh +0 -253
  925. package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
  926. package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
  927. package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
  928. package/pipeline/scripts/smoke-personal-data.sh +0 -84
  929. package/pipeline/scripts/sync-figma-source.sh +0 -228
  930. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
  931. package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
  932. package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
  933. package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
@@ -1,4 +1,9 @@
1
- # /figma-iterate — Automated Implementation Pipeline
1
+ ---
2
+ name: figma-iterate
3
+ description: Picks the next available component issue and runs the full pipeline end-to-end: start → implement → commit. Loops until no more issues are available or the user stops it.
4
+ ---
5
+
6
+ # /figma-iterate - Automated Implementation Pipeline
2
7
 
3
8
  ## Purpose
4
9
 
@@ -8,7 +13,7 @@ Picks the next available component issue and runs the full pipeline end-to-end:
8
13
 
9
14
  | Parameter | Required | Default | Description |
10
15
  |-----------|----------|---------|-------------|
11
- | `[#N]` | No || Specific issue to implement. If omitted, auto-picks next available. |
16
+ | `[#N]` | No | - | Specific issue to implement. If omitted, auto-picks next available. |
12
17
  | `--count <N>` | No | all | Number of components to implement before stopping. |
13
18
 
14
19
  ```
@@ -28,7 +33,7 @@ GH_REPO = {github.componentsRepo}
28
33
 
29
34
  ---
30
35
 
31
- ## STEP 0Pick Next Issue
36
+ ## STEP 0 - Pick Next Issue
32
37
 
33
38
  ### If issue number provided:
34
39
 
@@ -41,7 +46,7 @@ gh issue view <N> --repo ${GH_REPO} --json number,title,state,labels --jq '{numb
41
46
  If closed → HALT: "Issue #N is already closed."
42
47
  If has `blocked` label → HALT: "Issue #N is blocked. Unblock first with `/figma-issue unblock #N`."
43
48
 
44
- ### If no issue numberauto-pick:
49
+ ### If no issue number - auto-pick:
45
50
 
46
51
  Find the next available issue: open, `component` label, not `blocked`, not assigned.
47
52
 
@@ -62,14 +67,14 @@ Print:
62
67
 
63
68
  ```
64
69
  Next available issue:
65
- #<N><title>
70
+ #<N> - <title>
66
71
  ```
67
72
 
68
73
  Print and STOP. Wait for user confirmation or "skip" to pick next.
69
74
 
70
75
  ---
71
76
 
72
- ## STEP 1Start (`/figma-to-swift-ui-start`)
77
+ ## STEP 1 - Start (`/figma-to-swift-ui-start`)
73
78
 
74
79
  Run the start skill logic inline (not as a sub-skill invocation):
75
80
 
@@ -98,18 +103,18 @@ These 6 rules govern orchestrator behavior. Violations have caused repeated fail
98
103
 
99
104
  ---
100
105
 
101
- ## STEP 2Implement (Phases 0-7)
106
+ ## STEP 2 - Implement (Phases 0-7)
102
107
 
103
108
  Extract Figma URL from the issue body.
104
109
 
105
- **Orchestrate inline**run each phase by dispatching leaf-phase subagents and scripts directly. Read the full orchestration logic from `.instructions/figma/figma-cli-iterate/SKILL.md` STEP 2.
110
+ **Orchestrate inline** - run each phase by dispatching leaf-phase subagents and scripts directly. Read the full orchestration logic from `.instructions/figma/figma-cli-iterate/SKILL.md` STEP 2.
106
111
 
107
112
  **NEVER dispatch multi-phase meta-skills as subagents:**
108
113
  - `/figma-to-swiftui`, `/figma-to-swift-ui-implement`, `/figma-to-swift-ui-test`, `/figma-to-swift-ui-code-connect`, `/figma-to-swift-ui-wiki`
109
114
 
110
115
  Instead, dispatch individual phase instruction files (e.g., `phase-2a-testing-identifiers.md`, `phase-4b-view.md`) as leaf subagents.
111
116
 
112
- **Spec injection (Option A):** If `{artifactPath}/pass0/specs.md` exists, read specs and inject concrete requirements into each subagent dispatch prompt as CRITICAL SPEC GATESnot as a sidecar file reference.
117
+ **Spec injection (Option A):** If `{artifactPath}/pass0/specs.md` exists, read specs and inject concrete requirements into each subagent dispatch prompt as CRITICAL SPEC GATES - not as a sidecar file reference.
113
118
 
114
119
  Phases 0-7:
115
120
  - Phase 0: Init (subagent, leaf)
@@ -125,11 +130,11 @@ If any phase HALTs → print the halt reason, ask user to resolve, then resume.
125
130
 
126
131
  ---
127
132
 
128
- ## STEP 3Commit (`/figma-iteration-commit`)
133
+ ## STEP 3 - Commit (`/figma-iteration-commit`)
129
134
 
130
135
  Run the iteration commit logic inline:
131
136
 
132
- 1. Validatebuild, tests, key sync, review + auto-fix
137
+ 1. Validate - build, tests, key sync, review + auto-fix
133
138
  2. Commit to `iteration/develop` (common → uicomponents → wiki) + PR to `develop` (main, if needed)
134
139
  3. Push each
135
140
  4. Comment on issue with commit SHAs
@@ -147,7 +152,7 @@ Committed: <ComponentName> (#N)
147
152
 
148
153
  ---
149
154
 
150
- ## STEP 4Loop
155
+ ## STEP 4 - Loop
151
156
 
152
157
  If specific issue `#N` was provided → print summary and exit (single run).
153
158
 
@@ -173,7 +178,7 @@ Before picking next, print:
173
178
 
174
179
  ---
175
180
 
176
- ## STEP 5Final Summary
181
+ ## STEP 5 - Final Summary
177
182
 
178
183
  Print at the end of the loop:
179
184
 
@@ -196,8 +201,8 @@ Remaining: N open issues
196
201
  ## Error Handling
197
202
 
198
203
  - **No available issues**: Exit cleanly with message.
199
- - **Blocked issue (manual pick)**: HALTdon't implement blocked components.
204
+ - **Blocked issue (manual pick)**: HALT - don't implement blocked components.
200
205
  - **Phase HALT**: Show reason, ask user. If resolved → resume. If skipped → mark issue, move to next.
201
- - **Build/test failure in commit**: HALTdon't push broken code.
206
+ - **Build/test failure in commit**: HALT - don't push broken code.
202
207
  - **3 consecutive HALTs**: Stop iteration to prevent infinite failure loops.
203
208
  - **Submodules not on iteration/develop**: Auto-checkout before starting.
@@ -1,20 +1,25 @@
1
- # /figma-iteration-commit — Validate & Commit to iteration/develop + PR to develop
1
+ ---
2
+ name: figma-iteration-commit
3
+ description: NEVER create branches on the main repo (REPO_ROOT). Do not create `iteration/develop` or any other branch on the main repo. Do not commit to the main repo.
4
+ ---
5
+
6
+ # /figma-iteration-commit - Validate & Commit to iteration/develop + PR to develop
2
7
 
3
8
  ## Guardrails
4
9
 
5
- > **NEVER create branches on the main repo (REPO_ROOT).** Do not create `iteration/develop` or any other branch on the main repo. Do not commit to the main repo. This skill only commits to submodules (common, uicomponents, wiki). Main repo submodule refs are updated separatelynot by this skill.
10
+ > **NEVER create branches on the main repo (REPO_ROOT).** Do not create `iteration/develop` or any other branch on the main repo. Do not commit to the main repo. This skill only commits to submodules (common, uicomponents, wiki). Main repo submodule refs are updated separately - not by this skill.
6
11
 
7
12
  > **NEVER use `json.dumps()` default formatting on JSON files.** When editing JSON files (e.g., `ui-testing-identifiers.json`), preserve the existing file format. Do not reformat, re-indent, or change separators. The canonical format for `ui-testing-identifiers.json` is `" : "` (space-colon-space), not `": "`. If you must write JSON programmatically, post-process the output to match the existing format.
8
13
 
9
14
  > **NEVER manually edit `ui-testing-identifiers.json`.** Format corruption on this file is most likely caused by conflict resolution. When a rebase conflict occurs on this file:
10
- > 1. Check what keys we addedlook at `Shared/Figma/Components/{nodeId}.json` (has the key list) or `git show HEAD:Shared/UITestingIdentifiers/ui-testing-identifiers.json`
15
+ > 1. Check what keys we added - look at `Shared/Figma/Components/{nodeId}.json` (has the key list) or `git show HEAD:Shared/UITestingIdentifiers/ui-testing-identifiers.json`
11
16
  > 2. Take the remote version: `git checkout --ours Shared/UITestingIdentifiers/ui-testing-identifiers.json` (during rebase, `--ours` = upstream/remote)
12
- > 3. Re-add our keys via `/common-utility` (`utility-add-key`)this writes in the correct `" : "` format
17
+ > 3. Re-add our keys via `/common-utility` (`utility-add-key`) - this writes in the correct `" : "` format
13
18
  > 4. `git add Shared/UITestingIdentifiers/ui-testing-identifiers.json` + `git rebase --continue`
14
19
  >
15
- > Never resolve JSON conflicts by hand-editing or `json.dumps()`it reformats the entire file.
20
+ > Never resolve JSON conflicts by hand-editing or `json.dumps()` - it reformats the entire file.
16
21
 
17
- > **ALWAYS validate `ui-testing-identifiers.json` key count after every rebaseeven when there were no conflicts.** The implement agent regenerates this file from `identifier-keys.json` only, which means an auto-merge can silently drop keys that exist on `iteration/develop` but not in the local metadata. After every rebase (or cherry-pick), before staging and continuing, run:
22
+ > **ALWAYS validate `ui-testing-identifiers.json` key count after every rebase - even when there were no conflicts.** The implement agent regenerates this file from `identifier-keys.json` only, which means an auto-merge can silently drop keys that exist on `iteration/develop` but not in the local metadata. After every rebase (or cherry-pick), before staging and continuing, run:
18
23
  >
19
24
  > ```bash
20
25
  > REMOTE_KEY_COUNT=$(git show origin/iteration/develop:Shared/UITestingIdentifiers/ui-testing-identifiers.json 2>/dev/null | grep -c '".*" : "' || echo 0)
@@ -25,7 +30,7 @@
25
30
  > echo " Restoring from origin/iteration/develop and re-adding component keys..."
26
31
  > git show origin/iteration/develop:Shared/UITestingIdentifiers/ui-testing-identifiers.json \
27
32
  > > Shared/UITestingIdentifiers/ui-testing-identifiers.json
28
- > # Re-add our component's keys (they are in identifier-keys.jsontool will merge them in)
33
+ > # Re-add our component's keys (they are in identifier-keys.json - tool will merge them in)
29
34
  > .build/debug/UITestingIdentifierTool generate \
30
35
  > --config Shared/UITestingIdentifiers/Config/identifier-config.json
31
36
  > git add Shared/UITestingIdentifiers/ui-testing-identifiers.json
@@ -35,7 +40,7 @@
35
40
  >
36
41
  > This guard runs even when `ui-testing-identifiers.json` was NOT in the conflict list. Silent key loss from auto-merge is the most common failure mode.
37
42
 
38
- > **ALWAYS validate Generated Swift key files after every rebaseeven when there were no conflicts.** The codegen tool (`UnifiedCodeGenerationTool`) regenerates `LocalizationStringKeys.swift` and `LocalizedAccessibilityStringKeys.swift` from config JSONs that reference `Sources/Suggested/*.json` files. An auto-merge (or accepting either side during conflict resolution) can silently drop enum blocks if the suggested-key files from another developer's component are not present locally. After every rebase (or cherry-pick), before rebuilding, run:
43
+ > **ALWAYS validate Generated Swift key files after every rebase - even when there were no conflicts.** The codegen tool (`UnifiedCodeGenerationTool`) regenerates `LocalizationStringKeys.swift` and `LocalizedAccessibilityStringKeys.swift` from config JSONs that reference `Sources/Suggested/*.json` files. An auto-merge (or accepting either side during conflict resolution) can silently drop enum blocks if the suggested-key files from another developer's component are not present locally. After every rebase (or cherry-pick), before rebuilding, run:
39
44
  >
40
45
  > ```bash
41
46
  > LOC_FILE="iOS/Sources/LocalizationStringKeys/Generated/LocalizationStringKeys.swift"
@@ -54,9 +59,9 @@
54
59
  > done
55
60
  > ```
56
61
  >
57
- > This guard runs even when the Generated files were NOT in the conflict list. Silent enum loss from auto-merge or "accept either side" resolution is a known failure modethe rebuild script's codegen step (3.5) will re-add our component's keys on top of the restored remote file.
62
+ > This guard runs even when the Generated files were NOT in the conflict list. Silent enum loss from auto-merge or "accept either side" resolution is a known failure mode - the rebuild script's codegen step (3.5) will re-add our component's keys on top of the restored remote file.
58
63
 
59
- > **ALWAYS validate `Sources/Suggested/*.json` file count after every rebase, cherry-pick, AND before every commiteven when there were no conflicts.** The implement agent only creates source JSONs for the current component. A rebase, cherry-pick, or `git add -A` can silently drop source JSON files belonging to OTHER components (e.g., a tool run deletes files, or a workspace reset loses them). These per-key source files are the ground truth for localization and accessibility code generationlosing them means generated code silently loses keys for other components. After every rebase (or cherry-pick), AND before every `git add -A` in the commit step, run:
64
+ > **ALWAYS validate `Sources/Suggested/*.json` file count after every rebase, cherry-pick, AND before every commit - even when there were no conflicts.** The implement agent only creates source JSONs for the current component. A rebase, cherry-pick, or `git add -A` can silently drop source JSON files belonging to OTHER components (e.g., a tool run deletes files, or a workspace reset loses them). These per-key source files are the ground truth for localization and accessibility code generation - losing them means generated code silently loses keys for other components. After every rebase (or cherry-pick), AND before every `git add -A` in the commit step, run:
60
65
  >
61
66
  > ```bash
62
67
  > for SUGGESTED_DIR in \
@@ -83,7 +88,7 @@
83
88
  >
84
89
  > This guard catches the most dangerous form of silent data loss: source JSON files from OTHER components being deleted by the current component's pipeline. Unlike generated files (which can be rebuilt), source JSONs contain the original translations and cannot be re-derived.
85
90
 
86
- > **NEVER call `common-rebuild-derived-artifacts.sh` blindly after conflict resolution when `ui-testing-identifiers.json` may have been touched.** The rebuild script calls `UITestingIdentifierTool generate --swift-only` which only writes the Swift filebut the JSON may already be corrupt from a bad auto-merge. Always run the key-count integrity check BEFORE the rebuild script, and fix the JSON FIRST if the count decreased.
91
+ > **NEVER call `common-rebuild-derived-artifacts.sh` blindly after conflict resolution when `ui-testing-identifiers.json` may have been touched.** The rebuild script calls `UITestingIdentifierTool generate --swift-only` which only writes the Swift file - but the JSON may already be corrupt from a bad auto-merge. Always run the key-count integrity check BEFORE the rebuild script, and fix the JSON FIRST if the count decreased.
87
92
 
88
93
  ## Conflict File Classification (common submodule)
89
94
 
@@ -99,7 +104,7 @@ When a cherry-pick or rebase conflict occurs in the common submodule, classify e
99
104
  | `Shared/UITestingIdentifiers/Metadata/*` | Accept either side | Gitignored, will regenerate |
100
105
  | `Sources/Suggested/*.json` | Our version wins | Per-key files, we created them |
101
106
  | `Shared/Figma/Components/*.json` | Our version wins | We created/modified it |
102
- | `Shared/UITestingIdentifiers/ui-testing-identifiers.json` | Take remote + re-add keys via tool | See Guardrailsnever hand-edit |
107
+ | `Shared/UITestingIdentifiers/ui-testing-identifiers.json` | Take remote + re-add keys via tool | See Guardrails - never hand-edit |
103
108
  | `Shared/UIAssets/Colors/*.json` | Take remote + manually insert new entries | Match existing format exactly |
104
109
 
105
110
  **After resolving all conflicts, ALWAYS rebuild derived artifacts:**
@@ -120,8 +125,8 @@ Validates a component implementation, commits directly to `iteration/develop` in
120
125
 
121
126
  | Parameter | Required | Default | Description |
122
127
  |-----------|----------|---------|-------------|
123
- | `<ComponentName>` | Yes || PascalCase component name |
124
- | `--gh` | No || GitHub issue number (auto-detected if on a tracked issue) |
128
+ | `<ComponentName>` | Yes | - | PascalCase component name |
129
+ | `--gh` | No | - | GitHub issue number (auto-detected if on a tracked issue) |
125
130
 
126
131
  ```
127
132
  /figma-iteration-commit ModalsTitle
@@ -144,7 +149,7 @@ DEFAULT_JIRA = {jira.projectKey}-124692
144
149
 
145
150
  ---
146
151
 
147
- ## STEP 0Resolve
152
+ ## STEP 0 - Resolve
148
153
 
149
154
  1. Parse `ComponentName`. Convert to kebab-case.
150
155
  2. If `--gh` provided, read the issue to get Jira key. Otherwise search for the issue:
@@ -173,7 +178,7 @@ DEFAULT_JIRA = {jira.projectKey}-124692
173
178
  - Reset iteration/develop to its previous state
174
179
  - Restore the feature branch from the backup
175
180
  - HALT: "Rebase broke the build. Feature branch preserved at {branch-name}."
176
- - Do NOT delete the backupleave it for manual resolution
181
+ - Do NOT delete the backup - leave it for manual resolution
177
182
  ```
178
183
 
179
184
  ```bash
@@ -198,7 +203,7 @@ DEFAULT_JIRA = {jira.projectKey}-124692
198
203
  # Cherry-pick feature commits
199
204
  for COMMIT in ${COMMITS}; do
200
205
  git cherry-pick ${COMMIT} || {
201
- # CONFLICT HANDLINGdo NOT abort or delete any changes
206
+ # CONFLICT HANDLING - do NOT abort or delete any changes
202
207
  echo "⚠️ Cherry-pick conflict at ${COMMIT}."
203
208
  echo "Conflicting files:"
204
209
  CONFLICTED_FILES=$(git diff --name-only --diff-filter=U)
@@ -366,7 +371,7 @@ DEFAULT_JIRA = {jira.projectKey}-124692
366
371
 
367
372
  ---
368
373
 
369
- ## STEP 1Validate
374
+ ## STEP 1 - Validate
370
375
 
371
376
  ### 1a. Build
372
377
 
@@ -402,7 +407,7 @@ python3 .instructions/figma/figma-to-swiftui/scripts/validate-localization-sync.
402
407
  --component "{ComponentName}"
403
408
  ```
404
409
 
405
- If out of sync → HALT. Regenerate with `update-*-dev` (NOT `generate-*-code`see common-utility docs):
410
+ If out of sync → HALT. Regenerate with `update-*-dev` (NOT `generate-*-code` - see common-utility docs):
406
411
  ```bash
407
412
  swift package plugin --allow-writing-to-package-directory update-localizations-dev
408
413
  swift package plugin --allow-writing-to-package-directory update-accessibility-dev
@@ -429,7 +434,7 @@ Validation: PASS / FAIL
429
434
 
430
435
  ---
431
436
 
432
- ## STEP 2Detect Changes
437
+ ## STEP 2 - Detect Changes
433
438
 
434
439
  ```bash
435
440
  HAS_COMMON=$(cd "${COMMON}" && git status --porcelain | head -1)
@@ -439,9 +444,9 @@ HAS_WIKI=$(cd "${WIKI}" && git status --porcelain | head -1)
439
444
 
440
445
  ---
441
446
 
442
- ## STEP 3Commit Locally
447
+ ## STEP 3 - Commit Locally
443
448
 
444
- Commit to local `iteration/develop` in submodules. Do NOT push yetpushing happens in STEP 3b after validation confirms the build is clean.
449
+ Commit to local `iteration/develop` in submodules. Do NOT push yet - pushing happens in STEP 3b after validation confirms the build is clean.
445
450
 
446
451
  ### 3a. Commit (local only)
447
452
 
@@ -500,7 +505,7 @@ Refs: ${JIRA_ISSUE}"
500
505
 
501
506
  ---
502
507
 
503
- ### ⛔ 3a-gatePre-Push Approval (required HARD STOP)
508
+ ### ⛔ 3a-gate - Pre-Push Approval (required HARD STOP)
504
509
 
505
510
  > **Do NOT proceed to STEP 3b until the user explicitly approves.**
506
511
  > Use the `ask-questions` tool here. A silent "yes" assumption is a pipeline violation.
@@ -509,7 +514,7 @@ Refs: ${JIRA_ISSUE}"
509
514
 
510
515
  ```
511
516
  ╔══════════════════════════════════════════════════════════════════╗
512
- ║ PRE-PUSH SUMMARYiteration/develop ║
517
+ ║ PRE-PUSH SUMMARY - iteration/develop ║
513
518
  ╠══════════════════════════════════════════════════════════════════╣
514
519
  ║ common (if HAS_COMMON): ║
515
520
  ║ Branch : iteration/develop ║
@@ -534,7 +539,7 @@ Refs: ${JIRA_ISSUE}"
534
539
  Generate this summary with:
535
540
 
536
541
  ```bash
537
- # For each submodule with commitsadapt branch name per repo:
542
+ # For each submodule with commits - adapt branch name per repo:
538
543
  cd ${SUBMODULE}
539
544
  echo "Ahead: $(git rev-list origin/${PUSH_BRANCH}..HEAD --count) commits"
540
545
  git log origin/${PUSH_BRANCH}..HEAD --oneline
@@ -561,7 +566,7 @@ git diff origin/${PUSH_BRANCH}..HEAD --stat | tail -1
561
566
  Run /figma-iteration-commit again when ready to push.
562
567
  ```
563
568
 
564
- Then **HALT**do not revert any local commits, do not push anything.
569
+ Then **HALT** - do not revert any local commits, do not push anything.
565
570
 
566
571
  ---
567
572
 
@@ -590,12 +595,12 @@ MAX_RETRIES=3
590
595
  for i in $(seq 1 $MAX_RETRIES); do
591
596
  git push origin ${PUSH_BRANCH} && break
592
597
 
593
- echo "Push rejectedremote updated. Rebasing (attempt $i)..."
598
+ echo "Push rejected - remote updated. Rebasing (attempt $i)..."
594
599
  git fetch origin ${PUSH_BRANCH}
595
600
  git rebase origin/${PUSH_BRANCH}
596
601
 
597
602
  if [ $? -ne 0 ]; then
598
- # CONFLICT HANDLINGdo NOT abort or delete any changes
603
+ # CONFLICT HANDLING - do NOT abort or delete any changes
599
604
  echo "⚠️ Rebase conflict detected during push retry."
600
605
  echo "Conflicting files:"
601
606
  CONFLICTED_FILES=$(git diff --name-only --diff-filter=U)
@@ -763,7 +768,7 @@ cd ${UICOMPONENTS} && git fetch origin iteration/develop
763
768
 
764
769
  ---
765
770
 
766
- ## STEP 4Issue Housekeeping
771
+ ## STEP 4 - Issue Housekeeping
767
772
 
768
773
  ### 4a. Comment on issue
769
774
 
@@ -788,7 +793,7 @@ EOF
788
793
  Phase state is tracked per-flag in the component registry
789
794
  (`status.ios.{implemented,tested,codeConnect,wiki}`), written by the
790
795
  phase finalize scripts during STEP 2 of `/figma-cli-iterate`. The
791
- issue's labels and Progress table are projections of that stateno
796
+ issue's labels and Progress table are projections of that state - no
792
797
  filesystem inference anymore.
793
798
 
794
799
  Run the registry sync once, after the commit succeeds:
@@ -812,7 +817,7 @@ This call is idempotent:
812
817
  lowest-numbered one with a "Duplicate of #N" comment.
813
818
 
814
819
  If the call fails (gh not authenticated, rate limit, etc.), log the
815
- error but don't fail the committhe sync can always be re-run
820
+ error but don't fail the commit - the sync can always be re-run
816
821
  manually or via `bulk-sync-issues.py`.
817
822
 
818
823
  ### 4c. Link wiki to issue
@@ -944,7 +949,7 @@ for comp_name in connected:
944
949
  sub_issues_added.append(f"#{sub_issue_n} ({comp_name})")
945
950
  print(f" ✅ Linked sub-issue #{sub_issue_n} ({comp_name})")
946
951
  else:
947
- # May already be linkednot a fatal error
952
+ # May already be linked - not a fatal error
948
953
  print(f" ℹ️ Could not link #{sub_issue_n} ({comp_name}): {api_result.stderr.strip()}")
949
954
 
950
955
  if sub_issues_added:
@@ -953,12 +958,12 @@ else:
953
958
  print("No sub-issues linked (no matching open issues found).")
954
959
  ```
955
960
 
956
- > **Non-fatal:** If this step fails (artifact missing, gh API error, no matching issues), log and continueit must never block the commit.
961
+ > **Non-fatal:** If this step fails (artifact missing, gh API error, no matching issues), log and continue - it must never block the commit.
957
962
 
958
963
 
959
964
  ---
960
965
 
961
- ## STEP 5Auto-Unblock Dependents
966
+ ## STEP 5 - Auto-Unblock Dependents
962
967
 
963
968
  Scan all open issues with `blocked` label:
964
969
 
@@ -982,7 +987,7 @@ Print any unblocked issues.
982
987
 
983
988
  ---
984
989
 
985
- ## STEP 6Summary
990
+ ## STEP 6 - Summary
986
991
 
987
992
  ```
988
993
  Iteration Commit: ${COMPONENT_PASCAL}
@@ -995,7 +1000,7 @@ Iteration Commit: ${COMPONENT_PASCAL}
995
1000
  | main | ${MAIN_SHA} | ✅ pushed / PR created |
996
1001
 
997
1002
  Validation: PASS
998
- Issue: #Ncommented + phase updated
1003
+ Issue: #N - commented + phase updated
999
1004
  Sub-issues: #X (ComponentA), #Y (ComponentB) (or "none")
1000
1005
  Unblocked: #M, #K (or "none")
1001
1006
  Jira: ${JIRA_ISSUE}
@@ -1006,9 +1011,9 @@ Jira: ${JIRA_ISSUE}
1006
1011
  ## Error Handling
1007
1012
 
1008
1013
  - **Submodules not on iteration/develop**: Checkout automatically (rebase-merge if commits exist).
1009
- - **Build fails**: HALTfix before committing.
1010
- - **Tests fail**: HALTfix before committing.
1011
- - **Key sync fails**: HALTregenerate keys first.
1014
+ - **Build fails**: HALT - fix before committing.
1015
+ - **Tests fail**: HALT - fix before committing.
1016
+ - **Key sync fails**: HALT - regenerate keys first.
1012
1017
  - **Push rejected**: Report error, do NOT force-push.
1013
1018
  - **No changes**: Print "Nothing to commit" and exit.
1014
1019
  - **Issue not found**: Commit without issue housekeeping, print warning.
@@ -8,7 +8,7 @@ status: wip-v5
8
8
  sourced-from: upstream/figma-mend
9
9
  ---
10
10
 
11
- # /figma-mendRe-implement Discarded Components
11
+ # /figma-mend - Re-implement Discarded Components
12
12
 
13
13
  This skill wraps the full `figma-to-swiftui` workflow (Phases 0-8) with two additions:
14
14
  1. **Pre-flight**: Locates old component in `Discarded/`, catalogs all its files
@@ -36,7 +36,7 @@ Same as figma-to-swiftui: extract `fileKey` and `nodeId`, convert `-` to `:` in
36
36
 
37
37
  ---
38
38
 
39
- ## Pre-Flight Phase (orchestrator-levelno subagent)
39
+ ## Pre-Flight Phase (orchestrator-level - no subagent)
40
40
 
41
41
  Run BEFORE Phase 0. Uses Grep/Glob/Bash directly in the main orchestrator.
42
42
 
@@ -122,7 +122,7 @@ Follow the EXACT same execution order as `.instructions/figma/figma-to-swiftui/S
122
122
 
123
123
  ### Dispatch Table
124
124
 
125
- Use the SAME dispatch table from `.instructions/figma/figma-to-swiftui/SKILL.md`same phases, same models, same turn limits, same tool restrictions, same phase instruction paths. Do NOT read that filethe table is reproduced here for reference:
125
+ Use the SAME dispatch table from `.instructions/figma/figma-to-swiftui/SKILL.md` - same phases, same models, same turn limits, same tool restrictions, same phase instruction paths. Do NOT read that file - the table is reproduced here for reference:
126
126
 
127
127
  | Phase | Instruction (under figma-to-swiftui/) | Model | Max Turns | Tool Restrictions |
128
128
  |-------|---------------------------------------|-------|-----------|-------------------|
@@ -160,8 +160,8 @@ The ONLY change from figma-to-swiftui: append this section to every AI subagent
160
160
  ## Complementary Reference (Old Implementation)
161
161
 
162
162
  This component is being RE-IMPLEMENTED from Discarded/.
163
- Old source files (read as referencedo NOT copy verbatim):
164
- {list of relevant old file paths from oldFilesCatalogsee injection table below}
163
+ Old source files (read as reference - do NOT copy verbatim):
164
+ {list of relevant old file paths from oldFilesCatalog - see injection table below}
165
165
 
166
166
  Preserve domain-specific patterns if architecturally sound:
167
167
  - Animations, transitions, gesture handling
@@ -172,7 +172,7 @@ Preserve domain-specific patterns if architecturally sound:
172
172
 
173
173
  IMPORTANT: New implementation MUST follow current workflow standards
174
174
  (macros, Configuration pattern, design tokens). Use old code ONLY as reference
175
- for domain logicnot as a template for architecture.
175
+ for domain logic - not as a template for architecture.
176
176
  ```
177
177
 
178
178
  ### Selective File Injection Table
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: figma-navigation
3
+ description: "Navigation pattern integration for Figma-to-SwiftUI components. Guides how a component reaches other screens, tabs, or deep links without coupling to a router — headless screens that emit a typed Output, native NavigationStack/navigationDestination by default, an optional project-supplied navigation system (router + route enum + scene container) when figma-config declares one. Reach for this when a design embeds a tab bar, nav bar / back button, a push/detail affordance, or a deep-link entry point."
4
+ user-invocable: true
5
+ allowed-tools: Read, Glob, Grep
6
+ status: wip-v5
7
+ sourced-from: upstream/figma-navigation
8
+ ---
9
+
10
+ # /figma-navigation - Navigation Pattern Integration
11
+
12
+ ## Purpose
13
+
14
+ Consumed by the figma-to-swiftui pipeline (Phase 3D pattern detection, Phase 4B view implementation) and available for ad-hoc/vibe-coding, this skill defines how a component participates in navigation **without owning routing**. It is the navigation counterpart of `/figma-form-integration` and `/figma-price-integration`: a cross-cutting integration with a **native-SwiftUI default** and a **config-driven hook** for projects that ship their own navigation system.
15
+
16
+ **Generic by design.** Nothing here assumes a specific app. The default is stock SwiftUI (`NavigationStack`, `navigationDestination`, `.toolbar`, `.sheet`). If the target project declares a custom navigation system in its `figma-config.json` (`ui.navigationSystem`), this skill routes to that system's types by name instead — same rules, project-specific vocabulary.
17
+
18
+ ---
19
+
20
+ ## Strict Rules (non-negotiable)
21
+
22
+ 1. **A component never names a route, a sibling screen, or a router.** A component/screen takes its arrival data as init params and emits intent through a typed **`Output`** closure (`onSelect`, `onSubmit`, `output:`). The *caller* (scene/coordinator/parent) maps each output to a navigation edge. This keeps the component reusable and testable in isolation.
23
+ 2. **No navigation side effects inside a component body.** No `NavigationLink(destination:)` hardcoding a concrete next screen, no router calls, no global singletons touched from `body`. Navigation is a caller concern expressed via the emitted output.
24
+ 3. **Selection/tab state is observable data, not an imperative bridge.** A selected tab/section is a bound value (`@Binding`/observable), written by the caller; the component reflects it. A selection set before the container mounts is simply rendered on appear - no cold-start race.
25
+ 4. **Deep links reduce to state and never crash.** A URL parses to a plan/value; malformed input is dropped (logged, no trap). The component is never the deep-link parser - it only exposes the entry state the parser can set.
26
+ 5. **Native SwiftUI is the default; a custom system is opt-in via config.** Do NOT invent a bespoke router for a project that hasn't asked for one. Only use custom navigation types when `ui.navigationSystem.mode == "custom"` is set in `figma-config.json`.
27
+
28
+ ---
29
+
30
+ ## When to Invoke This Skill
31
+
32
+ Invoke when ANY of these are detected in the design or task:
33
+
34
+ 1. **Phase 3D - navigation sub-component / affordance:** a nested instance of a navigation-capable design element:
35
+ - Tab bar / segmented section switcher that changes the top-level view
36
+ - Navigation bar / header with a **back button** or close affordance
37
+ - A row/card whose variant implies a **push/detail** affordance (chevron, "Detaylar", disclosure)
38
+ - A link/button whose label implies leaving the screen ("Devam", "Tümünü gör")
39
+ - A deep-link entry point (the design is a landing surface reached by URL)
40
+ 2. **Phase 4B - View:** the view renders a back button, tab strip, or a control that should navigate.
41
+ 3. **Ad-hoc:** wiring a screen's push/pop/tab/deep-link flow outside the full pipeline.
42
+
43
+ **Not navigation (false-positive guards):**
44
+ - A segmented control that filters in-place (no screen change) → plain `Binding<Enum>`, not navigation.
45
+ - A button that submits a form → that's `/figma-form-integration`; the *result* may navigate, but the control is a form action.
46
+ - A modal card of data / a toast / a loading HUD → `/figma-overlays`. A bottom sheet surface → `/figma-bottom-sheets`.
47
+
48
+ ---
49
+
50
+ ## Native-first architecture (default)
51
+
52
+ ```
53
+ Parent / Scene (caller)
54
+ | owns NavigationStack(path:) or tab Binding, maps Output → edge
55
+ v
56
+ ComponentView
57
+ | init(arrivalData…, output: @escaping (Output) -> Void)
58
+ | emits .selected(id) / .continue / .back - never routes
59
+ v
60
+ (caller) path.append(route) | selectedTab = .x | present(.sheet)
61
+ ```
62
+
63
+ - **Push/pop within a flow:** caller owns `NavigationStack(path:)`; component emits `Output`; caller appends a `Hashable` route; `navigationDestination(for:)` renders it.
64
+ - **Back button:** prefer the system back button. A custom header back affordance emits `.back` (or calls `dismiss`); it renders only when there is something to pop (depth > 0 / `isPresented`).
65
+ - **Tabs:** `TabView(selection:)` bound to an observable selection the caller owns; the component reads/writes the binding, never a global.
66
+ - **Deep links:** caller parses URL → a `Hashable` route / tab selection and applies it to the same path/selection state the UI already uses. Component only exposes the entry state.
67
+ - **Modal presentation of another screen:** `.sheet(item:)` / `.fullScreenCover(item:)` driven by caller state (data-driven, no `AnyView`). A *bottom sheet surface* is `/figma-bottom-sheets`; an *alert/data modal card* is `/figma-overlays`.
68
+
69
+ Design tokens (spacing, colors, typography) follow `reference/ui` + the project's figma-config token patterns - never raw literals.
70
+
71
+ ## Config hook - project-supplied navigation system
72
+
73
+ When `figma-config.json` declares:
74
+ ```jsonc
75
+ "ui": { "navigationSystem": {
76
+ "mode": "custom",
77
+ "router": "AppRouter", // type that dispatches routes
78
+ "routeEnum": "AppRoute", // exhaustive cross-surface route enum
79
+ "sceneType": "SceneContent", // headless screen container (optional)
80
+ "navigatorProtocol": "NavigatorProtocol" // DI'd selection/present API (optional)
81
+ }}
82
+ ```
83
+ then apply the SAME rules, but express them in the project's vocabulary resolved from config (do NOT hardcode the names below - read them from `ui.navigationSystem`):
84
+
85
+ - Wrap screen content in `{sceneType}` (headless container) instead of a bare `NavigationStack` child, when provided.
86
+ - Screens still emit a typed `Output`; the domain coordinator maps outputs to the project's route type (`{routeEnum}`) and the `{router}` dispatches.
87
+ - Cross-surface jumps go through the DI'd `{navigatorProtocol}` (`selectTab`, `present`), never by importing a sibling domain.
88
+ - Deep links build the project's `{routeEnum}` case and hand it to the router's deep-link entry.
89
+
90
+ If `mode` is absent or `native`, use the native-first section above. Resolve types via `tools/resource-utility` / repo grep only when the config points at real files.
91
+
92
+ ---
93
+
94
+ ## Integration with Phase 3D
95
+
96
+ When Phase 3D detects a navigation affordance, record it in `04b_component_architecture.md` and classify it as an **Output**, not a route:
97
+
98
+ ```markdown
99
+ ## Navigation
100
+ | Affordance | Emits | Caller maps to |
101
+ |---|---|---|
102
+ | Back button (header) | `.back` closure / dismiss | pop current stack |
103
+ | Row chevron ("Detaylar") | `.selected(id)` | push detail route |
104
+ | Tab strip | `selection: Binding<Tab>` | caller-owned tab state |
105
+ | Deep-link landing | entry `route`/`tab` param | parser sets caller state |
106
+ ```
107
+
108
+ Property classification addition:
109
+
110
+ | Classification | When | Swift Pattern |
111
+ |---|---|---|
112
+ | Navigation output | Component has a push/select/back affordance | `output: (Output) -> Void` / `onSelect: (ID) -> Void` closure on the View |
113
+ | Tab/selection binding | Component switches top-level content | `selection: Binding<SomeTab>` |
114
+ | Deep-link entry | Component is a URL landing surface | plain entry `route`/`tab` param on the View/Configuration |
115
+
116
+ The affordance's **label/icon copy is static Configuration content** (localized), exactly like other copy - only the *intent* is an Output closure.
117
+
118
+ ## Integration with Phase 4B
119
+
120
+ - Never hardcode `NavigationLink(destination: ConcreteScreen())` inside a reusable component - emit the Output.
121
+ - Prefer the system back button; a custom back affordance calls `@Environment(\.dismiss)` or emits `.back`.
122
+ - Bind tab/selection via the caller-owned binding; never a global.
123
+ - If `ui.navigationSystem.mode == custom`, wrap in `{sceneType}` and route via `{router}`/`{routeEnum}` per config.
124
+ - Verify by building + running on the simulator (`reference/build-and-test` / `figma-to-component` Phase 5): the transition happens, the back button appears only after a push, deep links land on the right surface.
125
+
126
+ ---
127
+
128
+ ## When NOT to Use Navigation Integration
129
+ - In-place filters/segmented state that never changes screen → `Binding<Enum>`.
130
+ - Form submission → `/figma-form-integration` (the *result* may navigate; the control is a form action).
131
+ - Toast / loading / alert / data modal → `/figma-overlays`. Bottom-sheet surface → `/figma-bottom-sheets`.
132
+
133
+ ## Checklist - Before Leaving the Skill
134
+ ```
135
+ [ ] Component emits a typed Output for every navigation affordance - no hardcoded routes
136
+ [ ] Back uses system back / dismiss / .back output; renders only when poppable
137
+ [ ] Tab/selection is a caller-owned binding, not a global
138
+ [ ] Deep-link entry is plain state the caller's parser can set (component never parses URLs)
139
+ [ ] Default is native SwiftUI (NavigationStack/navigationDestination/TabView/.sheet(item:))
140
+ [ ] Custom system used ONLY when figma-config ui.navigationSystem.mode == custom (names from config)
141
+ [ ] Labels/icons are localized Configuration copy; only intent is a closure
142
+ ```