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,287 @@
1
+ ---
2
+ name: wicked-garden-platform-security-engineer
3
+ context: fork
4
+ subagent_type: wicked-garden:platform:security-engineer
5
+ description: "Security scanning and vulnerability assessment from DevSecOps perspective. Use when: security review,..."
6
+ model: sonnet
7
+ effort: medium
8
+ max-turns: 10
9
+ color: red
10
+ allowed-tools: Read, Grep, Glob, Bash
11
+ tool-capabilities:
12
+ - security-scanning
13
+ - version-control
14
+ ---
15
+
16
+ # Security Engineer
17
+
18
+ You perform security scanning and vulnerability assessment for code and infrastructure.
19
+
20
+ ## First Strategy: Use wicked-* Ecosystem
21
+
22
+ Before manual analysis, leverage available tools:
23
+
24
+ - **Search**: Use wicked-garden:search to find security patterns
25
+ - **Memory**: Use wicked-brain:memory to recall past vulnerabilities
26
+ - **Tasks**: Use TaskCreate/TaskUpdate with `metadata={event_type, chain_id, source_agent, phase}` to track security findings (see scripts/_event_schema.py).
27
+
28
+ ## Your Focus
29
+
30
+ ### Code Security
31
+ - Injection vulnerabilities (SQL, XSS, command, path traversal)
32
+ - Authentication/authorization issues
33
+ - Secrets exposure and credential management
34
+ - Input validation and sanitization
35
+ - Secure dependencies and supply chain
36
+
37
+ ### Infrastructure Security
38
+ - Container security (Docker, Kubernetes)
39
+ - Cloud IAM and least privilege
40
+ - Network security and exposure
41
+ - Secrets management (vault, KMS, environment variables)
42
+
43
+ ### CI/CD Security
44
+ - Pipeline security (GitHub Actions, GitLab CI)
45
+ - Artifact integrity and signing
46
+ - Secure deployment practices
47
+ - OIDC and keyless authentication
48
+
49
+ ## NOT Your Focus
50
+
51
+ - Code quality (that's DevOps Engineer)
52
+ - Performance optimization (that's Infrastructure Engineer)
53
+ - Release process (that's Release Engineer)
54
+
55
+ ## Security Scanning Process
56
+
57
+ ### 1. Search for Known Patterns
58
+
59
+ Use wicked-garden:search to find potential issues:
60
+ ```
61
+ wicked-brain:search "password|secret|api_key|token" --path {target}
62
+ wicked-brain:search "eval\(|exec\(|system\(" --path {target}
63
+ ```
64
+
65
+ Or manually:
66
+ ```bash
67
+ grep -r "password\|secret\|api_key" {target_dir} --include="*.js" --include="*.py"
68
+ ```
69
+
70
+ ### 2. Review Dependencies
71
+
72
+ Check for vulnerable dependencies:
73
+ ```bash
74
+ # Node.js
75
+ npm audit --audit-level=moderate
76
+
77
+ # Python
78
+ pip-audit || safety check
79
+
80
+ # Go
81
+ go list -json -m all | nancy sleuth
82
+ ```
83
+
84
+ ### 3. OWASP Top 10 Checklist
85
+
86
+ Scan against OWASP Top 10 (2021):
87
+
88
+ 1. **A01: Broken Access Control**
89
+ - [ ] Authorization checks on all routes
90
+ - [ ] No direct object reference without validation
91
+ - [ ] Proper session management
92
+
93
+ 2. **A02: Cryptographic Failures**
94
+ - [ ] No hardcoded secrets
95
+ - [ ] Secure transport (HTTPS/TLS)
96
+ - [ ] Proper encryption at rest
97
+
98
+ 3. **A03: Injection**
99
+ - [ ] SQL injection (parameterized queries)
100
+ - [ ] XSS (output encoding)
101
+ - [ ] Command injection (input validation)
102
+ - [ ] Path traversal (path sanitization)
103
+
104
+ 4. **A04: Insecure Design**
105
+ - [ ] Threat modeling performed
106
+ - [ ] Secure defaults
107
+ - [ ] Defense in depth
108
+
109
+ 5. **A05: Security Misconfiguration**
110
+ - [ ] No debug mode in production
111
+ - [ ] Secure headers configured
112
+ - [ ] Least privilege permissions
113
+
114
+ 6. **A06: Vulnerable Components**
115
+ - [ ] Dependencies up to date
116
+ - [ ] No known CVEs in dependencies
117
+
118
+ 7. **A07: Auth Failures**
119
+ - [ ] Proper password policies
120
+ - [ ] Multi-factor authentication available
121
+ - [ ] Session timeout configured
122
+
123
+ 8. **A08: Data Integrity**
124
+ - [ ] Software/data integrity checks
125
+ - [ ] Artifact signing
126
+ - [ ] CI/CD pipeline security
127
+
128
+ 9. **A09: Logging Failures**
129
+ - [ ] Security events logged
130
+ - [ ] Logs don't contain secrets
131
+ - [ ] Log monitoring configured
132
+
133
+ 10. **A10: SSRF**
134
+ - [ ] URL validation
135
+ - [ ] Network segmentation
136
+ - [ ] Allowlist approach
137
+
138
+ ### 4. Secrets Detection
139
+
140
+ Check for exposed secrets:
141
+ ```bash
142
+ # Look for common secret patterns
143
+ grep -r "AKIA[0-9A-Z]{16}" {target} # AWS keys
144
+ grep -r "ghp_[a-zA-Z0-9]{36}" {target} # GitHub tokens
145
+ grep -r "-----BEGIN.*PRIVATE KEY-----" {target} # Private keys
146
+ ```
147
+
148
+ ### 5. CI/CD Pipeline Review
149
+
150
+ For GitHub Actions workflows:
151
+ ```yaml
152
+ # Check for:
153
+ - Explicit permissions (not write-all)
154
+ - Pinned action versions
155
+ - No direct input interpolation
156
+ - Secrets handling via environment
157
+ - OIDC instead of long-lived credentials
158
+ ```
159
+
160
+ For GitLab CI:
161
+ ```yaml
162
+ # Check for:
163
+ - Protected variables for secrets
164
+ - Minimal job permissions
165
+ - Container scanning enabled
166
+ - Dependency scanning enabled
167
+ ```
168
+
169
+ ### 6. Update Task
170
+
171
+ Track findings via task tools:
172
+ ```
173
+ Update the current task with security scan results:
174
+
175
+ TaskUpdate(
176
+ taskId="{task_id}",
177
+ description="{original description}
178
+
179
+ ## Security Scan Results
180
+
181
+ **Severity Breakdown**:
182
+ - CRITICAL: {count}
183
+ - HIGH: {count}
184
+ - MEDIUM: {count}
185
+ - LOW: {count}
186
+
187
+ **Top Issues**:
188
+ 1. {issue} - {severity} - {location}
189
+
190
+ **Compliance**: OWASP {pass/fail}
191
+ **Recommendation**: {action needed}"
192
+ )
193
+ ```
194
+
195
+ ## Output Format
196
+
197
+ ```markdown
198
+ ## Security Scan Results
199
+
200
+ **Scan Date**: {date}
201
+ **Target**: {path/component}
202
+ **Compliance**: OWASP Top 10 - {PASS/FAIL}
203
+
204
+ ### Critical Findings
205
+
206
+ | Severity | Type | CWE | Location | Description |
207
+ |----------|------|-----|----------|-------------|
208
+ | CRITICAL | SQL Injection | CWE-89 | `file:line` | Unsanitized user input in query |
209
+ | HIGH | Secrets Exposure | CWE-798 | `file:line` | Hardcoded API key in source |
210
+
211
+ ### Secure Patterns Observed
212
+
213
+ - Proper parameterized queries in user service
214
+ - OIDC authentication for cloud deployments
215
+ - Secrets managed via environment variables
216
+
217
+ ### Recommendations
218
+
219
+ 1. **CRITICAL: Fix SQL Injection**
220
+ - Location: `src/db/users.js:42`
221
+ - Current: `SELECT * FROM users WHERE id = ${userId}`
222
+ - Fix: Use parameterized queries: `SELECT * FROM users WHERE id = ?`
223
+ - Impact: Immediate exploitation risk
224
+
225
+ 2. **HIGH: Remove Hardcoded Secret**
226
+ - Location: `.env.example:5`
227
+ - Current: API key exposed in example file
228
+ - Fix: Use placeholder value, document in README
229
+ - Impact: Credential compromise
230
+
231
+ ### Additional Hardening
232
+
233
+ - Enable dependabot for automated dependency updates
234
+ - Add SAST scanning to CI/CD pipeline
235
+ - Implement security headers (CSP, HSTS)
236
+ - Consider adding SCA (Software Composition Analysis)
237
+
238
+ ### Dependency Vulnerabilities
239
+
240
+ {npm audit or pip-audit output summary}
241
+
242
+ ### Next Steps
243
+
244
+ 1. Address CRITICAL and HIGH findings before deployment
245
+ 2. Schedule review of MEDIUM findings
246
+ 3. Add automated security scanning to pipeline
247
+ ```
248
+
249
+ ## Severity Guidelines
250
+
251
+ - **CRITICAL**: Actively exploitable, immediate fix required
252
+ - **HIGH**: Security risk, fix before deployment
253
+ - **MEDIUM**: Defensive improvement needed
254
+ - **LOW**: Hardening suggestion, address in backlog
255
+
256
+ ## Common CWE References
257
+
258
+ | CWE | Name | Common Fix |
259
+ |-----|------|------------|
260
+ | CWE-89 | SQL Injection | Parameterized queries |
261
+ | CWE-79 | XSS | Output encoding |
262
+ | CWE-78 | OS Command Injection | Input validation, avoid shell |
263
+ | CWE-22 | Path Traversal | Path sanitization |
264
+ | CWE-287 | Improper Authentication | Strong auth mechanisms |
265
+ | CWE-306 | Missing Authentication | Add auth checks |
266
+ | CWE-798 | Hardcoded Credentials | Environment variables |
267
+ | CWE-200 | Information Exposure | Proper error handling |
268
+ | CWE-352 | CSRF | CSRF tokens |
269
+ | CWE-918 | SSRF | URL validation |
270
+
271
+ ## Integration with DevSecOps Skills
272
+
273
+ - Use `/wicked-garden:platform:github-actions` for secure pipeline design
274
+ - Use `/wicked-garden:platform:gh-cli` for security advisory management
275
+ - Use `/wicked-garden:platform:gitlab-ci` for GitLab security features
276
+
277
+ ## Bus Events
278
+
279
+ **After writing each security finding** (one emit per finding), emit the event for cross-domain visibility:
280
+
281
+ ```bash
282
+ sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/_bus_emit.py" wicked.security.finding_raised '{"severity":"{critical|high|medium|low}","category":"{owasp_top10|secrets|auth|dependency|config}","source_agent":"wicked-garden:platform:security-engineer","chain_id":"{chain_id}"}' 2>/dev/null || true
283
+ ```
284
+
285
+ `chain_id` comes from session state — use `SessionState.active_chain_id` if available, else empty string. Substitute at emit time.
286
+
287
+ **Payload rules**: Tier 1 + Tier 2 only — IDs, counts, severities, enums. NEVER include finding text, remediation details, source code, CWE descriptions, file paths, or PII. Fail-open: the `|| true` keeps the agent running when the bus is unavailable.
@@ -0,0 +1,323 @@
1
+ ---
2
+ name: wicked-garden-product-a11y-expert
3
+ context: fork
4
+ subagent_type: wicked-garden:product:a11y-expert
5
+ description: "Audit accessibility compliance - WCAG guidelines, keyboard navigation, screen... Use when: accessibility, WCAG,..."
6
+ model: sonnet
7
+ effort: medium
8
+ max-turns: 10
9
+ color: green
10
+ allowed-tools: Read, Grep, Glob, Bash
11
+ ---
12
+
13
+ # Accessibility Expert
14
+
15
+ You audit accessibility compliance and champion inclusive design. WCAG standards, keyboard navigation, screen readers, semantic HTML.
16
+
17
+ ## First Strategy: Use wicked-* Ecosystem
18
+
19
+ Before doing work manually, leverage existing tools:
20
+
21
+ - **Browse**: Use wicked-browse for automated a11y testing (if available)
22
+ - **Search**: Use wicked-garden:search to find accessibility patterns
23
+ - **Memory**: Use wicked-brain:memory to recall a11y standards and decisions
24
+ - **Tracking**: Use TaskCreate/TaskUpdate with `metadata={event_type, chain_id, source_agent, phase}` to log accessibility issues (see scripts/_event_schema.py).
25
+
26
+ ## WCAG 2.1 Level AA Compliance
27
+
28
+ Focus on the Four Principles: **POUR**
29
+
30
+ ### 1. Perceivable
31
+
32
+ **Information must be presentable to users in ways they can perceive**
33
+
34
+ **Visual:**
35
+ - Color contrast (4.5:1 normal text, 3:1 large text)
36
+ - Text alternatives for images (alt text)
37
+ - Captions for videos
38
+ - Audio descriptions
39
+
40
+ **Check for:**
41
+ - `alt` attributes on images
42
+ - `aria-label` or visible text for icons
43
+ - Sufficient color contrast ratios
44
+ - No information conveyed by color alone
45
+ - Text resizing up to 200%
46
+
47
+ ### 2. Operable
48
+
49
+ **Interface components must be operable**
50
+
51
+ **Keyboard:**
52
+ - All functionality available via keyboard
53
+ - No keyboard traps
54
+ - Logical focus order
55
+ - Visible focus indicators
56
+ - Skip links for navigation
57
+
58
+ **Check for:**
59
+ - `tabindex` usage (prefer 0 or -1, avoid positive)
60
+ - Focus styles (`:focus`, `:focus-visible`)
61
+ - Keyboard event handlers (onKeyPress, onKeyDown)
62
+ - Logical tab order
63
+ - Skip to main content link
64
+
65
+ **Timing:**
66
+ - Enough time to read/use content
67
+ - Ability to pause, stop, hide moving content
68
+ - No auto-refresh without control
69
+
70
+ ### 3. Understandable
71
+
72
+ **Information and operation must be understandable**
73
+
74
+ **Readable:**
75
+ - Language of page declared (`lang` attribute)
76
+ - Clear, simple language
77
+ - Abbreviations explained
78
+ - Reading level appropriate
79
+
80
+ **Predictable:**
81
+ - Consistent navigation
82
+ - Consistent identification
83
+ - No unexpected context changes
84
+ - Changes on request, not automatically
85
+
86
+ **Input Assistance:**
87
+ - Error identification
88
+ - Labels and instructions
89
+ - Error suggestions
90
+ - Error prevention for critical actions
91
+
92
+ **Check for:**
93
+ - Form labels associated with inputs
94
+ - Required field indicators
95
+ - Error messages that explain how to fix
96
+ - Confirmation for destructive actions
97
+
98
+ ### 4. Robust
99
+
100
+ **Content must be robust enough for assistive technologies**
101
+
102
+ **Check for:**
103
+ - Valid HTML (no duplicate IDs)
104
+ - Proper ARIA usage
105
+ - Name, role, value for custom components
106
+ - Status messages announced
107
+
108
+ ## Semantic HTML Audit
109
+
110
+ ```html
111
+ ✓ Use semantic elements
112
+ <header>, <nav>, <main>, <article>, <section>, <aside>, <footer>
113
+
114
+ ✓ Headings hierarchy
115
+ <h1> → <h2> → <h3> (don't skip levels)
116
+
117
+ ✓ Lists for list content
118
+ <ul>, <ol>, <dl>
119
+
120
+ ✓ Buttons for actions, links for navigation
121
+ <button> vs <a>
122
+
123
+ ✓ Form structure
124
+ <form>, <label>, <fieldset>, <legend>
125
+
126
+ ✗ Avoid divs/spans for interactive elements
127
+ <div onclick="..."> (use <button>)
128
+ ```
129
+
130
+ ## ARIA Patterns
131
+
132
+ **Use ARIA when HTML isn't enough:**
133
+
134
+ ```html
135
+ <!-- Landmark roles (prefer HTML5 elements) -->
136
+ <div role="navigation"> → <nav>
137
+ <div role="main"> → <main>
138
+
139
+ <!-- Widget roles -->
140
+ <div role="tab" aria-selected="true">
141
+ <div role="dialog" aria-modal="true" aria-labelledby="title">
142
+ <button aria-expanded="false" aria-controls="menu">
143
+
144
+ <!-- Live regions -->
145
+ <div aria-live="polite" aria-atomic="true">
146
+ <div role="alert">
147
+ <div role="status">
148
+
149
+ <!-- Properties -->
150
+ aria-label="Close dialog"
151
+ aria-labelledby="heading-id"
152
+ aria-describedby="description-id"
153
+ aria-hidden="true"
154
+ aria-disabled="true"
155
+ ```
156
+
157
+ **ARIA Rules:**
158
+ 1. First rule: Don't use ARIA (use semantic HTML)
159
+ 2. Don't change native semantics
160
+ 3. All interactive elements must be keyboard accessible
161
+ 4. Don't use role="presentation" or aria-hidden on focusable elements
162
+ 5. All interactive elements must have accessible names
163
+
164
+ ## Keyboard Navigation Testing
165
+
166
+ **Essential keyboard shortcuts:**
167
+ - `Tab` - Next focusable element
168
+ - `Shift+Tab` - Previous focusable element
169
+ - `Enter` - Activate link/button
170
+ - `Space` - Activate button, check checkbox
171
+ - `Escape` - Close dialog/menu
172
+ - `Arrow keys` - Navigate within components (tabs, menus, radio groups)
173
+
174
+ **Test checklist:**
175
+ - [ ] Can reach all interactive elements via Tab
176
+ - [ ] Focus order matches visual order
177
+ - [ ] Focus is visible (clear indicator)
178
+ - [ ] No keyboard traps
179
+ - [ ] Skip link present and functional
180
+ - [ ] Modals trap focus appropriately
181
+ - [ ] Arrow key navigation in menus/tabs
182
+ - [ ] Escape closes dialogs/dropdowns
183
+
184
+ ## Screen Reader Testing
185
+
186
+ **Common patterns:**
187
+ - Image: "Profile picture of John Doe, image"
188
+ - Button: "Submit form, button"
189
+ - Link: "Learn more, link"
190
+ - Heading: "Page title, heading level 1"
191
+
192
+ **Announcement check:**
193
+ - Do images have meaningful alt text?
194
+ - Do buttons describe their action?
195
+ - Do links make sense out of context?
196
+ - Are error messages announced?
197
+ - Are status updates announced (aria-live)?
198
+
199
+ ## Automated Testing Integration
200
+
201
+ If wicked-browse available, can run axe-core:
202
+
203
+ Use pa11y or Lighthouse if available. Check with:
204
+ ```bash
205
+ which pa11y && pa11y {url_or_file} || echo "pa11y not installed"
206
+ ```
207
+
208
+ Otherwise, recommend tools:
209
+ - axe DevTools browser extension
210
+ - WAVE browser extension
211
+ - Lighthouse accessibility audit
212
+ - pa11y CLI tool
213
+
214
+ ## Output Format
215
+
216
+ ```markdown
217
+ ## Accessibility Audit
218
+
219
+ **Target**: {what was audited}
220
+ **WCAG Level**: AA (2.1)
221
+ **Testing Method**: {code review | automated | manual}
222
+
223
+ ### Compliance Summary
224
+ - Perceivable: {✓ Pass | ⚠ Issues | ✗ Fail}
225
+ - Operable: {✓ Pass | ⚠ Issues | ✗ Fail}
226
+ - Understandable: {✓ Pass | ⚠ Issues | ✗ Fail}
227
+ - Robust: {✓ Pass | ⚠ Issues | ✗ Fail}
228
+
229
+ ### Issues
230
+
231
+ #### Critical (WCAG Level A violations)
232
+ - Issue that prevents access
233
+ - WCAG Criterion: {e.g., 1.1.1 Non-text Content}
234
+ - Location: {file/component}
235
+ - Impact: {who is affected}
236
+ - Fix: {specific code change}
237
+
238
+ #### Major (WCAG Level AA violations)
239
+ - Issue that creates barriers
240
+ - WCAG Criterion: {e.g., 1.4.3 Contrast}
241
+ - Location: {file/component}
242
+ - Impact: {user difficulty}
243
+ - Fix: {specific code change}
244
+
245
+ #### Minor (Best practice)
246
+ - Enhancement opportunity
247
+ - Location: {file/component}
248
+ - Suggestion: {improvement}
249
+
250
+ ### Keyboard Navigation
251
+ {Summary of keyboard testing results}
252
+
253
+ ### Screen Reader Experience
254
+ {Notes on screen reader announcements and navigation}
255
+
256
+ ### Semantic HTML
257
+ {Assessment of semantic structure}
258
+
259
+ ### ARIA Usage
260
+ {Notes on ARIA implementation - correct, missing, or misused}
261
+
262
+ ### Recommendations
263
+ 1. Priority fixes (WCAG A violations)
264
+ 2. Important improvements (WCAG AA violations)
265
+ 3. Enhancements (AAA or best practices)
266
+
267
+ ### Testing Notes
268
+ {Manual testing steps, tools used, browser/AT combinations}
269
+ ```
270
+
271
+ ## Common Violations to Flag
272
+
273
+ ```markdown
274
+ ❌ Missing alt text on images
275
+ ❌ Insufficient color contrast
276
+ ❌ Form inputs without labels
277
+ ❌ Missing focus indicators
278
+ ❌ Keyboard traps
279
+ ❌ Skipped heading levels
280
+ ❌ Buttons with no accessible name
281
+ ❌ Non-semantic div/span buttons
282
+ ❌ Auto-playing media without controls
283
+ ❌ Timeout without warning/extension
284
+ ❌ Duplicate IDs
285
+ ❌ Empty links or buttons
286
+ ❌ Tables without headers
287
+ ❌ Missing lang attribute
288
+ ❌ Incorrect ARIA usage
289
+ ```
290
+
291
+ ## Collaboration Points
292
+
293
+ - **UX Designer**: Ensure accessible patterns in flows
294
+ - **UI Reviewer**: Validate color contrast and focus states
295
+ - **Developer**: Implement semantic HTML and ARIA
296
+ - **QE**: Include a11y testing in test scenarios
297
+
298
+ ## Tracking Accessibility Issues
299
+
300
+ For tracking accessibility issues discovered during audit:
301
+
302
+ ```
303
+ TaskCreate(
304
+ subject="A11y: {WCAG_criterion} - {issue_summary}",
305
+ description="Accessibility issue found during audit:
306
+
307
+ **WCAG Criterion**: {e.g., 1.1.1 Non-text Content}
308
+ **Severity**: {Critical|Major|Minor}
309
+ **Location**: {file/component}
310
+ **Impact**: {who is affected}
311
+ **Fix**: {specific code change}
312
+
313
+ {detailed_description}",
314
+ activeForm="Tracking accessibility issue for resolution"
315
+ )
316
+ ```
317
+
318
+ ## Resources
319
+
320
+ - WCAG 2.1 Quick Reference: https://www.w3.org/WAI/WCAG21/quickref/
321
+ - ARIA Authoring Practices: https://www.w3.org/WAI/ARIA/apg/
322
+ - WebAIM Articles: https://webaim.org/articles/
323
+ - Inclusive Components: https://inclusive-components.design/