@mmerterden/multi-agent-pipeline 12.5.0 → 12.7.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 (290) hide show
  1. package/CHANGELOG.md +213 -0
  2. package/README.md +19 -19
  3. package/docs/FIGMA_PIPELINE.md +34 -34
  4. package/docs/adr/0001-three-model-triage.md +12 -12
  5. package/docs/adr/0002-instruction-driven-flag.md +5 -5
  6. package/docs/adr/0003-unified-shared-skills.md +5 -5
  7. package/docs/adr/0004-zero-dependency-philosophy.md +5 -5
  8. package/docs/adr/0005-lazy-phase-docs.md +2 -2
  9. package/docs/adr/0006-skills-core-external-split.md +6 -6
  10. package/docs/adr/0007-multi-tool-adapter-framework.md +19 -19
  11. package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +19 -19
  12. package/docs/adr/README.md +1 -1
  13. package/docs/best-practices.md +3 -3
  14. package/docs/features.md +48 -28
  15. package/docs/performance.md +16 -16
  16. package/docs/recovery-guide.md +39 -39
  17. package/index.js +11 -5
  18. package/install/_common.mjs +5 -11
  19. package/install/_copilot-instructions.mjs +2 -2
  20. package/install/_dev-only-files.mjs +2 -1
  21. package/install/_platform-filter.mjs +1 -1
  22. package/install/_telemetry.mjs +1 -1
  23. package/install/claude.mjs +10 -9
  24. package/install/copilot.mjs +10 -19
  25. package/install/index.mjs +7 -15
  26. package/install/templates/copilot-instructions.md +54 -54
  27. package/install.js +1 -1
  28. package/package.json +15 -11
  29. package/pipeline/agents/security-auditor.md +1 -1
  30. package/pipeline/commands/archive-guard.md +5 -5
  31. package/pipeline/commands/multi-agent/SKILL.md +3 -1
  32. package/pipeline/commands/multi-agent/analysis/SKILL.md +1 -1
  33. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +1 -1
  34. package/pipeline/commands/multi-agent/autopilot/SKILL.md +1 -1
  35. package/pipeline/commands/multi-agent/build-optimize/SKILL.md +1 -1
  36. package/pipeline/commands/multi-agent/create-jira/SKILL.md +1 -1
  37. package/pipeline/commands/multi-agent/design-check/SKILL.md +287 -0
  38. package/pipeline/commands/multi-agent/dev/SKILL.md +1 -1
  39. package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +1 -1
  40. package/pipeline/commands/multi-agent/dev-local/SKILL.md +1 -1
  41. package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +1 -1
  42. package/pipeline/commands/multi-agent/diff-explain/SKILL.md +1 -1
  43. package/pipeline/commands/multi-agent/finish/SKILL.md +6 -6
  44. package/pipeline/commands/multi-agent/forget/SKILL.md +1 -1
  45. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
  46. package/pipeline/commands/multi-agent/help/SKILL.md +46 -6
  47. package/pipeline/commands/multi-agent/issue/SKILL.md +1 -1
  48. package/pipeline/commands/multi-agent/jira/SKILL.md +1 -1
  49. package/pipeline/commands/multi-agent/kill/SKILL.md +1 -1
  50. package/pipeline/commands/multi-agent/language/SKILL.md +1 -1
  51. package/pipeline/commands/multi-agent/local/SKILL.md +1 -1
  52. package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +1 -1
  53. package/pipeline/commands/multi-agent/log/SKILL.md +1 -1
  54. package/pipeline/commands/multi-agent/manual-test/SKILL.md +1 -1
  55. package/pipeline/commands/multi-agent/prune-logs/SKILL.md +1 -1
  56. package/pipeline/commands/multi-agent/purge/SKILL.md +1 -1
  57. package/pipeline/commands/multi-agent/refactor/SKILL.md +107 -19
  58. package/pipeline/commands/multi-agent/resume/SKILL.md +2 -2
  59. package/pipeline/commands/multi-agent/review/SKILL.md +2 -2
  60. package/pipeline/commands/multi-agent/review-issue/SKILL.md +1 -1
  61. package/pipeline/commands/multi-agent/review-jira/SKILL.md +1 -1
  62. package/pipeline/commands/multi-agent/routines/SKILL.md +1 -1
  63. package/pipeline/commands/multi-agent/save/SKILL.md +1 -1
  64. package/pipeline/commands/multi-agent/scan/SKILL.md +1 -1
  65. package/pipeline/commands/multi-agent/search/SKILL.md +1 -1
  66. package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
  67. package/pipeline/commands/multi-agent/stack/SKILL.md +3 -3
  68. package/pipeline/commands/multi-agent/status/SKILL.md +1 -1
  69. package/pipeline/commands/multi-agent/sync/SKILL.md +123 -16
  70. package/pipeline/commands/multi-agent/test/SKILL.md +2 -2
  71. package/pipeline/commands/multi-agent/uninstall/SKILL.md +1 -1
  72. package/pipeline/commands/multi-agent/update/SKILL.md +3 -3
  73. package/pipeline/commands/sim-test.md +5 -5
  74. package/pipeline/eval/run-metrics-fixture.json +60 -13
  75. package/pipeline/lib/account-resolver.sh +1 -1
  76. package/pipeline/lib/channels-multi-repo.sh +1 -1
  77. package/pipeline/lib/context-link-extractor.sh +1 -1
  78. package/pipeline/lib/credential-store.sh +33 -1
  79. package/pipeline/lib/fetch-confluence.sh +1 -1
  80. package/pipeline/lib/fetch-crashlytics.sh +1 -1
  81. package/pipeline/lib/fetch-fortify.sh +1 -1
  82. package/pipeline/lib/fetch-graylog.sh +1 -1
  83. package/pipeline/lib/fetch-swagger.sh +1 -1
  84. package/pipeline/lib/issue-fetcher.sh +1 -1
  85. package/pipeline/lib/multi-repo-pipeline.sh +1 -1
  86. package/pipeline/lib/repo-cache.sh +1 -1
  87. package/pipeline/lib/submodule-detector.sh +1 -1
  88. package/pipeline/multi-agent-refs/component-dispatch.md +1 -1
  89. package/pipeline/multi-agent-refs/component-generation.md +121 -0
  90. package/pipeline/multi-agent-refs/cross-cli-contract.md +4 -4
  91. package/pipeline/multi-agent-refs/features/model-fallback.md +2 -2
  92. package/pipeline/multi-agent-refs/phases/phase-3-dev.md +2 -2
  93. package/pipeline/multi-agent-refs/phases/phase-4-review.md +1 -1
  94. package/pipeline/multi-agent-refs/phases/phase-5-test.md +4 -4
  95. package/pipeline/preferences-template.json +23 -12
  96. package/pipeline/schemas/agent-state.schema.json +125 -5
  97. package/pipeline/schemas/analysis-output.schema.json +18 -4
  98. package/pipeline/schemas/analysis-spec.schema.json +120 -32
  99. package/pipeline/schemas/clarify-output.schema.json +15 -5
  100. package/pipeline/schemas/design-check-config.schema.json +183 -0
  101. package/pipeline/schemas/dev-critic-output.schema.json +20 -5
  102. package/pipeline/schemas/figma-project-config.schema.json +42 -10
  103. package/pipeline/schemas/learnings-ledger.schema.json +10 -2
  104. package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +1 -4
  105. package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +24 -7
  106. package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +30 -12
  107. package/pipeline/schemas/plan-todos.schema.json +6 -3
  108. package/pipeline/schemas/planning-output.schema.json +5 -1
  109. package/pipeline/schemas/prefs.schema.json +215 -197
  110. package/pipeline/schemas/test-gap.schema.json +5 -5
  111. package/pipeline/schemas/token-budget.json +8 -8
  112. package/pipeline/schemas/triage-corpus.schema.json +1 -1
  113. package/pipeline/scripts/README.md +7 -5
  114. package/pipeline/scripts/aggregate-metrics.mjs +18 -6
  115. package/pipeline/scripts/build-skills-index.mjs +6 -2
  116. package/pipeline/scripts/build-stack-plugins.mjs +142 -39
  117. package/pipeline/scripts/check-derived-drift.mjs +196 -0
  118. package/pipeline/scripts/check-md-links.mjs +6 -2
  119. package/pipeline/scripts/classify-plan-safety.mjs +26 -8
  120. package/pipeline/scripts/cost-budget-check.mjs +11 -6
  121. package/pipeline/scripts/cost-table.json +1 -1
  122. package/pipeline/scripts/diff-explain.mjs +7 -3
  123. package/pipeline/scripts/diff-risk-score.mjs +13 -3
  124. package/pipeline/scripts/eval-golden-tasks-live.mjs +8 -3
  125. package/pipeline/scripts/eval-golden-tasks.mjs +21 -9
  126. package/pipeline/scripts/eval-intent.mjs +8 -4
  127. package/pipeline/scripts/eval-mine-corpus.mjs +14 -4
  128. package/pipeline/scripts/evidence-gate.mjs +7 -2
  129. package/pipeline/scripts/fixtures/install-layout.tsv +7 -7
  130. package/pipeline/scripts/gen-mode-dispatch.mjs +38 -21
  131. package/pipeline/scripts/gen-skills-index.mjs +18 -3
  132. package/pipeline/scripts/learning-curve.mjs +13 -3
  133. package/pipeline/scripts/learnings-ledger.mjs +119 -34
  134. package/pipeline/scripts/lint-mcp-refs.mjs +218 -0
  135. package/pipeline/scripts/lint-skills.mjs +20 -9
  136. package/pipeline/scripts/localize-commands.mjs +6 -1
  137. package/pipeline/scripts/match-skills.mjs +15 -4
  138. package/pipeline/scripts/memory-load.sh +5 -1
  139. package/pipeline/scripts/migrate-prefs.mjs +33 -16
  140. package/pipeline/scripts/phase-tracker.sh +3 -1
  141. package/pipeline/scripts/render-work-summary.sh +4 -1
  142. package/pipeline/scripts/repo-map.mjs +110 -64
  143. package/pipeline/scripts/review-scope.mjs +7 -1
  144. package/pipeline/scripts/routine-registry.mjs +4 -9
  145. package/pipeline/scripts/run-aggregator.mjs +11 -5
  146. package/pipeline/scripts/run-metrics.mjs +13 -8
  147. package/pipeline/scripts/run-smokes.mjs +57 -3
  148. package/pipeline/scripts/scorecard.mjs +258 -0
  149. package/pipeline/scripts/smoke-command-inventory.sh +81 -0
  150. package/pipeline/scripts/smoke-commands-skills-parity.sh +1 -1
  151. package/pipeline/scripts/smoke-compliance-skills.sh +4 -4
  152. package/pipeline/scripts/smoke-context-budget.sh +72 -0
  153. package/pipeline/scripts/smoke-cross-cli-behavior.sh +12 -2
  154. package/pipeline/scripts/smoke-generate-issue.sh +6 -5
  155. package/pipeline/scripts/smoke-model-fallback.sh +1 -1
  156. package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +86 -7
  157. package/pipeline/scripts/smoke-own-punctuation.sh +103 -0
  158. package/pipeline/scripts/smoke-per-repo-memory.sh +2 -2
  159. package/pipeline/scripts/smoke-review-readiness.sh +3 -2
  160. package/pipeline/scripts/smoke-schema-validation.sh +19 -5
  161. package/pipeline/scripts/smoke-shadow-git.sh +4 -2
  162. package/pipeline/scripts/smoke-workflow-audit.sh +43 -11
  163. package/pipeline/scripts/smoke-write-state.sh +49 -5
  164. package/pipeline/scripts/test-gap-rules/android.json +11 -11
  165. package/pipeline/scripts/test-gap-rules/ios.json +16 -11
  166. package/pipeline/scripts/test-gap-rules/node.json +19 -7
  167. package/pipeline/scripts/test-gap-rules/python.json +10 -4
  168. package/pipeline/scripts/test-gap-scan.mjs +44 -12
  169. package/pipeline/scripts/test-integrity-gate.mjs +5 -1
  170. package/pipeline/scripts/token-budget-report.mjs +44 -21
  171. package/pipeline/scripts/triage-memory.mjs +142 -32
  172. package/pipeline/scripts/uninstall.mjs +75 -31
  173. package/pipeline/scripts/validate-analysis-doc.mjs +15 -5
  174. package/pipeline/scripts/validate-diff-risk.mjs +32 -18
  175. package/pipeline/scripts/validate-test-gap.mjs +17 -7
  176. package/pipeline/scripts/validate-triage.mjs +17 -5
  177. package/pipeline/scripts/write-state.mjs +32 -9
  178. package/pipeline/skills/.skill-manifest.json +24 -8
  179. package/pipeline/skills/.skills-index.json +125 -89
  180. package/pipeline/skills/shared/README.md +65 -61
  181. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +10 -8
  182. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +1 -1
  183. package/pipeline/skills/shared/core/multi-agent/SKILL.md +26 -279
  184. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +1 -1
  185. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +1 -1
  186. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +1 -1
  187. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  188. package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
  189. package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +248 -0
  190. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +1 -1
  191. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +1 -1
  192. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +1 -1
  193. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +1 -1
  194. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +1 -1
  195. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  196. package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +1 -1
  197. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +1 -1
  198. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +23 -1
  199. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +1 -1
  200. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +1 -1
  201. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +1 -1
  202. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +1 -1
  203. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +1 -1
  204. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +1 -1
  205. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +1 -1
  206. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +1 -1
  207. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +1 -1
  208. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +1 -1
  209. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +82 -18
  210. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
  211. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +2 -2
  212. package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +1 -1
  213. package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +1 -1
  214. package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +1 -1
  215. package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +1 -1
  216. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +1 -1
  217. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +1 -1
  218. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
  219. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +3 -3
  220. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +1 -1
  221. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +51 -9
  222. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +2 -2
  223. package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +1 -1
  224. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +1 -1
  225. package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +1 -1
  226. package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -4
  227. package/pipeline/skills/shared/external/agentflow/SKILL.md +1 -1
  228. package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +1 -1
  229. package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +1 -1
  230. package/pipeline/skills/shared/external/api-patterns/SKILL.md +1 -1
  231. package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +1 -1
  232. package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +1 -1
  233. package/pipeline/skills/shared/external/backlog/BACKLOG.md +1 -1
  234. package/pipeline/skills/shared/external/backlog/SKILL.md +12 -12
  235. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +1 -1
  236. package/pipeline/skills/shared/external/context-compression/SKILL.md +1 -1
  237. package/pipeline/skills/shared/external/council/SKILL.md +3 -3
  238. package/pipeline/skills/shared/external/css-modern/SKILL.md +1 -1
  239. package/pipeline/skills/shared/external/database-patterns/SKILL.md +1 -1
  240. package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +1 -1
  241. package/pipeline/skills/shared/external/docker-expert/SKILL.md +1 -1
  242. package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +1 -1
  243. package/pipeline/skills/shared/external/firebase/SKILL.md +1 -1
  244. package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +1 -1
  245. package/pipeline/skills/shared/external/help-skills/SKILL.md +1 -1
  246. package/pipeline/skills/shared/external/hig-components-content/SKILL.md +1 -1
  247. package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +1 -1
  248. package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
  249. package/pipeline/skills/shared/external/hig-components-system/SKILL.md +1 -1
  250. package/pipeline/skills/shared/external/hig-foundations/SKILL.md +1 -1
  251. package/pipeline/skills/shared/external/hig-inputs/SKILL.md +1 -1
  252. package/pipeline/skills/shared/external/hig-patterns/SKILL.md +1 -1
  253. package/pipeline/skills/shared/external/hig-platforms/SKILL.md +1 -1
  254. package/pipeline/skills/shared/external/hig-technologies/SKILL.md +1 -1
  255. package/pipeline/skills/shared/external/html-semantic/SKILL.md +1 -1
  256. package/pipeline/skills/shared/external/humanizer/SKILL.md +1 -1
  257. package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +1 -1
  258. package/pipeline/skills/shared/external/ios-developer/SKILL.md +1 -1
  259. package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +1 -1
  260. package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +1 -1
  261. package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +1 -1
  262. package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +1 -1
  263. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +1 -1
  264. package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +1 -1
  265. package/pipeline/skills/shared/external/observability-engineer/SKILL.md +1 -1
  266. package/pipeline/skills/shared/external/python-patterns/SKILL.md +1 -1
  267. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -1
  268. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +1 -1
  269. package/pipeline/skills/shared/external/search-first/SKILL.md +2 -2
  270. package/pipeline/skills/shared/external/skill-creator/SKILL.md +12 -12
  271. package/pipeline/skills/shared/external/skill-creator/audit.md +21 -21
  272. package/pipeline/skills/shared/external/skill-creator/checklist.md +3 -3
  273. package/pipeline/skills/shared/external/skill-creator/examples.md +10 -10
  274. package/pipeline/skills/shared/external/skill-creator/label-check.md +17 -17
  275. package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +86 -50
  276. package/pipeline/skills/shared/external/skill-creator/template.md +9 -9
  277. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +1 -1
  278. package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +1 -1
  279. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
  280. package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +1 -1
  281. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +1 -1
  282. package/pipeline/skills/shared/external/testing-backend/SKILL.md +1 -1
  283. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +1 -1
  284. package/pipeline/skills/shared/external/vue-composition/SKILL.md +1 -1
  285. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -1
  286. package/pipeline/skills/shared/external/web-performance/SKILL.md +1 -1
  287. package/pipeline/skills/shared/external/web-testing/SKILL.md +1 -1
  288. package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +9 -49
  289. package/pipeline/skills/skills-index.md +63 -59
  290. package/pipeline/scripts/smoke-plugin-validate.sh +0 -64
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: python-patterns
3
- description: "Modern Python 3.12+: type hints, dataclasses, Pydantic v2, async/await, context managers, generators, pattern matching"
3
+ description: "Modern Python 3.12+: type hints, dataclasses, Pydantic v2, async/await, context managers, generators, pattern matching. Use when writing or reviewing modern Python: typing, dataclasses, Pydantic, async, generators."
4
4
  tags: [python, type-hints, pydantic, asyncio, dataclasses, backend]
