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,313 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ GitLab Operations CLI - Power utilities for GitLab CLI (glab).
4
+
5
+ Provides intelligent wrappers for common GitLab operations:
6
+ - Pipeline failure analysis with fix suggestions
7
+ - MR bulk operations and review queue
8
+ - Release automation with changelog generation
9
+ """
10
+
11
+ import argparse
12
+ import json
13
+ import subprocess
14
+ import sys
15
+ import re
16
+ from datetime import datetime
17
+ from typing import Dict, List, Any, Optional, Tuple
18
+
19
+
20
+ class GLABError(Exception):
21
+ """Custom exception for GitLab CLI errors."""
22
+ pass
23
+
24
+
25
+ def run_glab(args: List[str], check: bool = True) -> Tuple[int, str, str]:
26
+ """Run a glab command and return (returncode, stdout, stderr)."""
27
+ try:
28
+ result = subprocess.run(
29
+ ["glab"] + args,
30
+ capture_output=True,
31
+ text=True,
32
+ check=False
33
+ )
34
+ if check and result.returncode != 0:
35
+ raise GLABError(result.stderr.strip() or f"Command failed: glab {' '.join(args)}")
36
+ return result.returncode, result.stdout, result.stderr
37
+ except FileNotFoundError:
38
+ raise GLABError("GitLab CLI (glab) not found. Install from https://gitlab.com/gitlab-org/cli")
39
+
40
+
41
+ def run_glab_json(args: List[str]) -> Any:
42
+ """Run glab command expecting JSON output."""
43
+ _, stdout, _ = run_glab(args + ["--output", "json"])
44
+ if not stdout.strip():
45
+ return None
46
+ return json.loads(stdout)
47
+
48
+
49
+ # Error patterns for GitLab CI
50
+ KNOWN_ERROR_PATTERNS = {
51
+ r"npm ERR! (code E\d+|ERESOLVE|ENOENT)": {
52
+ "category": "npm",
53
+ "fix": "Try: rm -rf node_modules package-lock.json && npm install"
54
+ },
55
+ r"ModuleNotFoundError: No module named '(\w+)'": {
56
+ "category": "python",
57
+ "fix": "Missing dependency. Add to requirements.txt"
58
+ },
59
+ r"error\[E\d+\]: (.+)": {
60
+ "category": "rust",
61
+ "fix": "Rust compilation error"
62
+ },
63
+ r"Job failed: exit code (\d+)": {
64
+ "category": "exit_code",
65
+ "fix": None
66
+ },
67
+ r"OOMKilled|out of memory": {
68
+ "category": "resources",
69
+ "fix": "Increase runner memory"
70
+ },
71
+ r"Could not resolve host|network unreachable": {
72
+ "category": "network",
73
+ "fix": "Check network connectivity and DNS"
74
+ },
75
+ }
76
+
77
+
78
+ def diagnose(project: Optional[str] = None, suggest_fixes: bool = False) -> Dict[str, Any]:
79
+ """Analyze the most recent failed pipeline."""
80
+
81
+ # Get pipelines
82
+ cmd = ["ci", "list", "--status", "failed"]
83
+ if project:
84
+ cmd.extend(["--repo", project])
85
+
86
+ code, stdout, stderr = run_glab(cmd, check=False)
87
+ if code != 0:
88
+ return {"status": "error", "message": stderr}
89
+
90
+ # Parse output (glab ci list doesn't support JSON directly)
91
+ lines = stdout.strip().split('\n')
92
+ if not lines or lines[0].startswith("No"):
93
+ return {"status": "ok", "message": "No failed pipelines found"}
94
+
95
+ # Get the first failed pipeline ID from the output
96
+ # Format: "ID STATUS REF ..."
97
+ pipeline_id = None
98
+ for line in lines[1:]: # Skip header
99
+ parts = line.split()
100
+ if parts:
101
+ pipeline_id = parts[0]
102
+ break
103
+
104
+ if not pipeline_id:
105
+ return {"status": "ok", "message": "No failed pipelines found"}
106
+
107
+ # Get pipeline jobs
108
+ cmd = ["ci", "view", pipeline_id]
109
+ if project:
110
+ cmd.extend(["--repo", project])
111
+ _, pipeline_output, _ = run_glab(cmd, check=False)
112
+
113
+ # Get failed job logs
114
+ cmd = ["ci", "trace", pipeline_id]
115
+ if project:
116
+ cmd.extend(["--repo", project])
117
+ _, logs, _ = run_glab(cmd, check=False)
118
+
119
+ # Extract errors
120
+ errors = extract_errors(logs, suggest_fixes)
121
+
122
+ return {
123
+ "pipeline_id": pipeline_id,
124
+ "errors": errors,
125
+ "raw_output": pipeline_output[:1000] if pipeline_output else None
126
+ }
127
+
128
+
129
+ def extract_errors(logs: str, suggest_fixes: bool) -> List[Dict[str, Any]]:
130
+ """Extract and categorize errors from logs."""
131
+ errors = []
132
+ seen = set()
133
+
134
+ for line in logs.split('\n'):
135
+ line = line.strip()
136
+ if not line:
137
+ continue
138
+
139
+ for pattern, info in KNOWN_ERROR_PATTERNS.items():
140
+ match = re.search(pattern, line, re.IGNORECASE)
141
+ if match:
142
+ error_key = f"{info['category']}:{match.group(0)[:50]}"
143
+ if error_key not in seen:
144
+ seen.add(error_key)
145
+ error = {
146
+ "message": line[:200],
147
+ "category": info["category"]
148
+ }
149
+ if suggest_fixes and info.get("fix"):
150
+ error["suggested_fix"] = info["fix"]
151
+ errors.append(error)
152
+ break
153
+
154
+ return errors[:20]
155
+
156
+
157
+ def mr_review_queue() -> List[Dict[str, Any]]:
158
+ """List MRs needing review."""
159
+ try:
160
+ result = run_glab_json([
161
+ "mr", "list",
162
+ "--reviewer=@me",
163
+ "--state=opened"
164
+ ])
165
+ return result or []
166
+ except Exception:
167
+ # Fallback to non-JSON
168
+ _, stdout, _ = run_glab(["mr", "list", "--reviewer=@me", "--state=opened"], check=False)
169
+ return [{"raw": stdout}]
170
+
171
+
172
+ def mr_merge_ready(dry_run: bool = True) -> List[Dict[str, Any]]:
173
+ """List MRs that are approved and passing CI."""
174
+ try:
175
+ result = run_glab_json(["mr", "list", "--state=opened"])
176
+ ready = []
177
+ for mr in (result or []):
178
+ # Check if approved and CI passing
179
+ if mr.get("approved") and mr.get("merge_status") == "can_be_merged":
180
+ ready.append(mr)
181
+ return ready
182
+ except Exception:
183
+ _, stdout, _ = run_glab(["mr", "list", "--state=opened"], check=False)
184
+ return [{"raw": stdout}]
185
+
186
+
187
+ def mr_status(mr_id: int, project: Optional[str] = None) -> Dict[str, Any]:
188
+ """Get comprehensive MR status."""
189
+ cmd = ["mr", "view", str(mr_id)]
190
+ if project:
191
+ cmd.extend(["--repo", project])
192
+
193
+ try:
194
+ return run_glab_json(cmd)
195
+ except Exception:
196
+ _, stdout, _ = run_glab(cmd, check=False)
197
+ return {"raw": stdout}
198
+
199
+
200
+ def release(bump: str = "patch", dry_run: bool = True, notes: Optional[str] = None,
201
+ project: Optional[str] = None) -> Dict[str, Any]:
202
+ """Create a release with changelog."""
203
+
204
+ # Get latest release
205
+ cmd = ["release", "list"]
206
+ if project:
207
+ cmd.extend(["--repo", project])
208
+ _, releases_output, _ = run_glab(cmd, check=False)
209
+
210
+ # Parse version from first line
211
+ last_tag = None
212
+ for line in releases_output.strip().split('\n'):
213
+ if line and not line.startswith("NAME"):
214
+ parts = line.split()
215
+ if parts:
216
+ last_tag = parts[0]
217
+ break
218
+
219
+ # Calculate new version
220
+ new_version = calculate_version(last_tag, bump)
221
+
222
+ changelog = notes or f"Release {new_version}"
223
+
224
+ result = {
225
+ "previous_version": last_tag,
226
+ "new_version": new_version,
227
+ "changelog": changelog,
228
+ "dry_run": dry_run
229
+ }
230
+
231
+ if not dry_run:
232
+ cmd = ["release", "create", new_version, "--notes", changelog]
233
+ if project:
234
+ cmd.extend(["--repo", project])
235
+ run_glab(cmd)
236
+ result["released"] = True
237
+
238
+ return result
239
+
240
+
241
+ def calculate_version(current: Optional[str], bump: str) -> str:
242
+ """Calculate next version."""
243
+ if not current:
244
+ return "v0.1.0"
245
+
246
+ match = re.match(r'v?(\d+)\.(\d+)\.(\d+)', current)
247
+ if not match:
248
+ return "v0.1.0"
249
+
250
+ major, minor, patch = int(match.group(1)), int(match.group(2)), int(match.group(3))
251
+
252
+ if bump == "major":
253
+ return f"v{major + 1}.0.0"
254
+ elif bump == "minor":
255
+ return f"v{major}.{minor + 1}.0"
256
+ else:
257
+ return f"v{major}.{minor}.{patch + 1}"
258
+
259
+
260
+ def main():
261
+ parser = argparse.ArgumentParser(description="GitLab Operations CLI")
262
+ subparsers = parser.add_subparsers(dest="command", required=True)
263
+
264
+ # diagnose
265
+ p = subparsers.add_parser("diagnose", help="Analyze failed pipelines")
266
+ p.add_argument("--project", help="Project path (group/project)")
267
+ p.add_argument("--suggest-fixes", action="store_true")
268
+
269
+ # mr-review-queue
270
+ subparsers.add_parser("mr-review-queue", help="List MRs needing review")
271
+
272
+ # mr-merge-ready
273
+ p = subparsers.add_parser("mr-merge-ready", help="List MRs ready to merge")
274
+ p.add_argument("--dry-run", action="store_true", default=True)
275
+
276
+ # mr-status
277
+ p = subparsers.add_parser("mr-status", help="Get MR status")
278
+ p.add_argument("id", type=int, help="MR ID")
279
+ p.add_argument("--project", help="Project path")
280
+
281
+ # release
282
+ p = subparsers.add_parser("release", help="Create a release")
283
+ p.add_argument("--bump", choices=["major", "minor", "patch"], default="patch")
284
+ p.add_argument("--dry-run", action="store_true")
285
+ p.add_argument("--notes", help="Release notes")
286
+ p.add_argument("--project", help="Project path")
287
+
288
+ args = parser.parse_args()
289
+
290
+ try:
291
+ if args.command == "diagnose":
292
+ result = diagnose(args.project, args.suggest_fixes)
293
+ elif args.command == "mr-review-queue":
294
+ result = mr_review_queue()
295
+ elif args.command == "mr-merge-ready":
296
+ result = mr_merge_ready(args.dry_run)
297
+ elif args.command == "mr-status":
298
+ result = mr_status(args.id, args.project)
299
+ elif args.command == "release":
300
+ result = release(args.bump, args.dry_run, args.notes, args.project)
301
+ else:
302
+ parser.print_help()
303
+ sys.exit(1)
304
+
305
+ print(json.dumps(result, indent=2))
306
+
307
+ except GLABError as e:
308
+ print(f"Error: {e}", file=sys.stderr)
309
+ sys.exit(1)
310
+
311
+
312
+ if __name__ == "__main__":
313
+ main()
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: health
3
+ description: |
4
+ System health overview from discovered observability sources. Aggregates errors,
5
+ performance metrics, and SLO status across services. Correlates with deployments
6
+ and code changes. Use for proactive health monitoring and post-deployment validation.
7
+
8
+ Use when: checking aggregated system health, validating a post-deployment
9
+ state, or correlating production status with recent changes.
10
+ portability: portable
11
+ phase_relevance: ["build", "review", "operate"]
12
+ archetype_relevance: ["*"]
13
+ ---
14
+
15
+ # Health Aggregation Skill
16
+
17
+ Aggregate system health from discovered observability sources with deployment correlation.
18
+
19
+ ## When to Use
20
+
21
+ - Overall system health check
22
+ - Pre/post deployment validation
23
+ - SLO/SLA compliance monitoring
24
+ - Capacity assessment
25
+ - Proactive issue detection
26
+ - User asks "health", "status", "how is production"
27
+
28
+ ## Health Assessment Approach
29
+
30
+ ### 1. Discover Observability Sources
31
+
32
+ Use capability-based discovery to find available integrations:
33
+
34
+ ```bash
35
+ # Discover available integrations via capability detection
36
+
37
+ # Scan for capabilities by analyzing server descriptions and resources:
38
+ # - error-tracking capability: Exception/error tracking and reporting
39
+ # - apm capability: Application performance monitoring and metrics
40
+ # - logging capability: Log aggregation, search, and analysis
41
+ # - tracing capability: Distributed tracing and service mapping
42
+ # - telemetry capability: Metrics collection and custom instrumentation
43
+ ```
44
+
45
+ ### 2. Aggregate Health Metrics
46
+
47
+ For each discovered source, collect:
48
+ - **Error rates**: Current vs baseline
49
+ - **Performance**: Latency (p50, p95, p99)
50
+ - **Throughput**: Requests per second
51
+ - **SLO status**: Availability, latency, error budgets
52
+ - **Alerts**: Active alerts and severity
53
+
54
+ ### 3. Calculate Health Score
55
+
56
+ **HEALTHY**: All metrics within SLO, no active alerts, stable trends
57
+ **DEGRADED**: Some metrics elevated, minor alerts, or negative trends
58
+ **CRITICAL**: SLO violations, critical alerts, or severe degradation
59
+
60
+ ### 4. Correlate with Changes
61
+
62
+ Check for recent changes that might impact health:
63
+ - Deployments (via CI/CD integrations or git history)
64
+ - Code changes (via wicked-garden:search)
65
+ - Infrastructure changes
66
+ - Traffic patterns
67
+
68
+ ### 5. Provide Actionable Recommendations
69
+
70
+ Based on health status:
71
+ - Immediate actions for critical issues
72
+ - Investigation paths for degradations
73
+ - Optimization opportunities
74
+ - Capacity planning insights
75
+
76
+ ## Integration Discovery
77
+
78
+ This skill discovers integrations at runtime based on capability:
79
+
80
+ | Capability | What to Look For | Provides |
81
+ |------------|------------------|----------|
82
+ | **error-tracking** | Exception tracking, error reporting, crash analytics | Error rates, stack traces, user impact |
83
+ | **apm** | Performance monitoring, service metrics, observability | Latency, throughput, service health |
84
+ | **logging** | Log aggregation, log search, log analysis | Log aggregation, search, patterns |
85
+ | **tracing** | Distributed tracing, request tracing, trace analysis | Distributed traces, dependencies |
86
+ | **telemetry** | Metrics collection, custom instrumentation, time-series data | Custom metrics, instrumentation |
87
+
88
+ **Fallback**: If no integrations found, perform local analysis via wicked-garden:search for error patterns in code.
89
+
90
+ See refs/sources.md for detailed capability discovery patterns.
91
+
92
+ ## Output Format
93
+
94
+ ```markdown
95
+ ## System Health Report
96
+
97
+ **Overall Status**: [HEALTHY | DEGRADED | CRITICAL]
98
+ **Assessment Time**: {timestamp}
99
+ **Data Sources**: {list of integrations used}
100
+
101
+ ### Health Summary
102
+
103
+ | Service | Status | Error Rate | Latency (p95) | SLO Status |
104
+ |---------|--------|------------|---------------|------------|
105
+ | {service} | {status} | {rate} | {latency} | {✓ or ✗} |
106
+
107
+ ### Issues Detected
108
+
109
+ [For each issue]
110
+ **{Service}: {Issue Description}**
111
+ - Severity: [CRITICAL | HIGH | MEDIUM | LOW]
112
+ - Started: {timestamp}
113
+ - Metric: {specific metric and values}
114
+ - Pattern: {error pattern or behavior}
115
+ - Correlation: {deployment or change if found}
116
+ - Blast Radius: {impact scope}
117
+
118
+ ### Trends (24h)
119
+
120
+ - Error Rates: {trend with percentage}
121
+ - Latency: {trend with percentage}
122
+ - Traffic: {trend with percentage}
123
+
124
+ ### Recommendations
125
+
126
+ **Immediate**:
127
+ {critical actions needed now}
128
+
129
+ **Short-term**:
130
+ {optimizations and improvements}
131
+
132
+ **Capacity**:
133
+ {capacity planning insights}
134
+ ```
135
+
136
+ ## Common Health Patterns
137
+
138
+ ### Post-Deployment Degradation
139
+ Error rates or latency increase after deployment. Correlate metrics with deployment time and consider rollback.
140
+
141
+ ### Gradual Performance Decline
142
+ Metrics slowly degrading over hours/days. Investigate memory leaks, growing data, cache efficiency.
143
+
144
+ ### Traffic-Related Issues
145
+ Performance degrades with traffic spikes. Check capacity utilization and scaling policies.
146
+
147
+ ### Cascading Failures
148
+ Single service failure causes downstream issues. Use traces to identify root cause and implement circuit breakers.
149
+
150
+ ## Integration with wicked-crew
151
+
152
+ When crew enters build phase:
153
+ 1. Capture baseline health metrics
154
+ 2. Monitor during deployment
155
+ 3. Validate post-deployment health
156
+ 4. Alert if degradation detected
157
+
158
+ Emit events:
159
+ - `observe:health:checked:success`
160
+ - `observe:health:degraded:warning`
161
+ - `observe:health:critical:failure`
162
+
163
+ ## Integration with engineering
164
+
165
+ When debugging issues, provide observability context:
166
+ - Recent errors from discovered sources
167
+ - Performance metrics around the issue
168
+ - Correlation with code changes
169
+ - Trace data for request flow
170
+
171
+ ## Notes
172
+
173
+ - Prioritize data from real observability tools over static analysis
174
+ - Always correlate health changes with deployments or code changes
175
+ - Consider traffic patterns when assessing metrics
176
+ - Document baseline metrics for comparison
177
+ - Alert on SLO burn rate, not just absolute values
@@ -0,0 +1,72 @@
1
+ # System Health Assessment Rubric
2
+
3
+ Assess system health by aggregating observability data from all available sources.
4
+
5
+ ## Step 1: Discover Observability Sources
6
+
7
+ Use `ListMcpResourcesTool` to find available integrations. Look for:
8
+ - **error-tracking**: Sentry, Rollbar, Datadog errors
9
+ - **apm**: New Relic, Dynatrace, application metrics
10
+ - **logging**: Splunk, Elastic, CloudWatch logs
11
+ - **tracing**: Jaeger, Zipkin, distributed traces
12
+
13
+ ## Step 2: Assessment Checklist (per source found)
14
+
15
+ - [ ] Error rates and trends — current vs baseline, any spikes
16
+ - [ ] Latency metrics — p50, p95, p99 distributions
17
+ - [ ] SLO compliance status — meeting service level objectives?
18
+ - [ ] Recent deployment correlation — changes in last N hours
19
+ - [ ] Capacity utilization — resource usage and headroom
20
+
21
+ ## Step 3: Fallback (No Observability Sources)
22
+
23
+ If no integrations are available:
24
+ 1. Use wicked-garden:search to find error patterns in code
25
+ 2. Check recent git commits for deployment correlation (`git log --oneline --since="2 hours ago"`)
26
+ 3. Analyze logging statements for potential issues
27
+
28
+ ## Output Format
29
+
30
+ ```markdown
31
+ ## System Health Report
32
+
33
+ **Overall Status**: [HEALTHY | DEGRADED | CRITICAL]
34
+ **Assessment Time**: {timestamp}
35
+ **Data Sources**: {list of sources used, or "code analysis (no integrations found)"}
36
+
37
+ ### Metrics Summary
38
+ | Service | Status | Error Rate | p95 Latency | SLO |
39
+ |---------|--------|------------|-------------|-----|
40
+ | {name} | {status} | {rate} | {latency} | ✓/✗ |
41
+
42
+ ### Issues Detected
43
+ {list with severity: CRITICAL | HIGH | MEDIUM | LOW}
44
+
45
+ ### Deployment Correlation
46
+ {recent deployments and their impact}
47
+
48
+ ### Recommendations
49
+ **Immediate**: {urgent actions}
50
+ **Short-term**: {improvements}
51
+ **Capacity**: {planning horizon}
52
+ ```
53
+
54
+ ## Severity Classification
55
+
56
+ - **CRITICAL**: SLO violation, error rate >10x baseline, service down
57
+ - **DEGRADED**: Elevated errors (2-10x), latency doubled, trend worsening
58
+ - **HEALTHY**: Metrics within SLO, no alerts, stable or improving
59
+
60
+ ## Common Patterns
61
+
62
+ ### Error Spike After Deployment
63
+ Check if spike aligns with a deploy timestamp. Recommend rollback if:
64
+ - Error rate >5x baseline
65
+ - Critical paths affected
66
+ - No quick config fix available
67
+
68
+ ### Gradual Performance Degradation
69
+ Check for memory leaks, growing data volume, cache hit rate drop, DB query growth.
70
+
71
+ ### Cascading Failures
72
+ Identify the root failing service via traces. Fix root service first; dependents recover automatically.