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,109 @@
1
+ # plan — implementation planning rubric
2
+
3
+ Checklist and output format for generating detailed implementation plans with file changes,
4
+ risk assessment, and test recommendations before writing code.
5
+
6
+ ## Pre-plan exploration checklist
7
+
8
+ Before drafting a plan, explore the codebase to understand:
9
+
10
+ - [ ] Files that implement the functionality being changed
11
+ - [ ] Direct callers and consumers of those files (blast radius)
12
+ - [ ] Existing patterns and conventions (naming, error handling, module structure)
13
+ - [ ] Test patterns and coverage for affected areas
14
+ - [ ] Any feature flags or config that gates the change
15
+
16
+ Use `wicked-garden:search:blast-radius {symbol}` to find all call sites. Fall back to
17
+ `wicked-brain:search` or Grep when the index is unavailable.
18
+
19
+ ## Risk assessment checklist
20
+
21
+ For each change, evaluate:
22
+
23
+ | Risk Category | Questions to ask |
24
+ |---------------|-----------------|
25
+ | Breaking changes | Does this change any public interface, event schema, or API contract? |
26
+ | Performance | Does this add I/O, a loop, or a DB query to a hot path? |
27
+ | Security | Does this touch auth, session, credentials, or user-supplied input? |
28
+ | Data integrity | Does this touch a migration, schema, or data transform? |
29
+ | Test gaps | Are there untested edge cases that the change could break? |
30
+ | Deployment | Does this require a coordinated deploy (e.g. schema before code)? |
31
+
32
+ ## Implementation plan output format
33
+
34
+ ```markdown
35
+ ## Implementation Plan: {title}
36
+
37
+ ### Summary
38
+ {1-2 sentence overview of what changes and why}
39
+
40
+ ### Scope
41
+ - **In scope**: {what will change}
42
+ - **Out of scope**: {explicitly NOT changing}
43
+
44
+ ### Changes Required
45
+
46
+ #### 1. {path/to/file.ext}
47
+ **Purpose**: {why this file changes}
48
+ **Changes**:
49
+ - {Specific change — e.g., "Add null check before accessing `.id`"}
50
+ - {Add / Modify / Remove — be concrete}
51
+
52
+ #### 2. {path/to/another-file.ext}
53
+ **Purpose**: {why}
54
+ **Changes**:
55
+ - {change}
56
+
57
+ ### Risk Assessment
58
+
59
+ | Risk | Likelihood | Impact | Mitigation |
60
+ |------|------------|--------|------------|
61
+ | {risk} | Low/Med/High | Low/Med/High | {action} |
62
+
63
+ ### Test Plan
64
+
65
+ - [ ] Unit: {what unit behavior to cover}
66
+ - [ ] Integration: {what flow to exercise end-to-end}
67
+ - [ ] Manual verification: {scenario to check in the running app}
68
+ - [ ] Regression: {existing tests to re-run}
69
+
70
+ ### Rollout Considerations
71
+
72
+ {Any deployment notes: feature flags, migration order, canary, backward compatibility window}
73
+
74
+ ### Open Questions
75
+
76
+ - {Question that needs resolution before implementation starts}
77
+ ```
78
+
79
+ ## Planning heuristics
80
+
81
+ **Start with the test** — if you can't describe what test would fail without this change,
82
+ the requirement isn't specific enough yet.
83
+
84
+ **One file at a time** — each file in "Changes Required" should have its own purpose;
85
+ if two files have the same purpose, merge them in the plan.
86
+
87
+ **Flag unauthorized scope** — if exploration reveals the change will require touching
88
+ files well outside the stated scope, surface this before proceeding.
89
+
90
+ **Security checklist for any change touching auth, input, or data**:
91
+ - [ ] No credentials logged
92
+ - [ ] Input validated before use
93
+ - [ ] Authorization checked (not just authentication)
94
+ - [ ] SQL/injection-safe if DB queries change
95
+ - [ ] No plaintext secrets in new config
96
+
97
+ **Performance checklist for any change on a hot path**:
98
+ - [ ] No new synchronous I/O added to request path
99
+ - [ ] No N+1 query pattern introduced
100
+ - [ ] Timeout specified on any new external call
101
+ - [ ] No unbounded collection loaded into memory
102
+
103
+ ## After presenting the plan
104
+
105
+ Ask:
106
+ > Ready to proceed with implementation, or would you like to adjust the approach?
107
+
108
+ If approved, execute using `engineering:apply` or the build archetype
109
+ (`/wicked-garden:archetype:build`).
@@ -0,0 +1,138 @@
1
+ # review — senior engineering code review rubric
2
+
3
+ Bulletproof Standards (R1–R6 + T1–T6), severity guidelines, persona routing, and output format.
4
+ Use `engineering:review` for code-level review; use `engineering:arch` for component/system architecture review.
5
+
6
+ ## Bulletproof Coding Standards — R1–R6
7
+
8
+ These are enforcement directives, not suggestions. Flag every violation. No exceptions.
9
+
10
+ - **R1: No Dead Code** — Flag unused imports, functions, variables, types, and unreachable branches.
11
+ Dead code decays, misleads, and costs. Delete it, or add a comment explaining why it stays.
12
+
13
+ - **R2: No Bare Panics** — Every function that can fail MUST return an error type or throw within
14
+ a handled context. No `panic()`, no unhandled exceptions, no `unwrap()` in production paths,
15
+ no `process.exit(1)` in library code. If it can fail, the signature must show it.
16
+
17
+ - **R3: No Magic Values** — All constants must be named. No bare numbers, strings, or config values
18
+ in logic. Examples to flag: `if retries > 3`, `timeout: 5000`, `color: '#1a1a2e'`, `z-index: 9999`.
19
+ Demand a named constant with a comment explaining the choice.
20
+
21
+ - **R4: No Swallowed Errors** — Every error catch must handle or propagate. Empty catch blocks,
22
+ `_ = err`, `pass`, and `console.log(err)` without user feedback are violations. "Log and continue"
23
+ counts only if the log includes the error detail and the function's contract allows partial failure.
24
+
25
+ - **R5: No Unbounded Operations** — All I/O (HTTP calls, DB queries, file reads, queue polls) MUST
26
+ have timeouts. No indefinite `await`, no missing `context.WithTimeout`, no fetch without
27
+ `AbortController` or `signal`, no infinite retries without backoff and ceiling. External calls
28
+ need a timeout AND a failure mode.
29
+
30
+ - **R6: No God Functions** — Functions over ~60 lines need extraction. More than 3 nesting levels
31
+ needs early returns or decomposition. If you can't describe what a function does in one sentence,
32
+ it does too much.
33
+
34
+ ## Bulletproof Testing Standards — T1–T6
35
+
36
+ Apply when `--focus tests` or when reviewing test files directly.
37
+
38
+ - **T1: Determinism** — No date/time dependencies without injected clocks. No random without seed.
39
+ No order-dependent test suites. Same input → same result, always.
40
+
41
+ - **T2: No sleep-based sync** — No `sleep(200)` or `time.Sleep` as a synchronization mechanism.
42
+ Use explicit waits, callbacks, events, or polling with a timeout and an error on timeout.
43
+
44
+ - **T3: Isolation** — Each test sets up and tears down its own state. No shared mutable globals
45
+ between tests. No dependency on test execution order.
46
+
47
+ - **T4: Single assertion focus** — One logical assertion per test (multiple asserts on the same
48
+ subject is fine). Tests that assert five unrelated things make failures hard to diagnose.
49
+
50
+ - **T5: Descriptive names** — Test name should read as a sentence: `test_returns_empty_list_when_no_users`,
51
+ not `test_user_3`. Name should encode: subject + scenario + expected outcome.
52
+
53
+ - **T6: Provenance** — Each test should trace to a requirement, acceptance criterion, or bug ID.
54
+ Tests without clear purpose are maintenance debt. Note the gap as LOW severity.
55
+
56
+ ## Agent overstepping — always flag
57
+
58
+ - Unrelated edits outside stated scope
59
+ - Commented-out code left in the diff
60
+ - Over-engineering / speculative generality (YAGNI violations)
61
+ - Scope creep: restructuring files not mentioned in the task
62
+ - Refactoring mixed into a bug fix (makes rollback impossible)
63
+
64
+ ## Focus lanes (applied when `--focus` given)
65
+
66
+ | Flag | Deepen these areas |
67
+ |------|-------------------|
68
+ | `--focus security` | Auth/authz, input validation, SQL injection, credential handling, OWASP Top 10 |
69
+ | `--focus performance` | Hot paths, N+1 queries, missing indexes, unbounded ops, caching opportunities |
70
+ | `--focus patterns` | DRY, SOLID, naming, abstractions, module boundaries, coupling |
71
+ | `--focus tests` | T1–T6 standards, coverage gaps, flakiness risks, missing edge cases |
72
+
73
+ ## Persona routing (`--persona <name>`)
74
+
75
+ 1. Resolve the persona:
76
+ ```bash
77
+ PERSONA_JSON=$(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_run.py" scripts/persona/registry.py --get "${persona_name}" --json 2>/dev/null)
78
+ ```
79
+ 2. If found: apply the review through the persona's lens — flag what that persona's frame of
80
+ reference would catch (e.g. a security-focused persona finds auth gaps a general review might
81
+ rate LOW).
82
+ 3. If not found: warn "Persona '{name}' not found — using default review lens" and fall through.
83
+
84
+ ## wicked-scenarios (`--scenarios`)
85
+
86
+ For each Critical or High finding, emit a wicked-scenarios regression block:
87
+
88
+ ```yaml
89
+ scenario: "{title describing the bug/issue}"
90
+ given: "{precondition}"
91
+ when: "{action that triggers it}"
92
+ then: "{expected behavior after fix}"
93
+ file: "{file}:{line}"
94
+ severity: "Critical|High"
95
+ ```
96
+
97
+ ## Standard output format
98
+
99
+ ```markdown
100
+ ## Engineering Review: {scope or file}
101
+
102
+ ### Strengths
103
+ - {good pattern with file:line evidence}
104
+
105
+ ### Issues
106
+
107
+ | Severity | Rule | Issue | Location | Recommendation |
108
+ |----------|------|-------|----------|----------------|
109
+ | CRITICAL/HIGH/MEDIUM/LOW | R1–R6 or T1–T6 | {description} | `{file}:{line}` | {concrete fix} |
110
+
111
+ ### Architecture Notes
112
+ {Any structural observations — use engineering:arch for full analysis}
113
+
114
+ ### Maintainability Concerns
115
+ {Long-term maintenance considerations}
116
+
117
+ ### Agent Overstepping
118
+ {Any out-of-scope edits, commented-out code, or scope creep found — cite file:line}
119
+
120
+ ### Recommendations
121
+ 1. {Highest priority with rationale}
122
+ 2. {Secondary}
123
+ ```
124
+
125
+ ## Severity guidelines
126
+
127
+ - **CRITICAL**: Will cause data loss, security breach, or production outage
128
+ - **HIGH**: Will cause bugs, broken patterns, or major maintainability problems
129
+ - **MEDIUM**: Should fix; will accumulate tech debt; non-blocking
130
+ - **LOW**: Nice to have; style; minor improvements; provenance gaps
131
+
132
+ ## Cross-specialist referrals
133
+
134
+ - Security deep-dive → `wicked-garden:platform:security-engineer`
135
+ - Testing strategy → `wicked-testing:test-strategist`
136
+ - Architecture / structural trade-offs → `wicked-garden:engineering:solution-architect`
137
+ - Frontend specifics (React hooks, CSS, a11y), backend specifics (DB, API design,
138
+ queues): handled inline — apply the relevant checklist from this skill's refs.
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: system-design
3
+ description: |
4
+ Use when decomposing a system into components with clear boundaries, module organization, and interface
5
+ contracts — the "how do we slice this?" question at design time.
6
+ NOT for reviewing an existing system's health (use the architecture skill or engineering:arch).
7
+ portability: portable
8
+ phase_relevance: ["design", "build"]
9
+ archetype_relevance: ["*"]
10
+ ---
11
+
12
+ # System Design Skill
13
+
14
+ Decompose systems into well-defined components with clear boundaries and interfaces.
15
+
16
+ ## Purpose
17
+
18
+ Transform architecture into concrete components:
19
+ - Component identification and boundaries
20
+ - Interface definition
21
+ - Dependency management
22
+ - Module organization
23
+
24
+ ## Process
25
+
26
+ ### 1. Identify Components
27
+
28
+ Ask:
29
+ - What are major capabilities?
30
+ - What changes together?
31
+ - What has different scaling needs?
32
+ - What domain concepts exist?
33
+
34
+ ### 2. Define Boundaries
35
+
36
+ Apply:
37
+ - **High Cohesion** - Related functionality together
38
+ - **Low Coupling** - Minimal dependencies
39
+ - **Single Responsibility** - One reason to change
40
+ - **Information Hiding** - Encapsulate internals
41
+
42
+ ### 3. Design Interfaces
43
+
44
+ For each component:
45
+ - Public API (what it exposes)
46
+ - Dependencies (what it needs)
47
+ - Events (what it publishes/subscribes)
48
+ - Data contracts (I/O structures)
49
+
50
+ ### 4. Document
51
+
52
+ Creates in `phases/design/`:
53
+ ```
54
+ design/
55
+ ├── components/
56
+ │ ├── overview.md
57
+ │ ├── auth-component.md
58
+ │ └── dependencies.mmd
59
+ └── interfaces/
60
+ └── component-api.md
61
+ ```
62
+
63
+ ## Component Patterns
64
+
65
+ **Layered** - Presentation → Application → Domain → Infrastructure
66
+ **Hexagonal** - Business logic with adapter ports
67
+ **Plugin** - Core system with pluggable extensions
68
+
69
+ See component patterns in refs/ (patterns-layered-pattern.md, patterns-facade-pattern.md).
70
+
71
+ ## Dependency Management
72
+
73
+ ### Rules
74
+
75
+ 1. **Acyclic** - No circular dependencies
76
+ 2. **Unidirectional** - Dependencies flow one way
77
+ 3. **Stable** - Depend on stable abstractions
78
+ 4. **Explicit** - Declare in constructor/config
79
+
80
+ ### Common Anti-Patterns
81
+
82
+ **God Object** - One component does everything
83
+ **Fix**: Split by responsibility
84
+
85
+ **Feature Envy** - Component uses another's data extensively
86
+ **Fix**: Move functionality to data owner
87
+
88
+ **Circular Dependencies** - A depends on B, B depends on A
89
+ **Fix**: Extract shared logic or use events
90
+
91
+ **Leaky Abstraction** - Internal details exposed
92
+ **Fix**: Refine public interface
93
+
94
+ See dependency guides in refs/ (dependencies-dependency-principles.md, dependencies-best-practices.md).
95
+
96
+ ## Integration
97
+
98
+ ### With Architecture Skill
99
+
100
+ Implements high-level architecture:
101
+ - Takes architectural decisions
102
+ - Maps to concrete components
103
+ - Validates feasibility
104
+
105
+ ### With Integration Skill
106
+
107
+ Provides boundaries for:
108
+ - API design
109
+ - Service contracts
110
+ - Event schemas
111
+
112
+ ### With wicked-crew
113
+
114
+ Called during design phase after architecture.
115
+
116
+ ## Events
117
+
118
+ - `[arch:components:defined:success]` - Components designed
119
+ - `[arch:interface:defined:success]` - Interface documented
120
+ - `[arch:dependency:analyzed:success]` - Dependencies validated
121
+
122
+ ## Tips
123
+
124
+ 1. **Start with Boundaries** - Define what's in/out first
125
+ 2. **Think in Interfaces** - Design API before implementation
126
+ 3. **Keep It Simple** - Don't over-decompose
127
+ 4. **Test Boundaries** - Use contract tests
128
+ 5. **Refactor Gradually** - Small, safe steps
129
+ 6. **Document Dependencies** - Make them explicit
130
+
131
+ ## Reference Materials
132
+
133
+ - Component Template:
134
+ - [Structure & API](refs/component-template-structure.md)
135
+ - [Lifecycle & Deployment](refs/component-template-lifecycle.md)
136
+ - [Maintenance & Examples](refs/component-template-maintenance.md)
137
+ - Interface Template:
138
+ - [Structure & Contracts](refs/interface-template-structure.md)
139
+ - [Testing & Operations](refs/interface-template-lifecycle.md)
140
+ - [Examples & Tips](refs/interface-template-maintenance.md)
141
+ - Component Patterns:
142
+ - [Layered](refs/patterns-layered-pattern.md)
143
+ - [Plugin Architecture](refs/patterns-plugin-architecture.md)
144
+ - [Facade](refs/patterns-facade-pattern.md)
145
+ - [Dependency Injection](refs/patterns-dependency-injection.md)
146
+ - Dependencies:
147
+ - [Principles](refs/dependencies-dependency-principles.md)
148
+ - [Tracking](refs/dependencies-dependency-tracking.md)
149
+ - [Best Practices](refs/dependencies-best-practices.md)
150
+ - Anti-Patterns:
151
+ - [God Object](refs/anti-patterns-god-object.md)
152
+ - [Big Ball of Mud](refs/anti-patterns-big-ball-of-mud.md)
153
+ - [Circular Dependencies](refs/anti-patterns-circular-dependencies.md)
154
+ - [Feature Envy](refs/anti-patterns-feature-envy.md)
@@ -0,0 +1,254 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Component Anti-Patterns: Big Ball of Mud
6
+
7
+ ## Big Ball of Mud
8
+
9
+ ### Problem
10
+
11
+ No clear architecture. Everything coupled to everything.
12
+
13
+ ### Symptoms
14
+
15
+ ```typescript
16
+ // Bad: No structure, everything mixed
17
+ // UserController.ts
18
+ class UserController {
19
+ async createUser(req, res) {
20
+ // Validation in controller
21
+ if (!req.body.email) {
22
+ return res.status(400).json({ error: 'Email required' });
23
+ }
24
+
25
+ // Database access in controller
26
+ const existing = await db.query(
27
+ 'SELECT * FROM users WHERE email = $1',
28
+ [req.body.email]
29
+ );
30
+
31
+ if (existing) {
32
+ return res.status(409).json({ error: 'Email exists' });
33
+ }
34
+
35
+ // Business logic in controller
36
+ const hashedPassword = await bcrypt.hash(req.body.password, 10);
37
+
38
+ // More database access
39
+ const result = await db.query(
40
+ 'INSERT INTO users (email, password) VALUES ($1, $2) RETURNING *',
41
+ [req.body.email, hashedPassword]
42
+ );
43
+
44
+ // Email sending in controller
45
+ await sendGrid.send({
46
+ to: req.body.email,
47
+ subject: 'Welcome',
48
+ html: '<h1>Welcome!</h1>'
49
+ });
50
+
51
+ // Direct cache access
52
+ await redis.set(`user:${result.id}`, JSON.stringify(result));
53
+
54
+ res.status(201).json(result);
55
+ }
56
+ }
57
+ ```
58
+
59
+ ### Impact
60
+
61
+ - Impossible to test
62
+ - Can't swap dependencies
63
+ - Violates single responsibility
64
+ - Tightly coupled
65
+ - Hard to maintain
66
+
67
+ ### Solution
68
+
69
+ Introduce clear layers and separation of concerns:
70
+
71
+ ```typescript
72
+ // Good: Layered architecture
73
+ // Presentation Layer
74
+ class UserController {
75
+ constructor(private userService: UserService) {}
76
+
77
+ async createUser(req: Request, res: Response) {
78
+ try {
79
+ const user = await this.userService.createUser(req.body);
80
+ res.status(201).json(user);
81
+ } catch (error) {
82
+ if (error instanceof ValidationError) {
83
+ res.status(400).json({ error: error.message });
84
+ } else if (error instanceof ConflictError) {
85
+ res.status(409).json({ error: error.message });
86
+ } else {
87
+ res.status(500).json({ error: 'Internal error' });
88
+ }
89
+ }
90
+ }
91
+ }
92
+
93
+ // Application Layer
94
+ class UserService {
95
+ constructor(
96
+ private userRepo: UserRepository,
97
+ private emailService: EmailService,
98
+ private cache: Cache
99
+ ) {}
100
+
101
+ async createUser(data: CreateUserDTO): Promise<User> {
102
+ // Validation
103
+ this.validate(data);
104
+
105
+ // Check for duplicates
106
+ const existing = await this.userRepo.findByEmail(data.email);
107
+ if (existing) {
108
+ throw new ConflictError('Email already exists');
109
+ }
110
+
111
+ // Create user (domain logic)
112
+ const user = User.create(data);
113
+
114
+ // Persist
115
+ await this.userRepo.save(user);
116
+
117
+ // Send email
118
+ await this.emailService.sendWelcome(user.email);
119
+
120
+ // Cache
121
+ await this.cache.set(`user:${user.id}`, user);
122
+
123
+ return user;
124
+ }
125
+
126
+ private validate(data: CreateUserDTO): void {
127
+ if (!data.email) {
128
+ throw new ValidationError('Email required');
129
+ }
130
+ if (!data.password || data.password.length < 8) {
131
+ throw new ValidationError('Password must be at least 8 characters');
132
+ }
133
+ }
134
+ }
135
+
136
+ // Domain Layer
137
+ class User {
138
+ private constructor(
139
+ private id: string,
140
+ private email: string,
141
+ private passwordHash: string
142
+ ) {}
143
+
144
+ static async create(data: CreateUserDTO): Promise<User> {
145
+ const hashedPassword = await bcrypt.hash(data.password, 10);
146
+ return new User(generateId(), data.email, hashedPassword);
147
+ }
148
+ }
149
+
150
+ // Infrastructure Layer
151
+ class PostgresUserRepository implements UserRepository {
152
+ async save(user: User): Promise<void> {
153
+ await db.query(
154
+ 'INSERT INTO users (id, email, password_hash) VALUES ($1, $2, $3)',
155
+ [user.id, user.email, user.passwordHash]
156
+ );
157
+ }
158
+
159
+ async findByEmail(email: string): Promise<User | null> {
160
+ const row = await db.query(
161
+ 'SELECT * FROM users WHERE email = $1',
162
+ [email]
163
+ );
164
+ return row ? User.fromRow(row) : null;
165
+ }
166
+ }
167
+ ```
168
+
169
+ ## Leaky Abstraction
170
+
171
+ ### Problem
172
+
173
+ Implementation details leak through the abstraction.
174
+
175
+ ### Symptoms
176
+
177
+ ```typescript
178
+ // Bad: Leaky abstraction
179
+ interface UserRepository {
180
+ // SQL query leaking through interface
181
+ query(sql: string, params: any[]): Promise<any>;
182
+
183
+ // Database-specific pagination
184
+ findAll(offset: number, limit: number): Promise<any>;
185
+
186
+ // Redis-specific method
187
+ flushCache(): Promise<void>;
188
+ }
189
+
190
+ // Forces consumers to know about SQL
191
+ const users = await userRepo.query(
192
+ 'SELECT * FROM users WHERE email = $1',
193
+ [email]
194
+ );
195
+ ```
196
+
197
+ ### Impact
198
+
199
+ - Can't swap implementations
200
+ - Tied to specific technology
201
+ - Breaks abstraction principle
202
+ - Hard to test
203
+
204
+ ### Solution
205
+
206
+ Hide implementation details behind clean interface:
207
+
208
+ ```typescript
209
+ // Good: Clean abstraction
210
+ interface UserRepository {
211
+ findById(id: string): Promise<User | null>;
212
+ findByEmail(email: string): Promise<User | null>;
213
+ findAll(filter?: UserFilter): Promise<User[]>;
214
+ save(user: User): Promise<void>;
215
+ delete(id: string): Promise<void>;
216
+ }
217
+
218
+ interface UserFilter {
219
+ role?: UserRole;
220
+ status?: UserStatus;
221
+ createdAfter?: Date;
222
+ }
223
+
224
+ // Implementation details hidden
225
+ class PostgresUserRepository implements UserRepository {
226
+ async findByEmail(email: string): Promise<User | null> {
227
+ const row = await this.db.query(
228
+ 'SELECT * FROM users WHERE email = $1',
229
+ [email]
230
+ );
231
+ return row ? this.mapToUser(row) : null;
232
+ }
233
+
234
+ async findAll(filter?: UserFilter): Promise<User[]> {
235
+ const query = this.buildQuery(filter);
236
+ const rows = await this.db.query(query.sql, query.params);
237
+ return rows.map(row => this.mapToUser(row));
238
+ }
239
+
240
+ // Helper methods private
241
+ private buildQuery(filter?: UserFilter) {
242
+ // SQL building logic hidden
243
+ }
244
+
245
+ private mapToUser(row: any): User {
246
+ // Mapping logic hidden
247
+ }
248
+ }
249
+
250
+ // Consumer doesn't know about SQL
251
+ const user = await userRepo.findByEmail('test@example.com');
252
+ const activeUsers = await userRepo.findAll({ status: 'active' });
253
+ ```
254
+