@mmerterden/multi-agent-pipeline 8.6.1 → 10.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (928) hide show
  1. package/CHANGELOG.md +544 -2484
  2. package/README.md +117 -138
  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 +5 -5
  21. package/pipeline/agents/backend-architect.md +4 -4
  22. package/pipeline/agents/code-reviewer.md +10 -10
  23. package/pipeline/agents/dev-critic.md +17 -17
  24. package/pipeline/agents/explorer.md +3 -3
  25. package/pipeline/agents/ios-architect.md +4 -4
  26. package/pipeline/agents/security-auditor.md +12 -12
  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 +13 -9
  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 +23 -23
  42. package/pipeline/commands/multi-agent/dev-local-autopilot.md +23 -23
  43. package/pipeline/commands/multi-agent/dev-local.md +25 -22
  44. package/pipeline/commands/multi-agent/dev.md +49 -49
  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 +75 -66
  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 +15 -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 +35 -33
  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 +73 -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 +11 -11
  87. package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +93 -57
  88. package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +59 -28
  89. package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +115 -63
  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 +160 -63
  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 +9 -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 +66 -60
  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 +3 -3
  185. package/pipeline/lib/fetch-crashlytics.sh +5 -5
  186. package/pipeline/lib/fetch-fortify.sh +5 -21
  187. package/pipeline/lib/fetch-swagger.sh +5 -5
  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 +21 -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 +55 -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 +3 -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 +97 -13
  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 +23 -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 +90 -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 +80 -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 +7 -4
  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-test-gap.mjs +4 -4
  395. package/pipeline/scripts/validate-triage.mjs +68 -9
  396. package/pipeline/scripts/verify-skills.sh +7 -7
  397. package/pipeline/scripts/write-state.mjs +49 -11
  398. package/pipeline/skills/.skill-manifest.json +245 -149
  399. package/pipeline/skills/.skills-index.json +236 -47
  400. package/pipeline/skills/figma-android/README.md +5 -5
  401. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
  402. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
  403. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
  404. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
  405. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
  406. package/pipeline/skills/figma-common/README.md +29 -29
  407. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
  408. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
  409. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
  410. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
  411. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
  412. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
  413. package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
  414. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
  415. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
  416. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
  417. package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
  418. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
  419. package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
  420. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
  421. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
  422. package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
  423. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
  424. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
  425. package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
  426. package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
  427. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
  428. package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
  429. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +12 -12
  430. package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
  431. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
  432. package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
  433. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
  434. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
  435. package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
  436. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
  437. package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
  438. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
  439. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
  440. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
  441. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
  442. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
  443. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +38 -38
  444. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
  445. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
  446. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
  447. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
  448. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
  449. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
  450. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
  451. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
  452. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
  453. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
  454. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
  455. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
  456. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
  457. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +57 -57
  458. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
  459. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
  460. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
  461. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
  462. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
  463. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
  464. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +43 -43
  465. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
  466. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
  467. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
  468. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
  469. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
  470. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
  471. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
  472. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
  473. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
  474. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
  475. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
  476. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
  477. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +1 -1
  478. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
  479. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
  480. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
  481. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
  482. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
  483. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
  484. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
  485. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
  486. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
  487. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
  488. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
  489. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
  490. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
  491. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
  492. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
  493. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
  494. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
  495. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
  496. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
  497. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
  498. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
  499. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
  500. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
  501. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
  502. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
  503. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
  504. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
  505. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
  506. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
  507. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
  508. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
  509. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
  510. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
  511. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
  512. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
  513. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
  514. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
  515. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
  516. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
  517. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
  518. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
  519. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
  520. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
  521. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
  522. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
  523. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
  524. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
  525. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
  526. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
  527. package/pipeline/skills/shared/README.md +62 -41
  528. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
  529. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
  530. package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
  531. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
  532. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
  533. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
  534. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
  535. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
  536. package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
  537. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
  538. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
  539. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
  540. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
  541. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
  542. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
  543. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
  544. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
  545. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
  546. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
  547. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
  548. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
  549. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
  550. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
  551. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
  552. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
  553. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
  554. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
  555. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
  556. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
  557. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
  558. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
  559. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
  560. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
  561. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
  562. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
  563. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
  564. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
  565. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
  566. package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
  567. package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
  568. package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
  569. package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
  570. package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
  571. package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
  572. package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
  573. package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
  574. package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
  575. package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
  576. package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
  577. package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
  578. package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
  579. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
  580. package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
  581. package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
  582. package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
  583. package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
  584. package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
  585. package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
  586. package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
  587. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
  588. package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
  589. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
  590. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
  591. package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
  592. package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
  593. package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
  594. package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
  595. package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
  596. package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
  597. package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
  598. package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
  599. package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
  600. package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
  601. package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
  602. package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
  603. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
  604. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
  605. package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
  606. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
  607. package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
  608. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
  609. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
  610. package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
  611. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
  612. package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
  613. package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
  614. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
  615. package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
  616. package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
  617. package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
  618. package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
  619. package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
  620. package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
  621. package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
  622. package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
  623. package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
  624. package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
  625. package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
  626. package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
  627. package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
  628. package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
  629. package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
  630. package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
  631. package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
  632. package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
  633. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
  634. package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
  635. package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
  636. package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
  637. package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
  638. package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
  639. package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
  640. package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
  641. package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
  642. package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
  643. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
  644. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
  645. package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
  646. package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
  647. package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
  648. package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
  649. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
  650. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
  651. package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
  652. package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
  653. package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
  654. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
  655. package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
  656. package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
  657. package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
  658. package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
  659. package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
  660. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
  661. package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
  662. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
  663. package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
  664. package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
  665. package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
  666. package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
  667. package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
  668. package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
  669. package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
  670. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
  671. package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
  672. package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
  673. package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
  674. package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
  675. package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
  676. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
  677. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
  678. package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
  679. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
  680. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
  681. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
  682. package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
  683. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
  684. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
  685. package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
  686. package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
  687. package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
  688. package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
  689. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
  690. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
  691. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
  692. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
  693. package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
  694. package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
  695. package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
  696. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
  697. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
  698. package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
  699. package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
  700. package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
  701. package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
  702. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
  703. package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
  704. package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
  705. package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
  706. package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
  707. package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
  708. package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
  709. package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
  710. package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
  711. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
  712. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
  713. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
  714. package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
  715. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
  716. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
  717. package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
  718. package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
  719. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
  720. package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
  721. package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
  722. package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
  723. package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
  724. package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
  725. package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
  726. package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
  727. package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
  728. package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
  729. package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
  730. package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
  731. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
  732. package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
  733. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
  734. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
  735. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
  736. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
  737. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
  738. package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
  739. package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
  740. package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
  741. package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
  742. package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
  743. package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
  744. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
  745. package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
  746. package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
  747. package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
  748. package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
  749. package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
  750. package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
  751. package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
  752. package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
  753. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
  754. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
  755. package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
  756. package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
  757. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
  758. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
  759. package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
  760. package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
  761. package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
  762. package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
  763. package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
  764. package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
  765. package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
  766. package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
  767. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
  768. package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
  769. package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
  770. package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
  771. package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
  772. package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
  773. package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
  774. package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
  775. package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
  776. package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
  777. package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
  778. package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
  779. package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
  780. package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
  781. package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
  782. package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
  783. package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
  784. package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
  785. package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
  786. package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
  787. package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
  788. package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
  789. package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
  790. package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
  791. package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
  792. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
  793. package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
  794. package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
  795. package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
  796. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
  797. package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
  798. package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
  799. package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
  800. package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
  801. package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
  802. package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
  803. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
  804. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
  805. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
  806. package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
  807. package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
  808. package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
  809. package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
  810. package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
  811. package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
  812. package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
  813. package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
  814. package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
  815. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
  816. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
  817. package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
  818. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
  819. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
  820. package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
  821. package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
  822. package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
  823. package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
  824. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
  825. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
  826. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
  827. package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
  828. package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
  829. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
  830. package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
  831. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
  832. package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
  833. package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
  834. package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
  835. package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
  836. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
  837. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
  838. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
  839. package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
  840. package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
  841. package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
  842. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
  843. package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
  844. package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
  845. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
  846. package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
  847. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
  848. package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
  849. package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
  850. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
  851. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
  852. package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
  853. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
  854. package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
  855. package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
  856. package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
  857. package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
  858. package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
  859. package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
  860. package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
  861. package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
  862. package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
  863. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
  864. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
  865. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
  866. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
  867. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
  868. package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
  869. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
  870. package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
  871. package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
  872. package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
  873. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
  874. package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
  875. package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
  876. package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
  877. package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
  878. package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
  879. package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
  880. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
  881. package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
  882. package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
  883. package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
  884. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
  885. package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
  886. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
  887. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
  888. package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
  889. package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
  890. package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
  891. package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
  892. package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
  893. package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
  894. package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
  895. package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
  896. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
  897. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
  898. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
  899. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
  900. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
  901. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
  902. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
  903. package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
  904. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
  905. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
  906. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
  907. package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
  908. package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
  909. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
  910. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
  911. package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
  912. package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
  913. package/pipeline/skills/skills-index.md +213 -192
  914. package/docs/GENERICITY-REVIEW.md +0 -277
  915. package/docs/STABILITY-FIX-PLAN.md +0 -168
  916. package/pipeline/scripts/.last-figma-sync-plan.json +0 -23
  917. package/pipeline/scripts/README-figma-smokes.md +0 -34
  918. package/pipeline/scripts/figma-placeholder-map.json +0 -191
  919. package/pipeline/scripts/import-figma-skills.sh +0 -253
  920. package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
  921. package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
  922. package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
  923. package/pipeline/scripts/smoke-personal-data.sh +0 -82
  924. package/pipeline/scripts/sync-figma-source.sh +0 -228
  925. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
  926. package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
  927. package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
  928. package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
