wicked-garden 12.27.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 (640) hide show
  1. package/.claude-plugin/archetypes.json +166 -0
  2. package/.claude-plugin/components.json +75 -0
  3. package/.claude-plugin/marketplace.json +15 -0
  4. package/.claude-plugin/plugin.json +174 -0
  5. package/.claude-plugin/specialist.json +48 -0
  6. package/.claude-plugin/stack-registry.json +96 -0
  7. package/AGENTS.md +13 -0
  8. package/CHANGELOG.md +712 -0
  9. package/CONTRIBUTING.md +99 -0
  10. package/ETHOS.md +83 -0
  11. package/LICENSE +21 -0
  12. package/README.md +115 -0
  13. package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
  14. package/agents/agentic/architect.md +449 -0
  15. package/agents/agentic/performance-analyst.md +702 -0
  16. package/agents/agentic/safety-reviewer.md +662 -0
  17. package/agents/crew/implementer.md +163 -0
  18. package/agents/crew/researcher.md +94 -0
  19. package/agents/crew/reviewer.md +184 -0
  20. package/agents/data/data-engineer.md +227 -0
  21. package/agents/engineering/api-documentarian.md +440 -0
  22. package/agents/engineering/migration-engineer.md +301 -0
  23. package/agents/engineering/solution-architect.md +208 -0
  24. package/agents/jam/brainstorm-facilitator.md +297 -0
  25. package/agents/jam/council.md +322 -0
  26. package/agents/jam/quick-facilitator.md +85 -0
  27. package/agents/persona/persona-agent.md +121 -0
  28. package/agents/platform/compliance-officer.md +266 -0
  29. package/agents/platform/privacy-expert.md +496 -0
  30. package/agents/platform/security-engineer.md +287 -0
  31. package/agents/product/a11y-expert.md +323 -0
  32. package/agents/product/requirements-analyst.md +238 -0
  33. package/agents/product/ui-reviewer.md +180 -0
  34. package/agents/product/ux-designer.md +199 -0
  35. package/agents/product/value-strategist.md +269 -0
  36. package/agents/qe/semantic-reviewer.md +78 -0
  37. package/commands/agentic/audit.md +24 -0
  38. package/commands/agentic/design.md +24 -0
  39. package/commands/agentic/frameworks.md +25 -0
  40. package/commands/agentic/review.md +27 -0
  41. package/commands/archetype/build.md +12 -0
  42. package/commands/archetype/decide.md +12 -0
  43. package/commands/archetype/explore.md +12 -0
  44. package/commands/archetype/incident.md +12 -0
  45. package/commands/archetype/migrate.md +12 -0
  46. package/commands/archetype/modernize.md +12 -0
  47. package/commands/archetype/review.md +14 -0
  48. package/commands/archetype/ship.md +12 -0
  49. package/commands/archetype/specify.md +12 -0
  50. package/commands/archetype/triage.md +12 -0
  51. package/commands/compile.md +37 -0
  52. package/commands/data/analyze.md +18 -0
  53. package/commands/data/data.md +21 -0
  54. package/commands/data/ml.md +18 -0
  55. package/commands/data/ontology.md +22 -0
  56. package/commands/data/pipeline.md +17 -0
  57. package/commands/deliberate.md +181 -0
  58. package/commands/engineering/add-field.md +77 -0
  59. package/commands/engineering/apply.md +58 -0
  60. package/commands/engineering/arch.md +26 -0
  61. package/commands/engineering/debug.md +27 -0
  62. package/commands/engineering/docs.md +27 -0
  63. package/commands/engineering/new-generator.md +257 -0
  64. package/commands/engineering/patch-plan.md +59 -0
  65. package/commands/engineering/plan.md +29 -0
  66. package/commands/engineering/remove.md +48 -0
  67. package/commands/engineering/rename.md +44 -0
  68. package/commands/engineering/review.md +32 -0
  69. package/commands/help.md +128 -0
  70. package/commands/install.md +118 -0
  71. package/commands/intent.md +54 -0
  72. package/commands/jam/brainstorm.md +37 -0
  73. package/commands/jam/council.md +49 -0
  74. package/commands/jam/quick.md +21 -0
  75. package/commands/jam/revisit.md +79 -0
  76. package/commands/persona/as.md +136 -0
  77. package/commands/persona/define.md +24 -0
  78. package/commands/persona/list.md +118 -0
  79. package/commands/platform/actions.md +20 -0
  80. package/commands/platform/assert.md +18 -0
  81. package/commands/platform/audit.md +23 -0
  82. package/commands/platform/compliance.md +20 -0
  83. package/commands/platform/gh.md +22 -0
  84. package/commands/platform/health.md +22 -0
  85. package/commands/platform/incident.md +23 -0
  86. package/commands/platform/infra.md +24 -0
  87. package/commands/platform/peer-health.md +103 -0
  88. package/commands/platform/plugin-health.md +58 -0
  89. package/commands/platform/security.md +38 -0
  90. package/commands/platform/toolchain.md +96 -0
  91. package/commands/platform/traces.md +20 -0
  92. package/commands/product/a11y.md +19 -0
  93. package/commands/product/acceptance.md +19 -0
  94. package/commands/product/align.md +20 -0
  95. package/commands/product/analyze.md +23 -0
  96. package/commands/product/elicit.md +19 -0
  97. package/commands/product/listen.md +24 -0
  98. package/commands/product/mockup.md +20 -0
  99. package/commands/product/screenshot.md +19 -0
  100. package/commands/product/strategy.md +40 -0
  101. package/commands/product/synthesize.md +23 -0
  102. package/commands/product/ux-review.md +42 -0
  103. package/commands/product/ux.md +20 -0
  104. package/commands/product/visual-direction.md +34 -0
  105. package/commands/prove.md +47 -0
  106. package/commands/report-issue.md +243 -0
  107. package/commands/reset.md +144 -0
  108. package/commands/search/blast-radius.md +58 -0
  109. package/commands/search/hotspots.md +55 -0
  110. package/commands/search/index.md +38 -0
  111. package/commands/search/lineage.md +47 -0
  112. package/commands/search/service-map.md +79 -0
  113. package/commands/setup.md +363 -0
  114. package/commands/smaht/briefing.md +200 -0
  115. package/commands/smaht/events-import.md +95 -0
  116. package/commands/smaht/state.md +19 -0
  117. package/commands/where-am-i.md +58 -0
  118. package/docs/README.md +32 -0
  119. package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
  120. package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
  121. package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
  122. package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
  123. package/docs/brain-chunk-format.md +135 -0
  124. package/docs/compiler.md +95 -0
  125. package/docs/daemon-api.md +70 -0
  126. package/docs/domains.md +197 -0
  127. package/docs/getting-started.md +208 -0
  128. package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
  129. package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
  130. package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
  131. package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
  132. package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
  133. package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
  134. package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
  135. package/docs/required-peers.md +60 -0
  136. package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
  137. package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
  138. package/docs/v11/archetypes.md +231 -0
  139. package/hooks/hooks.json +275 -0
  140. package/hooks/scripts/bootstrap.py +1797 -0
  141. package/hooks/scripts/invoke.py +62 -0
  142. package/hooks/scripts/notification.py +166 -0
  143. package/hooks/scripts/permission_request.py +223 -0
  144. package/hooks/scripts/post_tool.py +1374 -0
  145. package/hooks/scripts/pre_compact.py +272 -0
  146. package/hooks/scripts/pre_tool.py +1278 -0
  147. package/hooks/scripts/prompt_submit.py +1109 -0
  148. package/hooks/scripts/session_end.py +95 -0
  149. package/hooks/scripts/stop.py +624 -0
  150. package/hooks/scripts/subagent_lifecycle.py +464 -0
  151. package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
  152. package/hooks/scripts/task_completed.py +322 -0
  153. package/hooks/scripts/worktree_guard.py +148 -0
  154. package/hooks/subscriptions/on_gate_decided.json +9 -0
  155. package/install.mjs +128 -0
  156. package/package.json +41 -0
  157. package/pyproject.toml +59 -0
  158. package/schemas/README.md +32 -0
  159. package/schemas/assert_contracts.json +37 -0
  160. package/schemas/health_probe.json +46 -0
  161. package/schemas/plugin_status.json +37 -0
  162. package/scripts/_adapters/__init__.py +166 -0
  163. package/scripts/_adapters/jira_adapter.py +18 -0
  164. package/scripts/_adapters/linear_adapter.py +18 -0
  165. package/scripts/_adapters/miro_adapter.py +18 -0
  166. package/scripts/_adapters/notion_adapter.py +18 -0
  167. package/scripts/_agents.py +357 -0
  168. package/scripts/_brain_ingest/__init__.py +2 -0
  169. package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
  170. package/scripts/_brain_port.py +163 -0
  171. package/scripts/_bus.py +1081 -0
  172. package/scripts/_bus_catalog_gen.py +93 -0
  173. package/scripts/_bus_consumers.json +46 -0
  174. package/scripts/_bus_emit.py +43 -0
  175. package/scripts/_capability_registry.py +334 -0
  176. package/scripts/_capability_resolver.py +322 -0
  177. package/scripts/_domain_store.py +559 -0
  178. package/scripts/_event_log_reader.py +154 -0
  179. package/scripts/_event_schema.py +305 -0
  180. package/scripts/_event_store.py +397 -0
  181. package/scripts/_heavy_cadence.py +324 -0
  182. package/scripts/_integration_resolver.py +321 -0
  183. package/scripts/_logger.py +151 -0
  184. package/scripts/_loom.py +482 -0
  185. package/scripts/_paths.py +133 -0
  186. package/scripts/_python.sh +22 -0
  187. package/scripts/_run.py +137 -0
  188. package/scripts/_session.py +502 -0
  189. package/scripts/_validate_registry.py +1042 -0
  190. package/scripts/_wicked_testing_probe.py +277 -0
  191. package/scripts/agentic/analyze_agents.py +391 -0
  192. package/scripts/agentic/detect_framework.py +420 -0
  193. package/scripts/agentic/issue_taxonomy.py +357 -0
  194. package/scripts/agentic/pattern_scorer.py +434 -0
  195. package/scripts/classify/persist.py +169 -0
  196. package/scripts/compiler/compile.py +552 -0
  197. package/scripts/compiler/phase0/VERDICT.md +60 -0
  198. package/scripts/compiler/phase0/detect.py +292 -0
  199. package/scripts/compiler/phase0/emit.py +228 -0
  200. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
  201. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
  202. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
  203. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
  204. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
  205. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
  206. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
  207. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
  208. package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
  209. package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
  210. package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
  211. package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
  212. package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
  213. package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
  214. package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
  215. package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
  216. package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
  217. package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
  218. package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
  219. package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
  220. package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
  221. package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
  222. package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
  223. package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
  224. package/scripts/compiler/phase0/evidence/verdict.json +104 -0
  225. package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
  226. package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
  227. package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
  228. package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
  229. package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
  230. package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
  231. package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
  232. package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
  233. package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
  234. package/scripts/compiler/phase0/run_probe.py +234 -0
  235. package/scripts/compiler/phase0/wire_vault.py +310 -0
  236. package/scripts/crew/__init__.py +0 -0
  237. package/scripts/crew/_task_audit_writer.py +243 -0
  238. package/scripts/crew/_task_reader.py +389 -0
  239. package/scripts/crew/archetypes_v11.py +348 -0
  240. package/scripts/crew/detectors/__init__.py +12 -0
  241. package/scripts/crew/flow_compiler.py +121 -0
  242. package/scripts/crew/phase_manager.py +703 -0
  243. package/scripts/crew/scope_delta.py +264 -0
  244. package/scripts/crew/specialist_resolver.py +218 -0
  245. package/scripts/crew/stack_registry.py +189 -0
  246. package/scripts/data/data_profiler.py +271 -0
  247. package/scripts/data/ontology_recommender.py +231 -0
  248. package/scripts/data/schema_validator.py +267 -0
  249. package/scripts/delivery/drift.py +739 -0
  250. package/scripts/delivery/telemetry.py +614 -0
  251. package/scripts/engineering/patch/codegraph_db.py +125 -0
  252. package/scripts/engineering/patch/generators/__init__.py +56 -0
  253. package/scripts/engineering/patch/generators/base.py +373 -0
  254. package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
  255. package/scripts/engineering/patch/generators/go_generator.py +430 -0
  256. package/scripts/engineering/patch/generators/java_generator.py +928 -0
  257. package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
  258. package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
  259. package/scripts/engineering/patch/generators/perl_generator.py +510 -0
  260. package/scripts/engineering/patch/generators/php_generator.py +644 -0
  261. package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
  262. package/scripts/engineering/patch/generators/python_generator.py +487 -0
  263. package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
  264. package/scripts/engineering/patch/generators/rust_generator.py +400 -0
  265. package/scripts/engineering/patch/generators/sql_generator.py +594 -0
  266. package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
  267. package/scripts/engineering/patch/patch.py +800 -0
  268. package/scripts/engineering/patch/safety.py +429 -0
  269. package/scripts/jam/__init__.py +0 -0
  270. package/scripts/jam/_bus_consumers.py +271 -0
  271. package/scripts/jam/agentic_cli_registry.py +703 -0
  272. package/scripts/jam/consensus.py +737 -0
  273. package/scripts/jam/detect_clis.py +409 -0
  274. package/scripts/jam/jam.py +283 -0
  275. package/scripts/jam/save_transcript.py +171 -0
  276. package/scripts/loom/__init__.py +22 -0
  277. package/scripts/loom/cli.py +170 -0
  278. package/scripts/loom/compose.py +180 -0
  279. package/scripts/loom/gate.py +120 -0
  280. package/scripts/loom/manifest.py +140 -0
  281. package/scripts/loom/resolve.py +59 -0
  282. package/scripts/persona/__init__.py +0 -0
  283. package/scripts/persona/registry.py +688 -0
  284. package/scripts/platform/guard_pipeline.py +1214 -0
  285. package/scripts/platform/guard_profiles.py +216 -0
  286. package/scripts/platform/observability/assert_contracts.py +434 -0
  287. package/scripts/platform/observability/health_probe.py +915 -0
  288. package/scripts/platform/observability/ops_log_viewer.py +209 -0
  289. package/scripts/platform/prereq_doctor.py +567 -0
  290. package/scripts/qe/conditions_manifest.py +260 -0
  291. package/scripts/qe/content_sanitizer.py +160 -0
  292. package/scripts/qe/coverage_tracker.py +535 -0
  293. package/scripts/qe/discover_scenarios.py +243 -0
  294. package/scripts/qe/evidence_tracker.py +232 -0
  295. package/scripts/qe/prove.py +196 -0
  296. package/scripts/qe/registry_lookup.py +80 -0
  297. package/scripts/qe/registry_store.py +176 -0
  298. package/scripts/qe/semantic_review.py +1005 -0
  299. package/scripts/qe/vault_gate.py +382 -0
  300. package/scripts/qe/verdict_audit.py +175 -0
  301. package/scripts/qe/verdict_schema.py +335 -0
  302. package/scripts/reset.py +220 -0
  303. package/scripts/resolve_path.py +22 -0
  304. package/scripts/sentinel/invariants.py +402 -0
  305. package/scripts/sentinel/pre_push.py +73 -0
  306. package/scripts/setup/__init__.py +1 -0
  307. package/scripts/setup/detect_state.py +114 -0
  308. package/scripts/setup/migrate_legacy.py +67 -0
  309. package/scripts/setup/migrate_v6_projects.py +232 -0
  310. package/scripts/setup/onboarding.py +114 -0
  311. package/scripts/smaht/_bus_consumers.py +98 -0
  312. package/scripts/smaht/adapters/__init__.py +83 -0
  313. package/scripts/smaht/adapters/brain_adapter.py +254 -0
  314. package/scripts/smaht/adapters/context7_adapter.py +438 -0
  315. package/scripts/smaht/adapters/delegation_adapter.py +104 -0
  316. package/scripts/smaht/adapters/domain_adapter.py +206 -0
  317. package/scripts/smaht/adapters/events_adapter.py +231 -0
  318. package/scripts/smaht/adapters/tools_adapter.py +49 -0
  319. package/scripts/smaht/cheatsheet_store.py +236 -0
  320. package/scripts/smaht/context_package.py +386 -0
  321. package/scripts/smaht/knowledge_graph.py +395 -0
  322. package/scripts/smaht/propose_skills.py +856 -0
  323. package/scripts/smaht/test_cheatsheet_store.py +428 -0
  324. package/scripts/statusline.py +151 -0
  325. package/scripts/where_am_i.py +236 -0
  326. package/skills/agentic/agentic-patterns/SKILL.md +91 -0
  327. package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
  328. package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
  329. package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
  330. package/skills/agentic/context-engineering/SKILL.md +142 -0
  331. package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
  332. package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
  333. package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
  334. package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
  335. package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
  336. package/skills/agentic/frameworks/SKILL.md +191 -0
  337. package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
  338. package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
  339. package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
  340. package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
  341. package/skills/agentic/refs/audit.md +134 -0
  342. package/skills/agentic/refs/design.md +137 -0
  343. package/skills/agentic/refs/frameworks.md +102 -0
  344. package/skills/agentic/refs/review.md +160 -0
  345. package/skills/agentic/review-methodology/SKILL.md +186 -0
  346. package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
  347. package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
  348. package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
  349. package/skills/agentic/trust-and-safety/SKILL.md +177 -0
  350. package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
  351. package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
  352. package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
  353. package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
  354. package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
  355. package/skills/archetype/SKILL.md +104 -0
  356. package/skills/archetype/refs/build.md +142 -0
  357. package/skills/archetype/refs/decide.md +117 -0
  358. package/skills/archetype/refs/explore.md +66 -0
  359. package/skills/archetype/refs/incident.md +149 -0
  360. package/skills/archetype/refs/migrate.md +170 -0
  361. package/skills/archetype/refs/modernize.md +187 -0
  362. package/skills/archetype/refs/review.md +145 -0
  363. package/skills/archetype/refs/ship.md +117 -0
  364. package/skills/archetype/refs/specify.md +108 -0
  365. package/skills/archetype/refs/triage.md +62 -0
  366. package/skills/classify/SKILL.md +157 -0
  367. package/skills/data/analysis/SKILL.md +125 -0
  368. package/skills/data/analysis/refs/templates.md +170 -0
  369. package/skills/data/data/SKILL.md +118 -0
  370. package/skills/data/data/refs/examples.md +235 -0
  371. package/skills/data/ml/SKILL.md +125 -0
  372. package/skills/data/ml/refs/templates.md +172 -0
  373. package/skills/data/pipeline/SKILL.md +136 -0
  374. package/skills/data/pipeline/refs/templates.md +175 -0
  375. package/skills/data/refs/analyze.md +123 -0
  376. package/skills/data/refs/data.md +95 -0
  377. package/skills/data/refs/ml.md +118 -0
  378. package/skills/data/refs/pipeline.md +92 -0
  379. package/skills/deliberate/SKILL.md +125 -0
  380. package/skills/deliberate/refs/architecture-lens.md +37 -0
  381. package/skills/deliberate/refs/assumptions-lens.md +43 -0
  382. package/skills/deliberate/refs/code-lens.md +38 -0
  383. package/skills/deliberate/refs/content-lens.md +37 -0
  384. package/skills/deliberate/refs/data-lens.md +43 -0
  385. package/skills/deliberate/refs/design-lens.md +37 -0
  386. package/skills/deliberate/refs/opportunity-patterns.md +107 -0
  387. package/skills/deliberate/refs/ops-lens.md +43 -0
  388. package/skills/deliberate/refs/product-lens.md +46 -0
  389. package/skills/deliberate/refs/rethink-framework.md +77 -0
  390. package/skills/deliberate/refs/security-lens.md +47 -0
  391. package/skills/deliberate/refs/testing-lens.md +45 -0
  392. package/skills/deliberate/refs/timing-lens.md +42 -0
  393. package/skills/engineering/architecture/SKILL.md +177 -0
  394. package/skills/engineering/architecture/refs/adr-template.md +268 -0
  395. package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
  396. package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
  397. package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
  398. package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
  399. package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
  400. package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
  401. package/skills/engineering/backend/SKILL.md +102 -0
  402. package/skills/engineering/backend/refs/checklists.md +146 -0
  403. package/skills/engineering/backend/refs/patterns.md +181 -0
  404. package/skills/engineering/debugging/SKILL.md +99 -0
  405. package/skills/engineering/debugging/refs/patterns.md +248 -0
  406. package/skills/engineering/debugging/refs/process.md +203 -0
  407. package/skills/engineering/docs/SKILL.md +97 -0
  408. package/skills/engineering/engineering/SKILL.md +88 -0
  409. package/skills/engineering/engineering/refs/checklists.md +91 -0
  410. package/skills/engineering/engineering/refs/templates.md +71 -0
  411. package/skills/engineering/frontend/SKILL.md +92 -0
  412. package/skills/engineering/frontend/refs/checklists.md +96 -0
  413. package/skills/engineering/frontend/refs/patterns.md +167 -0
  414. package/skills/engineering/integration/SKILL.md +183 -0
  415. package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
  416. package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
  417. package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
  418. package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
  419. package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
  420. package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
  421. package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
  422. package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
  423. package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
  424. package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
  425. package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
  426. package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
  427. package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
  428. package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
  429. package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
  430. package/skills/engineering/integration/refs/grpc-testing.md +49 -0
  431. package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
  432. package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
  433. package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
  434. package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
  435. package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
  436. package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
  437. package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
  438. package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
  439. package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
  440. package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
  441. package/skills/engineering/large-scale-migration/SKILL.md +65 -0
  442. package/skills/engineering/patch/SKILL.md +184 -0
  443. package/skills/engineering/refs/arch.md +126 -0
  444. package/skills/engineering/refs/debug.md +142 -0
  445. package/skills/engineering/refs/docs.md +190 -0
  446. package/skills/engineering/refs/plan.md +109 -0
  447. package/skills/engineering/refs/review.md +138 -0
  448. package/skills/engineering/system-design/SKILL.md +154 -0
  449. package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
  450. package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
  451. package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
  452. package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
  453. package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
  454. package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
  455. package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
  456. package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
  457. package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
  458. package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
  459. package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
  460. package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
  461. package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
  462. package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
  463. package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
  464. package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
  465. package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
  466. package/skills/engineering/unit-test-quality/SKILL.md +194 -0
  467. package/skills/ground/SKILL.md +130 -0
  468. package/skills/integration-discovery/SKILL.md +168 -0
  469. package/skills/integration-discovery/refs/capabilities.md +282 -0
  470. package/skills/integration-discovery/refs/cli-detection.md +295 -0
  471. package/skills/integration-discovery/refs/discovery-sources.md +233 -0
  472. package/skills/integration-discovery/refs/task-patterns.md +206 -0
  473. package/skills/jam/SKILL.md +45 -0
  474. package/skills/jam/refs/facilitation-patterns.md +125 -0
  475. package/skills/jam/refs/quick.md +64 -0
  476. package/skills/jam/refs/synthesis-patterns.md +114 -0
  477. package/skills/multi-model/SKILL.md +168 -0
  478. package/skills/multi-model/refs/aichat.md +119 -0
  479. package/skills/multi-model/refs/aider.md +100 -0
  480. package/skills/multi-model/refs/auditability.md +238 -0
  481. package/skills/multi-model/refs/codex.md +169 -0
  482. package/skills/multi-model/refs/context.md +306 -0
  483. package/skills/multi-model/refs/copilot.md +161 -0
  484. package/skills/multi-model/refs/examples.md +224 -0
  485. package/skills/multi-model/refs/gemini.md +185 -0
  486. package/skills/multi-model/refs/goose.md +112 -0
  487. package/skills/multi-model/refs/llm.md +124 -0
  488. package/skills/multi-model/refs/opencode.md +196 -0
  489. package/skills/multi-model/refs/orchestration.md +188 -0
  490. package/skills/multi-model/refs/pi.md +208 -0
  491. package/skills/persona/SKILL.md +144 -0
  492. package/skills/persona/refs/define.md +133 -0
  493. package/skills/platform/actions/refs/actions.md +114 -0
  494. package/skills/platform/audit/SKILL.md +174 -0
  495. package/skills/platform/audit/refs/audit.md +145 -0
  496. package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
  497. package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
  498. package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
  499. package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
  500. package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
  501. package/skills/platform/compliance/SKILL.md +169 -0
  502. package/skills/platform/compliance/refs/checklists.md +303 -0
  503. package/skills/platform/compliance/refs/compliance.md +117 -0
  504. package/skills/platform/compliance/refs/frameworks.md +282 -0
  505. package/skills/platform/errors/SKILL.md +183 -0
  506. package/skills/platform/errors/refs/patterns.md +271 -0
  507. package/skills/platform/errors/refs/severity.md +264 -0
  508. package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
  509. package/skills/platform/gh/refs/gh.md +105 -0
  510. package/skills/platform/gh-cli/SKILL.md +120 -0
  511. package/skills/platform/gh-cli/refs/automation.md +63 -0
  512. package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
  513. package/skills/platform/gh-cli/refs/patterns.md +132 -0
  514. package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
  515. package/skills/platform/github-actions/SKILL.md +159 -0
  516. package/skills/platform/github-actions/refs/security.md +150 -0
  517. package/skills/platform/github-actions/refs/templates.md +230 -0
  518. package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
  519. package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
  520. package/skills/platform/gitlab-ci/SKILL.md +140 -0
  521. package/skills/platform/gitlab-ci/refs/templates.md +223 -0
  522. package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
  523. package/skills/platform/glab-cli/SKILL.md +133 -0
  524. package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
  525. package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
  526. package/skills/platform/glab-cli/refs/patterns.md +131 -0
  527. package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
  528. package/skills/platform/health/SKILL.md +177 -0
  529. package/skills/platform/health/refs/health.md +72 -0
  530. package/skills/platform/health/refs/sources.md +302 -0
  531. package/skills/platform/incident/refs/incident.md +136 -0
  532. package/skills/platform/infra/refs/infra.md +104 -0
  533. package/skills/platform/observability/SKILL.md +128 -0
  534. package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
  535. package/skills/platform/prereq-doctor/SKILL.md +57 -0
  536. package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
  537. package/skills/platform/traces/refs/traces.md +101 -0
  538. package/skills/product/acceptance-criteria/SKILL.md +193 -0
  539. package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
  540. package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
  541. package/skills/product/accessibility/SKILL.md +197 -0
  542. package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
  543. package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
  544. package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
  545. package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
  546. package/skills/product/accessibility/refs/audit-report-results.md +276 -0
  547. package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
  548. package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
  549. package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
  550. package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
  551. package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
  552. package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
  553. package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
  554. package/skills/product/analyze/SKILL.md +164 -0
  555. package/skills/product/analyze/refs/algorithms.md +238 -0
  556. package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
  557. package/skills/product/imagery/SKILL.md +97 -0
  558. package/skills/product/imagery/alter/SKILL.md +105 -0
  559. package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
  560. package/skills/product/imagery/create/SKILL.md +109 -0
  561. package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
  562. package/skills/product/imagery/create/refs/provider-reference.md +219 -0
  563. package/skills/product/imagery/review/SKILL.md +101 -0
  564. package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
  565. package/skills/product/imagery/review/refs/quality-gates.md +153 -0
  566. package/skills/product/imagery/scripts/analyze.sh +23 -0
  567. package/skills/product/imagery/scripts/edit.sh +14 -0
  568. package/skills/product/imagery/scripts/generate.sh +13 -0
  569. package/skills/product/imagery/scripts/provider.py +787 -0
  570. package/skills/product/listen/SKILL.md +175 -0
  571. package/skills/product/listen/refs/channels.md +220 -0
  572. package/skills/product/mockup/SKILL.md +106 -0
  573. package/skills/product/mockup/refs/templates.md +95 -0
  574. package/skills/product/refs/a11y.md +109 -0
  575. package/skills/product/refs/acceptance.md +79 -0
  576. package/skills/product/refs/align.md +67 -0
  577. package/skills/product/refs/analyze.md +77 -0
  578. package/skills/product/refs/elicit.md +67 -0
  579. package/skills/product/refs/listen.md +58 -0
  580. package/skills/product/refs/mockup.md +77 -0
  581. package/skills/product/refs/screenshot.md +59 -0
  582. package/skills/product/refs/strategy.md +77 -0
  583. package/skills/product/refs/synthesize.md +54 -0
  584. package/skills/product/refs/ux-review.md +68 -0
  585. package/skills/product/refs/ux.md +101 -0
  586. package/skills/product/requirements-analysis/SKILL.md +136 -0
  587. package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
  588. package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
  589. package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
  590. package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
  591. package/skills/product/requirements-graph/SKILL.md +155 -0
  592. package/skills/product/requirements-graph/refs/examples.md +223 -0
  593. package/skills/product/requirements-graph/refs/schema.md +162 -0
  594. package/skills/product/requirements-migrate/SKILL.md +90 -0
  595. package/skills/product/requirements-navigate/SKILL.md +141 -0
  596. package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
  597. package/skills/product/screenshot/SKILL.md +147 -0
  598. package/skills/product/strategy/SKILL.md +198 -0
  599. package/skills/product/strategy/refs/frameworks.md +295 -0
  600. package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
  601. package/skills/product/strategy/refs/templates-roi-value.md +207 -0
  602. package/skills/product/synthesize/SKILL.md +116 -0
  603. package/skills/product/synthesize/refs/journey-mapping.md +212 -0
  604. package/skills/product/synthesize/refs/prioritization.md +193 -0
  605. package/skills/product/ux-review/SKILL.md +164 -0
  606. package/skills/product/visual-direction/SKILL.md +137 -0
  607. package/skills/product/visual-review/SKILL.md +131 -0
  608. package/skills/runtime-exec/SKILL.md +138 -0
  609. package/skills/search/codebase-narrator/SKILL.md +131 -0
  610. package/skills/search/codebase-narrator/refs/output-template.md +100 -0
  611. package/skills/smaht/SKILL.md +72 -0
  612. package/skills/smaht/discovery/SKILL.md +65 -0
  613. package/skills/smaht/intent/SKILL.md +89 -0
  614. package/skills/smaht/propose-skills/SKILL.md +142 -0
  615. package/skills/smaht/refs/state.md +76 -0
  616. package/skills/swarm/SKILL.md +132 -0
  617. package/skills/swarm/refs/fan-out.md +104 -0
  618. package/skills/swarm/refs/independent-verification.md +86 -0
  619. package/skills/swarm/refs/receipts-and-evidence.md +69 -0
  620. package/skills/swarm/refs/recon-synthesis.md +87 -0
  621. package/skills/swarm/refs/ship-discipline.md +90 -0
  622. package/skills/wickedizer/SKILL.md +147 -0
  623. package/skills/wickedizer/refs/artifact-types.md +238 -0
  624. package/skills/wickedizer/refs/complexity.md +278 -0
  625. package/skills/wickedizer/refs/de-ai-pass.md +140 -0
  626. package/skills/wickedizer/refs/failure-modes.md +249 -0
  627. package/skills/wickedizer/refs/patterns.md +282 -0
  628. package/skills/wickedizer/refs/review.md +221 -0
  629. package/skills/wickedizer/refs/structure.md +282 -0
  630. package/skills/wickedizer/refs/voice-profile.md +125 -0
  631. package/skills/workflow/SKILL.md +132 -0
  632. package/skills/workflow/refs/archetype-adjustments.md +205 -0
  633. package/skills/workflow/refs/evidence.md +58 -0
  634. package/skills/workflow/refs/integration.md +130 -0
  635. package/skills/workflow/refs/risk-dimension-signals.md +260 -0
  636. package/skills/workflow/refs/scoring-rubric.md +49 -0
  637. package/skills/workflow/refs/signal-keywords.md +176 -0
  638. package/skills/workflow/refs/specialist-routing-rules.md +159 -0
  639. package/skills/worktrees/SKILL.md +87 -0
  640. package/skills/worktrees/refs/recipes.md +96 -0
