@mmerterden/multi-agent-pipeline 8.6.2 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (933) hide show
  1. package/CHANGELOG.md +660 -2483
  2. package/README.md +100 -101
  3. package/docs/features.md +1 -1
  4. package/index.js +8 -10
  5. package/install/_adapters.mjs +5 -1
  6. package/install/_common.mjs +63 -0
  7. package/install/claude.mjs +14 -14
  8. package/install/copilot.mjs +14 -8
  9. package/install/index.mjs +85 -19
  10. package/install/templates/claude-hooks.json +18 -0
  11. package/install/templates/copilot-instructions.md +3 -3
  12. package/package.json +21 -6
  13. package/pipeline/adapters/_base.mjs +366 -14
  14. package/pipeline/adapters/antigravity.mjs +140 -0
  15. package/pipeline/adapters/codex.mjs +159 -0
  16. package/pipeline/adapters/copilot-chat-orchestration.mjs +148 -0
  17. package/pipeline/adapters/copilot-chat.mjs +34 -68
  18. package/pipeline/adapters/cursor-orchestration.mjs +152 -0
  19. package/pipeline/adapters/cursor.mjs +49 -90
  20. package/pipeline/agents/android-architect.md +3 -3
  21. package/pipeline/agents/backend-architect.md +2 -2
  22. package/pipeline/agents/code-reviewer.md +8 -8
  23. package/pipeline/agents/dev-critic.md +17 -17
  24. package/pipeline/agents/explorer.md +3 -3
  25. package/pipeline/agents/ios-architect.md +2 -2
  26. package/pipeline/agents/security-auditor.md +10 -10
  27. package/pipeline/agents/task-clarifier.md +18 -18
  28. package/pipeline/claude-md-template.md +3 -3
  29. package/pipeline/commands/archive-guard.md +3 -3
  30. package/pipeline/commands/figma-to-swiftui.md +10 -10
  31. package/pipeline/commands/multi-agent/_account-picker.md +12 -8
  32. package/pipeline/commands/multi-agent/_dev-context.md +15 -15
  33. package/pipeline/commands/multi-agent/_input-parser.md +4 -4
  34. package/pipeline/commands/multi-agent/_repo-picker.md +9 -9
  35. package/pipeline/commands/multi-agent/analysis-resolve.md +129 -0
  36. package/pipeline/commands/multi-agent/analysis.md +667 -0
  37. package/pipeline/commands/multi-agent/autopilot.md +22 -22
  38. package/pipeline/commands/multi-agent/build-optimize.md +77 -0
  39. package/pipeline/commands/multi-agent/channels.md +96 -96
  40. package/pipeline/commands/multi-agent/delete.md +19 -17
  41. package/pipeline/commands/multi-agent/dev-autopilot.md +20 -20
  42. package/pipeline/commands/multi-agent/dev-local-autopilot.md +22 -22
  43. package/pipeline/commands/multi-agent/dev-local.md +23 -20
  44. package/pipeline/commands/multi-agent/dev.md +43 -43
  45. package/pipeline/commands/multi-agent/diff-explain.md +4 -4
  46. package/pipeline/commands/multi-agent/garbage-collect.md +58 -0
  47. package/pipeline/commands/multi-agent/help.md +65 -56
  48. package/pipeline/commands/multi-agent/issue.md +3 -3
  49. package/pipeline/commands/multi-agent/jira.md +12 -12
  50. package/pipeline/commands/multi-agent/kill.md +6 -6
  51. package/pipeline/commands/multi-agent/language.md +12 -12
  52. package/pipeline/commands/multi-agent/local-autopilot.md +34 -34
  53. package/pipeline/commands/multi-agent/local.md +24 -25
  54. package/pipeline/commands/multi-agent/log.md +6 -6
  55. package/pipeline/commands/multi-agent/manual-test.md +3 -3
  56. package/pipeline/commands/multi-agent/prune-logs.md +60 -0
  57. package/pipeline/commands/multi-agent/purge.md +10 -7
  58. package/pipeline/commands/multi-agent/refactor.md +9 -9
  59. package/pipeline/commands/multi-agent/refs/analysis-template.md +1062 -0
  60. package/pipeline/commands/multi-agent/refs/android-guide.md +15 -13
  61. package/pipeline/commands/multi-agent/refs/audit-guide.md +20 -20
  62. package/pipeline/commands/multi-agent/refs/backend-guide.md +9 -9
  63. package/pipeline/commands/multi-agent/refs/channels/confluence.md +17 -17
  64. package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +30 -30
  65. package/pipeline/commands/multi-agent/refs/channels/jira.md +16 -15
  66. package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +19 -17
  67. package/pipeline/commands/multi-agent/refs/channels/pr.md +22 -22
  68. package/pipeline/commands/multi-agent/refs/channels/wiki.md +19 -19
  69. package/pipeline/commands/multi-agent/refs/component-dispatch.md +11 -11
  70. package/pipeline/commands/multi-agent/refs/conventions-defaults.md +179 -0
  71. package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +41 -35
  72. package/pipeline/commands/multi-agent/refs/features/dev-critic.md +5 -5
  73. package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +6 -6
  74. package/pipeline/commands/multi-agent/refs/features/model-fallback.md +91 -0
  75. package/pipeline/commands/multi-agent/refs/features/plan-todos.md +1 -1
  76. package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +4 -4
  77. package/pipeline/commands/multi-agent/refs/features/repo-map.md +6 -6
  78. package/pipeline/commands/multi-agent/refs/features/shadow-git.md +2 -2
  79. package/pipeline/commands/multi-agent/refs/frontend-guide.md +16 -16
  80. package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +18 -18
  81. package/pipeline/commands/multi-agent/refs/keychain.md +18 -8
  82. package/pipeline/commands/multi-agent/refs/knowledge.md +9 -9
  83. package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +19 -19
  84. package/pipeline/commands/multi-agent/refs/phases/log-format.md +29 -9
  85. package/pipeline/commands/multi-agent/refs/phases/modes.md +33 -33
  86. package/pipeline/commands/multi-agent/refs/phases/operations.md +24 -14
  87. package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +107 -57
  88. package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +65 -29
  89. package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +114 -62
  90. package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
  91. package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +181 -62
  92. package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +33 -18
  93. package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +45 -43
  94. package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +54 -28
  95. package/pipeline/commands/multi-agent/refs/phases.md +17 -17
  96. package/pipeline/commands/multi-agent/refs/picker-contract.md +65 -0
  97. package/pipeline/commands/multi-agent/refs/progress-contract.md +37 -21
  98. package/pipeline/commands/multi-agent/refs/rules.md +83 -25
  99. package/pipeline/commands/multi-agent/refs/swiftui-guide.md +32 -30
  100. package/pipeline/commands/multi-agent/refs/tracker-contract.md +54 -30
  101. package/pipeline/commands/multi-agent/refs/wiki-capture.md +36 -33
  102. package/pipeline/commands/multi-agent/resume.md +12 -9
  103. package/pipeline/commands/multi-agent/review.md +24 -24
  104. package/pipeline/commands/multi-agent/scan.md +10 -10
  105. package/pipeline/commands/multi-agent/search.md +8 -8
  106. package/pipeline/commands/multi-agent/setup.md +111 -84
  107. package/pipeline/commands/multi-agent/stack.md +5 -5
  108. package/pipeline/commands/multi-agent/status.md +5 -5
  109. package/pipeline/commands/multi-agent/sync.md +123 -111
  110. package/pipeline/commands/multi-agent/test.md +6 -6
  111. package/pipeline/commands/multi-agent/update.md +1 -1
  112. package/pipeline/commands/multi-agent.md +64 -58
  113. package/pipeline/commands/sim-test.md +14 -14
  114. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +1 -1
  115. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +2 -2
  116. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +2 -2
  117. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +1 -1
  118. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +2 -2
  119. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +3 -3
  120. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +4 -4
  121. package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +1 -1
  122. package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +1 -1
  123. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +29 -0
  124. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +42 -0
  125. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +20 -0
  126. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +15 -0
  127. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +14 -0
  128. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +12 -0
  129. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +29 -0
  130. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +40 -0
  131. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +20 -0
  132. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +15 -0
  133. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +14 -0
  134. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +12 -0
  135. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +29 -0
  136. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +42 -0
  137. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +28 -0
  138. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +27 -0
  139. package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +14 -0
  140. package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +12 -0
  141. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +29 -0
  142. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +41 -0
  143. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +12 -0
  144. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +6 -0
  145. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +14 -0
  146. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +12 -0
  147. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +29 -0
  148. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +42 -0
  149. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +28 -0
  150. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +27 -0
  151. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +14 -0
  152. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +12 -0
  153. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +25 -0
  154. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +31 -0
  155. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +12 -0
  156. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +18 -0
  157. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +14 -0
  158. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +12 -0
  159. package/pipeline/eval/golden-tasks/README.md +14 -14
  160. package/pipeline/eval/intent-cases.json +40 -0
  161. package/pipeline/eval/run-metrics-fixture.json +46 -0
  162. package/pipeline/eval/triage/01-empty-findings/notes.md +1 -1
  163. package/pipeline/eval/triage/02-real-blocker/notes.md +2 -2
  164. package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +1 -1
  165. package/pipeline/eval/triage/04-false-positive-reject/notes.md +1 -1
  166. package/pipeline/eval/triage/05-mixed-classification/notes.md +2 -2
  167. package/pipeline/eval/triage/06-severity-mismatch/notes.md +2 -2
  168. package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +1 -1
  169. package/pipeline/eval/triage/08-style-misclassified/notes.md +1 -1
  170. package/pipeline/eval/triage/09-cascading-finding/notes.md +2 -2
  171. package/pipeline/eval/triage/10-deferred-crossref/notes.md +2 -2
  172. package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +3 -3
  173. package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +2 -2
  174. package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +5 -5
  175. package/pipeline/eval/triage/README.md +4 -4
  176. package/pipeline/lib/account-resolver.sh +3 -3
  177. package/pipeline/lib/ask-choice.sh +98 -0
  178. package/pipeline/lib/channels-multi-repo.sh +3 -3
  179. package/pipeline/lib/classify-intent.sh +110 -0
  180. package/pipeline/lib/context-link-extractor.sh +3 -3
  181. package/pipeline/lib/credential-store-resolver.sh +3 -3
  182. package/pipeline/lib/credential-store.sh +9 -5
  183. package/pipeline/lib/extract-conventions.sh +1034 -0
  184. package/pipeline/lib/fetch-confluence.sh +5 -5
  185. package/pipeline/lib/fetch-crashlytics.sh +7 -7
  186. package/pipeline/lib/fetch-fortify.sh +6 -22
  187. package/pipeline/lib/fetch-swagger.sh +6 -6
  188. package/pipeline/lib/figma-screenshot.sh +536 -0
  189. package/pipeline/lib/issue-fetcher.sh +46 -20
  190. package/pipeline/lib/md2confluence-v3.py +1076 -0
  191. package/pipeline/lib/multi-repo-pipeline.sh +13 -22
  192. package/pipeline/lib/plan-todos.sh +7 -7
  193. package/pipeline/lib/post-pr-review.sh +53 -21
  194. package/pipeline/lib/repo-cache.sh +5 -5
  195. package/pipeline/lib/review-watch.sh +17 -13
  196. package/pipeline/lib/shadow-git.sh +7 -7
  197. package/pipeline/lib/submodule-detector.sh +3 -3
  198. package/pipeline/lib/vercel-deploy.sh +28 -15
  199. package/pipeline/preferences-template.json +28 -4
  200. package/pipeline/rules/app-store-guidelines.md +2 -2
  201. package/pipeline/rules/code-style.md +6 -6
  202. package/pipeline/rules/figma-pipeline.md +100 -2
  203. package/pipeline/rules/kotlin-android.md +8 -8
  204. package/pipeline/rules/security.md +4 -4
  205. package/pipeline/rules/tdd.md +1 -1
  206. package/pipeline/rules/testing.md +5 -5
  207. package/pipeline/schemas/agent-state.schema.json +63 -20
  208. package/pipeline/schemas/analysis-output.schema.json +7 -2
  209. package/pipeline/schemas/analysis-spec.schema.json +484 -0
  210. package/pipeline/schemas/clarify-output.schema.json +5 -5
  211. package/pipeline/schemas/conventions-output.schema.json +70 -0
  212. package/pipeline/schemas/dev-critic-output.schema.json +2 -2
  213. package/pipeline/schemas/diff-risk.schema.json +3 -3
  214. package/pipeline/schemas/figma-project-config.schema.json +42 -3
  215. package/pipeline/schemas/learnings-ledger.schema.json +39 -0
  216. package/pipeline/schemas/migrations/README.md +2 -2
  217. package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +5 -5
  218. package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +3 -3
  219. package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +4 -4
  220. package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +5 -5
  221. package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +3 -3
  222. package/pipeline/schemas/plan-todos.schema.json +4 -4
  223. package/pipeline/schemas/planning-output.schema.json +3 -3
  224. package/pipeline/schemas/prefs.schema.json +95 -11
  225. package/pipeline/schemas/reviewer-output.schema.json +7 -3
  226. package/pipeline/schemas/test-gap.schema.json +1 -1
  227. package/pipeline/schemas/token-budget.json +8 -8
  228. package/pipeline/schemas/triage-corpus.schema.json +1 -1
  229. package/pipeline/schemas/triage-output.schema.json +44 -6
  230. package/pipeline/scripts/README.md +64 -64
  231. package/pipeline/scripts/aggregate-metrics.mjs +55 -16
  232. package/pipeline/scripts/audit-log-rotate.sh +3 -3
  233. package/pipeline/scripts/audit-log.sh +20 -7
  234. package/pipeline/scripts/benchmark-phase-0.sh +6 -6
  235. package/pipeline/scripts/build-skills-index.mjs +15 -15
  236. package/pipeline/scripts/check-md-links.mjs +59 -0
  237. package/pipeline/scripts/classify-plan-safety.mjs +24 -18
  238. package/pipeline/scripts/cost-budget-check.mjs +160 -0
  239. package/pipeline/scripts/cost-table.json +17 -13
  240. package/pipeline/scripts/diff-explain.mjs +12 -12
  241. package/pipeline/scripts/diff-risk-score.mjs +18 -17
  242. package/pipeline/scripts/eval-golden-tasks-live.mjs +13 -10
  243. package/pipeline/scripts/eval-golden-tasks.mjs +3 -14
  244. package/pipeline/scripts/eval-intent.mjs +103 -0
  245. package/pipeline/scripts/eval-triage.mjs +3 -3
  246. package/pipeline/scripts/evidence-gate.mjs +155 -0
  247. package/pipeline/scripts/fixtures/install-layout.tsv +9 -9
  248. package/pipeline/scripts/gc-tmp.sh +102 -0
  249. package/pipeline/scripts/gen-mode-dispatch.mjs +27 -21
  250. package/pipeline/scripts/gen-skills-index.mjs +6 -6
  251. package/pipeline/scripts/github-ssh-setup.sh +1 -1
  252. package/pipeline/scripts/keychain-save.sh +1 -1
  253. package/pipeline/scripts/keychain.py +6 -6
  254. package/pipeline/scripts/learnings-ledger.mjs +284 -0
  255. package/pipeline/scripts/lint-skills.mjs +80 -0
  256. package/pipeline/scripts/log-metric.sh +18 -9
  257. package/pipeline/scripts/match-skills.mjs +13 -8
  258. package/pipeline/scripts/memory-load.sh +3 -3
  259. package/pipeline/scripts/memory-save.sh +5 -5
  260. package/pipeline/scripts/migrate-prefs.mjs +17 -17
  261. package/pipeline/scripts/migrate-state.mjs +12 -12
  262. package/pipeline/scripts/output-quality-check.sh +7 -7
  263. package/pipeline/scripts/phase-banner.sh +5 -5
  264. package/pipeline/scripts/phase-tracker.sh +97 -53
  265. package/pipeline/scripts/pre-commit-check.sh +45 -5
  266. package/pipeline/scripts/pre-push-check.sh +7 -7
  267. package/pipeline/scripts/prune-logs.sh +118 -0
  268. package/pipeline/scripts/render-agent-log-cost.sh +55 -18
  269. package/pipeline/scripts/render-cost-summary.sh +9 -9
  270. package/pipeline/scripts/render-work-summary.sh +4 -4
  271. package/pipeline/scripts/repo-map.mjs +9 -9
  272. package/pipeline/scripts/run-aggregator.mjs +7 -6
  273. package/pipeline/scripts/run-metrics.mjs +129 -0
  274. package/pipeline/scripts/run-smokes.mjs +76 -0
  275. package/pipeline/scripts/scan-skills.sh +11 -11
  276. package/pipeline/scripts/search-logs.sh +8 -8
  277. package/pipeline/scripts/sign-skills.sh +2 -2
  278. package/pipeline/scripts/smoke-adapters.sh +79 -10
  279. package/pipeline/scripts/smoke-add-detail.sh +5 -5
  280. package/pipeline/scripts/smoke-agent-log-cost.sh +85 -6
  281. package/pipeline/scripts/smoke-agent-model-routing.sh +3 -3
  282. package/pipeline/scripts/smoke-ask-choice.sh +42 -0
  283. package/pipeline/scripts/smoke-bitbucket-contract.sh +19 -3
  284. package/pipeline/scripts/smoke-changelog-version.sh +47 -0
  285. package/pipeline/scripts/smoke-channels-flow.sh +1 -1
  286. package/pipeline/scripts/smoke-ci-workflows.sh +5 -5
  287. package/pipeline/scripts/smoke-clarify.sh +3 -3
  288. package/pipeline/scripts/smoke-commands-skills-parity.sh +4 -4
  289. package/pipeline/scripts/smoke-community-gates.sh +75 -0
  290. package/pipeline/scripts/smoke-compliance-skills.sh +5 -5
  291. package/pipeline/scripts/smoke-cost-budget.sh +70 -0
  292. package/pipeline/scripts/smoke-cost-summary.sh +4 -4
  293. package/pipeline/scripts/smoke-cross-cli-behavior.sh +50 -9
  294. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +5 -5
  295. package/pipeline/scripts/smoke-delete-flow.sh +5 -5
  296. package/pipeline/scripts/smoke-dev-critic.sh +2 -2
  297. package/pipeline/scripts/smoke-diff-explain.sh +22 -3
  298. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  299. package/pipeline/scripts/smoke-dynamic-skill-loading.sh +1 -1
  300. package/pipeline/scripts/smoke-eval-live.sh +4 -4
  301. package/pipeline/scripts/smoke-evidence-gate.sh +93 -0
  302. package/pipeline/scripts/smoke-existing-discovery-gate.sh +1 -1
  303. package/pipeline/scripts/smoke-extract-conventions.sh +163 -0
  304. package/pipeline/scripts/smoke-figma-android-parity.sh +1 -1
  305. package/pipeline/scripts/smoke-figma-credential-store.sh +3 -3
  306. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +12 -12
  307. package/pipeline/scripts/smoke-figma-dispatch.sh +5 -5
  308. package/pipeline/scripts/smoke-figma-sync.sh +1 -1
  309. package/pipeline/scripts/smoke-gate-hooks.sh +56 -0
  310. package/pipeline/scripts/smoke-gc-tmp.sh +84 -0
  311. package/pipeline/scripts/smoke-identity-isolation.sh +7 -7
  312. package/pipeline/scripts/smoke-install-layout.sh +10 -10
  313. package/pipeline/scripts/smoke-intent-guard.sh +86 -0
  314. package/pipeline/scripts/smoke-issue-comment-template.sh +3 -3
  315. package/pipeline/scripts/smoke-issue-jira-triad.sh +1 -1
  316. package/pipeline/scripts/smoke-keychain.sh +6 -6
  317. package/pipeline/scripts/smoke-language-axis.sh +2 -2
  318. package/pipeline/scripts/smoke-learnings-ledger.sh +86 -0
  319. package/pipeline/scripts/smoke-lib-scripts.sh +2 -2
  320. package/pipeline/scripts/smoke-mcp-gate.sh +68 -0
  321. package/pipeline/scripts/smoke-md-links.sh +8 -0
  322. package/pipeline/scripts/smoke-md2confluence.sh +126 -0
  323. package/pipeline/scripts/smoke-metrics-cache-ratio.sh +72 -0
  324. package/pipeline/scripts/smoke-migrate-state.sh +10 -10
  325. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +7 -4
  326. package/pipeline/scripts/smoke-model-fallback.sh +88 -0
  327. package/pipeline/scripts/smoke-multi-repo-integration.sh +3 -3
  328. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  329. package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +115 -0
  330. package/pipeline/scripts/smoke-no-token-prompt.sh +31 -15
  331. package/pipeline/scripts/smoke-pat-audit.sh +26 -5
  332. package/pipeline/scripts/smoke-per-repo-memory.sh +1 -1
  333. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  334. package/pipeline/scripts/smoke-phase-6-multi.sh +2 -2
  335. package/pipeline/scripts/smoke-phase-banner.sh +1 -1
  336. package/pipeline/scripts/smoke-phase-tracker.sh +1 -1
  337. package/pipeline/scripts/smoke-phase0-bridge-contract.sh +4 -4
  338. package/pipeline/scripts/smoke-phase4-triage.sh +94 -7
  339. package/pipeline/scripts/smoke-plan-approval-gate.sh +3 -3
  340. package/pipeline/scripts/smoke-plan-safety.sh +1 -1
  341. package/pipeline/scripts/smoke-plan-todos.sh +2 -2
  342. package/pipeline/scripts/smoke-pr-review-actions.sh +2 -2
  343. package/pipeline/scripts/smoke-pre-commit.sh +34 -2
  344. package/pipeline/scripts/smoke-pref-migration.sh +1 -1
  345. package/pipeline/scripts/smoke-prefs-language.sh +5 -5
  346. package/pipeline/scripts/smoke-progress-contract.sh +3 -3
  347. package/pipeline/scripts/smoke-prune-logs.sh +87 -0
  348. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  349. package/pipeline/scripts/smoke-readme-counts.sh +1 -1
  350. package/pipeline/scripts/smoke-repo-map.sh +9 -9
  351. package/pipeline/scripts/smoke-review-watch.sh +12 -0
  352. package/pipeline/scripts/smoke-run-aggregator.sh +7 -7
  353. package/pipeline/scripts/smoke-run-metrics.sh +50 -0
  354. package/pipeline/scripts/smoke-schema-validation.sh +18 -11
  355. package/pipeline/scripts/smoke-search.sh +5 -5
  356. package/pipeline/scripts/smoke-shared-runtime.sh +108 -0
  357. package/pipeline/scripts/smoke-skill-authoring.sh +13 -13
  358. package/pipeline/scripts/smoke-skill-language.sh +4 -4
  359. package/pipeline/scripts/smoke-skill-manifest.sh +2 -2
  360. package/pipeline/scripts/smoke-skill-scan.sh +2 -2
  361. package/pipeline/scripts/smoke-stack-swap.sh +2 -2
  362. package/pipeline/scripts/smoke-subagent-validators.sh +8 -5
  363. package/pipeline/scripts/smoke-sync-adapters.sh +1 -1
  364. package/pipeline/scripts/smoke-sync-delegation.sh +7 -7
  365. package/pipeline/scripts/smoke-sync-parity.sh +1 -1
  366. package/pipeline/scripts/smoke-tasklist-ordering.sh +7 -7
  367. package/pipeline/scripts/smoke-telemetry.sh +1 -1
  368. package/pipeline/scripts/smoke-test-gap.sh +5 -5
  369. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  370. package/pipeline/scripts/smoke-tracker-contract.sh +6 -6
  371. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +9 -1
  372. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  373. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  374. package/pipeline/scripts/smoke-validator-contradiction.sh +1 -1
  375. package/pipeline/scripts/smoke-validator-gates.sh +164 -0
  376. package/pipeline/scripts/smoke-vercel-deploy-redact.sh +11 -11
  377. package/pipeline/scripts/smoke-wiki-integration.sh +2 -2
  378. package/pipeline/scripts/smoke-work-summary.sh +3 -3
  379. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  380. package/pipeline/scripts/smoke-write-state.sh +2 -2
  381. package/pipeline/scripts/stack-swap.sh +3 -3
  382. package/pipeline/scripts/sync-adapters.mjs +37 -10
  383. package/pipeline/scripts/sync-parity-check.sh +6 -6
  384. package/pipeline/scripts/test-gap-scan.mjs +11 -13
  385. package/pipeline/scripts/token-budget-report.mjs +4 -4
  386. package/pipeline/scripts/triage-memory.mjs +6 -6
  387. package/pipeline/scripts/uninstall.mjs +42 -4
  388. package/pipeline/scripts/update-issue-progress.sh +2 -2
  389. package/pipeline/scripts/validate-analysis.mjs +19 -21
  390. package/pipeline/scripts/validate-diff-risk.mjs +4 -4
  391. package/pipeline/scripts/validate-planning.mjs +3 -3
  392. package/pipeline/scripts/validate-reviewer.mjs +4 -4
  393. package/pipeline/scripts/validate-schemas.mjs +4 -4
  394. package/pipeline/scripts/validate-state.mjs +108 -0
  395. package/pipeline/scripts/validate-test-gap.mjs +4 -4
  396. package/pipeline/scripts/validate-triage.mjs +68 -9
  397. package/pipeline/scripts/verify-skills.sh +7 -7
  398. package/pipeline/scripts/write-state.mjs +62 -13
  399. package/pipeline/skills/.skill-manifest.json +245 -149
  400. package/pipeline/skills/.skills-index.json +236 -47
  401. package/pipeline/skills/figma-android/README.md +5 -5
  402. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
  403. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
  404. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
  405. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
  406. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
  407. package/pipeline/skills/figma-common/README.md +37 -30
  408. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +137 -0
  409. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
  410. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
  411. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
  412. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
  413. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
  414. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
  415. package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
  416. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
  417. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
  418. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
  419. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +61 -0
  420. package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
  421. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
  422. package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
  423. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
  424. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
  425. package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
  426. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +142 -0
  427. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +128 -0
  428. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
  429. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
  430. package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
  431. package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
  432. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
  433. package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
  434. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +13 -12
  435. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +112 -0
  436. package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
  437. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
  438. package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
  439. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
  440. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
  441. package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
  442. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
  443. package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
  444. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
  445. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
  446. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
  447. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
  448. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
  449. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +53 -38
  450. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
  451. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
  452. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
  453. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
  454. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
  455. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
  456. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
  457. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
  458. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
  459. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
  460. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
  461. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
  462. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
  463. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +88 -57
  464. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
  465. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
  466. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
  467. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
  468. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
  469. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
  470. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +53 -43
  471. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
  472. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
  473. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
  474. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
  475. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
  476. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
  477. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
  478. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
  479. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
  480. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
  481. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
  482. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
  483. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +56 -2
  484. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
  485. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
  486. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
  487. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
  488. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
  489. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
  490. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
  491. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
  492. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
  493. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
  494. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
  495. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
  496. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
  497. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
  498. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
  499. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
  500. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
  501. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
  502. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
  503. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
  504. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
  505. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
  506. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
  507. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
  508. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
  509. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
  510. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
  511. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
  512. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
  513. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
  514. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
  515. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
  516. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
  517. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
  518. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
  519. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
  520. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
  521. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
  522. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
  523. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
  524. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
  525. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
  526. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
  527. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
  528. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
  529. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
  530. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
  531. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
  532. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
  533. package/pipeline/skills/shared/README.md +62 -41
  534. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
  535. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
  536. package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
  537. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
  538. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
  539. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
  540. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
  541. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
  542. package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
  543. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
  544. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
  545. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
  546. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
  547. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
  548. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
  549. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
  550. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
  551. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
  552. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
  553. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
  554. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
  555. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
  556. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
  557. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
  558. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
  559. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
  560. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
  561. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
  562. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
  563. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
  564. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
  565. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
  566. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
  567. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
  568. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
  569. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
  570. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
  571. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
  572. package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
  573. package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
  574. package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
  575. package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
  576. package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
  577. package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
  578. package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
  579. package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
  580. package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
  581. package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
  582. package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
  583. package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
  584. package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
  585. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
  586. package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
  587. package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
  588. package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
  589. package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
  590. package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
  591. package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
  592. package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
  593. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
  594. package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
  595. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
  596. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
  597. package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
  598. package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
  599. package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
  600. package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
  601. package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
  602. package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
  603. package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
  604. package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
  605. package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
  606. package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
  607. package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
  608. package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
  609. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
  610. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
  611. package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
  612. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
  613. package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
  614. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
  615. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
  616. package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
  617. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
  618. package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
  619. package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
  620. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
  621. package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
  622. package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
  623. package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
  624. package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
  625. package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
  626. package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
  627. package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
  628. package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
  629. package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
  630. package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
  631. package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
  632. package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
  633. package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
  634. package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
  635. package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
  636. package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
  637. package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
  638. package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
  639. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
  640. package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
  641. package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
  642. package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
  643. package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
  644. package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
  645. package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
  646. package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
  647. package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
  648. package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
  649. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
  650. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
  651. package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
  652. package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
  653. package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
  654. package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
  655. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
  656. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
  657. package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
  658. package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
  659. package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
  660. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
  661. package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
  662. package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
  663. package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
  664. package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
  665. package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
  666. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
  667. package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
  668. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
  669. package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
  670. package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
  671. package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
  672. package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
  673. package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
  674. package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
  675. package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
  676. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
  677. package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
  678. package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
  679. package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
  680. package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
  681. package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
  682. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
  683. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
  684. package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
  685. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
  686. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
  687. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
  688. package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
  689. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
  690. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
  691. package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
  692. package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
  693. package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
  694. package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
  695. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
  696. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
  697. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
  698. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
  699. package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
  700. package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
  701. package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
  702. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
  703. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
  704. package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
  705. package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
  706. package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
  707. package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
  708. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
  709. package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
  710. package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
  711. package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
  712. package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
  713. package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
  714. package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
  715. package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
  716. package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
  717. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
  718. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
  719. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
  720. package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
  721. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
  722. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
  723. package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
  724. package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
  725. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
  726. package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
  727. package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
  728. package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
  729. package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
  730. package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
  731. package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
  732. package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
  733. package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
  734. package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
  735. package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
  736. package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
  737. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
  738. package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
  739. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
  740. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
  741. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
  742. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
  743. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
  744. package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
  745. package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
  746. package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
  747. package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
  748. package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
  749. package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
  750. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
  751. package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
  752. package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
  753. package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
  754. package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
  755. package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
  756. package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
  757. package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
  758. package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
  759. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
  760. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
  761. package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
  762. package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
  763. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
  764. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
  765. package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
  766. package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
  767. package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
  768. package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
  769. package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
  770. package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
  771. package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
  772. package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
  773. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
  774. package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
  775. package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
  776. package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
  777. package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
  778. package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
  779. package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
  780. package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
  781. package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
  782. package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
  783. package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
  784. package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
  785. package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
  786. package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
  787. package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
  788. package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
  789. package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
  790. package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
  791. package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
  792. package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
  793. package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
  794. package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
  795. package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
  796. package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
  797. package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
  798. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
  799. package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
  800. package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
  801. package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
  802. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
  803. package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
  804. package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
  805. package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
  806. package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
  807. package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
  808. package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
  809. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
  810. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
  811. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
  812. package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
  813. package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
  814. package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
  815. package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
  816. package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
  817. package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
  818. package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
  819. package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
  820. package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
  821. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
  822. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
  823. package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
  824. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
  825. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
  826. package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
  827. package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
  828. package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
  829. package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
  830. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
  831. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
  832. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
  833. package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
  834. package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
  835. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
  836. package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
  837. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
  838. package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
  839. package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
  840. package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
  841. package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
  842. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
  843. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
  844. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
  845. package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
  846. package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
  847. package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
  848. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
  849. package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
  850. package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
  851. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
  852. package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
  853. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
  854. package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
  855. package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
  856. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
  857. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
  858. package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
  859. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
  860. package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
  861. package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
  862. package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
  863. package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
  864. package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
  865. package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
  866. package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
  867. package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
  868. package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
  869. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
  870. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
  871. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
  872. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
  873. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
  874. package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
  875. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
  876. package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
  877. package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
  878. package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
  879. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
  880. package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
  881. package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
  882. package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
  883. package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
  884. package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
  885. package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
  886. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
  887. package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
  888. package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
  889. package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
  890. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
  891. package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
  892. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
  893. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
  894. package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
  895. package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
  896. package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
  897. package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
  898. package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
  899. package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
  900. package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
  901. package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
  902. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
  903. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
  904. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
  905. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
  906. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
  907. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
  908. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
  909. package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
  910. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
  911. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
  912. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
  913. package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
  914. package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
  915. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
  916. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
  917. package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
  918. package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
  919. package/pipeline/skills/skills-index.md +213 -192
  920. package/docs/GENERICITY-REVIEW.md +0 -277
  921. package/docs/STABILITY-FIX-PLAN.md +0 -168
  922. package/pipeline/scripts/README-figma-smokes.md +0 -34
  923. package/pipeline/scripts/figma-placeholder-map.json +0 -191
  924. package/pipeline/scripts/import-figma-skills.sh +0 -253
  925. package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
  926. package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
  927. package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
  928. package/pipeline/scripts/smoke-personal-data.sh +0 -84
  929. package/pipeline/scripts/sync-figma-source.sh +0 -228
  930. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
  931. package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
  932. package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
  933. package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