5
5
  version: "2025.1"
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: react-best-practices
3
- description: "React 19+ best practices: Server Components, use() hook, Actions, hooks patterns, state management, and performance optimization"
3
+ description: "React 19+ best practices: Server Components, use() hook, Actions, hooks patterns, state management, and performance optimization. Use when building or reviewing React work: components, hooks, state, Server Components, Actions."
4
4
  tags: [react, frontend, javascript, typescript, hooks, state-management]
5
5
  version: "2025.1"
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rest-api-design
3
- description: "REST API design: HTTP methods, status codes, pagination, versioning, rate limiting, caching headers, OpenAPI documentation"
3
+ description: "REST API design: HTTP methods, status codes, pagination, versioning, rate limiting, caching headers, OpenAPI documentation. Use when a REST surface needs designing or reviewing: methods, status codes, pagination, versioning, caching."
4
4
  tags: [rest, api, http, openapi, pagination, backend]
5
5
  version: "2025.1"
6
6
  ---
@@ -71,6 +71,6 @@ person does not redo the search.
71
71
  ## Anti-patterns
72
72
 
73
73
  - **Jumping to code** before step 0-4.
74
- - **Silent skipping** reporting no prior art when a channel was down or
74
+ - **Silent skipping** - reporting no prior art when a channel was down or
75
75
  unchecked.