@@ -1,4 +1,9 @@
1
- # /figma-fix — Fix a Review Bug
1
+ ---
2
+ name: figma-fix
3
+ description: Applies a targeted fix for a bug filed during component review (via `/figma-review`), re-runs affected pipeline phases, closes the bug sub-issue, and cleanly transitions the parent component back to In Review with a.
4
+ ---
5
+
6
+ # /figma-fix - Fix a Review Bug
2
7
 
3
8
  ## Purpose
4
9
 
@@ -10,8 +15,8 @@ This skill fills the gap between `/figma-review` (which *files* bugs) and `/figm
10
15
 
11
16
  | Parameter | Required | Description |
12
17
  |-----------|----------|-------------|
13
- | Bug issue number | Yes (one of) | `#123`the bug sub-issue filed by a reviewer |
14
- | Parent issue number | Alternative | `#100`the parent component issue (lists open bugs to pick from) |
18
+ | Bug issue number | Yes (one of) | `#123` - the bug sub-issue filed by a reviewer |
19
+ | Parent issue number | Alternative | `#100` - the parent component issue (lists open bugs to pick from) |
15
20
  | Figma URL | Alternative | Resolves to the component, then lists open bugs |
16
21
 
17
22
  ```
@@ -56,7 +61,7 @@ gh issue list --repo ${GH_REPO} --search "parent:#<M> label:review-fix state:ope
56
61
  ```
57
62
 
58
63
  2. If multiple bugs: present them and ask which to fix (or fix all sequentially).
59
- 3. If zero bugs: HALT"No open bugs on this component."
64
+ 3. If zero bugs: HALT - "No open bugs on this component."
60
65
 
61
66
  ### If Figma URL provided:
62
67
 
@@ -89,7 +94,7 @@ Extract: `componentName`, `suggestedComponentLocation`, `suggestedArtifactPath`.
89
94
 
90
95
  3. Read the Figma design (if MCP available) or FIGMA.md variant mapping to understand the correct behavior.
91
96
 
92
- 4. Identify the fixwhat code needs to change.
97
+ 4. Identify the fix - what code needs to change.
93
98
 
94
99
  ---
95
100
 
@@ -98,7 +103,7 @@ Extract: `componentName`, `suggestedComponentLocation`, `suggestedArtifactPath`.
98
103
  Edit the component source files to fix the bug. This is a **surgical edit**, not a full re-implementation.
99
104
 
100
105
  Rules:
101
- - Only edit files that need changingdon't rewrite the entire component
106
+ - Only edit files that need changing - don't rewrite the entire component
102
107
  - Follow existing code patterns (tokens, modifiers, configuration style)
103
108
  - If the fix requires new assets/tokens, use `/common-utility assets add-color` or `/common-utility assets generate`
104
109
  - If the fix requires new testing identifiers/localization/accessibility keys, use `/common-utility identifiers add` / `localization add` / `accessibility add`
@@ -201,7 +206,7 @@ python3 .instructions/figma/figma-to-swiftui/scripts/phase6-finalize.py \
201
206
 