@@ -8,7 +8,7 @@ status: wip-v5
8
8
  sourced-from: upstream/figma-skip
9
9
  ---
10
10
 
11
- # /figma-skipMark Component as Skipped
11
+ # /figma-skip - Mark Component as Skipped
12
12
 
13
13
  ## Parse Arguments
14
14
 
@@ -32,7 +32,7 @@ Derive filename: `{nodeId with : replaced by -}.json` (e.g., `3-9045.json`).
32
32
 
33
33
  ## Workflow
34
34
 
35
- ### STEP 1Resolve Component Name
35
+ ### STEP 1 - Resolve Component Name
36
36
 
37
37
  ```bash
38
38
  COMMON_PATH="${REPO_ROOT}/{repos.common.path}"
@@ -45,7 +45,7 @@ If the registry file already exists at `Shared/Figma/Components/{nodeId}.json`:
45
45
  - Read it. If `"skip": true` already set → inform user "Already skipped" and exit.
46
46
  - If not skipped → ask user if they want to mark it as skipped (it may have implementation data).
47
47
 
48
- ### STEP 2Create/Update Registry Entry
48
+ ### STEP 2 - Create/Update Registry Entry
49
49
 
50
50
  Write `Shared/Figma/Components/{nodeId}.json`:
51
51
 
@@ -76,14 +76,14 @@ Write `Shared/Figma/Components/{nodeId}.json`:
76
76
  }
77
77
  ```