@@ -0,0 +1,223 @@
1
+ ---
2
+ phase_relevance: ["clarify", "design", "review"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Requirements Graph: Worked Examples
6
+
7
+ ## Example 1: Authentication Feature
8
+
9
+ ### Directory Structure
10
+
11
+ ```
12
+ requirements/
13
+ meta.md
14
+ _scope.md
15
+ _risks.md
16
+ _questions.md
17
+ auth/
18
+ meta.md
19
+ US-001/
20
+ meta.md
21
+ AC-001-valid-login.md
22
+ AC-002-invalid-credentials.md
23
+ AC-003-account-lockout.md
24
+ US-002/
25
+ meta.md
26
+ AC-001-reset-email.md
27
+ AC-002-reset-link-expiry.md
28
+ NFR-001-login-performance.md
29
+ NFR-002-password-encryption.md
30
+ _decisions/
31
+ DEC-001-bcrypt-over-argon2.md
32
+ ```
33
+
34
+ ### Root meta.md
35
+
36
+ ```yaml
37
+ ---
38
+ type: requirements-root
39
+ project: user-portal
40
+ created: 2026-04-05
41
+ status: draft
42
+ ---
43
+
44
+ # Requirements: User Portal
45
+
46
+ Self-service portal for user account management and dashboard access.
47
+
48
+ ## Areas
49
+
50
+ | Area | Stories | ACs | P0 ACs | Coverage |
51
+ |------|---------|-----|--------|----------|
52
+ | auth | 2 | 5 | 3 | 0% |
53
+
54
+ ## Scope
55
+ See: [_scope.md](_scope.md)
56
+
57
+ ## Open Questions
58
+ See: [_questions.md](_questions.md)
59
+ ```
60
+
61
+ ### AC Node: AC-001-valid-login.md
62
+
63
+ ```yaml
64
+ ---
65
+ id: auth/US-001/AC-001
66
+ type: acceptance-criterion
67
+ priority: P0
68
+ category: happy-path
69
+ story: auth/US-001
70
+ tags: [login, session, redirect]
71
+ ---
72
+
73
+ Given valid email and password
74
+ When user submits the login form
75
+ Then user is redirected to /dashboard and a session cookie is set
76
+ ```
77
+
78
+ ### AC Node with traces (after implementation):
79
+
80
+ ```yaml
81
+ ---
82
+ id: auth/US-001/AC-001
83
+ type: acceptance-criterion
84
+ priority: P0
85
+ category: happy-path
86
+ story: auth/US-001
87
+ tags: [login, session, redirect]
88
+ traces:
89
+ - target: src/routes/auth/login.ts
90
+ type: IMPLEMENTED_BY
91
+ - target: src/middleware/session.ts
92
+ type: IMPLEMENTED_BY
93
+ - target: tests/auth/login.test.ts
94
+ type: TESTED_BY
95
+ ---
96
+
97
+ Given valid email and password
98
+ When user submits the login form
99
+ Then user is redirected to /dashboard and a session cookie is set
100
+ ```
101
+
102
+ ### Story meta.md: US-001/meta.md
103
+
104
+ ```yaml
105
+ ---
106
+ id: auth/US-001
107
+ type: user-story
108
+ priority: P0
109
+ complexity: M
110
+ persona: end-user
111
+ status: draft
112
+ traces:
113
+ - target: phases/design/auth-flow.md
114
+ type: TRACES_TO
115
+ tags: [authentication, login]
116
+ ---
117
+
118
+ # US-001: User Login
119
+
120
+ **As a** end-user
121
+ **I want** to log in with my email and password
122
+ **So that** I can access my personalized dashboard
123
+
124
+ ## Acceptance Criteria
125
+
126
+ | AC | Description | Priority | Category |
127
+ |----|-------------|----------|----------|
128
+ | AC-001 | Valid login redirects to dashboard | P0 | happy-path |
129
+ | AC-002 | Invalid creds show error message | P0 | error |
130
+ | AC-003 | Account locks after 3 failures | P1 | edge-case |
131
+
132
+ ## Dependencies
133
+ - Session store (Redis) configured
134
+ - Email validation library
135
+
136
+ ## Open Questions
137
+ - Session timeout: 30 min or user-configurable?
138
+ ```
139
+
140
+ ### NFR Node: NFR-001-login-performance.md
141
+
142
+ ```yaml
143
+ ---
144
+ id: auth/NFR-001
145
+ type: nfr
146
+ priority: P1
147
+ category: performance
148
+ target: "< 2s response time at 1000 concurrent logins"
149
+ measured_by: k6 load test in CI
150
+ tags: [performance, auth, load-testing]
151
+ ---
152
+
153
+ Login endpoint must respond within 2 seconds under load of 1000
154
+ concurrent authentication requests. Measured via k6 load test
155
+ running against staging environment in CI pipeline.
156
+ ```
157
+
158
+ ### Decision Node: DEC-001-bcrypt-over-argon2.md
159
+
160
+ ```yaml
161
+ ---
162
+ id: _decisions/DEC-001
163
+ type: decision
164
+ status: accepted
165
+ date: 2026-04-05
166
+ tags: [security, password-hashing]
167
+ ---
168
+
169
+ # DEC-001: Use bcrypt over Argon2 for password hashing
170
+
171
+ ## Context
172
+ Need a password hashing algorithm for user authentication.
173
+
174
+ ## Decision
175
+ Use bcrypt with cost factor 12.
176
+
177
+ ## Rationale
178
+ - Wider library support across our stack (Node.js, Python)
179
+ - Argon2 requires native compilation — complicates CI
180
+ - bcrypt at cost 12 meets our security bar per OWASP guidelines
181
+
182
+ ## Consequences
183
+ - Slightly less memory-hard than Argon2
184
+ - May revisit when Argon2 library support improves
185
+ ```
186
+
187
+ ## Example 2: Simple Feature (3 ACs)
188
+
189
+ For a small feature, the graph is still lean:
190
+
191
+ ```
192
+ requirements/
193
+ meta.md
194
+ csv-export/
195
+ meta.md
196
+ US-001/
197
+ meta.md
198
+ AC-001-export-button.md
199
+ AC-002-csv-format.md
200
+ AC-003-large-dataset.md
201
+ ```
202
+
203
+ Total files: 6 (3 meta.md + 3 ACs). Each AC is ~10 lines.
204
+ Compare to the old monolith: 1 file at 200+ lines.
205
+
206
+ The graph approach scales down cleanly — no empty sections, no
207
+ boilerplate for risks/assumptions/appendices unless you need them.
208
+
209
+ ## Token Cost Comparison
210
+
211
+ Reading the auth example above:
212
+
213
+ | Approach | Tokens |
214
+ |----------|--------|
215
+ | Old monolith (full auth requirements) | ~800 |
216
+ | Graph: root meta.md only (depth 1) | ~100 |
217
+ | Graph: area meta.md (depth 1) | ~80 |
218
+ | Graph: story meta.md (depth 1) | ~120 |
219
+ | Graph: single AC (depth 2) | ~40 |
220
+ | Graph: all frontmatter (depth 0) | ~60 |
221
+
222
+ The agent loads only what it needs. Gate checks read meta.md.
223
+ Implementation reads specific ACs. No wasted context.
@@ -0,0 +1,162 @@
1
+ ---
2
+ phase_relevance: ["clarify", "design", "review"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Requirements Graph: Frontmatter Schema Reference
6
+
7
+ Complete field reference for all requirement node types.
8
+
9
+ ## Common Fields (all types)
10
+
11
+ | Field | Required | Type | Description |
12
+ |-------|----------|------|-------------|
13
+ | `id` | yes | string | Path-derived slug from `requirements/` root. E.g., `auth/US-001/AC-001` |
14
+ | `type` | yes | enum | Node type (see below) |
15
+ | `tags` | no | string[] | Keywords for search indexing |
16
+ | `traces` | no | object[] | Graph edges to other artifacts |
17
+ | `compliance` | no | string[] | Regulatory controls. E.g., `["SOC2-CC6.1", "GDPR-Art.32"]` |
18
+
19
+ ## Node Types
20
+
21
+ ### `acceptance-criterion`
22
+
23
+ The atomic unit. One file per criterion.
24
+
25
+ | Field | Required | Type | Values |
26
+ |-------|----------|------|--------|
27
+ | `priority` | yes | enum | `P0`, `P1`, `P2` |
28
+ | `category` | yes | enum | `happy-path`, `error`, `edge-case`, `non-functional` |
29
+ | `story` | yes | string | Parent story slug. E.g., `auth/US-001` |
30
+ | `status` | no | enum | `draft`, `review`, `approved`, `implemented`, `verified` |
31
+
32
+ **Body**: Given/When/Then block. Keep it to 1-5 lines. No essays.
33
+
34
+ **Naming**: `AC-{NNN}-{slug}.md` where NNN is zero-padded, slug is kebab-case.
35
+
36
+ ### `user-story`
37
+
38
+ A directory's `meta.md`. Groups acceptance criteria.
39
+
40
+ | Field | Required | Type | Values |
41
+ |-------|----------|------|--------|
42
+ | `priority` | yes | enum | `P0`, `P1`, `P2` |
43
+ | `complexity` | yes | enum | `S`, `M`, `L`, `XL` |
44
+ | `persona` | yes | string | Who this story is for |
45
+ | `status` | yes | enum | `draft`, `review`, `approved`, `implemented`, `verified` |
46
+
47
+ **Body**: As a/I want/So that + AC summary table + dependencies + questions.
48
+
49
+ **Naming**: Directory is `US-{NNN}` (zero-padded). `meta.md` inside.
50
+
51
+ ### `area`
52
+
53
+ Groups stories by feature/epic. Directory `meta.md`.
54
+
55
+ | Field | Required | Type | Values |
56
+ |-------|----------|------|--------|
57
+ | `status` | no | enum | `draft`, `review`, `approved` |
58
+
59
+ **Body**: Summary + story table + NFR table + coverage stats.
60
+
61
+ **Naming**: Directory is kebab-case feature name. `meta.md` inside.
62
+
63
+ ### `nfr`
64
+
65
+ Non-functional requirement. Lives at area level.
66
+
67
+ | Field | Required | Type | Values |
68
+ |-------|----------|------|--------|
69
+ | `priority` | yes | enum | `P0`, `P1`, `P2` |
70
+ | `category` | yes | enum | `performance`, `security`, `scalability`, `usability`, `reliability` |
71
+ | `target` | yes | string | Measurable target. E.g., `< 2s at 1000 concurrent` |
72
+ | `measured_by` | no | string | How to verify |
73
+
74
+ **Naming**: `NFR-{NNN}-{slug}.md`
75
+
76
+ ### `decision`
77
+
78
+ Lightweight ADR. Lives in `_decisions/`.
79
+
80
+ | Field | Required | Type | Values |
81
+ |-------|----------|------|--------|
82
+ | `status` | yes | enum | `proposed`, `accepted`, `superseded` |
83
+ | `date` | yes | string | ISO date |
84
+ | `supersedes` | no | string | ID of decision this replaces |
85
+
86
+ **Naming**: `DEC-{NNN}-{slug}.md`
87
+
88
+ ### `requirements-root`
89
+
90
+ Root `meta.md` only. One per project.
91
+
92
+ | Field | Required | Type | Values |
93
+ |-------|----------|------|--------|
94
+ | `project` | yes | string | Project name |
95
+ | `created` | yes | string | ISO date |
96
+ | `status` | yes | enum | `draft`, `review`, `approved` |
97
+
98
+ ## Traces Schema
99
+
100
+ Each trace is an edge in the graph:
101
+
102
+ ```yaml
103
+ traces:
104
+ - target: path/to/artifact # relative path or code file
105
+ type: IMPLEMENTED_BY # edge type
106
+ ```
107
+
108
+ ### Edge Types
109
+
110
+ | Type | From | To | Direction |
111
+ |------|------|----|-----------|
112
+ | `DECOMPOSES_TO` | story | AC | parent → child |
113
+ | `TRACES_TO` | requirement | design doc | forward |
114
+ | `IMPLEMENTED_BY` | AC | source file | forward |
115
+ | `TESTED_BY` | AC | test file | forward |
116
+ | `VERIFIES` | test result | AC | reverse |
117
+ | `SATISFIES` | evidence | requirement | reverse |
118
+ | `DEPENDS_ON` | story/AC | story/AC | lateral |
119
+
120
+ ### Trace Target Conventions
121
+
122
+ - **Graph nodes**: relative from `requirements/` root — `auth/US-001/AC-001`
123
+ - **Code files**: relative from project root — `src/auth/login.ts`
124
+ - **Test files**: relative from project root — `tests/auth/login.test.ts`
125
+ - **Design docs**: relative from project root — `phases/design/auth-flow.md`
126
+ - **External**: full path or URL
127
+
128
+ ## ID Convention
129
+
130
+ The `id` field is a **path-derived slug**:
131
+
132
+ ```
133
+ requirements/auth/US-001/AC-001-login-success.md
134
+ ↓
135
+ id: auth/US-001/AC-001
136
+ ```
137
+
138
+ Rules:
139
+ - Strip `requirements/` prefix
140
+ - Strip file extension
141
+ - For meta.md: use directory path (e.g., `auth/US-001`)
142
+ - For AC/NFR files: use up to the AC/NFR number (drop the slug suffix)
143
+
144
+ **Lint catches mismatches** between `id:` and actual path.
145
+
146
+ ## Minimal Valid AC
147
+
148
+ ```yaml
149
+ ---
150
+ id: auth/US-001/AC-001
151
+ type: acceptance-criterion
152
+ priority: P0
153
+ category: happy-path
154
+ story: auth/US-001
155
+ ---
156
+
157
+ Given valid email and password
158
+ When user submits login form
159
+ Then session is created and user sees dashboard
160
+ ```
161
+
162
+ 12 lines. Compare to the old monolith's 260 lines for an entire feature.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: requirements-migrate
3
+ description: |
4
+ Convert monolithic requirements documents into graph-structured
5
+ requirements directories. Parses user stories and acceptance criteria
6
+ from existing docs and creates atomic graph nodes.
7
+
8
+ Use when: "migrate requirements", "convert to graph",
9
+ "split requirements", "restructure requirements"
10
+ phase_relevance: ["clarify", "design", "review"]
11
+ archetype_relevance: ["*"]
12
+ ---
13
+
14
+ # Requirements Migrate
15
+
16
+ Convert existing monolithic requirements documents into the graph structure.
17
+
18
+ ## Process
19
+
20
+ ### 1. Parse Source Document
21
+
22
+ Read the monolithic requirements file and extract:
23
+ - User stories (As a/I want/So that blocks)
24
+ - Acceptance criteria (Given/When/Then blocks)
25
+ - Functional requirements (REQ-XXX entries)
26
+ - Non-functional requirements (REQ-PERF/SEC/SCALE/UX entries)
27
+ - Scope (in/out/future)
28
+ - Risks, assumptions, open questions
29
+ - Dependencies
30
+
31
+ ### 2. Plan Graph Structure
32
+
33
+ Map extracted content to graph nodes:
34
+ - Group stories by feature area (infer from headings or REQ prefixes)
35
+ - Each story becomes a `US-NNN` directory
36
+ - Each AC becomes an `AC-NNN-{slug}.md` file
37
+ - Functional requirements that duplicate stories are merged (not duplicated)
38
+ - NFRs become area-level `NFR-NNN-{slug}.md` files
39
+ - Decisions/rationale become `_decisions/DEC-NNN-{slug}.md`
40
+
41
+ ### 3. Create Graph
42
+
43
+ ```
44
+ For each area:
45
+ mkdir -p requirements/{area}
46
+ Write requirements/{area}/meta.md
47
+
48
+ For each story in area:
49
+ mkdir -p requirements/{area}/{US-NNN}
50
+ Write requirements/{area}/{US-NNN}/meta.md
51
+
52
+ For each AC in story:
53
+ Write requirements/{area}/{US-NNN}/{AC-NNN}-{slug}.md
54
+
55
+ For each NFR in area:
56
+ Write requirements/{area}/{NFR-NNN}-{slug}.md
57
+
58
+ Write requirements/meta.md (root)
59
+ Write requirements/_scope.md
60
+ Write requirements/_risks.md
61
+ Write requirements/_questions.md
62
+ ```
63
+
64
+ ### 4. Verify
65
+
66
+ After migration:
67
+ - Run navigate lint to check structure
68
+ - Compare AC count: source doc vs graph nodes (should match)
69
+ - Check no content was lost (stories, criteria, NFRs)
70
+ - Verify frontmatter IDs match paths
71
+
72
+ ### 5. Archive Source
73
+
74
+ Move the original monolith to `requirements/_archived/` so it's
75
+ preserved but not the active source of truth.
76
+
77
+ ## Handling Ambiguity
78
+
79
+ - **Stories without clear ACs**: Create the story directory + meta.md,
80
+ add a note in `_questions.md` that ACs need to be defined
81
+ - **Functional reqs that aren't stories**: If REQ-XXX doesn't map to a
82
+ user story, create it as an AC under a synthetic story
83
+ - **Inline NFRs**: Extract performance/security mentions from story text
84
+ into area-level NFR nodes
85
+ - **Missing personas**: Default to the most common persona in the doc,
86
+ flag in `_questions.md`
87
+
88
+ ## Progressive Disclosure
89
+
90
+ - **SKILL.md** (this file): Migration process
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: requirements-navigate
3
+ description: |
4
+ Navigate, query, and maintain requirements graphs. Regenerates meta.md
5
+ on demand, checks coverage, finds gaps, and lints the graph structure.
6
+
7
+ Use when: navigating or querying a requirements graph, generating a coverage
8
+ report, refreshing meta.md, or linting graph structure for gaps.
9
+ phase_relevance: ["clarify", "design", "review"]
10
+ archetype_relevance: ["*"]
11
+ ---
12
+
13
+ # Requirements Navigate
14
+
15
+ Read, query, and maintain requirements graph structures. Generates and
16
+ refreshes meta.md files. Checks coverage and finds gaps.
17
+
18
+ ## Commands
19
+
20
+ ### Navigate (read graph)
21
+
22
+ Read a requirements node or area with progressive depth:
23
+
24
+ **Depth 0** — frontmatter only (~5 tokens per node):
25
+ ```bash
26
+ # Read just the frontmatter of all ACs in a story
27
+ for f in requirements/auth/US-001/AC-*.md; do
28
+ head -20 "$f" # frontmatter block
29
+ done
30
+ ```
31
+
32
+ **Depth 1** — meta.md (summary + tables):
33
+ ```bash
34
+ # Read the story summary
35
+ cat requirements/auth/US-001/meta.md
36
+ ```
37
+
38
+ **Depth 2** — full content of specific nodes:
39
+ ```bash
40
+ # Read a specific AC
41
+ cat requirements/auth/US-001/AC-001-login-success.md
42
+ ```
43
+
44
+ **Always start at depth 1** (meta.md) unless you need specific AC content.
45
+
46
+ ### Refresh meta.md
47
+
48
+ Regenerate a meta.md from its children when stale:
49
+
50
+ 1. Read all sibling/child files in the directory
51
+ 2. Parse frontmatter from each
52
+ 3. Rebuild the summary table (counts, priorities, coverage stats)
53
+ 4. Write updated meta.md preserving the `id` and `type` fields
54
+
55
+ **Staleness check**: Compare `generated_at` in meta.md frontmatter against
56
+ `stat()` mtimes of children. If any child is newer, regenerate.
57
+
58
+ **When to refresh**:
59
+ - Before displaying requirements status to user
60
+ - Before crew gate evaluation
61
+ - After batch AC creation
62
+ - On explicit user request
63
+
64
+ ### Coverage Query
65
+
66
+ Check which ACs have trace links:
67
+
68
+ ```
69
+ For each AC in requirements/**/*.md where type: acceptance-criterion:
70
+ - Has IMPLEMENTED_BY? → code coverage
71
+ - Has TESTED_BY? → test coverage
72
+ - Has VERIFIES? → verification coverage
73
+ ```
74
+
75
+ **Output format**:
76
+ ```
77
+ Coverage: auth
78
+ US-001: 3/3 ACs, 1/3 implemented, 0/3 tested
79
+ US-002: 2/2 ACs, 0/2 implemented, 0/2 tested
80
+ Total: 5 ACs, 1 implemented (20%), 0 tested (0%)
81
+ ```
82
+
83
+ ### Gap Analysis
84
+
85
+ Find structural problems:
86
+
87
+ - **Orphan ACs**: AC files not referenced in parent story meta.md
88
+ - **Empty stories**: Story directories with meta.md but no AC files
89
+ - **Missing traces**: P0 ACs without IMPLEMENTED_BY or TESTED_BY
90
+ - **Broken traces**: Trace targets that don't exist on disk
91
+ - **Stale meta.md**: Generated timestamps older than children
92
+ - **ID mismatches**: `id:` field doesn't match file path
93
+
94
+ ### Lint
95
+
96
+ Validate graph structure:
97
+
98
+ ```
99
+ For each .md in requirements/**/:
100
+ 1. Has valid YAML frontmatter with required fields
101
+ 2. id: matches relative path from requirements/
102
+ 3. type: is a valid node type
103
+ 4. traces: targets exist (warn, don't fail — code may not exist yet)
104
+ 5. ACs have: priority, category, story
105
+ 6. Stories have: priority, complexity, persona, status
106
+ 7. meta.md tables match actual children
107
+ ```
108
+
109
+ **Fix mode**: `--fix` auto-corrects:
110
+ - Regenerate stale meta.md files
111
+ - Update `id:` to match current path
112
+ - Add missing AC references to parent meta.md
113
+
114
+ ## Integration with traceability.py
115
+
116
+ The navigate skill reads graph nodes directly. For cross-phase queries
117
+ that span beyond requirements (design, code, tests, evidence),
118
+ `traceability.py` provides BFS traversal.
119
+
120
+ **Bridge**: When navigate finds `IMPLEMENTED_BY` or `TESTED_BY` traces
121
+ in frontmatter, these are the authoritative links for the requirement
122
+ layer. `traceability.py` can read these as an additional data source
123
+ alongside its DomainStore links.
124
+
125
+ ## Integration with search
126
+
127
+ Requirements graph nodes are indexable by `search:index`:
128
+
129
+ ```bash
130
+ /wicked-garden:search:index requirements/
131
+ ```
132
+
133
+ Enables queries like:
134
+ - "All P0 ACs without TESTED_BY" (frontmatter + FTS5)
135
+ - "All ACs tagged 'authentication'" (tag search)
136
+ - "Which stories trace to src/auth/" (reverse trace)
137
+
138
+ ## Progressive Disclosure
139
+
140
+ - **SKILL.md** (this file): Commands, query patterns, integration
141
+ - **refs/meta-templates.md**: Copy-paste meta.md templates for each level