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,238 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Architectural Patterns: Advanced & Selection Guide
6
+
7
+ Serverless, Clean Architecture, CQRS, Service Mesh, pattern selection guide, and evolution strategy.
8
+
9
+ ## Serverless Architecture
10
+
11
+ ### Structure
12
+
13
+ ```
14
+ ┌─────────┐ ┌─────────────┐ ┌──────────┐
15
+ │ Client │─────▶│ API Gateway │─────▶│ Lambda 1 │
16
+ └─────────┘ └─────────────┘ └────┬─────┘
17
+ │
18
+ ┌───────────────────┤
19
+ │ │
20
+ ┌─────▼─────┐ ┌─────▼─────┐
21
+ │ DynamoDB │ │ S3 │
22
+ └───────────┘ └───────────┘
23
+ ```
24
+
25
+ ### When to Use
26
+
27
+ - Variable, unpredictable load
28
+ - Event-driven workloads
29
+ - Want minimal operations
30
+ - Pay-per-use model preferred
31
+ - Rapid prototyping
32
+
33
+ ### Trade-offs
34
+
35
+ **Pros**:
36
+ - Auto-scaling
37
+ - Pay per execution
38
+ - No server management
39
+ - Fast deployment
40
+ - Built-in high availability
41
+
42
+ **Cons**:
43
+ - Cold start latency
44
+ - Vendor lock-in
45
+ - Debugging challenges
46
+ - Execution time limits
47
+ - Stateless constraints
48
+
49
+ ## Clean Architecture
50
+
51
+ ### Structure
52
+
53
+ ```
54
+ ┌────────────────────────────────────────┐
55
+ │ Frameworks & Drivers │ (External)
56
+ │ Web, DB, UI, External Interfaces │
57
+ └──────────────┬─────────────────────────┘
58
+ │
59
+ ┌──────────────▼─────────────────────────┐
60
+ │ Interface Adapters │ (Adapters)
61
+ │ Controllers, Gateways, Presenters │
62
+ └──────────────┬─────────────────────────┘
63
+ │
64
+ ┌──────────────▼─────────────────────────┐
65
+ │ Application Business Rules │ (Use Cases)
66
+ │ Use Cases, Services │
67
+ └──────────────┬─────────────────────────┘
68
+ │
69
+ ┌──────────────▼─────────────────────────┐
70
+ │ Enterprise Business Rules │ (Entities)
71
+ │ Domain Entities │
72
+ └────────────────────────────────────────┘
73
+
74
+ Dependencies point inward
75
+ ```
76
+
77
+ ### Dependency Rule
78
+
79
+ **Inner layers don't know about outer layers**
80
+ - Entities don't know about use cases
81
+ - Use cases don't know about controllers
82
+ - Controllers know about use cases
83
+
84
+ ### When to Use
85
+
86
+ - Long-lived applications
87
+ - Complex business rules
88
+ - Need maximum testability
89
+ - Want framework independence
90
+
91
+ ## CQRS (Command Query Responsibility Segregation)
92
+
93
+ ### Structure
94
+
95
+ ```
96
+ ┌──────────┐
97
+ │ Client │
98
+ └─────┬────┘
99
+ │
100
+ ┌───────────┴───────────┐
101
+ │ │
102
+ ┌────▼─────┐ ┌────▼────┐
103
+ │ Commands │ │ Queries │
104
+ │ (Write) │ │ (Read) │
105
+ └────┬─────┘ └────┬────┘
106
+ │ │
107
+ ┌────▼─────┐ ┌────▼────┐
108
+ │ Write DB │ │ Read DB │
109
+ │ (Normal) │───sync───▶│(Denorm) │
110
+ └──────────┘ └─────────┘
111
+ ```
112
+
113
+ ### When to Use
114
+
115
+ - Different read/write patterns
116
+ - High read/write ratio
117
+ - Complex queries needed
118
+ - Performance critical
119
+ - Event sourcing
120
+
121
+ ### Trade-offs
122
+
123
+ **Pros**:
124
+ - Optimized reads and writes separately
125
+ - Scalability
126
+ - Clear separation
127
+ - Flexibility in models
128
+
129
+ **Cons**:
130
+ - Eventual consistency
131
+ - More complex
132
+ - Sync overhead
133
+ - Duplicate data
134
+
135
+ ## Service Mesh
136
+
137
+ ### Structure
138
+
139
+ ```
140
+ ┌─────────────────────────────────────────┐
141
+ │ Service Mesh Control Plane │
142
+ │ (Istio, Linkerd) │
143
+ └────────────┬────────────────────────────┘
144
+ │ Configuration
145
+ ┌────────────┼────────────────────────────┐
146
+ │ │ │
147
+ │ ┌────────▼────────┐ ┌──────────┐ │
148
+ │ │ Service A │ │ Service B│ │
149
+ │ │ ┌──────────┐ │ │┌────────┐│ │
150
+ │ │ │ Business │ │ ││Business││ │
151
+ │ │ │ Logic │ │ ││ Logic ││ │
152
+ │ │ └──────────┘ │ │└────────┘│ │
153
+ │ │ ┌──────────┐ │ │┌────────┐│ │
154
+ │ │ │ Sidecar │◄──┼───┼┤Sidecar ││ │
155
+ │ │ │ Proxy │ │ ││ Proxy ││ │
156
+ │ │ └──────────┘ │ │└────────┘│ │
157
+ │ └─────────────────┘ └──────────┘ │
158
+ └─────────────────────────────────────────┘
159
+ ```
160
+
161
+ ### When to Use
162
+
163
+ - Microservices at scale
164
+ - Need observability
165
+ - Complex routing/security
166
+ - Polyglot services
167
+
168
+ ### Provides
169
+
170
+ - Service discovery
171
+ - Load balancing
172
+ - Circuit breaking
173
+ - Encryption (mTLS)
174
+ - Distributed tracing
175
+ - Traffic management
176
+
177
+ ## Pattern Selection Guide
178
+
179
+ | Requirement | Recommended Pattern |
180
+ |-------------|-------------------|
181
+ | Simple CRUD app | Layered |
182
+ | Enterprise monolith | Clean/Hexagonal |
183
+ | Multiple teams | Microservices |
184
+ | Async workflows | Event-Driven |
185
+ | Minimal ops | Serverless |
186
+ | High read/write split | CQRS |
187
+ | Polyglot services | Microservices + Service Mesh |
188
+ | Domain complexity | Domain-Driven Design + Hexagonal |
189
+ | Variable load | Serverless or Event-Driven |
190
+ | Strict consistency | Layered or Monolithic |
191
+
192
+ ## Anti-Patterns to Avoid
193
+
194
+ ### Big Ball of Mud
195
+ Everything coupled, no clear structure
196
+ **Fix**: Introduce layers or hexagonal
197
+
198
+ ### Golden Hammer
199
+ Using one pattern for everything
200
+ **Fix**: Match pattern to problem
201
+
202
+ ### Analysis Paralysis
203
+ Over-architecting before understanding
204
+ **Fix**: Start simple, evolve
205
+
206
+ ### Distributed Monolith
207
+ Microservices that must deploy together
208
+ **Fix**: Better boundaries or merge services
209
+
210
+ ### Premature Optimization
211
+ Choosing complex patterns too early
212
+ **Fix**: YAGNI - start simple
213
+
214
+ ## Combining Patterns
215
+
216
+ Patterns often work together:
217
+
218
+ - **Microservices + Event-Driven**: Services communicate via events
219
+ - **Hexagonal + DDD**: Isolated domain logic
220
+ - **CQRS + Event Sourcing**: Events as source of truth
221
+ - **Layered + Clean**: Clean architecture within layers
222
+ - **Microservices + Service Mesh**: Manage service complexity
223
+
224
+ ## Evolution Strategy
225
+
226
+ ```
227
+ Phase 1: Modular Monolith (Layered/Hexagonal)
228
+ ↓
229
+ Phase 2: Extract High-Change Services
230
+ ↓
231
+ Phase 3: Microservices for Core
232
+ ↓
233
+ Phase 4: Event-Driven for Integration
234
+ ↓
235
+ Phase 5: CQRS for Performance
236
+ ```
237
+
238
+ Start simple, evolve based on real pain points.
@@ -0,0 +1,303 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Architectural Patterns: Structural
6
+
7
+ Detailed guide to structural architectural patterns with trade-offs and when to use them.
8
+
9
+ ## Layered Architecture
10
+
11
+ ### Structure
12
+
13
+ ```
14
+ ┌─────────────────────────┐
15
+ │ Presentation Layer │ UI, API Controllers
16
+ ├─────────────────────────┤
17
+ │ Application Layer │ Use Cases, Business Logic
18
+ ├─────────────────────────┤
19
+ │ Domain Layer │ Business Rules, Entities
20
+ ├─────────────────────────┤
21
+ │ Infrastructure Layer │ Database, External Services
22
+ └─────────────────────────┘
23
+
24
+ Dependencies flow downward only
25
+ ```
26
+
27
+ ### When to Use
28
+
29
+ - Traditional enterprise applications
30
+ - Clear separation of concerns needed
31
+ - Team familiar with MVC patterns
32
+ - Moderate complexity systems
33
+
34
+ ### Trade-offs
35
+
36
+ **Pros**:
37
+ - Easy to understand and organize
38
+ - Clear separation of concerns
39
+ - Well-known pattern
40
+ - Good for teams new to architecture
41
+
42
+ **Cons**:
43
+ - Can become rigid
44
+ - May lead to anemic domain models
45
+ - Cross-cutting concerns difficult
46
+ - Can create unnecessary layers
47
+
48
+ ### Example
49
+
50
+ ```typescript
51
+ // Presentation Layer
52
+ class UserController {
53
+ constructor(private userService: UserService) {}
54
+
55
+ async createUser(req: Request): Promise<Response> {
56
+ return await this.userService.createUser(req.body);
57
+ }
58
+ }
59
+
60
+ // Application Layer
61
+ class UserService {
62
+ constructor(private userRepo: UserRepository) {}
63
+
64
+ async createUser(data: CreateUserDTO): Promise<User> {
65
+ const user = new User(data);
66
+ return await this.userRepo.save(user);
67
+ }
68
+ }
69
+
70
+ // Domain Layer
71
+ class User {
72
+ constructor(
73
+ public email: string,
74
+ public name: string
75
+ ) {
76
+ this.validate();
77
+ }
78
+
79
+ private validate() {
80
+ if (!this.email.includes('@')) {
81
+ throw new Error('Invalid email');
82
+ }
83
+ }
84
+ }
85
+
86
+ // Infrastructure Layer
87
+ class PostgresUserRepository implements UserRepository {
88
+ async save(user: User): Promise<User> {
89
+ // Database logic
90
+ }
91
+ }
92
+ ```
93
+
94
+ ## Microservices Architecture
95
+
96
+ ### Structure
97
+
98
+ ```
99
+ ┌─────────────┐
100
+ │ API Gateway │
101
+ └──────┬──────┘
102
+ │
103
+ ┌──────────────────┼──────────────────┐
104
+ │ │ │
105
+ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
106
+ │ User │ │ Order │ │ Payment │
107
+ │ Service │ │ Service │ │ Service │
108
+ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
109
+ │ │ │
110
+ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
111
+ │ User DB │ │ Order DB │ │ Payment DB│
112
+ └───────────┘ └───────────┘ └───────────┘
113
+ ```
114
+
115
+ ### When to Use
116
+
117
+ - Large, complex systems
118
+ - Multiple teams working independently
119
+ - Different scaling needs per component
120
+ - Polyglot technology requirements
121
+
122
+ ### Trade-offs
123
+
124
+ **Pros**:
125
+ - Independent deployment
126
+ - Technology flexibility
127
+ - Isolated failures
128
+ - Team autonomy
129
+ - Scalability per service
130
+
131
+ **Cons**:
132
+ - Operational complexity
133
+ - Distributed system challenges
134
+ - Network latency
135
+ - Testing complexity
136
+ - Data consistency issues
137
+
138
+ ### Key Principles
139
+
140
+ 1. **Single Responsibility**: Each service does one thing well
141
+ 2. **Autonomous**: Independently deployable
142
+ 3. **API-First**: Well-defined contracts
143
+ 4. **Decentralized Data**: Own your data
144
+ 5. **Fault Tolerant**: Handle failures gracefully
145
+
146
+ ## Event-Driven Architecture
147
+
148
+ ### Structure
149
+
150
+ ```
151
+ ┌──────────┐ ┌──────────────┐ ┌──────────┐
152
+ │ Producer │─────▶│ Message Bus │─────▶│ Consumer │
153
+ │ Service │ │ (Kafka/SQS) │ │ Service │
154
+ └──────────┘ └──────────────┘ └──────────┘
155
+ │
156
+ ├─────────────▶┌──────────┐
157
+ │ │ Consumer │
158
+ │ │ Service │
159
+ │ └──────────┘
160
+ │
161
+ └─────────────▶┌──────────┐
162
+ │ Consumer │
163
+ │ Service │
164
+ └──────────┘
165
+ ```
166
+
167
+ ### When to Use
168
+
169
+ - Asynchronous workflows
170
+ - Need for loose coupling
171
+ - High scalability requirements
172
+ - Complex event processing
173
+ - Real-time data streaming
174
+
175
+ ### Trade-offs
176
+
177
+ **Pros**:
178
+ - Loose coupling
179
+ - High scalability
180
+ - Temporal decoupling
181
+ - Easy to add consumers
182
+ - Natural audit log
183
+
184
+ **Cons**:
185
+ - Eventual consistency
186
+ - Debugging complexity
187
+ - Message ordering challenges
188
+ - Duplicate processing risk
189
+ - Monitoring complexity
190
+
191
+ ### Event Types
192
+
193
+ **Domain Events**: Business occurrences
194
+ ```json
195
+ {
196
+ "eventType": "OrderPlaced",
197
+ "orderId": "123",
198
+ "customerId": "456",
199
+ "timestamp": "2025-01-24T10:00:00Z",
200
+ "items": [...]
201
+ }
202
+ ```
203
+
204
+ **Integration Events**: Cross-service communication
205
+ **Command Events**: Request for action
206
+
207
+ ### Patterns
208
+ **Pub/Sub**: One-to-many broadcasting · **Event Sourcing**: Events as source of truth · **CQRS**: Separate read/write models
209
+
210
+ ## Hexagonal Architecture (Ports & Adapters)
211
+
212
+ ### Structure
213
+
214
+ ```
215
+ ┌─────────────────┐
216
+ │ UI Adapter │
217
+ └────────┬────────┘
218
+ │
219
+ ┌──────────────▼──────────────┐
220
+ │ Port (API) │
221
+ ├─────────────────────────────┤
222
+ │ │
223
+ │ Business Logic Core │
224
+ │ (Domain Model) │
225
+ │ │
226
+ ├─────────────────────────────┤
227
+ │ Port (Repository) │
228
+ └──────────────┬──────────────┘
229
+ │
230
+ ┌──────────────────────┼──────────────────────┐
231
+ │ │ │
232
+ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
233
+ │ Postgres │ │ Redis │ │ MongoDB │
234
+ │ Adapter │ │ Adapter │ │ Adapter │
235
+ └───────────┘ └───────────┘ └───────────┘
236
+ ```
237
+
238
+ ### When to Use
239
+
240
+ - Need to isolate business logic
241
+ - Frequent technology changes
242
+ - Testing is critical
243
+ - Multiple interfaces (API, CLI, Web)
244
+
245
+ ### Trade-offs
246
+
247
+ **Pros**:
248
+ - Business logic isolated
249
+ - Technology agnostic core
250
+ - Highly testable
251
+ - Flexible adapters
252
+
253
+ **Cons**:
254
+ - More abstraction layers
255
+ - Initial complexity
256
+ - May be overkill for simple apps
257
+
258
+ ### Implementation
259
+
260
+ ```typescript
261
+ // Port (Interface)
262
+ interface UserRepository {
263
+ save(user: User): Promise<void>;
264
+ findById(id: string): Promise<User>;
265
+ }
266
+
267
+ // Core Domain Logic
268
+ class UserService {
269
+ constructor(private repo: UserRepository) {}
270
+
271
+ async registerUser(email: string, password: string): Promise<User> {
272
+ // Pure business logic, no infrastructure concerns
273
+ const user = User.create(email, password);
274
+ await this.repo.save(user);
275
+ return user;
276
+ }
277
+ }
278
+
279
+ // Adapter (Implementation)
280
+ class PostgresUserRepository implements UserRepository {
281
+ async save(user: User): Promise<void> {
282
+ await db.query('INSERT INTO users ...');
283
+ }
284
+
285
+ async findById(id: string): Promise<User> {
286
+ const row = await db.query('SELECT * FROM users WHERE id = ?', [id]);
287
+ return User.fromRow(row);
288
+ }
289
+ }
290
+
291
+ // Another Adapter
292
+ class InMemoryUserRepository implements UserRepository {
293
+ private users: Map<string, User> = new Map();
294
+
295
+ async save(user: User): Promise<void> {
296
+ this.users.set(user.id, user);
297
+ }
298
+
299
+ async findById(id: string): Promise<User> {
300
+ return this.users.get(id);
301
+ }
302
+ }
303
+ ```
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: backend
3
+ description: |
4
+ Backend engineering specialist for APIs, databases, server-side patterns,
5
+ data modeling, scalability, and integrations.
6
+
7
+ Use when: "design an API", "database schema", "how to handle auth",
8
+ "backend performance", "REST endpoint", "query optimization",
9
+ "server-side architecture"
10
+ portability: portable
11
+ phase_relevance: ["design", "build"]
12
+ archetype_relevance: ["*"]
13
+ ---
14
+
15
+ # Backend Skill
16
+
17
+ Specialized backend engineering guidance for APIs, databases, and server-side systems.
18
+
19
+ ## When to Use
20
+
21
+ - Designing APIs (REST, GraphQL)
22
+ - Database schema or query questions
23
+ - Server-side architecture
24
+ - Data modeling
25
+ - Authentication and authorization
26
+ - Scalability and performance
27
+ - User says "backend", "API", "database", "server"
28
+
29
+ ## Key Focus Areas
30
+
31
+ ### API Design
32
+ - RESTful conventions (resources, methods, status codes)
33
+ - GraphQL schema design
34
+ - API versioning strategies
35
+ - Request/response validation
36
+ - Error handling and messaging
37
+ - Pagination and filtering
38
+ - Rate limiting
39
+
40
+ ### Database Patterns
41
+ - Schema design and normalization
42
+ - Indexing strategies
43
+ - Query optimization
44
+ - Transaction management
45
+ - Connection pooling
46
+ - Migration best practices
47
+ - N+1 query prevention
48
+
49
+ ### Data Modeling
50
+ - Entity definition
51
+ - Relationship modeling (1:1, 1:N, N:M)
52
+ - Data types and constraints
53
+ - Validation rules
54
+ - Audit trails
55
+
56
+ ### Authentication & Authorization
57
+ - Password hashing (bcrypt, argon2)
58
+ - JWT or session management
59
+ - OAuth2 / OIDC patterns
60
+ - RBAC (Role-Based Access Control)
61
+ - API key management
62
+
63
+ ### Performance & Scalability
64
+ - Query optimization and EXPLAIN plans
65
+ - Caching strategies (Redis, memcached)
66
+ - Background jobs (Celery, Bull)
67
+ - Database read replicas
68
+ - Horizontal scaling
69
+
70
+ ### Integration Patterns
71
+ - External API resilience (retry, timeout, circuit breaker)
72
+ - Webhook handling with retry
73
+ - Message queue patterns
74
+ - Idempotency for critical operations
75
+
76
+ ## Review Process
77
+
78
+ Use comprehensive checklists for:
79
+ - API quality (REST conventions, validation, versioning)
80
+ - Database quality (schema, indexes, transactions)
81
+ - Security (auth, validation, injection prevention)
82
+
83
+ See [refs/checklists.md](refs/checklists.md) for detailed checklists, anti-patterns, and output templates.
84
+
85
+ ## Code Patterns
86
+
87
+ Common backend patterns for:
88
+ - API endpoints with auth and validation
89
+ - Query optimization and N+1 prevention
90
+ - Authentication and authorization
91
+ - External API integration with resilience
92
+ - Caching strategies
93
+
94
+ See [refs/patterns.md](refs/patterns.md) for code examples and best practices.
95
+
96
+ ## Notes
97
+
98
+ - Always hash passwords (never plaintext)
99
+ - Validate all input at API boundaries
100
+ - Use transactions for multi-step operations
101
+ - Index foreign keys and query fields
102
+ - Use background jobs for slow operations