202
207
  ```bash
203
208
  gh issue close <bug_number> --repo ${GH_REPO} \
204
- --comment "Fixed in $(git log -1 --format='%h')$(git log -1 --format='%s')"
209
+ --comment "Fixed in $(git log -1 --format='%h') - $(git log -1 --format='%s')"
205
210
  ```
206
211
 
207
212
  ### 7b. Check remaining open bugs on parent
@@ -255,16 +260,16 @@ The commit message references the bug issue number so GitHub auto-links it.
255
260
  ```
256
261
  [ ] Bug sub-issue identified and read
257
262
  [ ] Component source files read
258
- [ ] Fix appliedonly changed files that needed changing
263
+ [ ] Fix applied - only changed files that needed changing
259
264
  [ ] xcodebuild build passed (exit 0)
260
- [ ] phase4-finalize.py ranimplementation version bumped
265
+ [ ] phase4-finalize.py ran - implementation version bumped
261
266
  [ ] Tests re-run and passing (ViewInspector + Snapshot)
262
- [ ] phase5-finalize.py rantested flag green
263
- [ ] Code Connect checked.figma.swift updated if needed
264
- [ ] phase6-finalize.py rancodeConnect flag green
267
+ [ ] phase5-finalize.py ran - tested flag green
268
+ [ ] Code Connect checked - .figma.swift updated if needed
269
+ [ ] phase6-finalize.py ran - codeConnect flag green
265
270
  [ ] Bug sub-issue closed with fix commit reference
266
271
  [ ] review-fix label removed from parent (if last bug)
267
- [ ] update-issue-from-registry.py ranparent synced to board
272
+ [ ] update-issue-from-registry.py ran - parent synced to board
268
273
  [ ] Parent status column: In Review (not Bugfix)
269
274
  [ ] Parent review progress: 0/4 (fresh cycle)
270
275
  ```
@@ -274,11 +279,11 @@ The commit message references the bug issue number so GitHub auto-links it.
274
279
  ## Success Output
275
280
 