78
78
 
79
- ### STEP 3Regenerate Catalog
79
+ ### STEP 3 - Regenerate Catalog
80
80
 
81
81
  ```bash
82
82
  cd "${COMMON_PATH}"
83
83
  .build/debug/FigmaRegistryUtility catalog
84
84
  ```
85
85
 
86
- ### STEP 4Update Confluence Status Dashboard
86
+ ### STEP 4 - Update Confluence Status Dashboard
87
87
 
88
88
  ```bash
89
89
  python3 "${REPO_ROOT}/.instructions/figma/figma-to-swiftui/scripts/confluence-component-status.py"
@@ -92,7 +92,7 @@ python3 "${REPO_ROOT}/.instructions/figma/figma-to-swiftui/scripts/confluence-co
92
92
  This updates the global Component Implementation Status dashboard on Confluence.
93
93
  Requires VPN. If VPN unavailable, inform user and skip.
94
94
 
95
- ### STEP 5Summary
95
+ ### STEP 5 - Summary
96
96
 
97
97
  ```
98
98
  ## Skip Summary
@@ -7,11 +7,11 @@ status: wip-v5
7
7
  sourced-from: upstream/figma-ui-patterns
8
8
  ---
9
9
 
10
- # /figma-ui-patternsUI Pattern Index
10
+ # /figma-ui-patterns - UI Pattern Index
11
11
 
