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,146 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Backend Review Checklists
6
+
7
+ ## API Quality Checklist
8
+ - [ ] RESTful conventions followed
9
+ - [ ] Appropriate HTTP methods and status codes
10
+ - [ ] Request/response validation
11
+ - [ ] Consistent error responses
12
+ - [ ] Pagination for collections
13
+ - [ ] Versioning strategy
14
+
15
+ ## Database Quality Checklist
16
+ - [ ] Schema normalized appropriately
17
+ - [ ] Indexes on query fields
18
+ - [ ] Foreign keys and constraints
19
+ - [ ] Migrations reversible
20
+ - [ ] No N+1 queries
21
+ - [ ] Transactions used correctly
22
+
23
+ ## Security Checklist
24
+ - [ ] No plaintext passwords
25
+ - [ ] Input validation
26
+ - [ ] SQL injection prevention
27
+ - [ ] Authorization checks
28
+ - [ ] Rate limiting
29
+ - [ ] Sensitive data not logged
30
+
31
+ ## Common Anti-Patterns
32
+
33
+ ### API Anti-Patterns
34
+ - Inconsistent endpoint naming
35
+ - Wrong HTTP methods or status codes
36
+ - No pagination
37
+ - Missing rate limiting
38
+ - No versioning
39
+ - Not following REST conventions
40
+
41
+ ### Database Anti-Patterns
42
+ - Missing indexes on foreign keys
43
+ - N+1 query problems
44
+ - Not using transactions
45
+ - Missing connection pooling
46
+ - Non-reversible migrations
47
+ - Over-normalization or under-normalization
48
+
49
+ ### Security Anti-Patterns
50
+ - Plaintext passwords
51
+ - SQL injection vulnerabilities
52
+ - Missing authorization checks
53
+ - Logging sensitive data (passwords, tokens, SSNs)
54
+ - No input validation
55
+ - Missing CSRF protection
56
+
57
+ ### Performance Anti-Patterns
58
+ - Synchronous external API calls in request path
59
+ - No caching for expensive operations
60
+ - Not using background jobs
61
+ - Missing query optimization
62
+ - No connection pooling
63
+ - Blocking operations in async code
64
+
65
+ ## Output Template
66
+
67
+ ```markdown
68
+ ## Backend Review: {Feature/API}
69
+
70
+ ### API Design
71
+ {Endpoint structure, conventions}
72
+
73
+ ### Data Model
74
+ {Schema design, relationships}
75
+
76
+ ### Database Performance
77
+ {Query optimization, indexes}
78
+
79
+ ### Security
80
+ {Auth patterns, validation}
81
+
82
+ ### Issues
83
+ | Severity | Issue | Location | Fix |
84
+ |----------|-------|----------|-----|
85
+ | {Level} | {Problem} | {File:line} | {Solution} |
86
+
87
+ ### Recommendations
88
+ 1. {Priority item}
89
+ 2. {Secondary item}
90
+ ```
91
+
92
+ ## Key Focus Areas
93
+
94
+ ### API Design
95
+ - RESTful conventions (resources, methods, status codes)
96
+ - GraphQL schema design
97
+ - API versioning strategies
98
+ - Request/response validation
99
+ - Error handling and messaging
100
+ - Pagination and filtering
101
+ - Rate limiting
102
+
103
+ ### Database Patterns
104
+ - Schema design and normalization
105
+ - Indexing strategies
106
+ - Query optimization
107
+ - Transaction management
108
+ - Connection pooling
109
+ - Migration best practices
110
+ - N+1 query prevention
111
+
112
+ ### Data Modeling
113
+ - Entity definition
114
+ - Relationship modeling (1:1, 1:N, N:M)
115
+ - Data types and constraints
116
+ - Validation rules
117
+ - Audit trails
118
+
119
+ ### Authentication & Authorization
120
+ - Password hashing (bcrypt, argon2)
121
+ - JWT or session management
122
+ - OAuth2 / OIDC patterns
123
+ - RBAC (Role-Based Access Control)
124
+ - API key management
125
+
126
+ ### Performance & Scalability
127
+ - Query optimization and EXPLAIN plans
128
+ - Caching strategies (Redis, memcached)
129
+ - Background jobs (Celery, Bull)
130
+ - Database read replicas
131
+ - Horizontal scaling
132
+
133
+ ### Integration Patterns
134
+ - External API resilience (retry, timeout, circuit breaker)
135
+ - Webhook handling with retry
136
+ - Message queue patterns
137
+ - Idempotency for critical operations
138
+
139
+ ## Tools
140
+
141
+ - OpenAPI/Swagger for API docs
142
+ - EXPLAIN for query plans
143
+ - Database migrations (Alembic, Flyway)
144
+ - APM tools (DataDog, New Relic)
145
+ - Error tracking (Sentry)
146
+ - Load testing (Locust, k6)
@@ -0,0 +1,181 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Backend Code Patterns
6
+
7
+ ## API Endpoint Pattern
8
+
9
+ ```python
10
+ @router.post("/api/v1/orders", status_code=201)
11
+ async def create_order(
12
+ order: OrderCreate,
13
+ current_user: User = Depends(get_current_user)
14
+ ) -> OrderResponse:
15
+ # Authorization
16
+ if not current_user.can_create_orders:
17
+ raise HTTPException(403, "Insufficient permissions")
18
+
19
+ # Validation
20
+ if order.total < 0:
21
+ raise HTTPException(400, "Total must be non-negative")
22
+
23
+ # Transaction
24
+ async with db.transaction():
25
+ db_order = await db.orders.create(**order.dict())
26
+ await send_notification.delay(db_order.id)
27
+
28
+ return OrderResponse.from_orm(db_order)
29
+ ```
30
+
31
+ ## Query Optimization Pattern
32
+
33
+ ```python
34
+ # Bad: N+1 problem
35
+ orders = await Order.all()
36
+ for order in orders:
37
+ order.items = await OrderItem.filter(order_id=order.id)
38
+
39
+ # Good: Eager loading
40
+ orders = await Order.prefetch_related('items').all()
41
+ ```
42
+
43
+ ## Database Patterns
44
+
45
+ ### Transaction Management
46
+ ```python
47
+ async with db.transaction():
48
+ user = await User.create(email=email)
49
+ await Profile.create(user_id=user.id)
50
+ await send_welcome_email.delay(user.id)
51
+ ```
52
+
53
+ ### Connection Pooling
54
+ ```python
55
+ # Configure connection pool
56
+ DATABASE_URL = "postgresql://user:pass@localhost/db"
57
+ database = Database(
58
+ DATABASE_URL,
59
+ min_size=5,
60
+ max_size=20
61
+ )
62
+ ```
63
+
64
+ ### Migration Best Practices
65
+ ```python
66
+ # Reversible migration
67
+ def upgrade():
68
+ op.add_column('users', sa.Column('status', sa.String(20)))
69
+
70
+ def downgrade():
71
+ op.drop_column('users', 'status')
72
+ ```
73
+
74
+ ## Authentication Patterns
75
+
76
+ ### Password Hashing
77
+ ```python
78
+ from passlib.context import CryptContext
79
+
80
+ pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
81
+
82
+ def hash_password(password: str) -> str:
83
+ return pwd_context.hash(password)
84
+
85
+ def verify_password(plain: str, hashed: str) -> bool:
86
+ return pwd_context.verify(plain, hashed)
87
+ ```
88
+
89
+ ### JWT Token Management
90
+ ```python
91
+ from jose import jwt
92
+ from datetime import datetime, timedelta
93
+
94
+ def create_access_token(user_id: int) -> str:
95
+ expires = datetime.utcnow() + timedelta(hours=1)
96
+ payload = {"sub": str(user_id), "exp": expires}
97
+ return jwt.encode(payload, SECRET_KEY, algorithm="HS256")
98
+ ```
99
+
100
+ ## Integration Patterns
101
+
102
+ ### External API Resilience
103
+ ```python
104
+ import httpx
105
+ from tenacity import retry, stop_after_attempt, wait_exponential
106
+
107
+ @retry(
108
+ stop=stop_after_attempt(3),
109
+ wait=wait_exponential(multiplier=1, min=2, max=10)
110
+ )
111
+ async def fetch_external_data(url: str):
112
+ async with httpx.AsyncClient(timeout=5.0) as client:
113
+ response = await client.get(url)
114
+ response.raise_for_status()
115
+ return response.json()
116
+ ```
117
+
118
+ ### Webhook Handling
119
+ ```python
120
+ @router.post("/webhooks/stripe")
121
+ async def handle_stripe_webhook(
122
+ request: Request,
123
+ signature: str = Header(None, alias="Stripe-Signature")
124
+ ):
125
+ payload = await request.body()
126
+
127
+ # Verify signature
128
+ verify_webhook_signature(payload, signature)
129
+
130
+ # Process idempotently
131
+ event = json.loads(payload)
132
+ await process_event_idempotent(event)
133
+
134
+ return {"status": "received"}
135
+ ```
136
+
137
+ ### Circuit Breaker Pattern
138
+ ```python
139
+ from circuitbreaker import circuit
140
+
141
+ @circuit(failure_threshold=5, recovery_timeout=60)
142
+ async def call_payment_service(order_id: int):
143
+ # Will open circuit after 5 failures
144
+ # Closes automatically after 60 seconds
145
+ return await payment_api.charge(order_id)
146
+ ```
147
+
148
+ ## Caching Patterns
149
+
150
+ ### Redis Caching
151
+ ```python
152
+ from redis import asyncio as aioredis
153
+
154
+ async def get_user(user_id: int) -> User:
155
+ cache_key = f"user:{user_id}"
156
+
157
+ # Try cache first
158
+ cached = await redis.get(cache_key)
159
+ if cached:
160
+ return User.parse_raw(cached)
161
+
162
+ # Fetch from database
163
+ user = await User.get(id=user_id)
164
+
165
+ # Cache for 5 minutes
166
+ await redis.setex(cache_key, 300, user.json())
167
+
168
+ return user
169
+ ```
170
+
171
+ ### Cache Invalidation
172
+ ```python
173
+ async def update_user(user_id: int, data: UserUpdate):
174
+ user = await User.get(id=user_id)
175
+ await user.update(**data.dict())
176
+
177
+ # Invalidate cache
178
+ await redis.delete(f"user:{user_id}")
179
+
180
+ return user
181
+ ```
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: debugging
3
+ description: |
4
+ Systematic debugging and root cause analysis for investigating errors,
5
+ diagnosing complex issues, and performance profiling.
6
+
7
+ Use when: "debug this error", "why is this failing", "root cause analysis",
8
+ "fix this bug", "investigate crash", "stack trace", "not working"
9
+ portability: portable
10
+ context: fork
11
+ # TODO #339: When Claude Code supports 'paths' in skill frontmatter for
12
+ # file-context auto-activation, add:
13
+ # paths: ["**/*.log", "**/error*.ts", "**/error*.py", "**/*debug*"]
14
+ phase_relevance: ["design", "build"]
15
+ archetype_relevance: ["*"]
16
+ ---
17
+
18
+ # Debugging Skill
19
+
20
+ Systematic debugging, root cause analysis, and error investigation.
21
+
22
+ ## Debugging Approach
23
+
24
+ ### 1. Understand the Problem
25
+ - What is expected vs actual behavior?
26
+ - When did it start? Can it be reproduced?
27
+ - What changed recently?
28
+
29
+ ### 2. Gather Evidence
30
+ - Read logs and stack traces
31
+ - Review recent changes
32
+ - Identify patterns
33
+
34
+ ### 3. Form Hypothesis
35
+ - What is the most likely cause?
36
+ - What evidence supports this?
37
+
38
+ ### 4. Test Hypothesis
39
+ - Design targeted test
40
+ - Observe results
41
+ - Refine if needed
42
+
43
+ ### 5. Implement Fix
44
+ - Develop minimal fix
45
+ - Verify resolution
46
+ - Add regression tests
47
+
48
+ ### 6. Document
49
+ - Root cause and fix
50
+ - Add monitoring/alerting
51
+
52
+ ## Issue Categories
53
+
54
+ - **Logic Errors**: Incorrect conditions, off-by-one, wrong operators
55
+ - **State Errors**: Race conditions, stale closures, shared mutable state
56
+ - **Integration Errors**: API mismatch, auth issues, timeouts
57
+ - **Performance**: N+1 queries, missing indexes, memory leaks
58
+ - **Environment**: Config differences, missing vars, permissions
59
+
60
+ ## Systematic Process
61
+
62
+ Follow the six-step debugging process with:
63
+ - Checklists for investigation and evidence gathering
64
+ - Severity levels (CRITICAL, HIGH, MEDIUM, LOW)
65
+ - Output templates for documentation
66
+ - Tools by environment (browser, Node.js, database)
67
+
68
+ See [refs/process.md](refs/process.md) for detailed process, checklists, and severity guidelines.
69
+
70
+ ## Common Patterns
71
+
72
+ Debugging techniques and solutions for:
73
+ - Null/undefined issues with optional chaining
74
+ - Async timing and race conditions
75
+ - Scope and closure problems
76
+ - Binary search debugging with git bisect
77
+ - Performance profiling
78
+ - Database query analysis
79
+
80
+ See [refs/patterns.md](refs/patterns.md) for code examples and debugging techniques.
81
+
82
+ ## External Integration Discovery
83
+
84
+ Debugging can leverage available integrations by capability:
85
+
86
+ | Capability | Discovery Patterns | Provides |
87
+ |------------|-------------------|----------|
88
+ | **Error tracking** | `sentry`, `rollbar`, `datadog` | Recent errors, stack traces, user context |
89
+ | **Observability** | `newrelic`, `dynatrace`, `telemetry` | APM data, traces, metrics |
90
+ | **Logging** | `splunk`, `elastic`, `cloudwatch` | Log aggregation, search |
91
+
92
+ Discover available integrations via capability detection. Fall back to local log analysis via wicked-garden:search when none available.
93
+
94
+ ## Notes
95
+
96
+ - Start with the simplest explanation
97
+ - Use scientific method: hypothesis, test, refine
98
+ - Document your findings for future reference
99
+ - Add tests to prevent regression
@@ -0,0 +1,248 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Debugging Code Patterns
6
+
7
+ ## Binary Search Debugging
8
+
9
+ ```bash
10
+ git bisect start
11
+ git bisect bad HEAD
12
+ git bisect good v1.2.0
13
+ # Git will checkout commits to test
14
+ # After each test:
15
+ git bisect good # or git bisect bad
16
+ # Continue until found
17
+ git bisect reset
18
+ ```
19
+
20
+ ## Log-Based Debugging
21
+
22
+ ```javascript
23
+ console.log('1. Input:', input);
24
+ console.log('2. Validated:', validated);
25
+ console.log('3. Result:', result);
26
+ ```
27
+
28
+ ## Performance Profiling
29
+
30
+ ```javascript
31
+ console.time('operation');
32
+ await expensiveOperation();
33
+ console.timeEnd('operation');
34
+
35
+ // Or with Performance API
36
+ const start = performance.now();
37
+ await expensiveOperation();
38
+ const duration = performance.now() - start;
39
+ console.log(`Operation took ${duration}ms`);
40
+ ```
41
+
42
+ ## Common Error Patterns
43
+
44
+ ### Null/Undefined Issues
45
+
46
+ ```javascript
47
+ // Problem: user.profile.name (profile is null)
48
+ // Fix: Optional chaining
49
+ const name = user?.profile?.name ?? 'Unknown';
50
+
51
+ // Problem: Cannot read property of undefined
52
+ // Fix: Guard clauses
53
+ if (!user || !user.profile) {
54
+ return 'Unknown';
55
+ }
56
+ return user.profile.name;
57
+ ```
58
+
59
+ ### Async Timing Issues
60
+
61
+ ```javascript
62
+ // Problem: Race condition
63
+ let result;
64
+ fetchData().then(data => result = data);
65
+ console.log(result); // undefined - promise not resolved yet
66
+
67
+ // Fix: Use await
68
+ const result = await fetchData();
69
+ console.log(result); // correct value
70
+
71
+ // Problem: Parallel promises with errors
72
+ await Promise.all([promise1, promise2]); // Fails fast
73
+
74
+ // Fix: Handle all settled
75
+ const results = await Promise.allSettled([promise1, promise2]);
76
+ results.forEach((result, i) => {
77
+ if (result.status === 'rejected') {
78
+ console.error(`Promise ${i} failed:`, result.reason);
79
+ }
80
+ });
81
+ ```
82
+
83
+ ### Scope/Closure Issues
84
+
85
+ ```javascript
86
+ // Problem: var in loop
87
+ for (var i = 0; i < 3; i++) {
88
+ setTimeout(() => console.log(i), 100); // Logs: 3,3,3
89
+ }
90
+
91
+ // Fix: Use let (block scope)
92
+ for (let i = 0; i < 3; i++) {
93
+ setTimeout(() => console.log(i), 100); // Logs: 0,1,2
94
+ }
95
+
96
+ // Problem: Stale closure
97
+ function createCounter() {
98
+ let count = 0;
99
+ return {
100
+ increment: () => count++,
101
+ getCount: () => count
102
+ };
103
+ }
104
+
105
+ // Fix: Use current state, not captured
106
+ function useCounter() {
107
+ const [count, setCount] = useState(0);
108
+ const increment = useCallback(() => {
109
+ setCount(c => c + 1); // Use function updater
110
+ }, []);
111
+ }
112
+ ```
113
+
114
+ ### Race Conditions
115
+
116
+ ```javascript
117
+ // Problem: Lost updates
118
+ let count = 0;
119
+ async function increment() {
120
+ const current = count;
121
+ await delay(10);
122
+ count = current + 1; // Multiple calls overwrite each other
123
+ }
124
+
125
+ // Fix: Atomic operations
126
+ async function increment() {
127
+ count++; // Or use locks/transactions for complex cases
128
+ }
129
+
130
+ // Problem: Multiple async setState
131
+ const [data, setData] = useState([]);
132
+ setData(data.concat(newItem)); // Bad: uses stale data
133
+
134
+ // Fix: Functional update
135
+ setData(prev => prev.concat(newItem));
136
+ ```
137
+
138
+ ## Debugging Techniques
139
+
140
+ ### Stack Trace Analysis
141
+
142
+ ```
143
+ Error: Cannot read property 'id' of undefined
144
+ at processUser (app.js:42:15) <- Where it failed
145
+ at handleRequest (app.js:28:10) <- What called it
146
+ at Server.<anonymous> (app.js:10:5) <- Origin
147
+ ```
148
+
149
+ Work backwards:
150
+ 1. Line 42: `user.id` - user is undefined
151
+ 2. Line 28: Called processUser without validating user
152
+ 3. Line 10: Request handler didn't check if user exists
153
+
154
+ ### Breakpoint Debugging
155
+
156
+ ```javascript
157
+ // Add debugger statement
158
+ function complexFunction(data) {
159
+ debugger; // Execution pauses here in DevTools
160
+ const processed = processData(data);
161
+ return processed;
162
+ }
163
+ ```
164
+
165
+ ### Conditional Logging
166
+
167
+ ```javascript
168
+ const DEBUG = process.env.NODE_ENV === 'development';
169
+
170
+ function log(...args) {
171
+ if (DEBUG) {
172
+ console.log('[DEBUG]', ...args);
173
+ }
174
+ }
175
+
176
+ log('User state:', user); // Only in development
177
+ ```
178
+
179
+ ### Network Debugging
180
+
181
+ ```javascript
182
+ // Add request/response logging
183
+ fetch(url)
184
+ .then(response => {
185
+ console.log('Response status:', response.status);
186
+ console.log('Response headers:', response.headers);
187
+ return response.json();
188
+ })
189
+ .then(data => {
190
+ console.log('Response data:', data);
191
+ return data;
192
+ })
193
+ .catch(error => {
194
+ console.error('Fetch failed:', error);
195
+ console.error('URL:', url);
196
+ });
197
+ ```
198
+
199
+ ## Database Debugging
200
+
201
+ ### Query Analysis
202
+
203
+ ```sql
204
+ -- Check query execution plan
205
+ EXPLAIN ANALYZE
206
+ SELECT * FROM orders
207
+ WHERE user_id = 123
208
+ AND created_at > '2024-01-01';
209
+
210
+ -- Look for:
211
+ -- - Sequential scans (add index)
212
+ -- - High cost estimates
213
+ -- - Missing indexes
214
+ ```
215
+
216
+ ### N+1 Query Detection
217
+
218
+ ```javascript
219
+ // Problem: N+1 queries
220
+ const users = await User.findAll();
221
+ for (const user of users) {
222
+ const orders = await Order.findAll({ where: { userId: user.id } });
223
+ user.orders = orders;
224
+ }
225
+
226
+ // Fix: Eager loading
227
+ const users = await User.findAll({
228
+ include: [{ model: Order }]
229
+ });
230
+ ```
231
+
232
+ ## Memory Leak Debugging
233
+
234
+ ```javascript
235
+ // Problem: Event listener not removed
236
+ component.addEventListener('click', handler);
237
+ // Component destroyed but listener remains
238
+
239
+ // Fix: Cleanup
240
+ useEffect(() => {
241
+ const handler = () => { /* ... */ };
242
+ component.addEventListener('click', handler);
243
+
244
+ return () => {
245
+ component.removeEventListener('click', handler);
246
+ };
247
+ }, []);
248
+ ```