276
281
  ```
277
- Bug fix complete: {ComponentName}#{bug_number}
282
+ Bug fix complete: {ComponentName} - #{bug_number}
278
283
 
279
284
  | Field | Value |
280
285
  |-------|-------|
281
- | Bug | #{bug_number}{bug_title} |
286
+ | Bug | #{bug_number} - {bug_title} |
282
287
  | Component | {ComponentName} |
283
288
  | Fix commit | {commit_hash} |
284
289
  | Implementation version | {new_version} (bumped from {old_version}) |
@@ -295,22 +300,22 @@ Next: Reviewers can re-review the component at #{parent_number}.
295
300
 
296
301
  | Error | Action |
297
302
  |-------|--------|
298
- | Issue is not a bug (no review-fix/bug label) | HALTnot a bug issue |
299
- | No parent issue | HALTorphan bug, can't resolve component |
300
- | Component not found via registry | HALTcheck node-id |
303
+ | Issue is not a bug (no review-fix/bug label) | HALT - not a bug issue |
304
+ | No parent issue | HALT - orphan bug, can't resolve component |
305
+ | Component not found via registry | HALT - check node-id |
301
306
  | Build fails after fix | Show errors, iterate |
302
307
  | Tests fail after fix | Show failures, update tests |
303
308
  | Bug close fails | Show error, ask user to close manually |
304
- | review-fix label removal blocked | Non-fatalsync will still work via sub-issue count |
305
- | Sync fails | Non-fatalfinalize scripts already updated registry |
309
+ | review-fix label removal blocked | Non-fatal - sync will still work via sub-issue count |
310
+ | Sync fails | Non-fatal - finalize scripts already updated registry |
306
311
 
307
312
  ---
308
313
 
309
314
  ## Notes
310
315
 
311
- - This skill is **surgical**it fixes one specific bug, not a full re-implementation
316
+ - This skill is **surgical** - it fixes one specific bug, not a full re-implementation
312
317
  - It always bumps `implemented.version` (Phase 4 finalize) because the code changed
313
318
  - The version bump automatically makes the old review count stale, forcing a fresh review cycle
314
319
  - Multiple bugs on the same component: run `/figma-fix` once per bug, or pass the parent issue to batch
315
- - The `--no-sync` flag on Gates 4-6 prevents 3 redundant sync callsGate 7d does a single authoritative sync
320
+ - The `--no-sync` flag on Gates 4-6 prevents 3 redundant sync calls - Gate 7d does a single authoritative sync
316
321
  - Works hand-in-hand with `/figma-review` (which creates bugs) and `/figma-iteration-commit` (which commits)
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: figma-form-integration
3
- description: "Form pattern integration for Figma-to-SwiftUI components. Guides FormSection/FormField adoptionwhen a component embeds form-capable sub-components (Selectbox, Checkbox, Radio, TextboxTextarea, DatepickerSchedule, ButtonsInputStepper) this skill defines how to model them as FormField references inside a nested FormSection, owned by the caller."
3
+ description: "Form pattern integration for Figma-to-SwiftUI components. Guides FormSection/FormField adoption - when a component embeds form-capable sub-components (Selectbox, Checkbox, Radio, TextboxTextarea, DatepickerSchedule, ButtonsInputStepper) this skill defines how to model them as FormField references inside a nested FormSection, owned by the caller."
4
4
  user-invocable: true
5
5
  allowed-tools: Read, Glob, Grep
6
6
  status: wip-v5
7
7
  sourced-from: upstream/figma-form-integration
8
8
  ---
9
9
 
10
- # /figma-form-integrationForm Pattern Integration
10
+ # /figma-form-integration - Form Pattern Integration
11
11
 
12
12
  ## Purpose
13
13
 
@@ -33,13 +33,13 @@ This is the forms counterpart of `/figma-price-integration`. Same shape: a proto
33
33
 
34
34
  4. **Configuration holds form references, not values.** No `amount: String`, no `selectedOption: Option`, no `isChecked: Bool` next to a form input. If a value travels through the API, it travels through its `FormField`.
35
35
 
36
- 5. **Section belongs in Configuration, not Viewif a Configuration exists.** When the component has a Configuration struct (COMPLEX), the `FormSection` property MUST live on Configuration. Only components with NO Configuration may accept a `FormField` directly as a View init parameter.
36
+ 5. **Section belongs in Configuration, not View - if a Configuration exists.** When the component has a Configuration struct (COMPLEX), the `FormSection` property MUST live on Configuration. Only components with NO Configuration may accept a `FormField` directly as a View init parameter.
37
37
 
38
- 6. **Static content (labels, placeholders, helper text, toggle captions) stays in Configurationnot on the field.** Fields are pure form state: value, rules, policy, options, loading. Labels and copy are visual/contentthey go on Configuration (chainable via `@GenerateChainModifiers`).
38
+ 6. **Static content (labels, placeholders, helper text, toggle captions) stays in Configuration - not on the field.** Fields are pure form state: value, rules, policy, options, loading. Labels and copy are visual/content - they go on Configuration (chainable via `@GenerateChainModifiers`).
39
39
 
40
40
  7. **The nested `FormSection` mirrors the design exactly.** Declare ONLY the fields the component actually renders. Do not add fields the design doesn't use; do not drop fields the design does use. The section's shape is dictated by the design, not by developer convenience or a shared/generic form model.
41
41
 
42
- 8. **Non-form actions ("Sil", "Detaylar", "Edit") stay as paired closures on the View.** They are NOT fields, NOT Configuration valuesthey are View dependencies passed via paired modifiers, exactly like any other coexistent action (see Phase 3D §2.3.1).
42
+ 8. **Non-form actions ("Sil", "Detaylar", "Edit") stay as paired closures on the View.** They are NOT fields, NOT Configuration values - they are View dependencies passed via paired modifiers, exactly like any other coexistent action (see Phase 3D section2.3.1).
43
43
 
44
44
  9. **Validation and focus are caller concerns.** The component never exposes an `isValid` property, never owns a `FormFocus`, never calls `validate()` internally. The scene calls `section.validate()` (or `[section].validateAll(focus:)`) and sets `.formFocus(...)` at the scene root.
45
45
 
@@ -49,7 +49,7 @@ This is the forms counterpart of `/figma-price-integration`. Same shape: a proto
49
49
 
50
50
  Invoke when ANY of these are detected:
51
51
 
52
- 1. **Phase 3DSub-Component Integration (§2.2):** A nested instance of a form-capable design-system component:
52
+ 1. **Phase 3D - Sub-Component Integration (section2.2):** A nested instance of a form-capable design-system component:
53
53
  - `Selectbox` (single-select dropdown)
54
54
  - `Checkbox` / `CheckboxButton`
55
55
  - `Radio` / `RadioButton`
@@ -57,13 +57,13 @@ Invoke when ANY of these are detected:
57
57
  - `DatepickerSchedule` (date / date-range input)
58
58
  - `ButtonsInputStepper` (numeric +/- counter, e.g. passenger / quantity selectors)
59
59
  - Any component whose Figma variants include an input state (empty/filled/error/disabled) with a user-driven value
60
- 2. **Phase 4AConfiguration:** A property group contains form-input fields.
61
- 3. **Phase 4BView:** The view renders form controls that require user input with validation semantics.
60
+ 2. **Phase 4A - Configuration:** A property group contains form-input fields.
61
+ 3. **Phase 4B - View:** The view renders form controls that require user input with validation semantics.
62
62
 
63
63
  **Counting rule (atomic vs composite):**
64
- - **0 embedded form sub-components**no form pattern; skip this skill.
65
- - **1 embedded form sub-component**atomic form: the Configuration (or View init) takes ONE `*FormField` directly, no `FormSection` wrapper.
66
- - **2+ embedded form sub-components**composite form: nested `FormSection` class in Configuration bundling every field.
64
+ - **0 embedded form sub-components** - no form pattern; skip this skill.
65
+ - **1 embedded form sub-component** - atomic form: the Configuration (or View init) takes ONE `*FormField` directly, no `FormSection` wrapper.
66
+ - **2+ embedded form sub-components** - composite form: nested `FormSection` class in Configuration bundling every field.
67
67
 
68
68
  ---
69
69
 
@@ -94,7 +94,7 @@ Atomic form views (Checkbox, Radio, Selectbox, InputField, DatePicker)
94
94
  | File | Location | Purpose |
95
95
  |------|----------|---------|
96
96
  | `FormSection.swift` | `CoreUI/Components/Forms/Foundation/` | Protocol + default aggregate `validate` / `evaluate` / `clear` / `state` semantics |
97
- | `FormGroup.swift` | `CoreUI/Components/Forms/Foundation/` | Concrete everyday `FormSection`use for ad-hoc grouping when a named type isn't worth it |
97
+ | `FormGroup.swift` | `CoreUI/Components/Forms/Foundation/` | Concrete everyday `FormSection` - use for ad-hoc grouping when a named type isn't worth it |
98
98
  | `FormField.swift` | `CoreUI/Components/Forms/Foundation/` | Generic base: `value`, `state`, `rules`, `validationPolicy` |
99
99
  | `Validatable.swift` | `CoreUI/Components/Forms/Foundation/` | Non-generic protocol; `[any Validatable].validateAll(focus:)` + `leafFields` |
100
100
  | `FormFocus.swift` | `CoreUI/Components/Forms/Foundation/` | `.formFocus(focus)` environment, `focus.focusFirstError()` |
@@ -114,13 +114,13 @@ public protocol FormSection: Validatable {
114
114
  }
115
115
  ```
116
116
 
117
- Default aggregate implementations are provided by a protocol extension: `validate()` runs every child (no short-circuitall inline errors update), rolls the first error into the section's own `state`; `clear()` resets everything to `.pristine`. Identical semantics to `FormGroup`.
117
+ Default aggregate implementations are provided by a protocol extension: `validate()` runs every child (no short-circuit - all inline errors update), rolls the first error into the section's own `state`; `clear()` resets everything to `.pristine`. Identical semantics to `FormGroup`.
118
118
 
119
119
  ### @FormSection macro
120
120
 
121
121
  Attached to an `@Observable` class, synthesizes:
122
122
  - `public var state: FormState = .pristine`
123
- - `public var children: [any Validatable]`auto-detected from stored properties whose type matches `*FormField`, `*FormSection`, `FormGroup`, or is marked `@FormChild`.
123
+ - `public var children: [any Validatable]` - auto-detected from stored properties whose type matches `*FormField`, `*FormSection`, `FormGroup`, or is marked `@FormChild`.
124
124
 
125
125
  Supports `T?`, `[T]`, `[T]?` transparently. Plain data properties (`String`, `URL`, `Int`) are ignored.
126
126
 