76
- - **Dependency reflex** adding a package for a one-liner the repo already has.
76
+ - **Dependency reflex** - adding a package for a one-liner the repo already has.
@@ -1,31 +1,31 @@
1
1
  ---
2
2
  name: skill-creator
3
3
  version: 1.0.0
4
- description: "Author and refine skills for a plugin/toolkit efficiently. Use when creating a new skill, trimming or splitting an existing one, writing a skill's description, or choosing skill vs command vs agent vs CLAUDE.md. Encodes the house rules lean SKILL.md as an index, progressive disclosure into bundled files, the reference (descriptive) vs workflow (imperative) split, no-prefix naming, and growing a skill from observed failures. Bundles a template, a pre-ship checklist, and good/bad description examples."
4
+ description: "Author and refine skills for a plugin/toolkit efficiently. Use when creating a new skill, trimming or splitting an existing one, writing a skill's description, or choosing skill vs command vs agent vs CLAUDE.md. Encodes the house rules - lean SKILL.md as an index, progressive disclosure into bundled files, the reference (descriptive) vs workflow (imperative) split, no-prefix naming, and growing a skill from observed failures. Bundles a template, a pre-ship checklist, and good/bad description examples."
5
5
  user-invocable: true
6
6
  argument-hint: [new | trim | description]
7
7
  allowed-tools: Read, Write, Edit, Glob
8
8
  ---
9
9
 
10
- # skill-creator how to write skills here
10
+ # skill-creator - how to write skills here
11
11
 
12
12
  > **Layer:** reference (knowledge)
13
13
  > **Use when:** creating/trimming a skill, writing a description, or choosing skill vs command/agent/CLAUDE.md.
14
14
  > **Bundled (read on demand):** [template.md](template.md) · [checklist.md](checklist.md) · [examples.md](examples.md) · [label-check.md](label-check.md) · [audit.md](audit.md)
15
15
 
16
16
  ## 1. Is a skill the right tool?
