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,262 @@
1
+ ---
2
+ phase_relevance: ["clarify", "design", "review"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # WCAG 2.1 Level AA Complete Checklist
6
+
7
+ Comprehensive checklist for WCAG 2.1 Level AA compliance.
8
+
9
+ ## Perceivable
10
+
11
+ ### 1.1 Text Alternatives
12
+
13
+ **1.1.1 Non-text Content (Level A)**
14
+ - [ ] All images have appropriate `alt` attributes
15
+ - [ ] Decorative images use `alt=""`
16
+ - [ ] Complex images have detailed descriptions
17
+ - [ ] Form controls have associated labels
18
+ - [ ] CAPTCHA has text alternative
19
+
20
+ ### 1.2 Time-based Media
21
+
22
+ **1.2.1 Audio-only and Video-only (Level A)**
23
+ - [ ] Audio-only has transcript
24
+ - [ ] Video-only has audio track or text description
25
+
26
+ **1.2.2 Captions (Level A)**
27
+ - [ ] Pre-recorded video has captions
28
+
29
+ **1.2.3 Audio Description or Media Alternative (Level A)**
30
+ - [ ] Pre-recorded video has audio description or transcript
31
+
32
+ **1.2.4 Captions (Live) (Level AA)**
33
+ - [ ] Live video has captions
34
+
35
+ **1.2.5 Audio Description (Level AA)**
36
+ - [ ] Pre-recorded video has audio description
37
+
38
+ ### 1.3 Adaptable
39
+
40
+ **1.3.1 Info and Relationships (Level A)**
41
+ - [ ] Semantic HTML used (`<header>`, `<nav>`, `<main>`, etc.)
42
+ - [ ] Heading hierarchy correct (h1 → h2 → h3, no skips)
43
+ - [ ] Lists use `<ul>`, `<ol>`, `<dl>`
44
+ - [ ] Tables use `<th>` for headers
45
+ - [ ] Form labels associated with inputs
46
+
47
+ **1.3.2 Meaningful Sequence (Level A)**
48
+ - [ ] Reading order matches visual order
49
+ - [ ] Tab order is logical
50
+
51
+ **1.3.3 Sensory Characteristics (Level A)**
52
+ - [ ] Instructions don't rely solely on shape, size, location, or sound
53
+ - [ ] "Click the round button" → "Click the Submit button"
54
+
55
+ **1.3.4 Orientation (Level AA)**
56
+ - [ ] Content not restricted to single orientation (portrait/landscape)
57
+ - [ ] Unless specific orientation essential
58
+
59
+ **1.3.5 Identify Input Purpose (Level AA)**
60
+ - [ ] Autocomplete attributes used where appropriate
61
+ - [ ] `autocomplete="email"`, `autocomplete="name"`, etc.
62
+
63
+ ### 1.4 Distinguishable
64
+
65
+ **1.4.1 Use of Color (Level A)**
66
+ - [ ] Color not only means of conveying information
67
+ - [ ] Links distinguishable from text (underline, bold, etc.)
68
+ - [ ] Error states have icon + color
69
+
70
+ **1.4.2 Audio Control (Level A)**
71
+ - [ ] Auto-playing audio can be paused/stopped/controlled
72
+
73
+ **1.4.3 Contrast (Minimum) (Level AA)**
74
+ - [ ] Normal text: 4.5:1 contrast ratio
75
+ - [ ] Large text (18pt+ or 14pt+ bold): 3:1 contrast ratio
76
+ - [ ] UI components: 3:1 contrast ratio
77
+
78
+ **1.4.4 Resize Text (Level AA)**
79
+ - [ ] Text can be resized to 200% without loss of functionality
80
+ - [ ] No horizontal scrolling at 200% zoom
81
+
82
+ **1.4.5 Images of Text (Level AA)**
83
+ - [ ] Actual text used instead of images of text
84
+ - [ ] Exceptions: logos, essential presentation
85
+
86
+ **1.4.10 Reflow (Level AA)**
87
+ - [ ] Content reflows at 320px width
88
+ - [ ] No two-dimensional scrolling
89
+ - [ ] Exceptions: complex data tables, maps
90
+
91
+ **1.4.11 Non-text Contrast (Level AA)**
92
+ - [ ] UI components: 3:1 contrast against adjacent colors
93
+ - [ ] Focus indicators: 3:1 contrast
94
+ - [ ] Graphical objects: 3:1 contrast
95
+
96
+ **1.4.12 Text Spacing (Level AA)**
97
+ - [ ] No loss of content when:
98
+ - Line height 1.5x font size
99
+ - Paragraph spacing 2x font size
100
+ - Letter spacing 0.12x font size
101
+ - Word spacing 0.16x font size
102
+
103
+ **1.4.13 Content on Hover or Focus (Level AA)**
104
+ - [ ] Hover/focus content dismissible (Escape)
105
+ - [ ] Hover/focus content hoverable (can move pointer to it)
106
+ - [ ] Hover/focus content persistent (doesn't disappear)
107
+
108
+ ## Operable
109
+
110
+ ### 2.1 Keyboard Accessible
111
+
112
+ **2.1.1 Keyboard (Level A)**
113
+ - [ ] All functionality available via keyboard
114
+ - [ ] No keyboard-only exceptions
115
+
116
+ **2.1.2 No Keyboard Trap (Level A)**
117
+ - [ ] Focus can move away from all components
118
+ - [ ] Standard navigation (Tab, arrow keys, Escape)
119
+
120
+ **2.1.4 Character Key Shortcuts (Level A)**
121
+ - [ ] Single key shortcuts can be turned off, remapped, or only active on focus
122
+
123
+ ### 2.2 Enough Time
124
+
125
+ **2.2.1 Timing Adjustable (Level A)**
126
+ - [ ] Time limits can be turned off, adjusted, or extended
127
+ - [ ] Warning before timeout with option to extend
128
+
129
+ **2.2.2 Pause, Stop, Hide (Level A)**
130
+ - [ ] Moving, blinking, scrolling content can be paused
131
+ - [ ] Auto-updating content can be paused/hidden
132
+
133
+ ### 2.3 Seizures and Physical Reactions
134
+
135
+ **2.3.1 Three Flashes or Below Threshold (Level A)**
136
+ - [ ] No content flashes more than 3 times per second
137
+ - [ ] Or below flash threshold
138
+
139
+ ### 2.4 Navigable
140
+
141
+ **2.4.1 Bypass Blocks (Level A)**
142
+ - [ ] Skip to main content link
143
+ - [ ] Landmark regions defined
144
+ - [ ] Headings structure content
145
+
146
+ **2.4.2 Page Titled (Level A)**
147
+ - [ ] Every page has descriptive `<title>`
148
+
149
+ **2.4.3 Focus Order (Level A)**
150
+ - [ ] Focus order matches visual order
151
+ - [ ] Logical tab sequence
152
+
153
+ **2.4.4 Link Purpose (Level A)**
154
+ - [ ] Link text describes destination
155
+ - [ ] Avoid "click here", "read more" without context
156
+
157
+ **2.4.5 Multiple Ways (Level AA)**
158
+ - [ ] Multiple ways to find pages (search, sitemap, nav, etc.)
159
+ - [ ] Exception: process steps
160
+
161
+ **2.4.6 Headings and Labels (Level AA)**
162
+ - [ ] Headings describe topic/purpose
163
+ - [ ] Labels describe purpose
164
+
165
+ **2.4.7 Focus Visible (Level AA)**
166
+ - [ ] Focus indicator always visible
167
+ - [ ] Clear visual indication of focused element
168
+
169
+ ### 2.5 Input Modalities
170
+
171
+ **2.5.1 Pointer Gestures (Level A)**
172
+ - [ ] Multi-point or path-based gestures have single-pointer alternative
173
+ - [ ] Exception: essential gestures (e.g., drawing)
174
+
175
+ **2.5.2 Pointer Cancellation (Level A)**
176
+ - [ ] Click actions on up event (not down)
177
+ - [ ] Or can be aborted/undone
178
+
179
+ **2.5.3 Label in Name (Level A)**
180
+ - [ ] Accessible name contains visible label text
181
+ - [ ] `aria-label` should include visible text
182
+
183
+ **2.5.4 Motion Actuation (Level A)**
184
+ - [ ] Motion-triggered actions have UI alternative
185
+ - [ ] Can disable motion triggering
186
+
187
+ ## Understandable
188
+
189
+ ### 3.1 Readable
190
+
191
+ **3.1.1 Language of Page (Level A)**
192
+ - [ ] `<html lang="en">` attribute set
193
+
194
+ **3.1.2 Language of Parts (Level AA)**
195
+ - [ ] Language changes marked with `lang` attribute
196
+ - [ ] `<span lang="es">Hola</span>`
197
+
198
+ ### 3.2 Predictable
199
+
200
+ **3.2.1 On Focus (Level A)**
201
+ - [ ] Focus doesn't trigger unexpected context changes
202
+ - [ ] No automatic form submission on focus
203
+
204
+ **3.2.2 On Input (Level A)**
205
+ - [ ] Input doesn't trigger unexpected context changes
206
+ - [ ] Changes happen on button click, not automatic
207
+
208
+ **3.2.3 Consistent Navigation (Level AA)**
209
+ - [ ] Navigation menus in consistent order across pages
210
+
211
+ **3.2.4 Consistent Identification (Level AA)**
212
+ - [ ] Same functionality labeled consistently
213
+ - [ ] Search icon always means search
214
+
215
+ ### 3.3 Input Assistance
216
+
217
+ **3.3.1 Error Identification (Level A)**
218
+ - [ ] Errors identified in text
219
+ - [ ] Location of error indicated
220
+ - [ ] Error description provided
221
+
222
+ **3.3.2 Labels or Instructions (Level A)**
223
+ - [ ] Form fields have labels
224
+ - [ ] Instructions provided where needed
225
+ - [ ] Required fields indicated
226
+
227
+ **3.3.3 Error Suggestion (Level AA)**
228
+ - [ ] Error messages suggest corrections
229
+ - [ ] "Invalid email" → "Email must include @"
230
+
231
+ **3.3.4 Error Prevention (Legal, Financial, Data) (Level AA)**
232
+ - [ ] Reversible or reviewable
233
+ - [ ] Data checked and user can correct
234
+ - [ ] Confirmation page for important actions
235
+
236
+ ## Robust
237
+
238
+ ### 4.1 Compatible
239
+
240
+ **4.1.1 Parsing (Level A)**
241
+ - [ ] No duplicate IDs
242
+ - [ ] Proper nesting of elements
243
+ - [ ] Complete start/end tags
244
+
245
+ **4.1.2 Name, Role, Value (Level A)**
246
+ - [ ] All UI components have accessible name
247
+ - [ ] Role communicated to assistive tech
248
+ - [ ] State/properties/values available
249
+ - [ ] Proper ARIA implementation
250
+
251
+ **4.1.3 Status Messages (Level AA)**
252
+ - [ ] Status messages announced without focus change
253
+ - [ ] Use `role="status"`, `role="alert"`, `aria-live`
254
+
255
+ ## Testing Tools
256
+
257
+ - **axe DevTools**: Browser extension
258
+ - **WAVE**: WebAIM's browser extension
259
+ - **Lighthouse**: Chrome DevTools
260
+ - **NVDA**: Free screen reader (Windows)
261
+ - **VoiceOver**: Built-in screen reader (Mac)
262
+ - **Contrast checker**: WebAIM or browser tools
@@ -0,0 +1,164 @@
1
+ ---
2
+ name: analyze
3
+ description: |
4
+ Sentiment analysis, theme extraction, and trend detection from customer feedback.
5
+
6
+ Use when: analyzing customer feedback for sentiment, extracting themes from
7
+ support or survey data, or detecting trends in voice-of-customer signal.
8
+ phase_relevance: ["clarify", "design", "review"]
9
+ archetype_relevance: ["*"]
10
+ ---
11
+
12
+ # Analyze Skill
13
+
14
+ Extract themes, sentiment, and trends from aggregated customer feedback.
15
+
16
+ ## When to Use
17
+
18
+ - After running `/wicked-garden:product:listen`
19
+ - User asks "what are customers saying about X"
20
+ - Need to understand sentiment trends
21
+ - Preparing customer insights for product decisions
22
+
23
+ ## Usage
24
+
25
+ ```bash
26
+ # Analyze all recent feedback
27
+ /wicked-garden:product:analyze
28
+
29
+ # Analyze specific theme
30
+ /wicked-garden:product:analyze --theme "mobile experience"
31
+
32
+ # Analyze sentiment only
33
+ /wicked-garden:product:analyze --sentiment negative
34
+
35
+ # Trend analysis
36
+ /wicked-garden:product:analyze --trend "last-quarter"
37
+
38
+ # Segment analysis
39
+ /wicked-garden:product:analyze --segment enterprise
40
+ ```
41
+
42
+ ## Analysis Types
43
+
44
+ ### 1. Sentiment Analysis
45
+ - Classify: positive/negative/neutral/mixed
46
+ - Score intensity: strong/moderate/mild
47
+ - Indicators: See [refs/sentiment-patterns.md](refs/sentiment-patterns.md)
48
+
49
+ ### 2. Theme Extraction
50
+ - Cluster by keywords and co-occurrence
51
+ - Categories: Product, Experience, Business
52
+ - See [refs/algorithms.md](refs/algorithms.md) for clustering logic
53
+
54
+ ### 3. Trend Detection
55
+ - Compare time periods (week, month, quarter)
56
+ - Categories: Emerging, Growing, Stable, Declining, Resolved
57
+ - Threshold: >50% = Growing, >30% decline = Declining
58
+
59
+ ### 4. Priority Scoring
60
+ ```
61
+ Priority = (Frequency × Severity × Urgency) / Total_Feedback
62
+ ```
63
+ See [refs/algorithms.md](refs/algorithms.md) for detailed scoring.
64
+
65
+ ## Analysis Process
66
+
67
+ 1. **Load Feedback Data**:
68
+ ```bash
69
+ LOCAL_ROOT=$(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/resolve_path.py" wicked-garden:product)
70
+ ```
71
+ Then use the **Glob** tool to find feedback files:
72
+ ```
73
+ Glob(pattern="**/*.md", path="${LOCAL_ROOT}/voice/feedback/")
74
+ ```
75
+ Read individual files with the **Read** tool to load recent feedback.
76
+
77
+ 2. **Extract Themes**:
78
+ - Keyword frequency analysis
79
+ - Tag co-occurrence
80
+ - Natural language clustering
81
+
82
+ 3. **Score Sentiment**:
83
+ - Classify each item (positive/negative/neutral/mixed)
84
+ - Score intensity (strong/moderate/mild)
85
+ - Calculate net sentiment
86
+
87
+ 4. **Detect Trends**:
88
+ - Group by time period (week, month, quarter)
89
+ - Compare frequencies
90
+ - Identify direction (up, down, stable)
91
+
92
+ 5. **Segment Analysis**:
93
+ - Group by customer segment (if available)
94
+ - Compare sentiment across segments
95
+ - Identify segment-specific themes
96
+
97
+ ## Output Format
98
+
99
+ ```markdown
100
+ ## Analysis: {Topic or Timeframe}
101
+
102
+ ### Sentiment Overview
103
+ - Net Sentiment: {+/-N} ({X}% positive, {Y}% negative)
104
+ - Strong Emotions: {count} highly positive, {count} highly negative
105
+ - Trend: {IMPROVING/DECLINING/STABLE} compared to previous period
106
+
107
+ ### Top Themes (by priority)
108
+ 1. **{Theme}** - Priority: {score}
109
+ - Frequency: {count} mentions ({%} of total)
110
+ - Sentiment: {positive/negative/mixed} ({intensity})
111
+ - Trend: {GROWING/STABLE/DECLINING} ({+/-X}% vs. baseline)
112
+ - Severity: {CRITICAL/HIGH/MEDIUM/LOW}
113
+ - Key quote: "{representative example}"
114
+
115
+ {Top 5 themes}
116
+
117
+ ### Emerging Patterns
118
+ - **{New Theme}**: Recently appeared, {count} mentions
119
+ - **{Growing Theme}**: {X}% increase from last period
120
+
121
+ ### Segment Insights
122
+ - **{Segment}**: {sentiment + top theme}
123
+
124
+ ### Recommendations
125
+ {1-3 actionable recommendations based on analysis}
126
+ ```
127
+
128
+ ## Technical Implementation
129
+
130
+ See [refs/algorithms.md](refs/algorithms.md) for detailed analysis algorithms.
131
+
132
+ ## Integration
133
+
134
+ ### With wicked-crew (Auto Context)
135
+
136
+ ```python
137
+ # Triggered by product:requirements:started event
138
+ if event.type == "product:requirements:started":
139
+ # Analyze recent feedback for feature context
140
+ analysis = analyze(days=30, tags=["feature-request"])
141
+ emit_signal("voice:analysis:ready", analysis)
142
+ ```
143
+
144
+ ### With native tasks (Link to Tasks)
145
+
146
+ ```python
147
+ # Tag themes with related task IDs by reading native tasks from
148
+ # ${CLAUDE_CONFIG_DIR}/tasks/{session_id}/ and matching keywords
149
+ tasks = search_native_tasks(theme.keywords)
150
+ theme.related_tasks = tasks
151
+ ```
152
+
153
+ ## Storage
154
+
155
+ Analysis results stored at: `{local_root}/wicked-garden:product/voice/analysis/{theme}/{date}.md` (resolve via `resolve_path.py wicked-garden:product`)
156
+
157
+ ## Rules
158
+
159
+ - Limit to top 5 themes (context efficiency)
160
+ - Always include sample size (N=X)
161
+ - Provide confidence levels for trends
162
+ - Include representative quotes
163
+ - Keep output under 800 words
164
+ - Distinguish frequency from severity
@@ -0,0 +1,238 @@
1
+ ---
2
+ phase_relevance: ["clarify", "design", "review"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Analysis Algorithms
6
+
7
+ Detailed algorithms for sentiment, theme extraction, and trend detection.
8
+
9
+ ## Sentiment Scoring Algorithm
10
+
11
+ ```python
12
+ def score_sentiment(text: str) -> tuple[str, str]:
13
+ """
14
+ Returns (category, intensity)
15
+ category: positive, negative, neutral, mixed
16
+ intensity: strong, moderate, mild
17
+ """
18
+
19
+ # Keyword dictionaries
20
+ positive_strong = ["love", "amazing", "perfect", "brilliant", "excellent"]
21
+ positive_moderate = ["good", "helpful", "useful", "nice", "better"]
22
+ positive_mild = ["ok", "fine", "works", "decent"]
23
+
24
+ negative_strong = ["hate", "terrible", "broken", "unusable", "awful"]
25
+ negative_moderate = ["frustrating", "confusing", "slow", "annoying", "difficult"]
26
+ negative_mild = ["minor", "small issue", "could be better"]
27
+
28
+ # Count occurrences (case-insensitive)
29
+ text_lower = text.lower()
30
+
31
+ pos_strong = sum(1 for word in positive_strong if word in text_lower)
32
+ pos_moderate = sum(1 for word in positive_moderate if word in text_lower)
33
+ pos_mild = sum(1 for word in positive_mild if word in text_lower)
34
+
35
+ neg_strong = sum(1 for word in negative_strong if word in text_lower)
36
+ neg_moderate = sum(1 for word in negative_moderate if word in text_lower)
37
+ neg_mild = sum(1 for word in negative_mild if word in text_lower)
38
+
39
+ # Score calculation
40
+ pos_score = (pos_strong * 3) + (pos_moderate * 2) + (pos_mild * 1)
41
+ neg_score = (neg_strong * 3) + (neg_moderate * 2) + (neg_mild * 1)
42
+
43
+ # Intensity modifiers
44
+ if "!!!" in text or "???" in text:
45
+ if pos_score > neg_score:
46
+ pos_score *= 1.5
47
+ else:
48
+ neg_score *= 1.5
49
+
50
+ # CAPS detection
51
+ caps_ratio = sum(1 for c in text if c.isupper()) / max(len(text), 1)
52
+ if caps_ratio > 0.3:
53
+ neg_score *= 1.3 # CAPS usually indicates frustration
54
+
55
+ # Determine category
56
+ if pos_score > neg_score * 2:
57
+ category = "positive"
58
+ intensity = "strong" if pos_strong > 0 else "moderate" if pos_moderate > 0 else "mild"
59
+ elif neg_score > pos_score * 2:
60
+ category = "negative"
61
+ intensity = "strong" if neg_strong > 0 else "moderate" if neg_moderate > 0 else "mild"
62
+ elif abs(pos_score - neg_score) < 2:
63
+ category = "mixed"
64
+ intensity = "moderate"
65
+ else:
66
+ category = "neutral"
67
+ intensity = "mild"
68
+
69
+ return category, intensity
70
+ ```
71
+
72
+ ## Theme Extraction Algorithm
73
+
74
+ ```python
75
+ def extract_themes(feedback_items: list[dict]) -> list[dict]:
76
+ """
77
+ Cluster feedback into themes using keyword frequency and co-occurrence.
78
+ Returns list of themes sorted by priority.
79
+ """
80
+
81
+ # 1. Keyword extraction
82
+ keywords = {}
83
+ for item in feedback_items:
84
+ words = extract_keywords(item['content'])
85
+ for word in words:
86
+ keywords[word] = keywords.get(word, 0) + 1
87
+
88
+ # 2. Identify theme clusters
89
+ # Keywords that frequently appear together form themes
90
+ themes = cluster_by_cooccurrence(keywords, feedback_items)
91
+
92
+ # 3. Score themes by priority
93
+ for theme in themes:
94
+ theme['priority'] = calculate_priority(
95
+ frequency=theme['count'],
96
+ severity=theme['avg_severity'],
97
+ urgency=theme['avg_urgency'],
98
+ total=len(feedback_items)
99
+ )
100
+
101
+ # 4. Sort by priority
102
+ return sorted(themes, key=lambda t: t['priority'], reverse=True)
103
+
104
+ def extract_keywords(text: str) -> list[str]:
105
+ """Extract meaningful keywords, excluding stopwords."""
106
+ stopwords = {"the", "a", "an", "and", "or", "but", "in", "on", "at", "to"}
107
+ words = text.lower().split()
108
+ return [w for w in words if len(w) > 3 and w not in stopwords]
109
+
110
+ def cluster_by_cooccurrence(keywords: dict, items: list) -> list[dict]:
111
+ """Find keywords that frequently appear together."""
112
+ # Use Jaccard similarity for clustering
113
+ # Keywords with >50% co-occurrence likely form a theme
114
+ pass # Implementation details
115
+
116
+ def calculate_priority(frequency: int, severity: float, urgency: float, total: int) -> float:
117
+ """
118
+ Priority = (Frequency_Ratio × Severity × Urgency)
119
+
120
+ frequency_ratio = frequency / total
121
+ severity = 1-5 (derived from sentiment intensity and keywords)
122
+ urgency = 1-5 (derived from recency and churn signals)
123
+ """
124
+ freq_ratio = frequency / max(total, 1)
125
+ return freq_ratio * severity * urgency
126
+ ```
127
+
128
+ ## Trend Detection Algorithm
129
+
130
+ ```python
131
+ def detect_trends(theme: str, timeframes: list[str]) -> dict:
132
+ """
133
+ Detect if theme is emerging, growing, stable, or declining.
134
+
135
+ Args:
136
+ theme: Theme keyword(s)
137
+ timeframes: List of time periods (e.g., ["2025-12", "2026-01"])
138
+
139
+ Returns:
140
+ {
141
+ "trend": "GROWING" | "STABLE" | "DECLINING" | "EMERGING",
142
+ "change": "+45%",
143
+ "baseline": 10,
144
+ "current": 15
145
+ }
146
+ """
147
+
148
+ # Count mentions per timeframe
149
+ counts = []
150
+ for period in timeframes:
151
+ count = count_theme_mentions(theme, period)
152
+ counts.append(count)
153
+
154
+ # Detect pattern
155
+ if len(counts) < 2:
156
+ return {"trend": "INSUFFICIENT_DATA"}
157
+
158
+ baseline = counts[-2] # Previous period
159
+ current = counts[-1] # Current period
160
+
161
+ # Calculate change
162
+ if baseline == 0:
163
+ if current > 5:
164
+ return {
165
+ "trend": "EMERGING",
166
+ "change": "new",
167
+ "baseline": 0,
168
+ "current": current
169
+ }
170
+ else:
171
+ return {"trend": "INSUFFICIENT_DATA"}
172
+
173
+ change_pct = ((current - baseline) / baseline) * 100
174
+
175
+ if change_pct > 50:
176
+ trend = "GROWING"
177
+ elif change_pct < -30:
178
+ trend = "DECLINING"
179
+ elif abs(change_pct) <= 20:
180
+ trend = "STABLE"
181
+ else:
182
+ trend = "STABLE"
183
+
184
+ return {
185
+ "trend": trend,
186
+ "change": f"{change_pct:+.0f}%",
187
+ "baseline": baseline,
188
+ "current": current
189
+ }
190
+ ```
191
+
192
+ ## Segment Comparison Algorithm
193
+
194
+ ```python
195
+ def compare_segments(theme: str, segments: list[str]) -> dict:
196
+ """
197
+ Compare how different customer segments feel about a theme.
198
+
199
+ Returns:
200
+ {
201
+ "enterprise": {"sentiment": "negative", "count": 25},
202
+ "smb": {"sentiment": "positive", "count": 12},
203
+ "insights": "Enterprise users struggling with feature X"
204
+ }
205
+ """
206
+
207
+ results = {}
208
+ for segment in segments:
209
+ feedback = filter_by_segment(theme, segment)
210
+
211
+ sentiment_scores = [score_sentiment(f['content']) for f in feedback]
212
+ avg_sentiment = aggregate_sentiment(sentiment_scores)
213
+
214
+ results[segment] = {
215
+ "sentiment": avg_sentiment,
216
+ "count": len(feedback),
217
+ "top_keywords": extract_top_keywords(feedback, limit=3)
218
+ }
219
+
220
+ # Generate insights from differences
221
+ insights = generate_segment_insights(results)
222
+
223
+ return {**results, "insights": insights}
224
+ ```
225
+
226
+ ## Implementation Notes
227
+
228
+ For actual implementation, prefer:
229
+ - Lightweight text processing (no heavy NLP libraries)
230
+ - Regex-based keyword extraction
231
+ - Simple frequency counting
232
+ - File-based storage (no database required)
233
+
234
+ ## Performance
235
+
236
+ - Target: <5s for 1000 feedback items
237
+ - Cache theme extractions for 1 hour
238
+ - Incremental updates (don't reprocess all feedback)