12
12
  ## Purpose
13
13
 
14
- Reusable SwiftUI UI-pattern guides, indexed in one place. Each pattern lives in its own sub-markdown under `patterns/` with a self-contained recipeAPI shape, SwiftUI techniques, gotchas, and a minimal reference snippet.
14
+ Reusable SwiftUI UI-pattern guides, indexed in one place. Each pattern lives in its own sub-markdown under `patterns/` with a self-contained recipe - API shape, SwiftUI techniques, gotchas, and a minimal reference snippet.
15
15
 
16
16
  This skill is **complementary**, not gating:
17
17
  - During **spec-driven** work (figma-to-swiftui pipeline): phases reference patterns by slug when the architecture calls for one.
@@ -31,7 +31,7 @@ This skill is **complementary**, not gating:
31
31
  └── <new-pattern>.md
32
32
  ```
33
33
 
34
- Each sub-guide is a single markdown file. No deeper nestingflat under `patterns/`.
34
+ Each sub-guide is a single markdown file. No deeper nesting - flat under `patterns/`.
35
35
 
36
36
  ## How to Use
37
37
 
@@ -39,14 +39,14 @@ Each sub-guide is a single markdown file. No deeper nesting — flat under `patt
39
39
 
40
40
  1. Run `/figma-ui-patterns` to see the index below.