17
- - **CLAUDE.md** broad facts/rules true *every* session.
18
- - **Skill** on-demand procedure or knowledge for a recurring task.
19
- - **Subagent/agent** needs independent reasoning + its own context/tools.
20
- - **MCP server** structured integration with an external system's API.
17
+ - **CLAUDE.md** - broad facts/rules true *every* session.
18
+ - **Skill** - on-demand procedure or knowledge for a recurring task.
19
+ - **Subagent/agent** - needs independent reasoning + its own context/tools.
20
+ - **MCP server** - structured integration with an external system's API.
21
21
 
22
22
  ## 2. The description is discovery (the 90% lever)
23
23
  It's the *only* thing the model sees when deciding to load the skill. **Write it first.** Include **what + when + trigger words + one example trigger**, in third person. (Anthropic's data: vague→specific lifts activation ~20%→50%; adding examples ~72%→90%.) Good/bad pairs in [examples.md](examples.md).
24
24
 
25
25
  ## 3. Keep it lean (it stays in context every turn once loaded)
26
- - `SKILL.md` is an **index** aim for ~1 page, hard cap ~500 lines.
27
- - Push detail into bundled files **one level deep** (reference, examples, scripts). They cost zero tokens until read; nested-deeper files get partially read don't nest.
28
- - A **script executes without its source entering context** prefer a script over asking the model to regenerate code.
26
+ - `SKILL.md` is an **index** - aim for ~1 page, hard cap ~500 lines.
27
+ - Push detail into bundled files **one level deep** (reference, examples, scripts). They cost zero tokens until read; nested-deeper files get partially read - don't nest.
28
+ - A **script executes without its source entering context** - prefer a script over asking the model to regenerate code.
29
29
  - Challenge every line: *"would Claude err without this?"* If no, cut it.
30
30
 
31
31
  ## 4. Pick the right degree of freedom (= our layers)
@@ -34,9 +34,9 @@ It's the *only* thing the model sees when deciding to load the skill. **Write it
34
34
  - **tool skill → thin index over a script/CLI:** lean SKILL.md (when + the run command + sub-commands at a glance), heavy detail in a bundled `reference.md`; the script is the engine (e.g. `tools/figma-utility`).
35
35
 
36
36
  ## 5. Naming
37
- No platform prefix the toolkit name + description already carry it. Reference = aspect noun (`navigation`); workflow = verb-phrase (`branch-and-pr`). Avoid vague/reserved (`helper`, `utils`, `claude-*`). For a name/title/strict-rule label that must carry its **whole intent**, validate it with the fresh-subagent inference test in [label-check.md](label-check.md) before committing.
37
+ No platform prefix - the toolkit name + description already carry it. Reference = aspect noun (`navigation`); workflow = verb-phrase (`branch-and-pr`). Avoid vague/reserved (`helper`, `utils`, `claude-*`). For a name/title/strict-rule label that must carry its **whole intent**, validate it with the fresh-subagent inference test in [label-check.md](label-check.md) before committing.
38
38
 
39
- ## 6. Grow it from real usage don't pre-write
39
+ ## 6. Grow it from real usage - don't pre-write
40
40
  1. Do the task **without** a skill; note where Claude actually fails.
41
41
  2. Write the **minimum** that fixes those gaps.
42
42
  3. Watch Claude use it: move reused detail up into SKILL.md, cut detail it ignores, sharpen the description if it didn't trigger.
@@ -44,5 +44,5 @@ No platform prefix — the toolkit name + description already carry it. Referenc
44
44
  ## Before shipping
45
45
  Start from [template.md](template.md); run [checklist.md](checklist.md). For a new or
46
46
  substantially-changed skill that must be trusted, run the **multi-architect audit**
47
- ([audit.md](audit.md)) a panel of distinct-lens reviewers + synthesis, looped
47
+ ([audit.md](audit.md)) - a panel of distinct-lens reviewers + synthesis, looped
48
48
  fix → re-audit until no blockers/majors remain.
@@ -1,4 +1,4 @@
1
- # Multi-architect audit adversarial quality gate for a skill
1
+ # Multi-architect audit - adversarial quality gate for a skill
2
2
 
3
3
  The [checklist](checklist.md) is the self-review floor. This is the **high-confidence
4
4
  gate**: a panel of N independent reviewers, each a *distinct lens*, reads the skill
@@ -6,22 +6,22 @@ against the rubric + ground truth, then a synthesizer dedups and rules. You **lo
6
6
  fix → re-audit until it passes** (no blockers/majors). Run it before shipping a new
7
7
  or substantially-changed skill, or whenever a skill must be trusted.
8
8
 
9
- Use the [Workflow tool](scripts/audit-panel.js) to fan the panel out it returns
9
+ Use the [Workflow tool](scripts/audit-panel.js) to fan the panel out - it returns
10
10
  `{remaining, clearsBar, verdict}`.
11
11
 
12
12
  ## The loop (run to convergence)
13
- 1. **Panel** N agents, one lens each, read-only. Each returns specific findings
13
+ 1. **Panel** - N agents, one lens each, read-only. Each returns specific findings
14
14
  (severity · file:location · problem · concrete fix). Empty if its lens is clean.