@@ -128,7 +128,7 @@ Supports `T?`, `[T]`, `[T]?` transparently. Plain data properties (`String`, `UR
128
128
 
129
129
  ## How to Create a Component-Specific Section
130
130
 
131
- **Rule: each COMPOSITE form component defines its own nested `.Section` class conforming to `FormSection`.** The nested section exposes ONLY the fields that component acceptsno silent discard.
131
+ **Rule: each COMPOSITE form component defines its own nested `.Section` class conforming to `FormSection`.** The nested section exposes ONLY the fields that component accepts - no silent discard.
132
132
 
133
133
  ### Step 1: Inventory the Embedded Form Sub-Components
134
134
 
@@ -180,9 +180,9 @@ extension PNRContactCard {
180
180
  }
181
181
  ```
182
182
 
183
- > **`@unchecked Sendable` on the nested `Section`**: nested `Section` classes MUST conform to `@unchecked Sendable` so they can be stored on a `Sendable` Configuration (compiler cannot verify a mutable reference type as Sendable, but @Observable's MainActor scheduling makes it safe in practice). All concrete sections in the codebase use this pattern (see `MilesSmilesMilesMissingMiles.Section`, `AvailabilityFilter.Section`).
183
+ > **`@unchecked Sendable` on the nested `Section`**: nested `Section` classes MUST conform to `@unchecked Sendable` so they can be stored on a `Sendable` Configuration (compiler cannot verify a mutable reference type as Sendable, but @Observable's MainActor scheduling makes it safe in practice). All concrete sections in the codebase use this pattern (see `FrequentFlyerProgramMissingPoints.Section`, `MyFilterSection.Section`).
184
184
 
185
- **If the component has NO Configuration (SIMPLE, 01 field):** skip the `Section` and take the `FormField` directly on the View init.
185
+ **If the component has NO Configuration (SIMPLE, 0-1 field):** skip the `Section` and take the `FormField` directly on the View init.
186
186
 
187
187
  ```swift
188
188
  public struct TermsCheckbox: View {
@@ -205,7 +205,7 @@ public struct PNRContactCardConfiguration: Sendable {
205
205
  public let avatarURL: URL?
206
206
  public let deleteLinkTitle: String? // "Sil" (paired action's label)
207
207
 
208
- // Per-field labels / placeholdersstatic copy, NOT on the field
208
+ // Per-field labels / placeholders - static copy, NOT on the field
209
209
  public let emailLabel: String // "E-Posta"
210
210
  public let emailPlaceholder: String // "E-Postanızı giriniz"
211
211
  public let phoneLabel: String // "Telefon Numarası"
@@ -352,9 +352,9 @@ struct EInvoiceSceneView: View {
352
352
 
353
353
  ## Integration with Phase 3D
354
354
 
355
- When Phase 3D's Sub-Component Integration (§2.2) detects a form-capable instance:
355
+ When Phase 3D's Sub-Component Integration (section2.2) detects a form-capable instance:
356
356
 
357
- ### Replace / augment §2.2 Output
357
+ ### Replace / augment section2.2 Output
358
358
 
359
359
  Instead of treating a Selectbox/Checkbox/Radio/TextboxTextarea/DatepickerSchedule instance as a mini-config struct of its dynamic props, recognize it as a **form input** and emit a `FormField` reference.
360
360
 
@@ -367,10 +367,10 @@ In the Sub-Components section:
367
367
 
368
368
  | Element | Scope | Integration |
369
369
  |---------|-------|-------------|
370
- | Email input (TextboxTextarea) | Required | `FormField``email: TextFormField` in nested `Section` |
371
- | Phone country (Selectbox) | Required | `FormField``phoneCountry: PickerFormField<CountryCode>` |
372
- | Phone number (TextboxTextarea) | Required | `FormField``phoneNumber: TextFormField` |
373
- | Primary toggle (Checkbox) | Required | `FormField``isPrimary: CheckboxFormField` (rendered as Switch) |
370
+ | Email input (TextboxTextarea) | Required | `FormField` - `email: TextFormField` in nested `Section` |
371
+ | Phone country (Selectbox) | Required | `FormField` - `phoneCountry: PickerFormField<CountryCode>` |
372
+ | Phone number (TextboxTextarea) | Required | `FormField` - `phoneNumber: TextFormField` |
373
+ | Primary toggle (Checkbox) | Required | `FormField` - `isPrimary: CheckboxFormField` (rendered as Switch) |
374
374
  ```
375
375
 
376
376
  In the Final API Design:
@@ -405,7 +405,7 @@ public struct ComponentNameConfiguration: Sendable {
405
405
 
406
406
  ### Layer-text + form interaction
407
407
 
408
- Dynamic layer text INSIDE a form control (e.g. the placeholder text inside a Selectbox) is still **static copy** from the caller's perspectiveit becomes a Configuration string (`placeholder`, `label`), NOT a FormField-value substitute. Form fields own the *value*, not the *copy*.
408
+ Dynamic layer text INSIDE a form control (e.g. the placeholder text inside a Selectbox) is still **static copy** from the caller's perspective - it becomes a Configuration string (`placeholder`, `label`), NOT a FormField-value substitute. Form fields own the *value*, not the *copy*.
409
409
 
410
410
  ---
411
411
 
@@ -414,11 +414,11 @@ Dynamic layer text INSIDE a form control (e.g. the placeholder text inside a Sel
414
414
  When writing the Configuration struct for a component with form fields:
415
415
 
416
416
  1. Define the nested `Section: FormSection` class in an extension on the component namespace, annotated `@FormSection @Observable`.
417
- 2. Only include the fields identified in Phase 3D analysisone FormField subclass per form sub-component.
417
+ 2. Only include the fields identified in Phase 3D analysis - one FormField subclass per form sub-component.
418
418
  3. The `section` property on Configuration is non-optional when the form is required, optional when the whole form block is boolean-gated.
419
- 4. Do NOT flatten field values into the Configurationkeep them inside the section.
419
+ 4. Do NOT flatten field values into the Configuration - keep them inside the section.
420
420
  5. Static content (labels, placeholders, helper copy, toggle labels) stays in Configuration as `String` / `String?` and gets chainable modifiers via `@GenerateChainModifiers`.
421
- 6. Paired action closures (`onDelete`, `onEdit`, row-level disclosure) stay as View init parametersNOT in Configuration, NOT on fields.
421
+ 6. Paired action closures (`onDelete`, `onEdit`, row-level disclosure) stay as View init parameters - NOT in Configuration, NOT on fields.
422
422
 
423
423
  ---
424
424
 
@@ -457,11 +457,11 @@ public struct ComponentName: View {
457
457
 
458
458
  ### Rules
459
459
 
460
- - **Never** use `@State` for form values. Never wrap `section.<field>.value` in `Binding(get:set:)`pass the field itself.
460
+ - **Never** use `@State` for form values. Never wrap `section.<field>.value` in `Binding(get:set:)` - pass the field itself.
461
461
  - **Never** call `section.validate()` from inside the View. Validation is a caller concern.
462
462
  - **Never** instantiate a `FormField` or `Section` inside the component. They come from the caller via Configuration.
463
463
  - **Do** read `section.state` to render section-level banners/errors if the design shows one.
464
- - **Do** use atomic form views (`InputField(field:)`, `Selectbox(field:)`, `Radio(field:)`, `Checkbox(field:)`, `DatePicker(field:)`)they handle `field.state` → visual state internally.
464
+ - **Do** use atomic form views (`InputField(field:)`, `Selectbox(field:)`, `Radio(field:)`, `Checkbox(field:)`, `DatePicker(field:)`) - they handle `field.state` → visual state internally.
465
465
 
466
466
  ---
467
467
 
@@ -483,10 +483,10 @@ public struct ComponentName: View {
483
483
 
484
484
  ## When NOT to Use Form Integration
485
485
 
486
- - **Pure display components** showing data that is not user-editableuse plain `String` / `Int` / model properties.
487
- - **Static checkmarks / indicators** that are read-only state (e.g., a green tick in a stepper)use `Bool` in Configuration, not `CheckboxFormField`.
488
- - **Radio-like selection that is display only** (e.g., a highlighted selected tab in a segmented control where selection is controlled by the parent, not a form submission)use an `enum` property, not `RadioFormField`.
489
- - **Segmented controls that represent navigation / filter state, not form input**plain `Binding<Enum>` is fine for those; they are not validated or submitted.
486
+ - **Pure display components** showing data that is not user-editable - use plain `String` / `Int` / model properties.
487
+ - **Static checkmarks / indicators** that are read-only state (e.g., a green tick in a stepper) - use `Bool` in Configuration, not `CheckboxFormField`.
488
+ - **Radio-like selection that is display only** (e.g., a highlighted selected tab in a segmented control where selection is controlled by the parent, not a form submission) - use an `enum` property, not `RadioFormField`.
489
+ - **Segmented controls that represent navigation / filter state, not form input** - plain `Binding<Enum>` is fine for those; they are not validated or submitted.
490
490
 
491
491
  Rule of thumb: ask "would a ViewModel run `validate()` on this value before submitting?" If no → it's not a form field.
492
492
 
@@ -518,14 +518,14 @@ Prefer a named `FormSection` subclass when the card has a stable identity in the
518
518
  | Search form with free-text + date range + pax count selectbox | Nested `Section` with 3 fields |
519
519
  | E-invoice form (passenger radio + N contact cards) | Scene `FormGroup([passengerRadio] + contacts.map { $0 })` |
520
520
  | Password change (old + new + confirm) | Nested `Section` with 3 `TextFormField`s + cross-field `MatchRule` |
521
- | Toggle inside a card (no other inputs, dedicated) | `ToggleFormField` directly on Configuration (atomic, no Section)preferred when the design uses `TurkishToggle` |
522
- | Toggle inside a card (no other inputs, unified) | `CheckboxFormField` directly on Configuration (atomic, no Section)only when toggle and checkbox are interchangeable in the same form |
521
+ | Toggle inside a card (no other inputs, dedicated) | `ToggleFormField` directly on Configuration (atomic, no Section) - preferred when the design uses `TurkishToggle` |
522
+ | Toggle inside a card (no other inputs, unified) | `CheckboxFormField` directly on Configuration (atomic, no Section) - only when toggle and checkbox are interchangeable in the same form |
523
523
  | Passenger picker (N stepper rows + disclosure expansion) | Nested `Section` with N `StepperFormField`s + a plain `displayState` enum property (named to avoid colliding with the `state: FormState` synthesized by `@FormSection`) |
524
524
  | Filter panel (1 toggle + N multi-select chip groups) | Nested `Section` with 1 `ToggleFormField` + N `CheckboxGroupFormField<Item>` (one per group). Section conforms to `@unchecked Sendable`. See `AvailabilityFilter` for the canonical example. |
525
525
 
526
526
  ---
527
527
 
528
- ## ChecklistBefore Leaving the Skill
528
+ ## Checklist - Before Leaving the Skill
529
529
 
530
530
  ```
531
531
  [ ] Counted form-capable sub-components in the Figma design
@@ -537,6 +537,6 @@ Prefer a named `FormSection` subclass when the card has a stable identity in the
537
537
  [ ] Non-form actions (Sil/Edit/Detaylar) are paired closures on the View
538
538
  [ ] View uses @Bindable on the section; never @State for values
539
539
  [ ] View never calls validate() or instantiates fields
540
- [ ] No Binding<Value> anywhere in the componentonly field references
540
+ [ ] No Binding<Value> anywhere in the component - only field references
541
541
  [ ] Scene-level caller builds the section, calls validate() / leafFields / focus
542
542
  ```
@@ -1,4 +1,9 @@
1
- # /figma-issue — GitHub Issue Manager for Figma Components
1
+ ---
2
+ name: figma-issue
3
+ description: Creates and manages GitHub Issues for Figma component implementations.
4
+ ---
5
+
6
+ # /figma-issue - GitHub Issue Manager for Figma Components
2
7
 
3
8
  ## Purpose
4
9
 
@@ -96,16 +101,16 @@ Map the registry `pageName` to the project board's Figma Page option. Use substr
96
101
 
97
102
  ## Command: `open <url>[,<url>,...]`
98
103
 
99
- ### STEP 0Parse Input
104
+ ### STEP 0 - Parse Input
100
105
 
101
106
  1. Extract all Figma URLs from `$ARGUMENTS` (comma-separated or space-separated).
102
107
  2. For each URL, extract `node-id` query parameter. Keep as-is (e.g., `2251-15872`).
103
- 3. Deduplicate by `node-id`if the same node-id appears multiple times, process it only once.
108
+ 3. Deduplicate by `node-id` - if the same node-id appears multiple times, process it only once.
104
109
  4. Print: "Found N unique Figma component(s) to process."
105
110
 
106
111
  **For each component, run STEPs 1-6 sequentially.** The specs prompt (STEP 2.5) is asked once per component.
107
112
 
108
- ### STEP 1Registry Lookup
113
+ ### STEP 1 - Registry Lookup
109
114
 
110
115
  ```bash
111
116
  cd ${REPO_ROOT}/{repos.common.path}
@@ -121,7 +126,7 @@ Collect from JSON output:
121
126
 
122
127
  If lookup fails, mark as **unregistered**.
123
128
 
124
- ### STEP 1.5Dependency Detection
129
+ ### STEP 1.5 - Dependency Detection
125
130
 
126
131
  Uses the **exact same algorithm** as `confluence-component-status-upload.py` → `readiness()`:
127
132
  1. Build unified `name → nodeId` lookup from catalog + registry + graph
@@ -200,7 +205,7 @@ else:
200
205
  for sname in sub_names:
201
206
  sub_nid = name_to_nid.get(sname)
202
207
  if not sub_nid:
203
- # Unresolvednot in any registry/catalog (same as all_comps.get() → None → not a blocker)
208
+ # Unresolved - not in any registry/catalog (same as all_comps.get() → None → not a blocker)
204
209
  results.append({'name': sname, 'nodeId': None, 'status': 'unresolved'})
205
210
  continue
206
211
  sc = components.get(sub_nid)
@@ -243,7 +248,7 @@ else:
243
248
  "
244
249
  ```
245
250
 
246
- Parse the JSON output. Only `not_implemented` entries are blockers`implemented`, `skipped`, and `unresolved` (not in any registry) are NOT blockers.
251
+ Parse the JSON output. Only `not_implemented` entries are blockers - `implemented`, `skipped`, and `unresolved` (not in any registry) are NOT blockers.
247
252
 
248
253
  **Readiness precedence (architecture-update):**
249
254
  1. `status.ios.implemented.value` (new canonical field, set by `phase4-finalize.py`)
@@ -263,7 +268,7 @@ gh issue list --repo ${GH_REPO} --state open --label component \
263
268
  --search "<SubComponentName>" --json number,title --jq '.[0]'
264
269
  ```
265
270
 
266
- Collect: `BLOCKING_DEPS` = list of `{name, nodeId, issueNumber (or null)}`only `not_implemented` entries.
271
+ Collect: `BLOCKING_DEPS` = list of `{name, nodeId, issueNumber (or null)}` - only `not_implemented` entries.
267
272
 
268
273
  #### 1.5c. Report
269
274
 
@@ -282,16 +287,16 @@ If zero `not_implemented` → **no blockers**, do NOT auto-block.
282
287
 
283
288
  Store `BLOCKING_DEPS` for use in STEP 3.5.
284
289
 
285
- ### STEP 2Duplicate Check
290
+ ### STEP 2 - Duplicate Check
286
291
 
287
292
  ```bash
288
293
  gh issue list --repo ${GH_REPO} --state open --search "node-id=<NODE_ID>" --json number,title,url
289
294
  ```
290
295
 
291
296
  If a match is found, print warning and stop:
292
- "Issue already exists: #N<title> (<url>)"
297
+ "Issue already exists: #N - <title> (<url>)"
293
298
 
294
- ### STEP 2.5Specs & Acceptance Criteria
299
+ ### STEP 2.5 - Specs & Acceptance Criteria
295
300
 
296
301
  Present the component info and **STOP. Do not proceed to STEP 3.** Wait for the user's next message.
297
302
 
@@ -319,11 +324,11 @@ Type "skip" to create without specs.
319
324
 
320
325
  When the user responds:
321
326
  - If the response is `skip` (case-insensitive): set `SPECS = ""`, proceed to STEP 3.
322
- - Otherwise: the user's message is the specs input. You MAY read referenced files to gather context and understand the user's intent betterthis helps write clearer specs. Then rewrite the user's input into clean, actionable acceptance criteria (checkbox list) that another AI can easily follow when it fetches this issue for implementation. Do NOT implement anythingthis skill only creates issues, not code. Then proceed to team selection / STEP 3.
327
+ - Otherwise: the user's message is the specs input. You MAY read referenced files to gather context and understand the user's intent better - this helps write clearer specs. Then rewrite the user's input into clean, actionable acceptance criteria (checkbox list) that another AI can easily follow when it fetches this issue for implementation. Do NOT implement anything - this skill only creates issues, not code. Then proceed to team selection / STEP 3.
323
328
 
324
329
  If `SPECS` is not empty, include it in the issue body under `### Acceptance Criteria` (see STEP 3 body template).
325
330
 
326
- ### STEP 3Create GitHub Issue
331
+ ### STEP 3 - Create GitHub Issue
327
332
 
328
333
  **Title:**
329
334
  ```
@@ -342,7 +347,7 @@ Where `<TEAM_SHORT>` is mapped from the team label:
342
347
 
343
348
  If unregistered: `feat: <TEAM_SHORT> Implement component (node-id: <NODE_ID>)`
344
349
 
345
- **Body**must match the issue template field headers exactly:
350
+ **Body** - must match the issue template field headers exactly:
346
351
 
347
352
  ```markdown
348
353
  ### Figma URL
@@ -380,9 +385,9 @@ _No response_
380
385
 
381
386
  <!--
382
387
  State legend:
383
- 🟢 green flag is set and validated against the current implementation version
384
- 🟡 yellowflag was validated against an older impl version (or Figma moved ahead, for implemented)
385
- ⚪ grayflag is not set
388
+ 🟢 green - flag is set and validated against the current implementation version
389
+ 🟡 yellow - flag was validated against an older impl version (or Figma moved ahead, for implemented)
390
+ ⚪ gray - flag is not set
386
391
 
387
392
  The Progress table is rewritten automatically by update-issue-from-registry.py
388
393
  on every phase finalize. Do not hand-edit this section; edits will be
@@ -443,7 +448,7 @@ gh issue create \
443
448
  (`impl:green`, `impl:yellow`, `test:green`, etc.) are applied
444
449
  automatically by `update-issue-from-registry.py` once a phase finalize
445
450
  script has populated `status` in the registry. On creation the issue
446
- has zero flag labels (all gray)that's the correct initial state for
451
+ has zero flag labels (all gray) - that's the correct initial state for
447
452
  a component nobody has implemented yet.
448
453
 
449
454
  Legacy `phase:*` labels are stripped from existing issues on any sync;
@@ -451,7 +456,7 @@ new issues never get them.
451
456
 
452
457
  Capture the issue number and URL from the output.
453
458
 
454
- ### STEP 3.5Auto-Block (if dependencies detected)
459
+ ### STEP 3.5 - Auto-Block (if dependencies detected)
455
460
 
456
461
  If `BLOCKING_DEPS` from STEP 1.5 has any `not_implemented` sub-components:
457
462
 
@@ -462,7 +467,7 @@ gh issue edit <N> --repo ${GH_REPO} --add-label "blocked"
462
467
 
463
468
  2. Comment with blocking info:
464
469
  ```bash
465
- gh issue comment <N> --repo ${GH_REPO} --body "**Auto-blocked**unimplemented sub-components (from sub-component-graph.json):
470
+ gh issue comment <N> --repo ${GH_REPO} --body "**Auto-blocked** - unimplemented sub-components (from sub-component-graph.json):
466
471
  - <SubName> → #M
467
472
  - <SubName> → no issue
468
473
 
@@ -471,7 +476,7 @@ Will be auto-unblocked when all dependencies are implemented."
471
476
 
472
477
  The issue will be auto-unblocked by `/figma-iteration-commit` STEP 5 when blocking components get implemented.
473
478
 
474
- ### STEP 4Add to Project Board
479
+ ### STEP 4 - Add to Project Board
475
480
 
476
481
  #### 4a. Add issue to project
477
482
 
@@ -503,7 +508,7 @@ Map `pageName` using the Figma Page Mapping table, then:
503
508
  gh api graphql -f query='mutation { updateProjectV2ItemFieldValue(input: { projectId: "{github.projectV2Id}", itemId: "'"$ITEM_ID"'", fieldId: "{github.projectV2Fields.figmaPage}", value: { singleSelectOptionId: "<MAPPED_PAGE_OPTION_ID>" } }) { projectV2Item { id } } }'
504
509
  ```
505
510
 
506
- ### STEP 5Summary
511
+ ### STEP 5 - Summary
507
512
 
508
513
  Print:
509
514
 
@@ -527,13 +532,13 @@ Issue created:
527
532
 
528
533
  Assign the issue to the current GitHub user. If a Jira task is linked, also assign it.
529
534
 
530
- ### STEP 1Assign GitHub Issue
535
+ ### STEP 1 - Assign GitHub Issue
531
536
 
532
537
  ```bash
533
538
  gh issue edit <N> --repo ${GH_REPO} --add-assignee @me
534
539
  ```
535
540
 
536
- ### STEP 2Assign Jira (if linked)
541
+ ### STEP 2 - Assign Jira (if linked)
537
542
 
538
543
  Read the issue body and check the `### Jira Issue` section for a linked key.
539
544
 
@@ -560,7 +565,7 @@ Print: "Issue #N assigned to you." (+ "Jira <KEY> assigned." if applicable)
560
565
 
561
566
  Link an existing Jira task to the GitHub issue (both directions).
562
567
 
563
- ### STEP 1Update GitHub Issue Body
568
+ ### STEP 1 - Update GitHub Issue Body
564
569
 
565
570
  1. Read current issue body:
566
571
  ```bash
@@ -579,7 +584,7 @@ BODY=$(gh issue view <N> --repo ${GH_REPO} --json body --jq '.body')
579
584
  gh issue edit <N> --repo ${GH_REPO} --body "<UPDATED_BODY>"
580
585
  ```
581
586
 
582
- ### STEP 2Update Project Board Jira Field
587
+ ### STEP 2 - Update Project Board Jira Field
583
588
 
584
589
  ```bash
585
590
  # Get item ID from project
@@ -589,7 +594,7 @@ ITEM_ID=$(gh api graphql -f query='{ node(id: "{github.projectV2Id}") { ... on P
589
594
  gh api graphql -f query='mutation { updateProjectV2ItemFieldValue(input: { projectId: "{github.projectV2Id}", itemId: "'"$ITEM_ID"'", fieldId: "{github.projectV2Fields.jira}", value: { text: "<JIRA_KEY>" } }) { projectV2Item { id } } }'
590
595
  ```
591
596
 
592
- ### STEP 3Update Jira Description with GitHub Link
597
+ ### STEP 3 - Update Jira Description with GitHub Link
593
598
 
594
599
  ```bash
595
600
  JIRA_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
@@ -613,12 +618,12 @@ Print: "Issue #N linked to [JIRA_KEY]({jira.baseUrl}/browse/JIRA_KEY)"
613
618
 
614
619
  ---
615
620
 
616
- ## Command: `phase <#N> <phase>`**DEPRECATED**
621
+ ## Command: `phase <#N> <phase>` - **DEPRECATED**
617
622
 
618
623
  This command is deprecated as of the architecture-update. Phase state
619
624
  is now tracked per-flag in the component registry
620
625
  (`status.ios.{implemented,tested,codeConnect,wiki}`), not as a single
621
- enum. The `phase:*` labels are no longer usedthey're replaced by
626
+ enum. The `phase:*` labels are no longer used - they're replaced by
622
627
  per-flag `impl:green`/`impl:yellow`/`test:green`/etc. labels, which are
623
628
  applied automatically by `update-issue-from-registry.py` after every
624
629
  phase finalize script writes the registry.
@@ -709,7 +714,7 @@ Print: "Issue #N closed."
709
714
 
710
715
  ## Command: `status [#N]`
711
716
 
712
- ### With issue numbershow single issue
717
+ ### With issue number - show single issue
713
718
 
714
719
  ```bash
715
720
  gh issue view <N> --repo ${GH_REPO} --json number,title,state,assignees,labels,body
@@ -722,7 +727,7 @@ gh api graphql -f query='{ node(id: "{github.projectV2Id}") { ... on ProjectV2 {
722
727
 
723
728
  Print a formatted summary with issue details + board fields.
724
729
 
725
- ### Without issue numberlist all open
730
+ ### Without issue number - list all open
726
731
 
727
732
  ```bash
728
733
  gh issue list --repo ${GH_REPO} --state open --label component --json number,title,assignees --jq '.[] | "| #\(.number) | \(.title) | \(.assignees | map(.login) | join(", ")) |"'
@@ -737,9 +742,9 @@ Print as a table.
737
742
  - **FigmaRegistryUtility not built**: Run `cd ${REPO_ROOT}/{repos.common.path} && swift build --product FigmaRegistryUtility`.
738
743
  - **Issue not found**: Print error and stop.
739
744
  - **Invalid phase**: Print valid options: `implementation`, `testing`, `code-connect`, `documentation`.
740
- - **Duplicate issue**: Print existing issue link and stopdo not create.
745
+ - **Duplicate issue**: Print existing issue link and stop - do not create.
741
746
  - **GraphQL errors**: Print the error message from the API response.
742
747
  - **Jira token not found**: Prompt user to add to keychain: `"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\"`.
743
- - **Jira API error (401/403)**: Token expired or invalidprompt user to update keychain.
744
- - **Jira API error (404)**: Wrong issue keyprint error and continue.
748
+ - **Jira API error (401/403)**: Token expired or invalid - prompt user to update keychain.
749
+ - **Jira API error (404)**: Wrong issue key - print error and continue.
745
750
  - **Jira VPN not reachable**: Print warning, skip Jira steps, continue with GitHub-only operations.