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,19 @@
1
+ ---
2
+ description: Screenshot-based UI review using Claude's multimodal vision — analyze layout, color, typography, and consistency from image files
3
+ argument-hint: "<image-path> [<reference-path>]"
4
+ phase_relevance: ["clarify", "design", "review"]
5
+ archetype_relevance: ["*"]
6
+ ---
7
+
8
+ # /wicked-garden:product:screenshot
9
+
10
+ Review UI design from screenshot images using Claude's multimodal vision — layout,
11
+ spacing, color, typography, visual consistency — without source code. Formats: PNG,
12
+ JPG, JPEG, WEBP, GIF.
13
+
14
+ ## Run it inline (no dispatch)
15
+
16
+ 1. Parse `<image-path>` (required) and optional `<reference-path>`.
17
+ 2. `Read(file_path="{image-path}")` (and the reference if provided) — the Read tool renders images visually.
18
+ 3. `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/refs/screenshot.md")` — the evaluation rubric (layout/color/typography/components), comparison mode, and output format.
19
+ 4. Apply the rubric directly to the rendered image(s) and emit the review. Flag contrast issues for `product:a11y`; compare against a `product:mockup` spec when relevant.
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: Strategic analysis - ROI, value proposition, market, competitive
3
+ argument-hint: "<target> [--focus roi|value|market|competitive|all] [--quick]"
4
+ phase_relevance: ["clarify", "design", "review"]
5
+ archetype_relevance: ["*"]
6
+ ---
7
+
8
+ # /wicked-garden:product:strategy
9
+
10
+ Strategic business analysis: ROI, value proposition, market sizing/timing,
11
+ competitive landscape. `--quick` = go/no-go signal only. Use `product:strategy` to
12
+ evaluate an idea; `product:elicit` to convert a chosen direction into requirements.
13
+
14
+ ## 1. Read target + parse focus
15
+
16
+ Read `<target>` (proposal/feature doc). Determine focus(es) from `--focus` (default `all`).
17
+
18
+ ## 2. Single focus -> inline
19
+
20
+ For one lens, `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/refs/strategy.md")` and apply
21
+ that lens's rubric directly — market lens for `roi|market|competitive`, value lens for
22
+ `value`. No dispatch.
23
+
24
+ ## 3. `--focus all` -> dispatch value lens; run market lens inline
25
+
26
+ ```
27
+ Task(subagent_type="wicked-garden:product:value-strategist",
28
+ prompt="""Target: {target_content} Quick: {--quick}
29
+ Design value proposition: customer JTBD, pain relievers, gain creators, differentiation, value statement.""")
30
+ ```
31
+
32
+ The market lens (ROI / TAM-SAM-SOM / SWOT / Five Forces) runs **inline** in this
33
+ command — `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/refs/strategy.md")` and apply its
34
+ market rubric directly to the target: investment/returns/payback for `roi`, TAM/SAM/SOM
35
+ + timing for `market`, SWOT/positioning for `competitive`. No separate dispatch.
36
+
37
+ ## 4. Synthesis (always inline)
38
+
39
+ Render the verdict inline — Proceed / Caution / Defer / Do-Not-Proceed + confidence +
40
+ assumptions + metrics (`refs/strategy.md` output format). Never delegate the synthesis.
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: Generate actionable recommendations from customer feedback insights
3
+ argument-hint: "[--priority high|medium|low|critical] [--feature X] [--format brief|detailed]"
4
+ next-step: null
5
+ phase_relevance: ["clarify", "design", "review"]
6
+ archetype_relevance: ["*"]
7
+ ---
8
+
9
+ # /wicked-garden:product:synthesize
10
+
11
+ Translate customer-feedback analysis into prioritized, evidence-backed action items.
12
+ Pipeline step 3 of 3: listen -> analyze -> **synthesize**.
13
+
14
+ ## Run it inline (no dispatch)
15
+
16
+ 1. Locate analysis input:
17
+ ```bash
18
+ PRODUCT_ROOT=$(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/resolve_path.py wicked-garden:product)
19
+ ls "${PRODUCT_ROOT}/voice/analysis/"
20
+ ```
21
+ If empty, tell the user to run `/wicked-garden:product:analyze` first and stop.
22
+ 2. `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/refs/synthesize.md")` — the impact x frequency x trend x effort x risk-of-inaction prioritization model, per-recommendation fields, and output format.
23
+ 3. Apply the rubric directly, honoring `--priority`/`--feature`/`--format`. Emit prioritized recommendations, quick wins, strategic initiatives, and metrics to track.
@@ -0,0 +1,42 @@
1
+ ---
2
+ description: |
3
+ Use when reviewing UX quality, visual design consistency, or accessibility — covers user flows,
4
+ design system adherence, spacing/typography/color, component patterns, and research quality.
5
+ NOT for generating UX flows (use product:ux) or accessibility code audits (use product:a11y).
6
+ argument-hint: "<target> [--focus flows|ui|a11y|research|all] [--quick]"
7
+ phase_relevance: ["clarify", "design", "review"]
8
+ archetype_relevance: ["*"]
9
+ ---
10
+
11
+ # /wicked-garden:product:ux-review
12
+
13
+ Broad design audit across four lenses — flows, visual consistency (UI), WCAG
14
+ accessibility, user-research quality. Each lens returns score 1-5 + findings.
15
+ `--quick` = critical-only. Use `ux-review` to evaluate existing UI; use `product:ux`
16
+ to generate flows.
17
+
18
+ ## 1. Determine focus
19
+
20
+ Parse `--focus`. Auto-detect: `.tsx/.jsx/.vue` -> flows+ui+a11y; `.css/.scss` -> ui;
21
+ requirements `.md` -> research; directory -> all.
22
+
23
+ ## 2. Single focus -> inline
24
+
25
+ For one lens, `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/refs/ux-review.md")`, apply
26
+ that lens's rubric directly to the target, and emit the score + findings. No dispatch.
27
+
28
+ ## 3. `--focus all` -> dispatch the lenses in parallel
29
+
30
+ Genuine multi-lens concurrency on a large surface earns the hop. Common preamble:
31
+ `Target: {target_content} Quick: {--quick}`. Each agent returns score 1-5 + findings.
32
+
33
+ ```
34
+ Task(subagent_type="wicked-garden:product:ux-designer",
35
+ prompt="""<preamble> Two lenses. (1) Flows: clarity, error/empty/loading states, interaction patterns, IA. (2) Research: personas, journeys, JTBD, validation status. Issues with severity + file:line + impact + fix; plus a research-gap list.""")
36
+ Task(subagent_type="wicked-garden:product:ui-reviewer",
37
+ prompt="""<preamble> Eval design-system adherence, color/typography/spacing, component patterns, responsive + visual states. Issues with severity + fix.""")
38
+ Task(subagent_type="wicked-garden:product:a11y-expert",
39
+ prompt="""<preamble> Audit WCAG 2.1 AA (POUR): semantic HTML, ARIA, keyboard, screen reader, contrast, focus. Report WCAG level + issues with criterion + fix.""")
40
+ ```
41
+
42
+ The research lens (personas / journeys / JTBD) is folded into the ux-designer dispatch — flow and research evaluation share the same artifact and reviewer skill. Merge the three returns into the combined report (`refs/ux-review.md` output format).
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: |
3
+ Use when creating or analyzing user flows, information architecture, and interaction patterns — in-chat,
4
+ without a design tool. NOT for production visual design (use figma plugin) or accessibility audits (use product:a11y).
5
+ argument-hint: "<target-or-description> [--mode create|analyze]"
6
+ phase_relevance: ["clarify", "design", "review"]
7
+ archetype_relevance: ["*"]
8
+ ---
9
+
10
+ # /wicked-garden:product:ux
11
+
12
+ Design and analyze user flows, interaction patterns, and information architecture.
13
+ For a broad design audit (UI + a11y + research), use `product:ux-review` instead.
14
+
15
+ ## Run it inline (no dispatch)
16
+
17
+ 1. Parse `<target>` (path or description) and `--mode`. Auto-detect: description string -> `create`; file/dir path -> `analyze`.
18
+ 2. Gather content: if a path, read the target files (components, pages, routing); if a description, use as the brief.
19
+ 3. `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/refs/ux.md")` — create/analyze steps, flow checklist, Nielsen heuristics, interaction patterns, diagram + output formats.
20
+ 4. Apply the rubric directly and emit the flow/IA + findings. Pair with `product:mockup` for wireframes.
@@ -0,0 +1,34 @@
1
+ ---
2
+ description: |
3
+ Reason from content structure to visual form before proposing any treatment. Answers
4
+ five structured questions (content type, audience mental model, desired action, physical
5
+ artifact metaphor, stupid-question test) and produces a one-paragraph visual brief.
6
+
7
+ Use when designing or evaluating a section's visual treatment. NOT for accessibility
8
+ audits, visual consistency review, or wireframing.
9
+ argument-hint: "<section-name-or-description> [--skip-to <question-number>]"
10
+ phase_relevance: ["clarify", "design", "review"]
11
+ archetype_relevance: ["*"]
12
+ ---
13
+
14
+ # /wicked-garden:product:visual-direction
15
+
16
+ Stop before proposing any visual form. Reason from what the content *is* to what it
17
+ should look like — not from what the nearest project used.
18
+
19
+ ## Run it inline (no dispatch)
20
+
21
+ 1. Parse `<section-name-or-description>`. Read any file path given. `--skip-to <N>` starts at that question.
22
+
23
+ 2. `Read("${CLAUDE_PLUGIN_ROOT}/skills/product/visual-direction/SKILL.md")` — five questions, anti-patterns, visual brief format.
24
+
25
+ 3. Answer all five questions out loud before proposing any treatment:
26
+ - **Q1** What IS this content? (intrinsic structure, not appearance)
27
+ - **Q2** What does the audience already think in? (mental model)
28
+ - **Q3** What action do we want the user to take?
29
+ - **Q4** If this content were a physical artifact, what form would it take?
30
+ - **Q5** Stupid-question test: would the proposed form feel obviously wrong?
31
+
32
+ 4. Emit the **visual brief**: content type · audience mental model · proposed metaphor · animation role · nearest-neighbor risk named.
33
+
34
+ Do not skip to wireframe or implementation without completing step 3.
@@ -0,0 +1,47 @@
1
+ ---
2
+ description: Prove a claim by re-deriving it (run + gate) instead of asserting "done"
3
+ phase_relevance: ["build", "review", "operate"]
4
+ archetype_relevance: ["*"]
5
+ ---
6
+
7
+ # /wicked-garden:prove
8
+
9
+ The one-line re-derivation verb. Before you tell the user something is "done"
10
+ / "tests pass" / "the build is clean", **prove it** — don't assert it. This
11
+ runs the command, freezes its real exit code as wicked-vault evidence, and gates
12
+ by re-running the verifier. Exit 0 only on a re-derived PASS; fail-closed (exit
13
+ 3) when the loom/vault backend is unresolvable — never a vacuous pass.
14
+
15
+ It collapses the gate ritual (vault init → declare-contract → record --run →
16
+ gate) into one call, so the gate is something you reach for by reflex.
17
+
18
+ Instructions:
19
+ - Run it inline (the `--by` command executes in `--project-dir`, default `.`):
20
+ ```bash
21
+ sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" \
22
+ "${CLAUDE_PLUGIN_ROOT}/scripts/qe/prove.py" \
23
+ <claim> --by "<command>" [--verifier exit_code_eq:0] [--project-dir <dir>]
24
+ ```
25
+ e.g. `prove.py tests-pass --by "pytest -q"` · `prove.py build-clean --by "npm run build"`
26
+ - **Validate the OUTPUT, not just an exit code.** `--verifier` re-runs against the
27
+ command's output: `regex_match:<re>` / `not_contains:<re>` scan stdout;
28
+ `jq_pred:<expr>` evaluates a predicate over the command's JSON stdout;
29
+ `commit_exists:<sha>` checks a git commit. This works on **final and interim**
30
+ artifacts — prove an intermediate produce the moment it exists, not only at the end:
31
+ ```
32
+ prove.py adr-has-decision --by "cat decision.md" --verifier "regex_match:## Decision" --kind doc
33
+ prove.py config-no-secrets --by "cat app.yaml" --verifier "not_contains:(?i)password" --kind doc
34
+ prove.py enough-options --by "cat options.json" --verifier "jq_pred:.options | length >= 2" --kind doc
35
+ ```
36
+ - Read the JSON verdict: `satisfied` is the truth; `re_derived: true` means it
37
+ was recomputed from frozen evidence (not your claim); `gate: "unavailable"`
38
+ means the backend is down and the gate failed closed.
39
+ - Only report the work as done when `satisfied: true`. On `REJECT`, the claim is
40
+ false — fix it, don't narrate around it.
41
+
42
+ **Hard gates (incident/migrate/review): `--with-attestations`.** Add it and the
43
+ gate stays `REJECT` (`UNATTESTED`) until an INDEPENDENT evaluator — not the agent
44
+ that did the work — runs `wicked-vault attest <artifact-id> --opinion pass`. The
45
+ doer's own evidence cannot satisfy a hard gate; that's the point. Find the
46
+ artifact with `wicked-vault list --scope <scope> --phase <phase>`. A `reject`
47
+ attestation flips the gate to `REJECT` even if the evidence re-derives.
@@ -0,0 +1,243 @@
1
+ ---
2
+ description: File a GitHub issue for a bug, UX friction point, or unmet outcome
3
+ argument-hint: "[bug | ux-friction | unmet-outcome | --list-unfiled]"
4
+ allowed_tools:
5
+ - Bash
6
+ - Read
7
+ - Write
8
+ - Grep
9
+ - AskUserQuestion
10
+ - Skill
11
+ phase_relevance: ["*"]
12
+ archetype_relevance: ["*"]
13
+ ---
14
+
15
+ # /wicked-garden:report-issue
16
+
17
+ File a structured GitHub issue with acceptance criteria, steps to reproduce, and desired outcome.
18
+
19
+ ## Instructions
20
+
21
+ ### 1. Parse Arguments
22
+
23
+ Determine issue type from arguments:
24
+ - `bug` → Bug Report (label: `bug`)
25
+ - `ux-friction` → UX Friction Report (label: `ux`)
26
+ - `unmet-outcome` → Unmet Outcome Report (label: `gap`)
27
+ - `--list-unfiled` → List and optionally file unfiled issues from fallback queue
28
+ - No argument → Ask user to select type
29
+
30
+ If `--list-unfiled` was provided, skip to Section 7.
31
+
32
+ ### 2. Collect Fields
33
+
34
+ Gather information interactively based on issue type.
35
+
36
+ **Bug Report**:
37
+ - Title: Short summary of the bug
38
+ - Steps to Reproduce: What actions led to the bug
39
+ - Expected Behavior: What should have happened
40
+ - Actual Behavior: What actually happened
41
+ - Impact: How severe is this (optional)
42
+
43
+ **UX Friction**:
44
+ - Title: Short summary of the friction
45
+ - What You Tried: The intent and actions taken
46
+ - What Happened Instead: The confusing or unexpected result
47
+ - Suggested Improvement: How it could be better (optional)
48
+
49
+ **Unmet Outcome**:
50
+ - Title: Short summary of the gap
51
+ - Goal: What the session was trying to achieve
52
+ - What Happened: The actual result
53
+ - What Would Have Helped: Suggestions (optional)
54
+
55
+ ### 3. Research Before Filing
56
+
57
+ After collecting the title and initial description, run three research steps. All findings are additive — they enrich the issue body but do not block filing.
58
+
59
+ #### 3a. Duplicate Detection
60
+
61
+ Search existing open issues for the same or similar problem:
62
+
63
+ ```bash
64
+ gh issue list --repo {repo} --search "{title keywords}" --state open --json number,title,state --limit 10
65
+ ```
66
+
67
+ - If `gh` is unavailable or the repo is not detected, skip this step.
68
+ - If potential duplicates are found (titles with significant keyword overlap), note them:
69
+ ```
70
+ Potential duplicates found — will link in issue body: #123, #456
71
+ ```
72
+ - If no duplicates found, note: "No open duplicates detected."
73
+ - Append to issue body as a **Duplicate Check** section:
74
+ ```markdown
75
+ ## Duplicate Check
76
+
77
+ <!-- Searched: "{keywords}" -->
78
+ - Potential duplicates: #123 "{title}", #456 "{title}"
79
+ <!-- OR -->
80
+ - No open duplicates detected.
81
+ ```
82
+
83
+ #### 3b. Codebase Research
84
+
85
+ Search the codebase for files and symbols related to the issue keywords:
86
+
87
+ ```bash
88
+ # Use Grep to find files relevant to the issue description
89
+ grep -r --include="*.md" --include="*.py" --include="*.js" --include="*.ts" -l "{keyword1}\|{keyword2}" . --max-count=1 | head -10
90
+ ```
91
+
92
+ If relevant files are found (up to 5 most relevant), list them as **Related Code**. If no relevant files are found, omit this section.
93
+
94
+ Append to issue body when files are found:
95
+ ```markdown
96
+ ## Related Code
97
+
98
+ Files likely relevant to this issue:
99
+ - `{path/to/file.py}`
100
+ - `{path/to/other.md}`
101
+ ```
102
+
103
+ #### 3c. Memory Recall
104
+
105
+ Recall any past context about this area from the memory store:
106
+
107
+ ```
108
+ Skill(skill="wicked-brain:memory", args="{issue title keywords}")
109
+ ```
110
+
111
+ If memories are returned that are relevant to the issue, summarize them as **Prior Context**. If no relevant memories exist, omit this section.
112
+
113
+ Append to issue body when memories are found:
114
+ ```markdown
115
+ ## Prior Context
116
+
117
+ From memory store:
118
+ - {memory summary 1}
119
+ - {memory summary 2}
120
+ ```
121
+
122
+ ### 4. Validate Acceptance Criteria (SMART)
123
+
124
+ Before composing the final issue, validate each acceptance criterion against SMART criteria:
125
+
126
+ **Specific**: The AC must reference a concrete behavior, file, command, or measurable artifact.
127
+ - Fail: "should work better", "improves performance", "feels right"
128
+ - Pass: "Bash hook returns `{\"ok\": true}` on success", "no grep results for hardcoded paths"
129
+
130
+ **Measurable**: The AC must include a verifiable assertion — something that can be confirmed true or false without ambiguity.
131
+ - Fail: "works as expected", "no errors occur"
132
+ - Pass: "passes `/wg-check`", "exit code 0", "output contains 'No issues found'"
133
+
134
+ For each AC that fails either check:
135
+ - **In just-finish / auto mode**: Auto-improve the AC. Rewrite it to be specific and measurable using context from the issue description. Log the change: `[SMART] Improved AC: "{original}" → "{improved}"`
136
+ - **In interactive mode**: Warn the user and suggest an improved version. Ask if they'd like to use the improved version or keep the original.
137
+
138
+ ### 5. Compose Issue
139
+
140
+ Build the issue body using the template from the skill's `refs/templates.md`. Include:
141
+ - Reporter info (Claude Code manual report)
142
+ - All collected fields
143
+ - Research findings (Duplicate Check, Related Code, Prior Context) appended after main body
144
+ - Acceptance criteria checklist (SMART-validated)
145
+ - Desired outcome statement
146
+
147
+ Auto-detect the repo:
148
+ ```bash
149
+ gh repo view --json nameWithOwner -q .nameWithOwner
150
+ ```
151
+
152
+ ### 6. Quality Gate and File
153
+
154
+ #### 6a. Quality Gate (advisory — warns only, does not block filing)
155
+
156
+ Run these checks before filing. Log any warnings but proceed regardless:
157
+
158
+ | Check | Criteria | Warning Message |
159
+ |-------|----------|-----------------|
160
+ | Title length | Under 80 characters | "Title is {N} chars — consider shortening for readability" |
161
+ | Title descriptiveness | Not a single word or generic phrase | "Title may be too vague — add more context" |
162
+ | Steps to reproduce | For bugs: at least 2 numbered steps | "Bug report has fewer than 2 reproduction steps" |
163
+ | Acceptance criteria count | At least 2 ACs | "Only {N} acceptance criteria — add at least 2" |
164
+ | AC verb prefix | Each AC starts with an action verb | "AC '{text}' does not start with a verb" |
165
+ | AC independence | Each AC is independently verifiable (no 'and' combining two checks) | "AC '{text}' may combine multiple assertions — split for clarity" |
166
+ | Duplicate check | Duplicate search was completed | "Duplicate check was skipped — search for existing issues manually" |
167
+
168
+ Display warnings (if any) before the preview:
169
+ ```markdown
170
+ ## Quality Warnings
171
+
172
+ - Title is 92 chars — consider shortening for readability
173
+ - AC 'Root cause identified' does not start with a verb
174
+ ```
175
+
176
+ If no warnings, skip the Quality Warnings block.
177
+
178
+ #### 6b. Confirm and File
179
+
180
+ Show the composed issue to the user:
181
+
182
+ ```markdown
183
+ ## Issue Preview
184
+
185
+ **Title**: {title}
186
+ **Label**: {label}
187
+ **Repo**: {repo}
188
+
189
+ {body}
190
+
191
+ ---
192
+ File this issue? (Approve to submit via gh, or cancel)
193
+ ```
194
+
195
+ On confirmation:
196
+ - If `gh` is available and repo detected:
197
+ - Write body to a temp file
198
+ - Run: `gh issue create --repo {repo} --title "{title}" --body-file {tmpfile} --label "{label}"`
199
+ - Report the issue URL to the user
200
+ - Clean up temp file
201
+ - If `gh` unavailable or no repo:
202
+ 1. **Print to screen**: Display the full issue as formatted markdown:
203
+ ```markdown
204
+ ## Issue: {title}
205
+ **Label**: {label}
206
+ **Repo**: {repo or "unknown"}
207
+
208
+ {body}
209
+ ```
210
+ 2. **Generate GitHub URL**: Build a pre-filled issue creation URL using Python:
211
+ ```python
212
+ import urllib.parse
213
+ title_enc = urllib.parse.quote(title)
214
+ body_enc = urllib.parse.quote(body)
215
+ label_enc = urllib.parse.quote(label)
216
+ url = f"https://github.com/{owner}/{repo}/issues/new?title={title_enc}&body={body_enc}&labels={label_enc}"
217
+ print(url)
218
+ ```
219
+ Display the URL to the user with instructions: "Open this URL to file the issue directly in your browser."
220
+ 3. **Ask to save locally**: Ask the user: "Save this issue locally for later filing with `/wicked-garden:report-issue --list-unfiled`? (yes/no)"
221
+ - If yes: Resolve path `UNFILED=$(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/resolve_path.py wicked-garden unfiled-issues)` and save to `${UNFILED}/{timestamp}.json`
222
+ - If no: Skip caching. Done.
223
+
224
+ ### 7. List Unfiled Issues (--list-unfiled)
225
+
226
+ If `--list-unfiled` was provided:
227
+
228
+ 1. Resolve path: `UNFILED=$(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/resolve_path.py wicked-garden unfiled-issues)`
229
+ 2. Read all JSON files from `${UNFILED}/`
230
+ 3. If empty: report "No unfiled issues found."
231
+ 4. If found: display a summary table:
232
+
233
+ ```markdown
234
+ | # | Title | Type | Date |
235
+ |---|-------|------|------|
236
+ | 1 | Tool failure: Bash (3x) | bug | 2026-02-17 |
237
+ | 2 | Navigation is confusing | ux | 2026-02-16 |
238
+ ```
239
+
240
+ 5. Ask user which to file (all, specific numbers, or cancel)
241
+ 5. For each selected: run `gh issue create` with the stored title, body, and label
242
+ 6. On success: delete the unfiled JSON file
243
+ 7. Report results
@@ -0,0 +1,144 @@
1
+ ---
2
+ allowed-tools: ["Bash", "Read", "AskUserQuestion"]
3
+ description: "Reset wicked-garden to a clean state — choose which data to clear"
4
+ argument-hint: "[--all] [--only domain1,domain2] [--keep domain] [--force] [--list-projects] [--all-projects]"
5
+ phase_relevance: ["*"]
6
+ archetype_relevance: ["*"]
7
+ ---
8
+
9
+ # /wicked-garden:reset
10
+
11
+ Selectively clear wicked-garden local state. Shows what exists and lets the user choose what to reset.
12
+
13
+ ## Arguments
14
+
15
+ - `--all`: Select all domains for clearing (can combine with `--keep`)
16
+ - `--only {domains}`: Comma-separated list of specific domains to clear
17
+ - `--keep {domains}`: Comma-separated domains to preserve when using `--all`
18
+ - `--force`: Skip confirmation prompt
19
+ - `--list-projects`: List all projects with stored state (each working directory is a separate project)
20
+ - `--all-projects`: Operate on all projects, not just the current one
21
+
22
+ ## Project Scope
23
+
24
+ State is project-scoped — each working directory gets its own isolated storage. The reset command operates on the current project by default. Use `--list-projects` to see all projects, and `--all-projects` to clear data across all of them.
25
+
26
+ ## Question Mode
27
+
28
+ Detect whether AskUserQuestion is available:
29
+
30
+ ```bash
31
+ python3 -c "
32
+ import json, os, sys
33
+ from pathlib import Path
34
+ sys.path.insert(0, str(Path(os.environ.get('CLAUDE_PLUGIN_ROOT', '.')).resolve() / 'scripts'))
35
+ from _session import SessionState
36
+ state = SessionState.load()
37
+ print('PLAIN_TEXT' if state.dangerous_mode else 'INTERACTIVE')
38
+ "
39
+ ```
40
+
41
+ ## Instructions
42
+
43
+ ### 1. Scan Current State
44
+
45
+ Run a dry-run scan to see what exists:
46
+
47
+ ```bash
48
+ sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/reset.py --json
49
+ ```
50
+
51
+ Parse the JSON output. Extract the domains where `exists` is `true`.
52
+
53
+ The JSON output includes `project` (current project slug) and `project_root` (storage path).
54
+
55
+ If no domains have state, tell the user: "Nothing to reset — wicked-garden has no local state for project {project}." and stop.
56
+
57
+ **If `--list-projects` was passed**: Run `sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/reset.py --list-projects --json` instead and display the project list. Stop after showing.
58
+
59
+ **If `--all-projects` was passed**: Add `--all-projects` to the reset command in Step 4.
60
+
61
+ ### 2. Show State and Ask What to Clear
62
+
63
+ **If `--all` or `--only` was passed**: Skip the selection — targets are already known. Go to Step 3.
64
+
65
+ **Otherwise**: Present the found domains and let the user choose.
66
+
67
+ Show a numbered list of domains that have state, plus an "All" option:
68
+
69
+ ```
70
+ ## Current wicked-garden state (project: {project_slug})
71
+
72
+ Found {n} domain(s) with local data:
73
+
74
+ 1. config — Setup configuration (52 B)
75
+ 2. smaht — Session history and context cache (12 KB)
76
+ 3. crew — Crew project data (4 KB)
77
+ 4. mem — Memory store (8 KB)
78
+ 5. search — Search index (2.1 MB)
79
+ a. All of the above
80
+
81
+ Which domains would you like to reset? (comma-separated numbers, or 'a' for all)
82
+ ```
83
+
84
+ Only list domains where `exists` is `true`. Number them sequentially.
85
+
86
+ **INTERACTIVE mode**: Use AskUserQuestion. Since there may be more than 4 options, use plain text instead (AskUserQuestion only supports up to 4 options).
87
+
88
+ **In both modes**: Present as plain text and STOP. Wait for the user to reply.
89
+
90
+ Parse the user's reply:
91
+ - Single number → that domain only
92
+ - Comma-separated numbers (e.g., "1,3,5") → those domains
93
+ - "a" or "all" → all found domains
94
+ - Domain names (e.g., "smaht, crew") → those domains directly
95
+
96
+ Echo back: "You selected: **{domain list}**."
97
+
98
+ ### 3. Confirm
99
+
100
+ **If `--force` was passed**: Skip to Step 4.
101
+
102
+ Present a confirmation:
103
+
104
+ ```
105
+ This will permanently clear: {selected domains}
106
+
107
+ 1. Yes, clear selected data
108
+ 2. Cancel
109
+
110
+ Please reply with 1 or 2.
111
+ ```
112
+
113
+ STOP and wait. If the user cancels, say "Reset cancelled." and stop.
114
+
115
+ ### 4. Execute Reset
116
+
117
+ Build the `--only` list from the user's selection:
118
+
119
+ ```bash
120
+ sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/reset.py --confirm --only {selected_domains_space_separated} --json
121
+ ```
122
+
123
+ Or if `--all` with `--keep`:
124
+
125
+ ```bash
126
+ sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/reset.py --confirm --all --keep {kept_domains_space_separated} --json
127
+ ```
128
+
129
+ ### 5. Report Results
130
+
131
+ Parse the JSON output and show:
132
+
133
+ ```
134
+ ## Reset complete
135
+
136
+ Cleared: smaht, crew
137
+ Kept: config, mem, search, delivery, jam
138
+ Errors: none
139
+
140
+ Note: If you cleared 'config', the setup wizard will run on your next session.
141
+ Run /wicked-garden:setup to reconfigure now.
142
+ ```
143
+
144
+ If there were errors, show them and suggest manual cleanup.
@@ -0,0 +1,58 @@
1
+ ---
2
+ description: |
3
+ Use when you need to know what would break or be affected by changing a symbol — traces
4
+ dependents (what uses this) over the code-relationship graph, including injected edges
5
+ (bus/dispatch/capability) that grep and a static call-graph cannot see.
6
+ NOT for full data lineage tracing (use search:lineage) or general code search (use wicked-brain:search).
7
+ argument-hint: "<symbol> [--depth N]"
8
+ phase_relevance: ["build", "review"]
9
+ archetype_relevance: ["*"]
10
+ ---
11
+
12
+ # /wicked-garden:search:blast-radius
13
+
14
+ Analyze what would be affected if you changed a symbol — **delegates to wicked-brain's
15
+ code-relationship graph** (`wicked-brain:graph`), which owns the unified static + injected
16
+ graph as of ADR 0004. Garden no longer maintains its own graph; it consumes brain's.
17
+
18
+ > **Scope**: `blast-radius` answers "what breaks if I change X?" (the dependents graph).
19
+ > For **data-flow tracing** (UI field → DB column or reverse), use `/wicked-garden:search:lineage`.
20
+
21
+ ## Arguments
22
+ - `symbol` (required): the symbol to analyze (a file node like `src/app.py`, or a symbol name).
23
+ - `--depth` (optional): traversal depth (brain default applies if omitted).
24
+
25
+ ## Instructions
26
+
27
+ 1. **Ensure the graph is fresh** (brain builds the codegraph static graph + runs the injected-edge extractors in one pass):
28
+ ```bash
29
+ npx -y wicked-brain-call graph-index
30
+ ```
31
+ The result carries a `staleness` stamp; if `stale` is true after editing, re-run it.
32
+
33
+ 2. **Resolve the symbol to a graph node id.** Node ids are `file:<relpath>` for files, or `function:<hash>` etc. for symbols. For a file, use `file:<path>` directly. For a named symbol, find its id via brain:
34
+ ```bash
35
+ npx -y wicked-brain-call symbols --query "<symbol>" # or wicked-brain:lsp workspace-symbols
36
+ ```
37
+
38
+ 3. **Query blast radius from brain** (static + injected dependents in one answer — the authoritative layer):
39
+ ```bash
40
+ npx -y wicked-brain-call graph-blast-radius --node "file:<path-or-resolved-id>"
41
+ ```
42
+ The `dependents` array includes relationships grep can't see: a command that *dispatches* an agent (`injected:dispatch`), a consumer that *subscribes* to an event (`injected:bus`), an agent that *declares* a capability (`injected:capability`). Each result carries a `staleness` stamp.
43
+
44
+ 4. **Fallbacks** (in order):
45
+ - If `graph-blast-radius` returns `engine: "unavailable"`, codegraph isn't installed where brain runs — install it (`npx @colbymchenry/codegraph`) or set `WICKED_CODEGRAPH_BIN`, then `graph-index`.
46
+ - If brain is unreachable, fall back to `wicked-brain:search` for semantic neighbors, then Grep/Glob for literal refs — and **flag that injected relationships will be MISSING** from the result.
47
+
48
+ 5. Report: **dependents** (static + injected, with provenance), total blast-radius count, files affected, and the graph's staleness.
49
+
50
+ ## Example
51
+ ```
52
+ /wicked-garden:search:blast-radius scripts/_bus.py
53
+ /wicked-garden:search:blast-radius UserService --depth 3
54
+ ```
55
+
56
+ ## Notes
57
+ - The graph + queries live in **wicked-brain** now (ADR 0004); this command is a thin wrapper over `wicked-brain:graph`. For lineage (downstream dependencies) use `/wicked-garden:search:lineage`.
58
+ - Garden contributes its proprietary **archetype** edges to brain's graph via the drop-in extractor `.codegraph-extractors/archetype.mjs` (discovered by brain's registry) — so archetype→playbook relationships are in the blast radius too.