15
- 2. **Synthesize** dedup overlaps; **drop false positives** (verify each against the
15
+ 2. **Synthesize** - dedup overlaps; **drop false positives** (verify each against the
16
16
  real files/repo before keeping); classify blocker / major / minor / nit;
17
17
  `clearsBar = no blockers and no majors remain`.
18
- 3. **If not clean** apply the do-now set (blockers + majors + cheap high-value
18
+ 3. **If not clean** - apply the do-now set (blockers + majors + cheap high-value
19
19
  minors), then run a **fresh** panel (see "Fresh each round") and repeat.
20
20
  4. **Stop** when `clearsBar` is true. The later/nit list is optional polish.
21
21
 
22
22
  ## Rules that make it trustworthy
23
23
  - **Fresh panel each round.** After a fix, re-run the panel anew so agents read the
24
- *current* files do not reuse a prior run's cached results (they reflect the old
24
+ *current* files - do not reuse a prior run's cached results (they reflect the old
25
25
  state and will report fixed issues as open / miss regressions).
26
26
  - **Verify before keeping.** Every finding must be confirmed against the actual file
27
27
  or repo. The synthesizer drops anything it can't reproduce. Prefer findings that
@@ -29,31 +29,31 @@ Use the [Workflow tool](scripts/audit-panel.js) to fan the panel out — it retu
29
29
  - **Ground-truth, not vibes.** Give the panel the rubric ([SKILL.md](SKILL.md) +
30
30
  [checklist.md](checklist.md)), an exemplar skill, and the real source the skill
31
31
  describes (e.g. the iOS repo). Agents read; they don't assume.
32
- - **Watch for regressions.** A fix can break something the red-team lens and the
32
+ - **Watch for regressions.** A fix can break something - the red-team lens and the
33
33
  fresh re-audit exist to catch it (e.g. a broadened check that now false-positives).
34
34
  - **clearsBar gates the merge.** Don't merge with an open blocker/major.
35
35
 
36
- ## Lenses pick the set for the task
36
+ ## Lenses - pick the set for the task
37
37
  One distinct lens per agent (+ a synthesizer). Two ready-made sets:
38
38
 
39
- **General skill audit** discovery · leanness · shape/layer · scripts · accuracy-vs-source · domain-correctness · wiring · boundaries · red-team → synthesis.
39
+ **General skill audit** - discovery · leanness · shape/layer · scripts · accuracy-vs-source · domain-correctness · wiring · boundaries · red-team → synthesis.
40
40
 
41
- **Prompt-engineering audit** (when the concern is *prompt quality* descriptions,
41
+ **Prompt-engineering audit** (when the concern is *prompt quality* - descriptions,
42
42
  instructions, triggering):
43
- 1. **description-as-discovery** what + when + trigger words + example; would it activate on a real task?
44
- 2. **disambiguation** distinct from siblings; a reader can tell when to pick this vs a neighbor.
45
- 3. **trigger coverage** the real user phrasings (and synonyms) are covered.
46
- 4. **instruction clarity** steps are unambiguous, ordered, single-interpretation; no vague directives.
47
- 5. **degrees of freedom / layer fit** reference=descriptive (no numbered procedure), workflow=spine, tool=thin-index; freedom matches the task.
48
- 6. **progressive disclosure / leanness** SKILL.md is an index; detail bundled one level deep; no duplication.
49
- 7. **token efficiency** every line is load-bearing; nothing restates what the model already knows.
50
- 8. **consistency** terminology, naming, paths, cross-references, examples all agree.
51
- 9. **anti-patterns / misfire** would the model over-apply it, skip a gate, hallucinate a path, or follow it into a wrong output?
52
- 10. **red-team** adversarially try to make it not trigger, trigger wrongly, or produce broken output; hunt overclaims (says X, the script doesn't).
43
+ 1. **description-as-discovery** - what + when + trigger words + example; would it activate on a real task?
44
+ 2. **disambiguation** - distinct from siblings; a reader can tell when to pick this vs a neighbor.
45
+ 3. **trigger coverage** - the real user phrasings (and synonyms) are covered.
46
+ 4. **instruction clarity** - steps are unambiguous, ordered, single-interpretation; no vague directives.
47
+ 5. **degrees of freedom / layer fit** - reference=descriptive (no numbered procedure), workflow=spine, tool=thin-index; freedom matches the task.
48
+ 6. **progressive disclosure / leanness** - SKILL.md is an index; detail bundled one level deep; no duplication.
49
+ 7. **token efficiency** - every line is load-bearing; nothing restates what the model already knows.
50
+ 8. **consistency** - terminology, naming, paths, cross-references, examples all agree.
51
+ 9. **anti-patterns / misfire** - would the model over-apply it, skip a gate, hallucinate a path, or follow it into a wrong output?
52
+ 10. **red-team** - adversarially try to make it not trigger, trigger wrongly, or produce broken output; hunt overclaims (says X, the script doesn't).
53
53
 
54
54
  Scale the panel to risk: a quick check is ~3 lenses; a thorough gate is ~10.
55
55
 
56
56
  ## Scope of fixes per round
57
57
  Fix **blockers + majors** always; fold in **cheap, high-value minors** while you're
58
58
  in the file. Defer speculative nits and pre-existing/out-of-scope drift to the
59
- "later" list (and `log()`/note them don't silently drop coverage).
59
+ "later" list (and `log()`/note them - don't silently drop coverage).
@@ -9,13 +9,13 @@ Run before considering a skill done.
9
9
 
10
10
  ## Leanness
11
11
  - [ ] `SKILL.md` reads like an index, ~1 page (hard cap ~500 lines).
12
- - [ ] Detail lives in bundled files **one level deep** no nested-deeper references.
13
- - [ ] Every line survives "would Claude err without this?" no over-explaining, no restating what the model knows.
12
+ - [ ] Detail lives in bundled files **one level deep** - no nested-deeper references.
13
+ - [ ] Every line survives "would Claude err without this?" - no over-explaining, no restating what the model knows.
14
14
  - [ ] Deterministic code is a **script**, not prose asking the model to regenerate it.
15
15
 
16
16
  ## Shape
17
17
  - [ ] Layer is explicit (reference or workflow) and matches the content.
18
- - [ ] **Reference** skill has **no numbered procedures** heuristics + pointers only.
18
+ - [ ] **Reference** skill has **no numbered procedures** - heuristics + pointers only.
19
19
  - [ ] **Workflow** skill's numbered steps are **only** the deterministic/irreversible spine, and it has a **verification gate**.
20
20
  - [ ] Conventions **point to canonical files** rather than pasting code that will rot.
21
21
 
@@ -1,22 +1,22 @@
1
- # Examples descriptions & shape
1
+ # Examples - descriptions & shape
2
2
 
3
3
  ## Descriptions: the discovery lever
4
4
 
5
- **Bad (vague rarely triggers):**
5
+ **Bad (vague - rarely triggers):**
6
6
  ```yaml
7
7
  description: Helps with navigation
8
8
  ```
9
- Why it fails: no "when", no trigger words, no platform the router can't tell what task this matches.
9
+ Why it fails: no "when", no trigger words, no platform - the router can't tell what task this matches.
10
10
 
11
11
  **Good (what + when + triggers + platform):**
12
12
  ```yaml
13
- description: "In-app navigation for a SwiftUI iOS app the coordinator-per-domain pattern, the tab shell, cross-domain navigation, deep links, and modals. Reach for this when adding a screen, a tab, a deep link, or a modal, or deciding how one screen reaches another."
13
+ description: "In-app navigation for a SwiftUI iOS app - the coordinator-per-domain pattern, the tab shell, cross-domain navigation, deep links, and modals. Reach for this when adding a screen, a tab, a deep link, or a modal, or deciding how one screen reaches another."
14
14
  ```
15
15
  Why it works: states the domain, lists concrete triggers ("adding a screen, a tab, a deep link"), names the platform, and implies the boundary.
16
16
 
17
17
  **Workflow example (action + when to run):**
18
18
  ```yaml
19
- description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR spine and house guardrails type-first branch names, no AI attribution, no force-push, correct base branch. Reach for this whenever a change is ready to ship."
19
+ description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR spine and house guardrails - type-first branch names, no AI attribution, no force-push, correct base branch. Reach for this whenever a change is ready to ship."
20
20
  ```
21
21
 
22
22
  ### Recipe
@@ -26,7 +26,7 @@ description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR
26
26
 
27
27
  ## Shape: reference vs workflow
28
28
 
29
- **Wrong a reference skill drifting into a procedure:**
29
+ **Wrong - a reference skill drifting into a procedure:**
30
30
  ```markdown
31
31
  ## Procedures
32
32
  1. Open the file
@@ -36,7 +36,7 @@ description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR
36
36
  ```
37
37
  A reference (knowledge) skill should describe *the rule and where the canonical example lives*, not script the keystrokes.
38
38
 
39
- **Right reference stays descriptive:**
39
+ **Right - reference stays descriptive:**
40
40
  ```markdown
41
41
  ## Decision rules
42
42
  - New screen in a domain → add `<Name>Screen` under its Presentation layer,
@@ -44,14 +44,14 @@ A reference (knowledge) skill should describe *the rule and where the canonical
44
44
  Canonical: `<repo>/Features/Profile/ProfileScreen.swift`.
45
45
  ```
46
46
 
47
- **Right workflow earns its numbered steps** (deterministic/irreversible spine):
47
+ **Right - workflow earns its numbered steps** (deterministic/irreversible spine):
48
48
  ```markdown
49
49
  ## Procedures
50
50
  1. Pre-flight: `git status` clean? on base branch?
51
51
  2. Branch: `git checkout -b <type>/<scope>/<desc>`
52
52
  3. Commit: stage; conventional message; strip any AI co-author trailer.
53
53
  4. Push; never force-push a protected branch.
54
- 5. PR: `gh pr create --base <base> …` (no AI footer).
54
+ 5. PR: `gh pr create --base <base> ...` (no AI footer).
55
55
  ## Verification
56
56
  - `git log -1` shows clean message, no AI trailer, correct author.
57
57
  ```
@@ -60,6 +60,6 @@ A reference (knowledge) skill should describe *the rule and where the canonical
60
60
 
61
61
  ## Leanness: cut what the model already knows
62
62
 
63
- **Bloat:** "PDF files are documents that contain text and images. To read them you first need a library that can parse the binary format"
63
+ **Bloat:** "PDF files are documents that contain text and images. To read them you first need a library that can parse the binary format..."
64
64
 
65
65
  **Lean:** "Extract text from PDFs with `pdfplumber`."
@@ -1,35 +1,35 @@
1
- # Label intent check does a title carry its own meaning?
1
+ # Label intent check - does a title carry its own meaning?
2
2
 
3
- A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape ambiguous, one-sided, or off-topic the reader forms the wrong model and the body has to fight it. This is a cheap test that catches that early: have **fresh subagents infer the rule from the label alone**, then compare against your intended meaning. Convergence = the label is self-carrying.
3
+ A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape - ambiguous, one-sided, or off-topic - the reader forms the wrong model and the body has to fight it. This is a cheap test that catches that early: have **fresh subagents infer the rule from the label alone**, then compare against your intended meaning. Convergence = the label is self-carrying.
4
4
 
5
5
  ## When to run it
6
6
  - Naming a **strict rule** or constraint inside a skill (the kind a reader must obey).
7
7
  - A **section header** that gates non-trivial content (phase/principle/constraint names).
8
- - Any label meant to convey the **whole intent** of its body (not a summary the intent).
9
- - Skip it for purely organizational labels ("Examples", "See also") they carry no intent.
8
+ - Any label meant to convey the **whole intent** of its body (not a summary - the intent).
9
+ - Skip it for purely organizational labels ("Examples", "See also") - they carry no intent.
10
10
 
11
11
  ## Inputs (collect first)
12
- 1. **Candidate label** the exact string under test.
13
- 2. **Surrounding context** one paragraph: which skill/doc, what adjacent labels cover, the domain concepts in play.
14
- 3. **Intended meaning** 13 sentences of ground truth (what the body says / what the reader should walk away believing). **Not** shown to the inference agents. If you can't state it in 3 sentences, the body is unclear fix that first.
12
+ 1. **Candidate label** - the exact string under test.
13
+ 2. **Surrounding context** - one paragraph: which skill/doc, what adjacent labels cover, the domain concepts in play.
14
+ 3. **Intended meaning** - 1-3 sentences of ground truth (what the body says / what the reader should walk away believing). **Not** shown to the inference agents. If you can't state it in 3 sentences, the body is unclear - fix that first.
15
15
 
16
16
  ## Procedure
17
17
  **One iteration = 5 parallel subagents**, each given ONLY the label + context (never the body), each forced to commit:
18
18
  ```
19
- Context: <surrounding context 1 paragraph>.
19
+ Context: <surrounding context - 1 paragraph>.
20
20
  The label under test is: **"<candidate label>"**
21
21
  You have NOT seen the body. From ONLY this label + context, what do you infer it
22
- enforces / requires / means? 12 concrete sentences, under 80 words. Commit no
22
+ enforces / requires / means? 1-2 concrete sentences, under 80 words. Commit - no
23
23
  hedging, no clarifying questions.
24
24
  ```
25
25
  Launch all 5 in the **same** message (parallel) so they're independent by construction.
26
26
 
27
27
  **Convergence (per iteration), comparing the 5 inferences to the intended meaning:**
28
- - **PASS** ≥4/5 cover *all* key intent beats (including the bidirectional / edge / scope beat, if the intent has one). Wording drift is fine.
29
- - **PARTIAL** they consistently catch one side of a bidirectional rule but miss the other, or over-extend into an adjacent concern. Revise the label, re-run.
30
- - **FAIL** inferences diverge wildly or miss the core beat. Revise, re-run.
28
+ - **PASS** - ≥4/5 cover *all* key intent beats (including the bidirectional / edge / scope beat, if the intent has one). Wording drift is fine.
29
+ - **PARTIAL** - they consistently catch one side of a bidirectional rule but miss the other, or over-extend into an adjacent concern. Revise the label, re-run.
30
+ - **FAIL** - inferences diverge wildly or miss the core beat. Revise, re-run.
31
31
 
32
- **Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss confirms the PASS wasn't luck. A regression in round 2/3 → treat as PARTIAL and iterate.
32
+ **Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss - confirms the PASS wasn't luck. A regression in round 2/3 → treat as PARTIAL and iterate.
33
33
 
34
34
  **Termination:** converged (3/3 PASS) → apply the label. 3 iterations without a PASS → stop, hand back the best candidate + the persistent miss; don't force a label that won't stick.
35
35
 
@@ -37,7 +37,7 @@ Launch all 5 in the **same** message (parallel) so they're independent by constr
37
37
  5 agents/round · 3 rounds · 80-word inference cap · max 3 iterations before handing back. High-stakes labels (top-level skill names, protocol names) → 7 agents × 3 rounds; throwaway section headers → 3 × 2.
38
38
 
39
39
  ## Anti-patterns
40
- - **Giving agents the body** defeats the test (you're checking the label's *self-carrying* power).
41
- - **Running sequentially** they'd anchor on each other; must be parallel.
42
- - **Tweaking one word on a FAIL** step back and rethink the concept the label names, don't polish a wrong handle.
43
- - **Accepting "mostly right"** a label that reliably misses a beat misleads every reader the same way. Fix it, or accept the rule is one-sided and split the body.
40
+ - **Giving agents the body** - defeats the test (you're checking the label's *self-carrying* power).
41
+ - **Running sequentially** - they'd anchor on each other; must be parallel.
42
+ - **Tweaking one word on a FAIL** - step back and rethink the concept the label names, don't polish a wrong handle.
43
+ - **Accepting "mostly right"** - a label that reliably misses a beat misleads every reader the same way. Fix it, or accept the rule is one-sided and split the body.
@@ -1,42 +1,57 @@
1
- // audit-panel.js Workflow template for the multi-architect skill audit.
1
+ // audit-panel.js - Workflow template for the multi-architect skill audit.
2
2
  //
3
3
  // Run with the Workflow tool. Edit the CONFIG block for your target, then launch.
4
4
  // Returns { remaining, clearsBar, verdict }. If clearsBar is false, apply the
5
- // `remaining` blockers/majors, then RE-RUN A FRESH copy (do NOT resume agents
5
+ // `remaining` blockers/majors, then RE-RUN A FRESH copy (do NOT resume - agents
6
6
  // must read the current files). Loop until clearsBar. See ../audit.md.
7
7
 
8
8
  export const meta = {
9
- name: 'skill-audit-panel',
10
- description: 'Adversarial N-architect audit of a skill against the skill-creator rubric',
11
- phases: [{ title: 'Audit' }, { title: 'Synthesis' }],
12
- }
9
+ name: "skill-audit-panel",
10
+ description: "Adversarial N-architect audit of a skill against the skill-creator rubric",
11
+ phases: [{ title: "Audit" }, { title: "Synthesis" }],
12
+ };
13
13
 
14
- // ── CONFIG edit these ──────────────────────────────────────────────────────
14
+ // ── CONFIG - edit these ──────────────────────────────────────────────────────
15
15
  const TARGET = `
16
16
  - <abs path to SKILL.md>
17
17
  - <abs path to each bundled file / script>
18
- `
19
- const RUBRIC = `<abs path to reference/skill-creator/SKILL.md> + checklist.md`
20
- const EXEMPLAR = `<abs path to a known-good skill of the same layer>`
21
- const GROUND_TRUTH = `<abs path to the real source the skill describes (e.g. the iOS repo), with key facts>`
18
+ `;
19
+ const RUBRIC = `<abs path to reference/skill-creator/SKILL.md> + checklist.md`;
20
+ const EXEMPLAR = `<abs path to a known-good skill of the same layer>`;
21
+ const GROUND_TRUTH = `<abs path to the real source the skill describes (e.g. the iOS repo), with key facts>`;
22
22
  // Pick a lens set from audit.md (general or prompt-engineering). [label, brief] pairs:
23
23
  const LENSES = [
24
- ['discovery', 'description-as-discovery: what+when+trigger words+example; would it activate on a real task?'],
25
- ['disambiguation', 'distinct from sibling skills; a reader can tell when to pick this vs a neighbor.'],
26
- ['triggers', 'real user phrasings + synonyms are covered.'],
27
- ['clarity', 'instructions unambiguous, ordered, single-interpretation; no vague directives.'],
28
- ['layer', 'degrees of freedom match the layer (reference=descriptive / workflow=spine / tool=thin-index).'],
29
- ['leanness', 'SKILL.md is an index; detail bundled one level deep; no duplication or bloat.'],
30
- ['tokens', 'every line load-bearing; nothing restates what the model already knows.'],
31
- ['consistency', 'terminology, naming, paths, cross-refs, examples all agree.'],
32
- ['misfire', 'would the model over-apply, skip a gate, hallucinate a path, or follow it to a wrong output?'],
33
- ['redteam', 'adversarially make it not trigger / trigger wrongly / produce broken output; hunt overclaims (says X, script does not).'],
34
- ]
24
+ [
25
+ "discovery",
26
+ "description-as-discovery: what+when+trigger words+example; would it activate on a real task?",
27
+ ],
28
+ [
29
+ "disambiguation",
30
+ "distinct from sibling skills; a reader can tell when to pick this vs a neighbor.",
31
+ ],
32
+ ["triggers", "real user phrasings + synonyms are covered."],
33
+ ["clarity", "instructions unambiguous, ordered, single-interpretation; no vague directives."],
34
+ [
35
+ "layer",
36
+ "degrees of freedom match the layer (reference=descriptive / workflow=spine / tool=thin-index).",
37
+ ],
38
+ ["leanness", "SKILL.md is an index; detail bundled one level deep; no duplication or bloat."],
39
+ ["tokens", "every line load-bearing; nothing restates what the model already knows."],
40
+ ["consistency", "terminology, naming, paths, cross-refs, examples all agree."],
41
+ [
42
+ "misfire",
43
+ "would the model over-apply, skip a gate, hallucinate a path, or follow it to a wrong output?",
44
+ ],
45
+ [
46
+ "redteam",
47
+ "adversarially make it not trigger / trigger wrongly / produce broken output; hunt overclaims (says X, script does not).",
48
+ ],
49
+ ];
35
50
  // ─────────────────────────────────────────────────────────────────────────────
36
51
 
37
52
  const COMMON = `
38
53
  You are auditing a skill. Read the CURRENT files and report ONLY genuine, specific,
39
- reproducible findings for YOUR lens. Verify against the rubric + ground truth do
54
+ reproducible findings for YOUR lens. Verify against the rubric + ground truth - do
40
55
  not assume. Read-only; do NOT edit. If your lens is clean, return an empty array.
41
56
 
42
57
  TARGET (the skill under audit):${TARGET}
@@ -45,39 +60,60 @@ EXEMPLAR (known-good of this layer): ${EXEMPLAR}
45
60
  GROUND TRUTH (what the skill describes): ${GROUND_TRUTH}
46
61
 
47
62
  Each finding: severity (blocker|major|minor|nit), file:location, the problem, the concrete fix.
48
- `
63
+ `;
49
64
 
50
65
  const FINDING = {
51
- type: 'object', additionalProperties: false,
66
+ type: "object",
67
+ additionalProperties: false,
52
68
  properties: {
53
- severity: { type: 'string', enum: ['blocker', 'major', 'minor', 'nit'] },
54
- location: { type: 'string' }, problem: { type: 'string' }, fix: { type: 'string' },
55
- }, required: ['severity', 'location', 'problem', 'fix'],
56
- }
69
+ severity: { type: "string", enum: ["blocker", "major", "minor", "nit"] },
70
+ location: { type: "string" },
71
+ problem: { type: "string" },
72
+ fix: { type: "string" },
73
+ },
74
+ required: ["severity", "location", "problem", "fix"],
75
+ };
57
76
  const LENS_SCHEMA = {
58
- type: 'object', additionalProperties: false,
59
- properties: { lens: { type: 'string' }, findings: { type: 'array', items: FINDING } },
60
- required: ['lens', 'findings'],
61
- }
77
+ type: "object",
78
+ additionalProperties: false,
79
+ properties: { lens: { type: "string" }, findings: { type: "array", items: FINDING } },
80
+ required: ["lens", "findings"],
81
+ };
62
82
 
63
- phase('Audit')
64
- const results = await parallel(LENSES.map(([lens, brief]) => () =>
65
- agent(`${COMMON}\n\nYOUR LENS — ${lens}: ${brief}`, { label: `audit:${lens}`, phase: 'Audit', schema: LENS_SCHEMA })
66
- ))
67
- const all = results.filter(Boolean).flatMap(r => r.findings.map(f => ({ ...f, lens: r.lens })))
83
+ phase("Audit");
84
+ const results = await parallel(
85
+ LENSES.map(
86
+ ([lens, brief]) =>
87
+ () =>
88
+ agent(`${COMMON}\n\nYOUR LENS - ${lens}: ${brief}`, {
89
+ label: `audit:${lens}`,
90
+ phase: "Audit",
91
+ schema: LENS_SCHEMA,
92
+ }),
93
+ ),
94
+ );
95
+ const all = results.filter(Boolean).flatMap((r) => r.findings.map((f) => ({ ...f, lens: r.lens })));
68
96
 
69
- phase('Synthesis')
97
+ phase("Synthesis");
70
98
  const SYNTH = {
71
- type: 'object', additionalProperties: false,
99
+ type: "object",
100
+ additionalProperties: false,
72
101
  properties: {
73
- remaining: { type: 'array', items: { type: 'object', additionalProperties: false,
74
- properties: { ...FINDING.properties, lenses: { type: 'string' } },
75
- required: [...FINDING.required, 'lenses'] } },
76
- clearsBar: { type: 'boolean' },
77
- verdict: { type: 'string' },
78
- }, required: ['remaining', 'clearsBar', 'verdict'],
79
- }
102
+ remaining: {
103
+ type: "array",
104
+ items: {
105
+ type: "object",
106
+ additionalProperties: false,
107
+ properties: { ...FINDING.properties, lenses: { type: "string" } },
108
+ required: [...FINDING.required, "lenses"],
109
+ },
110
+ },
111
+ clearsBar: { type: "boolean" },
112
+ verdict: { type: "string" },
113
+ },
114
+ required: ["remaining", "clearsBar", "verdict"],
115
+ };
80
116
  return await agent(
81
- `${COMMON}\n\nYou are the SYNTHESIS architect. Below are ${all.length} raw findings from ${LENSES.length} lenses. Dedup overlaps (note which lenses raised each). DROP false positives verify against the files before keeping; if you cannot reproduce it, drop it. Classify each survivor; set clearsBar=true ONLY if no blockers and no majors remain. One-paragraph verdict.\n\nRAW:\n${JSON.stringify(all, null, 2)}`,
82
- { label: 'synthesis', phase: 'Synthesis', schema: SYNTH }
83
- )
117
+ `${COMMON}\n\nYou are the SYNTHESIS architect. Below are ${all.length} raw findings from ${LENSES.length} lenses. Dedup overlaps (note which lenses raised each). DROP false positives - verify against the files before keeping; if you cannot reproduce it, drop it. Classify each survivor; set clearsBar=true ONLY if no blockers and no majors remain. One-paragraph verdict.\n\nRAW:\n${JSON.stringify(all, null, 2)}`,
118
+ { label: "synthesis", phase: "Synthesis", schema: SYNTH },
119
+ );
@@ -1,30 +1,30 @@
1
1
  # Skill skeletons