41
41
  2. Open `patterns/<slug>.md` for the pattern you need.
42
- 3. Follow the recipe. Sub-guides are self-containedyou should not need to hop between them.
42
+ 3. Follow the recipe. Sub-guides are self-contained - you should not need to hop between them.
43
43
 
44
44
  ### As an author (adding a new pattern)
45
45
 
46
46
  1. Pick a slug: `kebab-case`, descriptive, noun-phrase (`carousel-pager`, `scallop-view`, not `how-to-carousel`).
47
47
  2. Create `patterns/<slug>.md` using the template below.
48
48
  3. Add a row to the **Index** section of this file.
49
- 4. Keep the guide under ~200 lines. If it grows beyond that, the pattern is probably two patternssplit it.
49
+ 4. Keep the guide under ~200 lines. If it grows beyond that, the pattern is probably two patterns - split it.
50
50
 
51
51
  ## Sub-guide Template
52
52
 
@@ -68,7 +68,7 @@ Step-by-step SwiftUI recipe. Which primitives (ScrollView, GeometryReader, Timel
68
68
  Numbered list. Common mistakes, platform quirks (iOS version gates, accessibility regressions, performance cliffs).
69
69
 
70
70
  ## Reference Snippet
71
- One complete, compilable SwiftUI snippetunder 60 lines. Should run as-is in an Xcode preview.
71
+ One complete, compilable SwiftUI snippet - under 60 lines. Should run as-is in an Xcode preview.
72
72
 
73
73
  ## Related Patterns
74
74
  Bullet list of other slugs in this skill (or in `figma-price-integration`, `coreui-forms`, etc.) that commonly co-occur or contrast with this one.
@@ -77,10 +77,10 @@ Bullet list of other slugs in this skill (or in `figma-price-integration`, `core
77
77
  ## Authoring Rules
78
78
 
79
79
  1. **Self-contained.** A reader opening one sub-guide should implement the pattern without hopping.
80
- 2. **SwiftUI-first.** Prefer pure SwiftUI techniques. Drop to UIViewRepresentable only when SwiftUI cannot express the behaviorand say so in Gotchas.
80
+ 2. **SwiftUI-first.** Prefer pure SwiftUI techniques. Drop to UIViewRepresentable only when SwiftUI cannot express the behavior - and say so in Gotchas.
81
81
  3. **Design-token aware.** Use project tokens (`.Text.textPrimary`, `.bodyRegular`, etc.) in snippets, not raw colors/fonts. Keeps examples on-brand.
82
- 4. **No component specifics.** A pattern is generic. If your recipe references `FlightCard` or `TripSummary`, you're writing a component guide, not a pattern guidemove it to the component's wiki instead.
83
- 5. **Validate names before committing.** For the pattern's human-readable title, run `/intent-idempotency-check` if the name isn't already obviousUI pattern names are easy to get wrong.
82
+ 4. **No component specifics.** A pattern is generic. If your recipe references `FlightCard` or `TripSummary`, you're writing a component guide, not a pattern guide - move it to the component's wiki instead.
83
+ 5. **Validate names before committing.** For the pattern's human-readable title, run `/intent-idempotency-check` if the name isn't already obvious - UI pattern names are easy to get wrong.
84
84
 
85
85
  ## Integration with figma-to-swiftui
86
86
 
@@ -94,11 +94,12 @@ Bullet list of other slugs in this skill (or in `figma-price-integration`, `core
94
94
 
95
95
  | Slug | Pattern | Status |
96
96
  |------|---------|--------|
97
- | `carousel-banner` | Auto-advancing paged banner single item visible, swipe/tap paging, `CarouselGroup` indicator, configurable interval + loop + pause-on-interaction. | Ready |
98
- | `scalloped-vstack` | Scalloped VStack (boarding-pass silhouette) vertical card with semicircular edge cuts + dashed perforation line between segments. `CoreUI.ScallopedVStack`. | Ready |
97
+ | `animated-gradient-border` | Snake/halo gradient stroke crawling the perimeter (promo/featured/premium cards) - angular-gradient stroke + animatable progress, corner-radius match, Reduce-Motion gate. Native-SwiftUI recipe; uses a project modifier if one ships. | Ready |
98
+ | `carousel-banner` | Auto-advancing paged banner - single item visible, swipe/tap paging, `CarouselGroup` indicator, configurable interval + loop + pause-on-interaction. | Ready |
99
+ | `scalloped-vstack` | Scalloped VStack (boarding-pass silhouette) - vertical card with semicircular edge cuts + dashed perforation line between segments. `CoreUI.ScallopedVStack`. | Ready |
99
100
 
100
101
  ## Anti-patterns
101
102
 
102
103
  - **Dumping ground.** This is not a place for "here's a snippet I wrote once." A pattern appears here only if it is **reusable across ≥2 real components**.
103
104
  - **Pattern-by-component.** If every component gets its own pattern file, the index stops being useful. Generalize first.
104
- - **Stale snippets.** If a sub-guide's snippet no longer compiles on the project's current Swift/SwiftUI version, fix or remove itdon't leave a broken recipe.
105
+ - **Stale snippets.** If a sub-guide's snippet no longer compiles on the project's current Swift/SwiftUI version, fix or remove it - don't leave a broken recipe.
@@ -0,0 +1,112 @@
1
+ # Animated Gradient Border (Snake / Halo Border)
2
+
3
+ ## When to Use
4
+
5
+ A component's frame has a stroked border whose color fades around the perimeter as if a **snake / halo of gradient light crawls around the edge** — continuous, looping, usually 2–4pt wide, with a radius matching the host's corner radius. Figma signals: promo banners, premium/featured cards, upsell surfaces, "lit up" states of otherwise calm cards; a spec named "animated / glowing / gradient border" or an endless-loop prototype on the stroke.
6
+
7
+ **Not** this pattern when:
8
+ - The border is a single, *static* color → `.stroke(...)` / `.overlay(RoundedRectangle().stroke(...))` directly.
9
+ - The gradient is **on the fill**, not the stroke → that's an angular/linear gradient background.
10
+ - It's a **state-transition** pulse (red on error) → `.animation(...)` with color interpolation, not a crawling gradient.
11
+ - The stroke is **dashed/dotted** → different `StrokeStyle`; this pattern draws a solid stroke.
12
+
13
+ ## Minimal API
14
+
15
+ If the project already ships a gradient-border modifier (some design systems do — check `reference/ui` / the repo), use it and do NOT re-implement the math. Otherwise use this generic modifier shape:
16
+
17
+ ```swift
18
+ view
19
+ .background(fill)
20
+ .clipShape(RoundedRectangle(cornerRadius: radius))
21
+ .animatedGradientBorder(
22
+ colors: [start.opacity(0.6), middle, end.opacity(0.6)], // faded → solid → faded
23
+ lineWidth: 2,
24
+ cornerRadius: radius, // MUST match the host corner radius
25
+ isAnimated: !reduceMotion,
26
+ duration: 3.0
27
+ )
28
+ ```
29
+
30
+ **Parameter intent:** 3 colors read best (faded→solid→faded); `lineWidth` 1–3pt from tokens; `cornerRadius` must equal the host's; `isAnimated:false` renders a static stroke; `duration` 1.5 urgent / 3 calm / 5+ ambient.
31
+
32
+ ## Technique
33
+
34
+ A self-contained native-SwiftUI recipe (no external package):
35
+
36
+ 1. **Overlay, don't replace.** Draw the stroke in an `.overlay` of a `RoundedRectangle` so the host keeps its own background/fill.
37
+ 2. **Angular gradient stroked along the shape.** `RoundedRectangle(cornerRadius:).stroke(AngularGradient(...), lineWidth:)`. The angular gradient's rotation is driven by an animated angle so the bright spot travels the perimeter.
38
+ 3. **Animatable progress 0→1.** Rotate the gradient with `.rotationEffect(.degrees(360 * progress))` on a masked stroke, or animate the `AngularGradient`'s `angle`. Start in `.onAppear` with `withAnimation(.linear(duration:).repeatForever(autoreverses:false)) { progress = 1 }`.
39
+ 4. **Halo shape** = the gradient stop distribution (a bright band with faded shoulders); keep the fade symmetric for the "snake" read.
40
+ 5. **Static shortcut.** `isAnimated == false` → render the same stroke frozen (or a single-color stroke).
41
+
42
+ ## Gotchas
43
+
44
+ 1. **Corner-radius mismatch is the #1 bug** — the host `cornerRadius` and the border `cornerRadius` must be equal, or the stroke floats off the rounded path.
45
+ 2. **Apply the border after `.background`/`.clipShape`** so it overlays the current bounds and clips to the rounded shape.
46
+ 3. **Reduce Motion:** read `@Environment(\.accessibilityReduceMotion)` at the call site and pass `isAnimated: !reduceMotion`. A perpetually animating border must respect it.
47
+ 4. **Perf on long lists:** a forever-repeating animation per row costs frames and never pauses off-screen. Measure with Instruments before shipping it on `LazyVStack`/`List` rows.
48
+ 5. **`onAppear` restarts on every reappear** — don't rely on animation state surviving a re-mount.
49
+ 6. **`lineWidth` ≥ `cornerRadius`** produces blobby corners; keep `lineWidth < cornerRadius` for clean corners.
50
+ 7. **Use semantic tokens, not raw hex**, so the border follows light/dark + theme (`reference/ui` + figma-config token patterns).
51
+
52
+ ## Reference Snippet
53
+
54
+ Drop-in preview — pure SwiftUI, no external dependency:
55
+
56
+ ```swift
57
+ import SwiftUI
58
+
59
+ struct AnimatedGradientBorder: ViewModifier {
60
+ var colors: [Color]
61
+ var lineWidth: CGFloat = 2
62
+ var cornerRadius: CGFloat = 12
63
+ var isAnimated: Bool = true
64
+ var duration: Double = 3.0
65
+ @State private var progress: CGFloat = 0
66
+
67
+ func body(content: Content) -> some View {
68
+ content.overlay(
69
+ RoundedRectangle(cornerRadius: cornerRadius)
70
+ .stroke(
71
+ AngularGradient(gradient: Gradient(colors: colors + [colors.first ?? .clear]),
72
+ center: .center),
73
+ lineWidth: lineWidth
74
+ )
75
+ .rotationEffect(.degrees(isAnimated ? 360 * Double(progress) : 0))
76
+ .mask(RoundedRectangle(cornerRadius: cornerRadius).stroke(lineWidth: lineWidth))
77
+ )
78
+ .onAppear {
79
+ guard isAnimated else { return }
80
+ withAnimation(.linear(duration: duration).repeatForever(autoreverses: false)) {
81
+ progress = 1
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ extension View {
88
+ func animatedGradientBorder(colors: [Color], lineWidth: CGFloat = 2,
89
+ cornerRadius: CGFloat = 12, isAnimated: Bool = true,
90
+ duration: Double = 3.0) -> some View {
91
+ modifier(AnimatedGradientBorder(colors: colors, lineWidth: lineWidth,
92
+ cornerRadius: cornerRadius, isAnimated: isAnimated,
93
+ duration: duration))
94
+ }
95
+ }
96
+
97
+ #Preview {
98
+ Text("Featured")
99
+ .padding(16)
100
+ .frame(maxWidth: .infinity, alignment: .leading)
101
+ .background(Color(.systemBackground))
102
+ .clipShape(RoundedRectangle(cornerRadius: 12))
103
+ .animatedGradientBorder(colors: [.blue.opacity(0.6), .blue, .blue.opacity(0.6)],
104
+ cornerRadius: 12)
105
+ .padding()
106
+ }
107
+ ```
108
+
109
+ ## Related Patterns
110
+
111
+ - `carousel-banner` — promo banners often pair an auto-advancing pager with this border on the active card.
112
+ - Price callouts — premium-price surfaces sit inside a card wearing this border; compose it at the card level, not on the price view (see `reference/ui` / `figma-price-integration`).
@@ -8,13 +8,13 @@ status: wip-v5
8
8
  sourced-from: upstream/figma-utility
9
9
  ---
10
10
 
11
- # /figma-utilityOn-Demand Figma Data Utility
11
+ # /figma-utility - On-Demand Figma Data Utility
12
12
 
13
13
  ## Purpose
14
14
 
15
15
  Standalone utility for querying Figma data on demand. Exposes Figma REST API and MCP capabilities as simple sub-commands. Does **not** modify any project files or affect other skills.
16
16
 
17
- This is a **read-only data tool**it fetches and displays Figma data. It does NOT implement, commit, or modify code.
17
+ This is a **read-only data tool** - it fetches and displays Figma data. It does NOT implement, commit, or modify code.
18
18
 
19
19
  ## Parameters
20
20
 
@@ -140,7 +140,7 @@ Reset all repo branches (main + submodules) to their remote defaults. Discards l
140
140
  - **Requires:** Nothing
141
141
  - **Options:** None
142
142
 
143
- **IMPORTANTrun as a single Bash call.** `REPO_ROOT` must be resolved once before any `cd` into submodules; if split into separate Bash calls, `git rev-parse --show-toplevel` inside a submodule returns the submodule root, not the main repo.
143
+ **IMPORTANT - run as a single Bash call.** `REPO_ROOT` must be resolved once before any `cd` into submodules; if split into separate Bash calls, `git rev-parse --show-toplevel` inside a submodule returns the submodule root, not the main repo.
144
144
 
145
145
  ```bash
146
146
  REPO_ROOT="$(git rev-parse --show-toplevel)" && \
@@ -267,7 +267,7 @@ If no tokens are found, the script reports what's missing and suggests running `
267
267
  ## Independence
268
268
 
269
269
  This skill is **completely independent** from other Figma skills. It:
270
- - Has its own script (`figma-utility.py`)no shared imports
270
+ - Has its own script (`figma-utility.py`) - no shared imports
271
271
  - Does not read or write implementation artifacts
272
272
  - Does not modify the component registry
273
273
  - Does not create branches or commits (except `reset-branches` which resets to remote)
@@ -720,7 +720,7 @@ def cmd_whoami():
720
720
 
721
721
  def main():
722
722
  parser = argparse.ArgumentParser(
723
- description="Figma Utilityquery Figma data via REST API and MCP",
723
+ description="Figma Utility - query Figma data via REST API and MCP",
724
724
  formatter_class=argparse.RawDescriptionHelpFormatter,
725
725
  )
726
726
  parser.add_argument("command", choices=[
@@ -8,14 +8,14 @@ status: wip-v5
8
8
  sourced-from: upstream/figma-validate
9
9
  ---
10
10
 
11
- # /figma-validatePre-Implementation Component Validation
11
+ # /figma-validate - Pre-Implementation Component Validation
12
12
 
13
13
  ## Purpose
14
14
 
15
15
  Validates whether a Figma component is ready for the figma-to-swiftui implementation pipeline.
16
16
  Runs 6 criteria checks and returns a verdict: **VALID**, **CONDITIONAL**, or **INVALID**.
17
17
 
18
- This is a **read-only diagnostic skill**it does NOT modify any files.
18
+ This is a **read-only diagnostic skill** - it does NOT modify any files.
19
19
 
20
20
  ## Parameters
21
21
 
@@ -80,8 +80,8 @@ gh issue view <N> --repo ${GH_REPO} --json number,title,body
80
80
  ```
81
81
 
82
82
  Extract from the issue body:
83
- - **Figma URL**from the line after `### Figma URL` heading
84
- - **Component Name**from `### Component Name (PascalCase)` section (informational)
83
+ - **Figma URL** - from the line after `### Figma URL` heading
84
+ - **Component Name** - from `### Component Name (PascalCase)` section (informational)
85
85
 
86
86
  ```python
87
87
  import json, re
@@ -117,7 +117,7 @@ Seven criteria are checked. Each returns ✅ (pass) or ❌ (fail) with a reason.
117
117
 
118
118
  ---
119
119
 
120
- ### Criterion 1Component Registry Presence
120
+ ### Criterion 1 - Component Registry Presence
121
121
 
122
122
  **Question:** Component registry'de (`component-registry.json`) yer alıyor mu?
123
123
 
@@ -131,9 +131,9 @@ Also check `excludePatterns` in `$REGISTRY_CONFIG`:
131
131
  - If the component's `pageName` or `sectionName` matches an exclude pattern → ❌ FAIL. Reason: "Component is in an excluded page: {pageName}."
132
132
 
133
133
  **Known valid file keys** (from registry config):
134
- - `ps4xrJzhn7WNbfkZs895Bi`Design System Core
135
- - `9ipBvrtsq9HlQ175B9k0wx`Mobile App Components
136
- - `YSs4g0EeGAW53haB0zz5sa`Visual Assets
134
+ - `ps4xrJzhn7WNbfkZs895Bi` - Design System Core
135
+ - `9ipBvrtsq9HlQ175B9k0wx` - Mobile App Components
136
+ - `YSs4g0EeGAW53haB0zz5sa` - Visual Assets
137
137
 
138
138
  If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknown Figma file. Only Design System Core, Mobile App Components, and Visual Assets are supported."
139
139
 
@@ -141,7 +141,7 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
141
141
 
142
142
  ---
143
143
 
144
- ### Criterion 2Figma Property Structure & Code Connect Strategy
144
+ ### Criterion 2 - Figma Property Structure & Code Connect Strategy
145
145
 
146
146
  **Question:** Uygulanabilir bir Code Connect stratejisi var mı?
147
147
 
@@ -149,7 +149,7 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
149
149
 
150
150
  1. Fetch component data via Figma REST API:
151
151
  ```python
152
- # Use python3 urllib.requestcurl may be blocked by policy
152
+ # Use python3 urllib.request - curl may be blocked by policy
153
153
  import subprocess, urllib.request, json
154
154
  token = subprocess.check_output(
155
155
  ["security", "find-generic-password", "-s", "FIGMA_ACCESS_TOKEN", "-w"],
@@ -177,32 +177,32 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
177
177
  | `COMPONENT` | 0 properties | STATIC_VALUES | ✅ PASS |
178
178
  | `COMPONENT` | N/A | STATIC_VALUES | ✅ PASS |
179
179
 
180
- **Pass Condition:** Component has a valid Code Connect strategyeither property mapping (for COMPONENT_SET with ≥1 property) or STATIC_VALUES (for plain COMPONENT).
180
+ **Pass Condition:** Component has a valid Code Connect strategy - either property mapping (for COMPONENT_SET with ≥1 property) or STATIC_VALUES (for plain COMPONENT).
181
181
 
182
182
  **Output:** Always report the detected strategy in the result:
183
- - `✅ STATIC_VALUESplain COMPONENT, no variant properties (uses static preview in .figma.swift)`
184
- - `✅ Property Mapping3 enum, 1 string, 2 bool`
185
- - `❌ COMPONENT_SET with 0 propertiesunexpected, needs design review`
183
+ - `✅ STATIC_VALUES - plain COMPONENT, no variant properties (uses static preview in .figma.swift)`
184
+ - `✅ Property Mapping - 3 enum, 1 string, 2 bool`
185
+ - `❌ COMPONENT_SET with 0 properties - unexpected, needs design review`
186
186
 
187
187
  **Warning Flags** (informational, not failures):
188
- - Property named `"Property 1"` → flag as `UNNAMED_PROPERTY`: "Unnamed property detecteddesign team should rename."
188
+ - Property named `"Property 1"` → flag as `UNNAMED_PROPERTY`: "Unnamed property detected - design team should rename."
189
189
  - Property values with likely typos (e.g., `"Standart"`, `"Clasic Plus"`) → flag as `TYPO_DETECTED`.
190
190
 
191
191
  **Fallback:** If Figma API is unreachable, mark criterion as ⚠️ SKIPPED. Do NOT fail the entire validation.
192
192
 
193
193
  ---
194
194
 
195
- ### Criterion 3Design Token Compliance
195
+ ### Criterion 3 - Design Token Compliance
196
196
 
197
197
  **Question:** Renkler/spacing/typography design token kullanıyor mu?
198
198
 
199
199
  **Check:**
200
200
 
201
201
  1. From Figma node data, extract:
202
- - **Fill colors**check if they correspond to known design token hex values
203
- - **Text styles**check if they match `UIAssetTokens` typography styles
204
- - **Spacing values**check if padding/gap values are standard multiples: 2, 4, 8, 12, 16, 24, 32, 48
205
- - **Corner radius**check if values match known radius tokens: 4, 8, 12, 16, 24
202
+ - **Fill colors** - check if they correspond to known design token hex values
203
+ - **Text styles** - check if they match `UIAssetTokens` typography styles
204
+ - **Spacing values** - check if padding/gap values are standard multiples: 2, 4, 8, 12, 16, 24, 32, 48
205
+ - **Corner radius** - check if values match known radius tokens: 4, 8, 12, 16, 24
206
206
  2. Optionally cross-reference with the token index:
207
207
  ```bash
208
208
  cd "${COMMON_PATH}" && .build/debug/FigmaRegistryUtility uitoken-index 2>/dev/null
@@ -210,11 +210,11 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
210
210
 
211
211
  **Pass Condition:** No hardcoded hex colors outside the design token palette. Spacing uses standard increments.
212
212
 
213
- **Soft Pass:** If token verification is not possible from the API response, mark as ⚠️ ASSUMED PASS with note: "Token compliance could not be fully verified from APImanual visual check recommended."
213
+ **Soft Pass:** If token verification is not possible from the API response, mark as ⚠️ ASSUMED PASS with note: "Token compliance could not be fully verified from API - manual visual check recommended."
214
214
 
215
215
  ---
216
216
 
217
- ### Criterion 4Nested Dependency Readiness
217
+ ### Criterion 4 - Nested Dependency Readiness
218
218
 
219
219
  **Question:** Bağımlı olduğu alt bileşenler zaten implemente mi?
220
220
 
@@ -225,7 +225,7 @@ If the URL's `fileKey` does not match any of these → ❌ FAIL. Reason: "Unknow
225
225
  3. **Resolve the componentId** to a searchable ID using the `components` metadata from the API response.
226
226
  4. **Search for implementation** using the decision tree below.
227
227
 
228
- #### Step 3ComponentId Resolution (CRITICAL)
228
+ #### Step 3 - ComponentId Resolution (CRITICAL)
229
229
 
230
230
  Figma INSTANCE nodes reference a **variant's node ID** (`componentId`), NOT the COMPONENT_SET's node ID. The API response includes a `components` metadata map at `data.nodes[nodeId].components` that provides the `componentSetId` for each variant.
231
231
 
@@ -266,7 +266,7 @@ For each child `componentId`, look it up in the component registry (`component-r
266
266
  │ └──────────┬───────────────────┘
267
267
  ┌────────────┼────────────┐ found │ not found
268
268
  │ │ │ │ │
269
- VA (Ysa) DSC (pBi) MAC (9wx) ┌─────┴──────┐ UNKNOWN
269
+ VA (Y...sa) DSC (p...Bi) MAC (9...wx) ┌─────┴──────┐ UNKNOWN
270
270
  │ │ │ │status.ios. │ (warn)
271
271
  ▼ ▼ ▼ │implemented │
272
272
  COMMON UICOMP UICOMP │.value=true?│
@@ -283,7 +283,7 @@ For each child `componentId`, look it up in the component registry (`component-r
283
283
  | `ps4xrJzhn7WNbfkZs895Bi` | Design System Core | **UICOMP** | Core UI components |
284
284
  | `9ipBvrtsq9HlQ175B9k0wx` | Mobile App Components | **UICOMP** | Flow-based / app-specific components |
285
285
 
286
- **Registry-based shortcuts** (parentPage checkno filesystem search needed):
286
+ **Registry-based shortcuts** (parentPage check - no filesystem search needed):
287
287
 
288
288
  | `parentPage` value | Location | Verification |
289
289
  |--------------------|----------|-------------|
@@ -300,7 +300,7 @@ For each child `componentId`, look it up in the component registry (`component-r
300
300
  # IMPORTANT: Search on iteration/develop, not current HEAD
301
301
  cd "${COMMON_PATH}"
302
302
  NODE_DASH="${nodeId//:/-}"
303
- # 1. Check Components/{nodeId}.jsonnew status.ios.implemented.value (architecture-update)
303
+ # 1. Check Components/{nodeId}.json - new status.ios.implemented.value (architecture-update)
304
304
  # with legacy codeConnect.ios fallback for pre-backfill entries
305
305
  git show iteration/develop:Shared/Figma/Components/${NODE_DASH}.json 2>/dev/null | \
306
306
  python3 -c "
@@ -342,7 +342,7 @@ git grep -rl "${component_name}" iteration/develop -- 'Sources/UIComponents/Regr
342
342
 
343
343
  **Pass Condition:** ALL child component instances are either:
344
344
  - Already implemented (have a matching `.figma.swift` on `iteration/develop`), OR
345
- - Have `status.ios.implemented.value = true` in individual `Components/{nodeId}.json` (architecture-update modelwith legacy `codeConnect.ios = true` as fallback for pre-backfill entries), OR
345
+ - Have `status.ios.implemented.value = true` in individual `Components/{nodeId}.json` (architecture-update model - with legacy `codeConnect.ios = true` as fallback for pre-backfill entries), OR
346
346
  - Listed under `parentPage: "Icons"` or `"Logos"` in the component registry, OR
347
347
  - Found in `Regroup/` folder (cross-file logos like `MilesAndSmilesLogo`), OR
348
348
  - Marked as skipped in registry (`skip: true`), OR
@@ -353,7 +353,7 @@ List the missing dependencies with their Figma names and node IDs.
353
353
 
354
354
  ---
355
355
 
356
- ### Criterion 5Atomic Component Scope
356
+ ### Criterion 5 - Atomic Component Scope
357
357
 
358
358
  **Question:** Atomic (tek başına anlamlı) bir UI parçası mı?
359
359
 
@@ -365,8 +365,8 @@ List the missing dependencies with their Figma names and node IDs.
365
365
  2. From Figma node data, check dimensions:
366
366
  - Width > 500 AND height > 800 → likely a full screen ❌
367
367
  3. Check variant count from component properties:
368
- - 250 variant combinations → reasonable ✅
369
- - 01 variants → acceptable for STATIC_VALUES components⚠️ warn but pass
368
+ - 2-50 variant combinations → reasonable ✅
369
+ - 0-1 variants → acceptable for STATIC_VALUES components - ⚠️ warn but pass
370
370
  - 500+ variants → likely needs splitting ❌
371
371
  4. Check component name depth:
372
372
  - Name contains `/` separators with 4+ levels (e.g., `A/B/C/D/E`) → ⚠️ warn, may be deeply nested subcomponent
@@ -375,7 +375,7 @@ List the missing dependencies with their Figma names and node IDs.
375
375
 
376
376
  ---
377
377
 
378
- ### Criterion 6iOS Platform Applicability
378
+ ### Criterion 6 - iOS Platform Applicability
379
379
 
380
380
  **Question:** iOS platformu için geçerli mi (Hover-only değil)?
381
381
 
@@ -390,11 +390,11 @@ List the missing dependencies with their Figma names and node IDs.
390
390
  3. Check for web-only component patterns in the name:
391
391
  - `"Breadcrumb"`, `"Sidebar"`, `"Tooltip/Hover"` → ⚠️ flag for review but don't auto-fail
392
392
 
393
- **Pass Condition:** Component is usable on iOShas non-hover states and is not desktop-only.
393
+ **Pass Condition:** Component is usable on iOS - has non-hover states and is not desktop-only.
394
394
 
395
395
  ---
396
396
 
397
- ### Criterion 7Already Implemented Check
397
+ ### Criterion 7 - Already Implemented Check
398
398
 
399
399
  **Question:** Bu component zaten implemente edilmiş mi?
400
400
 
@@ -466,8 +466,8 @@ From registry, count how many components on the same `pageName` are implemented
466
466
  | Score | Verdict | Meaning |
467
467
  |-------|---------|---------|
468
468
  | 7/7 ✅ | **VALID** | Ready for `/figma-to-swiftui` implementation pipeline |
469
- | 6/7 ✅ | **CONDITIONAL** | One criterion failedmay be resolvable |
470
- | 5/7 or below | **INVALID** | Not readyrequires design-side changes or scope adjustment |
469
+ | 6/7 ✅ | **CONDITIONAL** | One criterion failed - may be resolvable |
470
+ | 5/7 or below | **INVALID** | Not ready - requires design-side changes or scope adjustment |
471
471
 
472
472
  **Note on ⚠️ SKIPPED criteria:** A skipped criterion (e.g., Figma API unreachable) counts as a pass for scoring purposes but is noted in the output.
473
473
 
@@ -509,7 +509,7 @@ From registry, count how many components on the same `pageName` are implemented
509
509
  - Page progress: Explore 12/18 (67%)
510
510
 
511
511
  ⚠️ Warnings:
512
- - UNNAMED_PROPERTY: "Property 1" detecteddesign team should rename
512
+ - UNNAMED_PROPERTY: "Property 1" detected - design team should rename
513
513
  ```
514
514
 
515
515
  If `--verbose`, expand each criterion with detailed findings.
@@ -539,13 +539,13 @@ These are logged but do NOT affect the VALID/INVALID verdict:
539
539
 
540
540
  | Flag | Description |
541
541
  |------|-------------|
542
- | `UNNAMED_PROPERTY` | Figma property named "Property 1"tasarımcı rename etmeli |
542
+ | `UNNAMED_PROPERTY` | Figma property named "Property 1" - tasarımcı rename etmeli |
543
543
  | `TYPO_DETECTED` | Variant value appears misspelled (e.g., "Standart", "Clasic Plus") |
544
- | `DESKTOP_CHANNEL` | Component has Desktop/Web channel mappingiOS'ta kullanılmaz |
545
- | `MEND_CANDIDATE` | A previous implementation exists in `Discarded/`use `/figma-mend` instead |
544
+ | `DESKTOP_CHANNEL` | Component has Desktop/Web channel mapping - iOS'ta kullanılmaz |
545
+ | `MEND_CANDIDATE` | A previous implementation exists in `Discarded/` - use `/figma-mend` instead |
546
546
  | `URL_FORMAT_INCONSISTENT` | Node URL uses non-standard format (www vs non-www, `:` vs `-`) |
547
- | `LOW_VARIANT_COUNT` | 01 variantsuses STATIC_VALUES Code Connect strategy |
548
- | `DEEP_NESTING` | Component name has 4+ path levelsmay be a deeply nested subcomponent |
547
+ | `LOW_VARIANT_COUNT` | 0-1 variants - uses STATIC_VALUES Code Connect strategy |
548
+ | `DEEP_NESTING` | Component name has 4+ path levels - may be a deeply nested subcomponent |
549
549
 
550
550
  ---
551
551
 
@@ -553,7 +553,7 @@ These are logged but do NOT affect the VALID/INVALID verdict:
553
553
 
554
554
  | Error | Action |
555
555
  |-------|--------|
556
- | Figma API unreachable | Skip Criteria 2, 3, 4, 6mark as ⚠️ SKIPPED, continue with Criteria 1, 5, 7 |
556
+ | Figma API unreachable | Skip Criteria 2, 3, 4, 6 - mark as ⚠️ SKIPPED, continue with Criteria 1, 5, 7 |
557
557
  | Registry file not found | Show command: `cd ${COMMON_PATH} && swift build --product FigmaRegistryUtility && .build/debug/FigmaRegistryUtility update` |
558
558
  | FigmaRegistryUtility not built | Show: `cd ${COMMON_PATH} && swift build --product FigmaRegistryUtility` |
559
559
  | Invalid URL format | Ask user for correct URL via AskUserQuestion |
@@ -593,7 +593,7 @@ The script:
593
593
  - Outputs a single JSON object with `results`, `intel`, `warnings`, `score`, `total`, `elapsed_ms`
594
594
  - Agent parses the JSON and formats the verdict box
595
595
 
596
- **IMPORTANTDo NOT create temporary `.py` or `.json` files.** Always use the permanent script above. If for any reason temporary files were created during execution, clean them up before returning the result:
596
+ **IMPORTANT - Do NOT create temporary `.py` or `.json` files.** Always use the permanent script above. If for any reason temporary files were created during execution, clean them up before returning the result:
597
597
 
598
598
  ```bash
599
599
  rm -f /tmp/figma_validate*.py /tmp/figma_validate*.json /tmp/figma_qr*.py /tmp/figma_analyze*.py /tmp/figma_lookup*.py
@@ -607,17 +607,17 @@ rm -f /tmp/figma_validate*.py /tmp/figma_validate*.json /tmp/figma_qr*.py /tmp/f
607
607
  Never write intermediate results to disk.
608
608
 
609
609
  **Key rules for speed:**
610
- - ONE terminal command total (the python3 script)no sequential shell calls
611
- - Use `urllib.request`never `curl` (may be blocked by auto-approval policy)
612
- - Use `os.walk` / `glob.glob` for file searchesnever shell `grep`/`find`
613
- - Never put `#` comments in shell compound commandscauses `zsh` parse errors
610
+ - ONE terminal command total (the python3 script) - no sequential shell calls
611
+ - Use `urllib.request` - never `curl` (may be blocked by auto-approval policy)
612
+ - Use `os.walk` / `glob.glob` for file searches - never shell `grep`/`find`
613
+ - Never put `#` comments in shell compound commands - causes `zsh` parse errors
614
614
 
615
615
  ---
616
616
 
617
617
  ## Future Extensibility
618
618
 
619
619
  Each criterion is self-contained with:
620
- - A **question** (what it checksdisplayed in Turkish for team context)
620
+ - A **question** (what it checks - displayed in Turkish for team context)
621
621
  - A **check** procedure (how to verify)
622
622
  - A **pass condition** (what constitutes success)
623
623