2
2
 
3
- Two skeletons pick by layer. Both stay lean; push detail into one-level-deep bundled files.
3
+ Two skeletons - pick by layer. Both stay lean; push detail into one-level-deep bundled files.
4
4
 
5
5
  Frontmatter fields used in this toolkit: `name`, `description` (required-quality), `user-invocable`, `argument-hint` (optional), `allowed-tools`.
6
6
 
7
7
  ---
8
8
 
9
- ## Reference skill (descriptive knowledge)
9
+ ## Reference skill (descriptive - knowledge)
10
10
 
11
11
  No numbered procedures. Principles + pointers + heuristics.
12
12
 
13
13
  ```markdown
14
14
  ---
15
- name: <aspect-noun> # e.g. navigation NO platform prefix
15
+ name: <aspect-noun> # e.g. navigation - NO platform prefix
16
16
  description: <what it covers + when to reach for it + trigger words. Say "iOS/SwiftUI" so the router can disambiguate.>
17
17
  user-invocable: true
18
18
  allowed-tools: Read, Grep, Glob, Bash, Edit, Write
19
19
  ---
20
20
 
21
- # <name> <short title>
21
+ # <name> - <short title>
22
22
 
23
23
  > **Layer:** reference (knowledge)
24
24
  > **Use when:** <trigger> **Hand off to:** <sibling skill>
25
25
 
26
26
  ## Scope
27
- In / out, 12 lines.
27
+ In / out, 1-2 lines.
28
28
 
29
29
  ## Invariants <!-- non-negotiables + the why -->
30
30
  ## Conventions & golden paths <!-- point to canonical files; don't paste code -->
@@ -35,7 +35,7 @@ In / out, 1–2 lines.
35
35
 
36
36
  ---
37
37
 
38
- ## Workflow skill (imperative action)
38
+ ## Workflow skill (imperative - action)
39
39
 
40
40
  Has a numbered procedure, but only for the deterministic/irreversible spine. Cite reference skills for judgment. Always include a verification gate.
41
41
 
@@ -48,17 +48,17 @@ argument-hint: [<step> | ...]
48
48
  allowed-tools: Bash, Read
49
49
  ---
50
50
 
51
- # <name> <short title>
51
+ # <name> - <short title>
52
52
 
53
53
  > **Layer:** workflow (action)
54
54
  > **Use when:** <trigger> **Don't use when:** <hand off>
55
55
 
56
56
  ## Scope
57
- In / out, 12 lines.
57
+ In / out, 1-2 lines.
58
58
 
59
59
  ## Invariants <!-- hard rules / guardrails -->
60
60
  ## Conventions & golden paths <!-- base branch, auth, canonical commands -->
61
- ## Decision rules <!-- branch when…, escalate when -->
61
+ ## Decision rules <!-- branch when..., escalate when... -->
62
62
  ## Procedures <!-- IMPERATIVE: only deterministic/irreversible steps -->
63
63
  1. ...
64
64
  ## Verification <!-- IMPERATIVE: prove it worked (build/run/test) -->
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: swift-concurrency-expert
3
- description: Review and fix Swift concurrency issues such as actor isolation and Sendable violations.
3
+ description: "Review and fix Swift concurrency issues such as actor isolation and Sendable violations. Use when a Swift concurrency problem needs diagnosing, such as actor isolation or a Sendable violation."
4
4
  risk: safe
5
5
  source: "Dimillian/Skills (MIT)"
6
6
  date_added: "2026-03-25"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: swiftui-performance-audit
3
- description: Audit SwiftUI performance issues from code review and profiling evidence.
3
+ description: "Audit SwiftUI performance issues from code review and profiling evidence. Use when a SwiftUI view is slow and the cause has to be found from code and profiling evidence."
4
4
  risk: safe
5
5
  source: "Dimillian/Skills (MIT)"
6
6
  date_added: "2026-03-25"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: swiftui-ui-patterns
3
- description: Apply proven SwiftUI UI patterns for navigation, sheets, async state, and reusable screens.
3
+ description: "Apply proven SwiftUI UI patterns for navigation, sheets, async state, and reusable screens. Use when a SwiftUI screen needs a proven pattern for navigation, sheets, async state or reuse."
4
4
  risk: safe
5
5
  source: "Dimillian/Skills (MIT)"
6
6
  date_added: "2026-03-25"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: swiftui-view-refactor
3
- description: Refactor SwiftUI views into smaller components with stable, explicit data flow.
3
+ description: "Refactor SwiftUI views into smaller components with stable, explicit data flow. Use when a SwiftUI view has grown too large and needs splitting with clear data flow."
4
4
  risk: safe
5
5
  source: "Dimillian/Skills (MIT)"
6
6
  date_added: "2026-03-25"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: tailwind-css
3
- description: "Tailwind CSS v4: utility-first styling, responsive design, dark mode, custom themes, component patterns, and cn() utility"
3
+ description: "Tailwind CSS v4: utility-first styling, responsive design, dark mode, custom themes, component patterns, and cn() utility. Use when styling or reviewing UI with Tailwind: utilities, responsive design, dark mode, theming."
4
4
  tags: [tailwind, css, styling, responsive, dark-mode, frontend]
5
5
  version: "2025.1"
6
6
  ---