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.
- package/.claude-plugin/archetypes.json +166 -0
- package/.claude-plugin/components.json +75 -0
- package/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +174 -0
- package/.claude-plugin/specialist.json +48 -0
- package/.claude-plugin/stack-registry.json +96 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +712 -0
- package/CONTRIBUTING.md +99 -0
- package/ETHOS.md +83 -0
- package/LICENSE +21 -0
- package/README.md +115 -0
- package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
- package/agents/agentic/architect.md +449 -0
- package/agents/agentic/performance-analyst.md +702 -0
- package/agents/agentic/safety-reviewer.md +662 -0
- package/agents/crew/implementer.md +163 -0
- package/agents/crew/researcher.md +94 -0
- package/agents/crew/reviewer.md +184 -0
- package/agents/data/data-engineer.md +227 -0
- package/agents/engineering/api-documentarian.md +440 -0
- package/agents/engineering/migration-engineer.md +301 -0
- package/agents/engineering/solution-architect.md +208 -0
- package/agents/jam/brainstorm-facilitator.md +297 -0
- package/agents/jam/council.md +322 -0
- package/agents/jam/quick-facilitator.md +85 -0
- package/agents/persona/persona-agent.md +121 -0
- package/agents/platform/compliance-officer.md +266 -0
- package/agents/platform/privacy-expert.md +496 -0
- package/agents/platform/security-engineer.md +287 -0
- package/agents/product/a11y-expert.md +323 -0
- package/agents/product/requirements-analyst.md +238 -0
- package/agents/product/ui-reviewer.md +180 -0
- package/agents/product/ux-designer.md +199 -0
- package/agents/product/value-strategist.md +269 -0
- package/agents/qe/semantic-reviewer.md +78 -0
- package/commands/agentic/audit.md +24 -0
- package/commands/agentic/design.md +24 -0
- package/commands/agentic/frameworks.md +25 -0
- package/commands/agentic/review.md +27 -0
- package/commands/archetype/build.md +12 -0
- package/commands/archetype/decide.md +12 -0
- package/commands/archetype/explore.md +12 -0
- package/commands/archetype/incident.md +12 -0
- package/commands/archetype/migrate.md +12 -0
- package/commands/archetype/modernize.md +12 -0
- package/commands/archetype/review.md +14 -0
- package/commands/archetype/ship.md +12 -0
- package/commands/archetype/specify.md +12 -0
- package/commands/archetype/triage.md +12 -0
- package/commands/compile.md +37 -0
- package/commands/data/analyze.md +18 -0
- package/commands/data/data.md +21 -0
- package/commands/data/ml.md +18 -0
- package/commands/data/ontology.md +22 -0
- package/commands/data/pipeline.md +17 -0
- package/commands/deliberate.md +181 -0
- package/commands/engineering/add-field.md +77 -0
- package/commands/engineering/apply.md +58 -0
- package/commands/engineering/arch.md +26 -0
- package/commands/engineering/debug.md +27 -0
- package/commands/engineering/docs.md +27 -0
- package/commands/engineering/new-generator.md +257 -0
- package/commands/engineering/patch-plan.md +59 -0
- package/commands/engineering/plan.md +29 -0
- package/commands/engineering/remove.md +48 -0
- package/commands/engineering/rename.md +44 -0
- package/commands/engineering/review.md +32 -0
- package/commands/help.md +128 -0
- package/commands/install.md +118 -0
- package/commands/intent.md +54 -0
- package/commands/jam/brainstorm.md +37 -0
- package/commands/jam/council.md +49 -0
- package/commands/jam/quick.md +21 -0
- package/commands/jam/revisit.md +79 -0
- package/commands/persona/as.md +136 -0
- package/commands/persona/define.md +24 -0
- package/commands/persona/list.md +118 -0
- package/commands/platform/actions.md +20 -0
- package/commands/platform/assert.md +18 -0
- package/commands/platform/audit.md +23 -0
- package/commands/platform/compliance.md +20 -0
- package/commands/platform/gh.md +22 -0
- package/commands/platform/health.md +22 -0
- package/commands/platform/incident.md +23 -0
- package/commands/platform/infra.md +24 -0
- package/commands/platform/peer-health.md +103 -0
- package/commands/platform/plugin-health.md +58 -0
- package/commands/platform/security.md +38 -0
- package/commands/platform/toolchain.md +96 -0
- package/commands/platform/traces.md +20 -0
- package/commands/product/a11y.md +19 -0
- package/commands/product/acceptance.md +19 -0
- package/commands/product/align.md +20 -0
- package/commands/product/analyze.md +23 -0
- package/commands/product/elicit.md +19 -0
- package/commands/product/listen.md +24 -0
- package/commands/product/mockup.md +20 -0
- package/commands/product/screenshot.md +19 -0
- package/commands/product/strategy.md +40 -0
- package/commands/product/synthesize.md +23 -0
- package/commands/product/ux-review.md +42 -0
- package/commands/product/ux.md +20 -0
- package/commands/product/visual-direction.md +34 -0
- package/commands/prove.md +47 -0
- package/commands/report-issue.md +243 -0
- package/commands/reset.md +144 -0
- package/commands/search/blast-radius.md +58 -0
- package/commands/search/hotspots.md +55 -0
- package/commands/search/index.md +38 -0
- package/commands/search/lineage.md +47 -0
- package/commands/search/service-map.md +79 -0
- package/commands/setup.md +363 -0
- package/commands/smaht/briefing.md +200 -0
- package/commands/smaht/events-import.md +95 -0
- package/commands/smaht/state.md +19 -0
- package/commands/where-am-i.md +58 -0
- package/docs/README.md +32 -0
- package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
- package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
- package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
- package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
- package/docs/brain-chunk-format.md +135 -0
- package/docs/compiler.md +95 -0
- package/docs/daemon-api.md +70 -0
- package/docs/domains.md +197 -0
- package/docs/getting-started.md +208 -0
- package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
- package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
- package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
- package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
- package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
- package/docs/required-peers.md +60 -0
- package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
- package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
- package/docs/v11/archetypes.md +231 -0
- package/hooks/hooks.json +275 -0
- package/hooks/scripts/bootstrap.py +1797 -0
- package/hooks/scripts/invoke.py +62 -0
- package/hooks/scripts/notification.py +166 -0
- package/hooks/scripts/permission_request.py +223 -0
- package/hooks/scripts/post_tool.py +1374 -0
- package/hooks/scripts/pre_compact.py +272 -0
- package/hooks/scripts/pre_tool.py +1278 -0
- package/hooks/scripts/prompt_submit.py +1109 -0
- package/hooks/scripts/session_end.py +95 -0
- package/hooks/scripts/stop.py +624 -0
- package/hooks/scripts/subagent_lifecycle.py +464 -0
- package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
- package/hooks/scripts/task_completed.py +322 -0
- package/hooks/scripts/worktree_guard.py +148 -0
- package/hooks/subscriptions/on_gate_decided.json +9 -0
- package/install.mjs +128 -0
- package/package.json +41 -0
- package/pyproject.toml +59 -0
- package/schemas/README.md +32 -0
- package/schemas/assert_contracts.json +37 -0
- package/schemas/health_probe.json +46 -0
- package/schemas/plugin_status.json +37 -0
- package/scripts/_adapters/__init__.py +166 -0
- package/scripts/_adapters/jira_adapter.py +18 -0
- package/scripts/_adapters/linear_adapter.py +18 -0
- package/scripts/_adapters/miro_adapter.py +18 -0
- package/scripts/_adapters/notion_adapter.py +18 -0
- package/scripts/_agents.py +357 -0
- package/scripts/_brain_ingest/__init__.py +2 -0
- package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
- package/scripts/_brain_port.py +163 -0
- package/scripts/_bus.py +1081 -0
- package/scripts/_bus_catalog_gen.py +93 -0
- package/scripts/_bus_consumers.json +46 -0
- package/scripts/_bus_emit.py +43 -0
- package/scripts/_capability_registry.py +334 -0
- package/scripts/_capability_resolver.py +322 -0
- package/scripts/_domain_store.py +559 -0
- package/scripts/_event_log_reader.py +154 -0
- package/scripts/_event_schema.py +305 -0
- package/scripts/_event_store.py +397 -0
- package/scripts/_heavy_cadence.py +324 -0
- package/scripts/_integration_resolver.py +321 -0
- package/scripts/_logger.py +151 -0
- package/scripts/_loom.py +482 -0
- package/scripts/_paths.py +133 -0
- package/scripts/_python.sh +22 -0
- package/scripts/_run.py +137 -0
- package/scripts/_session.py +502 -0
- package/scripts/_validate_registry.py +1042 -0
- package/scripts/_wicked_testing_probe.py +277 -0
- package/scripts/agentic/analyze_agents.py +391 -0
- package/scripts/agentic/detect_framework.py +420 -0
- package/scripts/agentic/issue_taxonomy.py +357 -0
- package/scripts/agentic/pattern_scorer.py +434 -0
- package/scripts/classify/persist.py +169 -0
- package/scripts/compiler/compile.py +552 -0
- package/scripts/compiler/phase0/VERDICT.md +60 -0
- package/scripts/compiler/phase0/detect.py +292 -0
- package/scripts/compiler/phase0/emit.py +228 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
- package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
- package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/verdict.json +104 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
- package/scripts/compiler/phase0/run_probe.py +234 -0
- package/scripts/compiler/phase0/wire_vault.py +310 -0
- package/scripts/crew/__init__.py +0 -0
- package/scripts/crew/_task_audit_writer.py +243 -0
- package/scripts/crew/_task_reader.py +389 -0
- package/scripts/crew/archetypes_v11.py +348 -0
- package/scripts/crew/detectors/__init__.py +12 -0
- package/scripts/crew/flow_compiler.py +121 -0
- package/scripts/crew/phase_manager.py +703 -0
- package/scripts/crew/scope_delta.py +264 -0
- package/scripts/crew/specialist_resolver.py +218 -0
- package/scripts/crew/stack_registry.py +189 -0
- package/scripts/data/data_profiler.py +271 -0
- package/scripts/data/ontology_recommender.py +231 -0
- package/scripts/data/schema_validator.py +267 -0
- package/scripts/delivery/drift.py +739 -0
- package/scripts/delivery/telemetry.py +614 -0
- package/scripts/engineering/patch/codegraph_db.py +125 -0
- package/scripts/engineering/patch/generators/__init__.py +56 -0
- package/scripts/engineering/patch/generators/base.py +373 -0
- package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
- package/scripts/engineering/patch/generators/go_generator.py +430 -0
- package/scripts/engineering/patch/generators/java_generator.py +928 -0
- package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
- package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
- package/scripts/engineering/patch/generators/perl_generator.py +510 -0
- package/scripts/engineering/patch/generators/php_generator.py +644 -0
- package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
- package/scripts/engineering/patch/generators/python_generator.py +487 -0
- package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
- package/scripts/engineering/patch/generators/rust_generator.py +400 -0
- package/scripts/engineering/patch/generators/sql_generator.py +594 -0
- package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
- package/scripts/engineering/patch/patch.py +800 -0
- package/scripts/engineering/patch/safety.py +429 -0
- package/scripts/jam/__init__.py +0 -0
- package/scripts/jam/_bus_consumers.py +271 -0
- package/scripts/jam/agentic_cli_registry.py +703 -0
- package/scripts/jam/consensus.py +737 -0
- package/scripts/jam/detect_clis.py +409 -0
- package/scripts/jam/jam.py +283 -0
- package/scripts/jam/save_transcript.py +171 -0
- package/scripts/loom/__init__.py +22 -0
- package/scripts/loom/cli.py +170 -0
- package/scripts/loom/compose.py +180 -0
- package/scripts/loom/gate.py +120 -0
- package/scripts/loom/manifest.py +140 -0
- package/scripts/loom/resolve.py +59 -0
- package/scripts/persona/__init__.py +0 -0
- package/scripts/persona/registry.py +688 -0
- package/scripts/platform/guard_pipeline.py +1214 -0
- package/scripts/platform/guard_profiles.py +216 -0
- package/scripts/platform/observability/assert_contracts.py +434 -0
- package/scripts/platform/observability/health_probe.py +915 -0
- package/scripts/platform/observability/ops_log_viewer.py +209 -0
- package/scripts/platform/prereq_doctor.py +567 -0
- package/scripts/qe/conditions_manifest.py +260 -0
- package/scripts/qe/content_sanitizer.py +160 -0
- package/scripts/qe/coverage_tracker.py +535 -0
- package/scripts/qe/discover_scenarios.py +243 -0
- package/scripts/qe/evidence_tracker.py +232 -0
- package/scripts/qe/prove.py +196 -0
- package/scripts/qe/registry_lookup.py +80 -0
- package/scripts/qe/registry_store.py +176 -0
- package/scripts/qe/semantic_review.py +1005 -0
- package/scripts/qe/vault_gate.py +382 -0
- package/scripts/qe/verdict_audit.py +175 -0
- package/scripts/qe/verdict_schema.py +335 -0
- package/scripts/reset.py +220 -0
- package/scripts/resolve_path.py +22 -0
- package/scripts/sentinel/invariants.py +402 -0
- package/scripts/sentinel/pre_push.py +73 -0
- package/scripts/setup/__init__.py +1 -0
- package/scripts/setup/detect_state.py +114 -0
- package/scripts/setup/migrate_legacy.py +67 -0
- package/scripts/setup/migrate_v6_projects.py +232 -0
- package/scripts/setup/onboarding.py +114 -0
- package/scripts/smaht/_bus_consumers.py +98 -0
- package/scripts/smaht/adapters/__init__.py +83 -0
- package/scripts/smaht/adapters/brain_adapter.py +254 -0
- package/scripts/smaht/adapters/context7_adapter.py +438 -0
- package/scripts/smaht/adapters/delegation_adapter.py +104 -0
- package/scripts/smaht/adapters/domain_adapter.py +206 -0
- package/scripts/smaht/adapters/events_adapter.py +231 -0
- package/scripts/smaht/adapters/tools_adapter.py +49 -0
- package/scripts/smaht/cheatsheet_store.py +236 -0
- package/scripts/smaht/context_package.py +386 -0
- package/scripts/smaht/knowledge_graph.py +395 -0
- package/scripts/smaht/propose_skills.py +856 -0
- package/scripts/smaht/test_cheatsheet_store.py +428 -0
- package/scripts/statusline.py +151 -0
- package/scripts/where_am_i.py +236 -0
- package/skills/agentic/agentic-patterns/SKILL.md +91 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
- package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
- package/skills/agentic/context-engineering/SKILL.md +142 -0
- package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
- package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
- package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
- package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
- package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
- package/skills/agentic/frameworks/SKILL.md +191 -0
- package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
- package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
- package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
- package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
- package/skills/agentic/refs/audit.md +134 -0
- package/skills/agentic/refs/design.md +137 -0
- package/skills/agentic/refs/frameworks.md +102 -0
- package/skills/agentic/refs/review.md +160 -0
- package/skills/agentic/review-methodology/SKILL.md +186 -0
- package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
- package/skills/agentic/trust-and-safety/SKILL.md +177 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
- package/skills/archetype/SKILL.md +104 -0
- package/skills/archetype/refs/build.md +142 -0
- package/skills/archetype/refs/decide.md +117 -0
- package/skills/archetype/refs/explore.md +66 -0
- package/skills/archetype/refs/incident.md +149 -0
- package/skills/archetype/refs/migrate.md +170 -0
- package/skills/archetype/refs/modernize.md +187 -0
- package/skills/archetype/refs/review.md +145 -0
- package/skills/archetype/refs/ship.md +117 -0
- package/skills/archetype/refs/specify.md +108 -0
- package/skills/archetype/refs/triage.md +62 -0
- package/skills/classify/SKILL.md +157 -0
- package/skills/data/analysis/SKILL.md +125 -0
- package/skills/data/analysis/refs/templates.md +170 -0
- package/skills/data/data/SKILL.md +118 -0
- package/skills/data/data/refs/examples.md +235 -0
- package/skills/data/ml/SKILL.md +125 -0
- package/skills/data/ml/refs/templates.md +172 -0
- package/skills/data/pipeline/SKILL.md +136 -0
- package/skills/data/pipeline/refs/templates.md +175 -0
- package/skills/data/refs/analyze.md +123 -0
- package/skills/data/refs/data.md +95 -0
- package/skills/data/refs/ml.md +118 -0
- package/skills/data/refs/pipeline.md +92 -0
- package/skills/deliberate/SKILL.md +125 -0
- package/skills/deliberate/refs/architecture-lens.md +37 -0
- package/skills/deliberate/refs/assumptions-lens.md +43 -0
- package/skills/deliberate/refs/code-lens.md +38 -0
- package/skills/deliberate/refs/content-lens.md +37 -0
- package/skills/deliberate/refs/data-lens.md +43 -0
- package/skills/deliberate/refs/design-lens.md +37 -0
- package/skills/deliberate/refs/opportunity-patterns.md +107 -0
- package/skills/deliberate/refs/ops-lens.md +43 -0
- package/skills/deliberate/refs/product-lens.md +46 -0
- package/skills/deliberate/refs/rethink-framework.md +77 -0
- package/skills/deliberate/refs/security-lens.md +47 -0
- package/skills/deliberate/refs/testing-lens.md +45 -0
- package/skills/deliberate/refs/timing-lens.md +42 -0
- package/skills/engineering/architecture/SKILL.md +177 -0
- package/skills/engineering/architecture/refs/adr-template.md +268 -0
- package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
- package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
- package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
- package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
- package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
- package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
- package/skills/engineering/backend/SKILL.md +102 -0
- package/skills/engineering/backend/refs/checklists.md +146 -0
- package/skills/engineering/backend/refs/patterns.md +181 -0
- package/skills/engineering/debugging/SKILL.md +99 -0
- package/skills/engineering/debugging/refs/patterns.md +248 -0
- package/skills/engineering/debugging/refs/process.md +203 -0
- package/skills/engineering/docs/SKILL.md +97 -0
- package/skills/engineering/engineering/SKILL.md +88 -0
- package/skills/engineering/engineering/refs/checklists.md +91 -0
- package/skills/engineering/engineering/refs/templates.md +71 -0
- package/skills/engineering/frontend/SKILL.md +92 -0
- package/skills/engineering/frontend/refs/checklists.md +96 -0
- package/skills/engineering/frontend/refs/patterns.md +167 -0
- package/skills/engineering/integration/SKILL.md +183 -0
- package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
- package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
- package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
- package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
- package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
- package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
- package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
- package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
- package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
- package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
- package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
- package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
- package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
- package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
- package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
- package/skills/engineering/integration/refs/grpc-testing.md +49 -0
- package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
- package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
- package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
- package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
- package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
- package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
- package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
- package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
- package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
- package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
- package/skills/engineering/large-scale-migration/SKILL.md +65 -0
- package/skills/engineering/patch/SKILL.md +184 -0
- package/skills/engineering/refs/arch.md +126 -0
- package/skills/engineering/refs/debug.md +142 -0
- package/skills/engineering/refs/docs.md +190 -0
- package/skills/engineering/refs/plan.md +109 -0
- package/skills/engineering/refs/review.md +138 -0
- package/skills/engineering/system-design/SKILL.md +154 -0
- package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
- package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
- package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
- package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
- package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
- package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
- package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
- package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
- package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
- package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
- package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
- package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
- package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
- package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
- package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
- package/skills/engineering/unit-test-quality/SKILL.md +194 -0
- package/skills/ground/SKILL.md +130 -0
- package/skills/integration-discovery/SKILL.md +168 -0
- package/skills/integration-discovery/refs/capabilities.md +282 -0
- package/skills/integration-discovery/refs/cli-detection.md +295 -0
- package/skills/integration-discovery/refs/discovery-sources.md +233 -0
- package/skills/integration-discovery/refs/task-patterns.md +206 -0
- package/skills/jam/SKILL.md +45 -0
- package/skills/jam/refs/facilitation-patterns.md +125 -0
- package/skills/jam/refs/quick.md +64 -0
- package/skills/jam/refs/synthesis-patterns.md +114 -0
- package/skills/multi-model/SKILL.md +168 -0
- package/skills/multi-model/refs/aichat.md +119 -0
- package/skills/multi-model/refs/aider.md +100 -0
- package/skills/multi-model/refs/auditability.md +238 -0
- package/skills/multi-model/refs/codex.md +169 -0
- package/skills/multi-model/refs/context.md +306 -0
- package/skills/multi-model/refs/copilot.md +161 -0
- package/skills/multi-model/refs/examples.md +224 -0
- package/skills/multi-model/refs/gemini.md +185 -0
- package/skills/multi-model/refs/goose.md +112 -0
- package/skills/multi-model/refs/llm.md +124 -0
- package/skills/multi-model/refs/opencode.md +196 -0
- package/skills/multi-model/refs/orchestration.md +188 -0
- package/skills/multi-model/refs/pi.md +208 -0
- package/skills/persona/SKILL.md +144 -0
- package/skills/persona/refs/define.md +133 -0
- package/skills/platform/actions/refs/actions.md +114 -0
- package/skills/platform/audit/SKILL.md +174 -0
- package/skills/platform/audit/refs/audit.md +145 -0
- package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
- package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
- package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
- package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
- package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
- package/skills/platform/compliance/SKILL.md +169 -0
- package/skills/platform/compliance/refs/checklists.md +303 -0
- package/skills/platform/compliance/refs/compliance.md +117 -0
- package/skills/platform/compliance/refs/frameworks.md +282 -0
- package/skills/platform/errors/SKILL.md +183 -0
- package/skills/platform/errors/refs/patterns.md +271 -0
- package/skills/platform/errors/refs/severity.md +264 -0
- package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
- package/skills/platform/gh/refs/gh.md +105 -0
- package/skills/platform/gh-cli/SKILL.md +120 -0
- package/skills/platform/gh-cli/refs/automation.md +63 -0
- package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
- package/skills/platform/gh-cli/refs/patterns.md +132 -0
- package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
- package/skills/platform/github-actions/SKILL.md +159 -0
- package/skills/platform/github-actions/refs/security.md +150 -0
- package/skills/platform/github-actions/refs/templates.md +230 -0
- package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
- package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
- package/skills/platform/gitlab-ci/SKILL.md +140 -0
- package/skills/platform/gitlab-ci/refs/templates.md +223 -0
- package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
- package/skills/platform/glab-cli/SKILL.md +133 -0
- package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
- package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
- package/skills/platform/glab-cli/refs/patterns.md +131 -0
- package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
- package/skills/platform/health/SKILL.md +177 -0
- package/skills/platform/health/refs/health.md +72 -0
- package/skills/platform/health/refs/sources.md +302 -0
- package/skills/platform/incident/refs/incident.md +136 -0
- package/skills/platform/infra/refs/infra.md +104 -0
- package/skills/platform/observability/SKILL.md +128 -0
- package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
- package/skills/platform/prereq-doctor/SKILL.md +57 -0
- package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
- package/skills/platform/traces/refs/traces.md +101 -0
- package/skills/product/acceptance-criteria/SKILL.md +193 -0
- package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
- package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
- package/skills/product/accessibility/SKILL.md +197 -0
- package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
- package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
- package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
- package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
- package/skills/product/accessibility/refs/audit-report-results.md +276 -0
- package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
- package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
- package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
- package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
- package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
- package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
- package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
- package/skills/product/analyze/SKILL.md +164 -0
- package/skills/product/analyze/refs/algorithms.md +238 -0
- package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
- package/skills/product/imagery/SKILL.md +97 -0
- package/skills/product/imagery/alter/SKILL.md +105 -0
- package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
- package/skills/product/imagery/create/SKILL.md +109 -0
- package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
- package/skills/product/imagery/create/refs/provider-reference.md +219 -0
- package/skills/product/imagery/review/SKILL.md +101 -0
- package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
- package/skills/product/imagery/review/refs/quality-gates.md +153 -0
- package/skills/product/imagery/scripts/analyze.sh +23 -0
- package/skills/product/imagery/scripts/edit.sh +14 -0
- package/skills/product/imagery/scripts/generate.sh +13 -0
- package/skills/product/imagery/scripts/provider.py +787 -0
- package/skills/product/listen/SKILL.md +175 -0
- package/skills/product/listen/refs/channels.md +220 -0
- package/skills/product/mockup/SKILL.md +106 -0
- package/skills/product/mockup/refs/templates.md +95 -0
- package/skills/product/refs/a11y.md +109 -0
- package/skills/product/refs/acceptance.md +79 -0
- package/skills/product/refs/align.md +67 -0
- package/skills/product/refs/analyze.md +77 -0
- package/skills/product/refs/elicit.md +67 -0
- package/skills/product/refs/listen.md +58 -0
- package/skills/product/refs/mockup.md +77 -0
- package/skills/product/refs/screenshot.md +59 -0
- package/skills/product/refs/strategy.md +77 -0
- package/skills/product/refs/synthesize.md +54 -0
- package/skills/product/refs/ux-review.md +68 -0
- package/skills/product/refs/ux.md +101 -0
- package/skills/product/requirements-analysis/SKILL.md +136 -0
- package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
- package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
- package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
- package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
- package/skills/product/requirements-graph/SKILL.md +155 -0
- package/skills/product/requirements-graph/refs/examples.md +223 -0
- package/skills/product/requirements-graph/refs/schema.md +162 -0
- package/skills/product/requirements-migrate/SKILL.md +90 -0
- package/skills/product/requirements-navigate/SKILL.md +141 -0
- package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
- package/skills/product/screenshot/SKILL.md +147 -0
- package/skills/product/strategy/SKILL.md +198 -0
- package/skills/product/strategy/refs/frameworks.md +295 -0
- package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
- package/skills/product/strategy/refs/templates-roi-value.md +207 -0
- package/skills/product/synthesize/SKILL.md +116 -0
- package/skills/product/synthesize/refs/journey-mapping.md +212 -0
- package/skills/product/synthesize/refs/prioritization.md +193 -0
- package/skills/product/ux-review/SKILL.md +164 -0
- package/skills/product/visual-direction/SKILL.md +137 -0
- package/skills/product/visual-review/SKILL.md +131 -0
- package/skills/runtime-exec/SKILL.md +138 -0
- package/skills/search/codebase-narrator/SKILL.md +131 -0
- package/skills/search/codebase-narrator/refs/output-template.md +100 -0
- package/skills/smaht/SKILL.md +72 -0
- package/skills/smaht/discovery/SKILL.md +65 -0
- package/skills/smaht/intent/SKILL.md +89 -0
- package/skills/smaht/propose-skills/SKILL.md +142 -0
- package/skills/smaht/refs/state.md +76 -0
- package/skills/swarm/SKILL.md +132 -0
- package/skills/swarm/refs/fan-out.md +104 -0
- package/skills/swarm/refs/independent-verification.md +86 -0
- package/skills/swarm/refs/receipts-and-evidence.md +69 -0
- package/skills/swarm/refs/recon-synthesis.md +87 -0
- package/skills/swarm/refs/ship-discipline.md +90 -0
- package/skills/wickedizer/SKILL.md +147 -0
- package/skills/wickedizer/refs/artifact-types.md +238 -0
- package/skills/wickedizer/refs/complexity.md +278 -0
- package/skills/wickedizer/refs/de-ai-pass.md +140 -0
- package/skills/wickedizer/refs/failure-modes.md +249 -0
- package/skills/wickedizer/refs/patterns.md +282 -0
- package/skills/wickedizer/refs/review.md +221 -0
- package/skills/wickedizer/refs/structure.md +282 -0
- package/skills/wickedizer/refs/voice-profile.md +125 -0
- package/skills/workflow/SKILL.md +132 -0
- package/skills/workflow/refs/archetype-adjustments.md +205 -0
- package/skills/workflow/refs/evidence.md +58 -0
- package/skills/workflow/refs/integration.md +130 -0
- package/skills/workflow/refs/risk-dimension-signals.md +260 -0
- package/skills/workflow/refs/scoring-rubric.md +49 -0
- package/skills/workflow/refs/signal-keywords.md +176 -0
- package/skills/workflow/refs/specialist-routing-rules.md +159 -0
- package/skills/worktrees/SKILL.md +87 -0
- package/skills/worktrees/refs/recipes.md +96 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: listen
|
|
3
|
+
description: |
|
|
4
|
+
Aggregate customer feedback from discovered sources across support, surveys,
|
|
5
|
+
social, and direct channels. This skill should be used when the user needs to
|
|
6
|
+
gather customer voice data to inform product decisions or understand sentiment.
|
|
7
|
+
|
|
8
|
+
Use when: aggregating customer feedback from discovered sources, gathering
|
|
9
|
+
voice-of-customer data, or surveying sentiment across channels.
|
|
10
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
11
|
+
archetype_relevance: ["*"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Listen Skill
|
|
15
|
+
|
|
16
|
+
Aggregate customer feedback from multiple channels with automatic source discovery.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- Starting product requirements (gather customer needs)
|
|
21
|
+
- Investigating customer pain points
|
|
22
|
+
- Reviewing recent feedback
|
|
23
|
+
- User asks to "listen to customers" or "what are customers saying"
|
|
24
|
+
|
|
25
|
+
## Capability Discovery
|
|
26
|
+
|
|
27
|
+
The skill automatically discovers available feedback capabilities and routes to whichever are present:
|
|
28
|
+
|
|
29
|
+
| Capability | Discovers | Examples |
|
|
30
|
+
|------------|-----------|----------|
|
|
31
|
+
| `support-tickets` | CLI tools, APIs, exports providing ticket data | Ticket system CLIs, support platform exports, help desk APIs |
|
|
32
|
+
| `customer-feedback` | Feedback platforms, voting systems, feature request tools | Feedback exports, product board files, customer labels in issue trackers |
|
|
33
|
+
| `surveys` | Survey response exports (CSV, JSON) | Survey platform exports, NPS data files, form responses |
|
|
34
|
+
| `conversations` | Chat and messaging data sources | Chat exports, messaging platform data |
|
|
35
|
+
| `issue-tracking` | Bug/issue trackers with customer-reported items | Issue tracker CLIs with customer labels or tags |
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Listen to all available capabilities (auto-discovers sources)
|
|
41
|
+
/wicked-garden:product:listen
|
|
42
|
+
|
|
43
|
+
# Specific capability type
|
|
44
|
+
/wicked-garden:product:listen --capability support-tickets
|
|
45
|
+
|
|
46
|
+
# Time window
|
|
47
|
+
/wicked-garden:product:listen --days 30
|
|
48
|
+
/wicked-garden:product:listen --since "2026-01-01"
|
|
49
|
+
|
|
50
|
+
# Filter by tags
|
|
51
|
+
/wicked-garden:product:listen --tags bug,feature-request
|
|
52
|
+
|
|
53
|
+
# Limit results
|
|
54
|
+
/wicked-garden:product:listen --limit 50
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Aggregation Strategy
|
|
58
|
+
|
|
59
|
+
1. **Discover Available Capabilities**
|
|
60
|
+
- Check for support-tickets capability (CLI tools, APIs)
|
|
61
|
+
- Check for customer-feedback capability (exports, voting systems)
|
|
62
|
+
- Check for surveys capability (CSV/JSON exports)
|
|
63
|
+
- Check for conversations capability (chat/messaging data)
|
|
64
|
+
- Check for issue-tracking capability (customer-labeled issues)
|
|
65
|
+
- Look for saved feedback in voice store
|
|
66
|
+
|
|
67
|
+
2. **Fetch Recent Feedback**
|
|
68
|
+
- Default: Last 30 days
|
|
69
|
+
- Configurable timeframe
|
|
70
|
+
- Filter by source, tag, or keyword
|
|
71
|
+
|
|
72
|
+
3. **Normalize Format**
|
|
73
|
+
- Extract: ID, source, date, author, content, sentiment
|
|
74
|
+
- Tag with categories (bug, feature, praise, complaint)
|
|
75
|
+
- Store in unified format
|
|
76
|
+
|
|
77
|
+
4. **Store for Analysis**
|
|
78
|
+
```
|
|
79
|
+
# Resolved via: sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/resolve_path.py" wicked-garden:product
|
|
80
|
+
{local_root}/wicked-garden:product/voice/feedback/{source}/{date}/{id}.md
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Unified Feedback Format
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
---
|
|
87
|
+
id: fb_abc123
|
|
88
|
+
capability: support-tickets
|
|
89
|
+
source_tool: detected-cli-tool
|
|
90
|
+
source_id: ticket_456
|
|
91
|
+
date: 2026-01-20T10:30:00Z
|
|
92
|
+
author: customer@example.com
|
|
93
|
+
segment: enterprise
|
|
94
|
+
tags: [bug, mobile, performance]
|
|
95
|
+
sentiment: negative
|
|
96
|
+
priority: high
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
# {Title/Subject}
|
|
100
|
+
|
|
101
|
+
## Original Feedback
|
|
102
|
+
{Raw customer quote}
|
|
103
|
+
|
|
104
|
+
## Context
|
|
105
|
+
- Platform: iOS 16
|
|
106
|
+
- Plan: Enterprise
|
|
107
|
+
- User since: 2025-06-01
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Output
|
|
111
|
+
|
|
112
|
+
Concise summary of aggregated feedback:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Listening Report: {Timeframe}
|
|
116
|
+
|
|
117
|
+
### Capabilities Discovered
|
|
118
|
+
- support-tickets: {X} items from {N} source(s)
|
|
119
|
+
- customer-feedback: {Y} items from {N} source(s)
|
|
120
|
+
- surveys: {Z} responses from {N} source(s)
|
|
121
|
+
- Total: {N} feedback items across {M} capabilities
|
|
122
|
+
|
|
123
|
+
### Quick Stats
|
|
124
|
+
- Sentiment: {%pos} positive, {%neg} negative, {%neu} neutral
|
|
125
|
+
- Top tags: {tag1} ({count}), {tag2} ({count})
|
|
126
|
+
- Critical items: {count}
|
|
127
|
+
|
|
128
|
+
### Recent Highlights
|
|
129
|
+
1. **{Title}** - {source} - {date}
|
|
130
|
+
- Sentiment: {sentiment}
|
|
131
|
+
- Quote: "{excerpt}"
|
|
132
|
+
|
|
133
|
+
{Top 5-10 items}
|
|
134
|
+
|
|
135
|
+
### Next Steps
|
|
136
|
+
Run /wicked-garden:product:analyze to extract themes and trends.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
See [channels.md](refs/channels.md) for detailed capability integration patterns.
|
|
140
|
+
|
|
141
|
+
## Integration
|
|
142
|
+
|
|
143
|
+
### With wicked-brain
|
|
144
|
+
```python
|
|
145
|
+
# Recall past customer insights
|
|
146
|
+
Skill(skill="wicked-brain:memory", args="recall \"customer feedback about {topic}\"")
|
|
147
|
+
# Provide historical context
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### With wicked-crew
|
|
151
|
+
```python
|
|
152
|
+
# Auto-trigger during product:requirements phase
|
|
153
|
+
if event == "product:requirements:started":
|
|
154
|
+
feedback = listen(days=30, tags=["feature-request"])
|
|
155
|
+
inject_context(feedback)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Storage
|
|
159
|
+
|
|
160
|
+
Feedback stored at: `{local_root}/wicked-garden:product/voice/feedback/{source}/{YYYY-MM}/{id}.md` (resolve via `resolve_path.py wicked-garden:product`)
|
|
161
|
+
|
|
162
|
+
## Error Handling
|
|
163
|
+
|
|
164
|
+
- Source unavailable: Skip gracefully, report in summary
|
|
165
|
+
- No recent feedback: Report "No feedback found in timeframe"
|
|
166
|
+
- API rate limits: Cache and resume
|
|
167
|
+
- Invalid format: Log warning, continue with valid items
|
|
168
|
+
|
|
169
|
+
## Rules
|
|
170
|
+
|
|
171
|
+
- Never expose customer PII beyond what's already in feedback
|
|
172
|
+
- Respect source rate limits
|
|
173
|
+
- Cache API responses when possible
|
|
174
|
+
- Report source availability in output
|
|
175
|
+
- Keep summaries concise (top 10 items max)
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Capability Integration Patterns
|
|
6
|
+
|
|
7
|
+
Detailed integration patterns for customer voice capabilities.
|
|
8
|
+
|
|
9
|
+
## support-tickets Capability
|
|
10
|
+
|
|
11
|
+
Discovers tools that provide customer support ticket data.
|
|
12
|
+
|
|
13
|
+
### Discovery Pattern
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Check for CLI tools with ticket management capabilities
|
|
17
|
+
for cmd in zd zendesk intercom freshdesk desk; do
|
|
18
|
+
which "$cmd" 2>/dev/null && echo "support-tickets: $cmd available"
|
|
19
|
+
done
|
|
20
|
+
|
|
21
|
+
# Check for ticket export files
|
|
22
|
+
find ~/Downloads -name "*tickets*.csv" -o -name "*support*.json" -mtime -90
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Data Extraction Pattern
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Generic CLI pattern (tool-agnostic)
|
|
29
|
+
{discovered_cli} tickets list --status {states} --created_since {timeframe}
|
|
30
|
+
{discovered_cli} ticket show {id}
|
|
31
|
+
|
|
32
|
+
# Generic export pattern
|
|
33
|
+
# Parse CSV/JSON for: id, created_date, customer, subject, description, status, tags
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Normalization**:
|
|
37
|
+
- `id`: unique ticket identifier
|
|
38
|
+
- `capability`: support-tickets
|
|
39
|
+
- `source_tool`: discovered CLI/tool name
|
|
40
|
+
- `author`: customer identifier
|
|
41
|
+
- `date`: creation timestamp
|
|
42
|
+
- `content`: subject + description + comments
|
|
43
|
+
- `tags`: extracted from ticket metadata
|
|
44
|
+
- `sentiment`: analyze from text
|
|
45
|
+
|
|
46
|
+
## customer-feedback Capability
|
|
47
|
+
|
|
48
|
+
Discovers tools that provide customer feedback, feature requests, and voting data.
|
|
49
|
+
|
|
50
|
+
### Discovery Pattern
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Check for issue trackers with customer labels
|
|
54
|
+
which gh 2>/dev/null && gh issue list --label customer --limit 1 2>/dev/null
|
|
55
|
+
|
|
56
|
+
# Check for feedback platform exports
|
|
57
|
+
find ~/Downloads -name "*feedback*.csv" -o \
|
|
58
|
+
-name "*productboard*.csv" -o \
|
|
59
|
+
-name "*canny*.json" -o \
|
|
60
|
+
-name "*uservoice*.json" -mtime -90
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Data Extraction Pattern
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Issue tracker pattern (with customer labels)
|
|
67
|
+
gh issue list --label customer --state all --limit 100
|
|
68
|
+
gh issue view {number} --json body,comments,createdAt,author
|
|
69
|
+
|
|
70
|
+
# Export file pattern
|
|
71
|
+
# Parse for: title, description, votes, author, created_date, status
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Normalization**:
|
|
75
|
+
- `id`: unique feedback identifier
|
|
76
|
+
- `capability`: customer-feedback
|
|
77
|
+
- `source_tool`: discovered source name
|
|
78
|
+
- `votes`: if available (indicates priority)
|
|
79
|
+
- `tags`: extracted from labels/categories
|
|
80
|
+
- `sentiment`: analyze from content
|
|
81
|
+
|
|
82
|
+
## surveys Capability
|
|
83
|
+
|
|
84
|
+
Discovers survey and NPS response data from export files.
|
|
85
|
+
|
|
86
|
+
### Discovery Pattern
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Check for survey exports (platform-agnostic)
|
|
90
|
+
find ~/Downloads -name "*survey*.csv" -o \
|
|
91
|
+
-name "*typeform*.csv" -o \
|
|
92
|
+
-name "*nps*.csv" -o \
|
|
93
|
+
-name "*responses*.csv" -mtime -90
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Data Extraction Pattern
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Generic CSV pattern
|
|
100
|
+
# Look for columns: timestamp/submitted_at, email/respondent, question columns
|
|
101
|
+
|
|
102
|
+
# Common structures:
|
|
103
|
+
# - First column: timestamp
|
|
104
|
+
# - Second column: respondent identifier
|
|
105
|
+
# - Remaining columns: question responses
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Normalization**:
|
|
109
|
+
- `id`: generated from timestamp + respondent
|
|
110
|
+
- `capability`: surveys
|
|
111
|
+
- `source_tool`: inferred from filename
|
|
112
|
+
- `date`: submission timestamp
|
|
113
|
+
- `content`: concatenated responses
|
|
114
|
+
- `sentiment`: analyze from open-ended responses
|
|
115
|
+
|
|
116
|
+
## conversations Capability
|
|
117
|
+
|
|
118
|
+
Discovers chat and messaging platform data.
|
|
119
|
+
|
|
120
|
+
### Discovery Pattern
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Check for conversation exports or cached data
|
|
124
|
+
find $(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/resolve_path.py" <domain>)/wicked-garden:product/voice/feedback/conversations/ -name "*.md" -o -name "*.json"
|
|
125
|
+
|
|
126
|
+
# Check for messaging platform exports
|
|
127
|
+
find ~/Downloads -name "*slack*.json" -o \
|
|
128
|
+
-name "*discord*.json" -o \
|
|
129
|
+
-name "*chat*.csv" -mtime -90
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Data Extraction Pattern
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Look for: timestamp, author, channel, message content, thread context
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Normalization**:
|
|
139
|
+
- `id`: message or thread identifier
|
|
140
|
+
- `capability`: conversations
|
|
141
|
+
- `source_tool`: platform name
|
|
142
|
+
- `date`: message timestamp
|
|
143
|
+
- `content`: message text + thread context
|
|
144
|
+
- `sentiment`: analyze from conversation tone
|
|
145
|
+
|
|
146
|
+
## Direct Feedback
|
|
147
|
+
|
|
148
|
+
Manually saved customer feedback from various channels.
|
|
149
|
+
|
|
150
|
+
### Discovery Pattern
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Check voice store for direct feedback
|
|
154
|
+
ls $(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/resolve_path.py" <domain>)/wicked-garden:product/voice/feedback/direct/
|
|
155
|
+
ls $(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/resolve_path.py" <domain>)/wicked-garden:product/voice/feedback/social/
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Note**: Direct feedback and social mentions are typically manually collected and saved to the voice store.
|
|
159
|
+
|
|
160
|
+
## Discovery Process
|
|
161
|
+
|
|
162
|
+
1. **Check for support-tickets Capability**:
|
|
163
|
+
```bash
|
|
164
|
+
# Discover ANY CLI tool that provides ticket data
|
|
165
|
+
for cmd in zd zendesk intercom freshdesk desk support; do
|
|
166
|
+
which "$cmd" 2>/dev/null && echo "support-tickets: $cmd"
|
|
167
|
+
done
|
|
168
|
+
|
|
169
|
+
# Check for ticket exports
|
|
170
|
+
find ~/Downloads -name "*ticket*.csv" -o -name "*support*.json" -mtime -90
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
2. **Check for customer-feedback Capability**:
|
|
174
|
+
```bash
|
|
175
|
+
# Discover feedback platforms
|
|
176
|
+
which gh 2>/dev/null && gh issue list --label customer --limit 1
|
|
177
|
+
|
|
178
|
+
# Check for feedback exports
|
|
179
|
+
find ~/Downloads -name "*feedback*.csv" -o \
|
|
180
|
+
-name "*productboard*.csv" -o \
|
|
181
|
+
-name "*canny*.json" -mtime -90
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
3. **Check for surveys Capability**:
|
|
185
|
+
```bash
|
|
186
|
+
# Discover survey exports
|
|
187
|
+
find ~/Downloads -name "*survey*.csv" -o \
|
|
188
|
+
-name "*typeform*.csv" -o \
|
|
189
|
+
-name "*nps*.csv" -mtime -90
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
4. **Check Voice Store**:
|
|
193
|
+
```bash
|
|
194
|
+
ls -la $(sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/resolve_path.py" <domain>)/wicked-garden:product/voice/feedback/
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
5. **Report Availability**:
|
|
198
|
+
```markdown
|
|
199
|
+
### Available Capabilities
|
|
200
|
+
- support-tickets: 2 source(s) discovered
|
|
201
|
+
- customer-feedback: 1 source(s) discovered
|
|
202
|
+
- surveys: 3 export file(s) found
|
|
203
|
+
- Cached feedback: 150 items
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Rate Limiting
|
|
207
|
+
|
|
208
|
+
Respect API limits for discovered tools:
|
|
209
|
+
- Most support platforms: 100-500 req/min
|
|
210
|
+
- Most issue trackers: 5000 req/hour
|
|
211
|
+
- Always check tool-specific documentation
|
|
212
|
+
|
|
213
|
+
Cache responses for 1 hour to avoid re-fetching.
|
|
214
|
+
|
|
215
|
+
## Data Privacy
|
|
216
|
+
|
|
217
|
+
- Never log full PII (hash emails if needed)
|
|
218
|
+
- Redact sensitive content (credentials, payment info)
|
|
219
|
+
- Store only feedback content, not personal data
|
|
220
|
+
- Follow GDPR/privacy guidelines
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mockup
|
|
3
|
+
description: |
|
|
4
|
+
Use when you need a quick ASCII wireframe or HTML mockup in-chat without Figma overhead.
|
|
5
|
+
NOT for production design work — use the figma plugin for that.
|
|
6
|
+
portability: portable
|
|
7
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
8
|
+
archetype_relevance: ["*"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Mockup Skill
|
|
12
|
+
|
|
13
|
+
Generate wireframes and mockup designs in multiple fidelity levels — from quick
|
|
14
|
+
ASCII sketches to HTML/CSS previews ready for developer handoff.
|
|
15
|
+
|
|
16
|
+
## Output Format Selection
|
|
17
|
+
|
|
18
|
+
| Format | Fidelity | Best For |
|
|
19
|
+
|--------|---------|----------|
|
|
20
|
+
| ASCII wireframe | Low | Quick ideation, flow discussion |
|
|
21
|
+
| Markdown spec | Medium | Annotated layouts, component inventory |
|
|
22
|
+
| HTML/CSS preview | High | Stakeholder review, dev handoff |
|
|
23
|
+
| Component spec | Medium-High | Design system documentation |
|
|
24
|
+
|
|
25
|
+
## ASCII Wireframes
|
|
26
|
+
|
|
27
|
+
Fast, text-based layout sketches. Use for early ideation and flow discussion.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
┌─────────────────────────────────────────┐
|
|
31
|
+
│ [Logo] [Nav Item] [Nav Item] │
|
|
32
|
+
│─────────────────────────────────────────│
|
|
33
|
+
│ │
|
|
34
|
+
│ ┌──────────────┐ ┌──────────────┐ │
|
|
35
|
+
│ │ │ │ │ │
|
|
36
|
+
│ │ [Image] │ │ [Image] │ │
|
|
37
|
+
│ │ │ │ │ │
|
|
38
|
+
│ │ Card Title │ │ Card Title │ │
|
|
39
|
+
│ │ Description │ │ Description │ │
|
|
40
|
+
│ │ [Button] │ │ [Button] │ │
|
|
41
|
+
│ └──────────────┘ └──────────────┘ │
|
|
42
|
+
│ │
|
|
43
|
+
│ ─────── Section Heading ─────────── │
|
|
44
|
+
│ │
|
|
45
|
+
│ ████████████████████ [CTA Button] │
|
|
46
|
+
└─────────────────────────────────────────┘
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### ASCII Symbol Guide
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
┌─┬─┐ Box borders
|
|
53
|
+
│ │ │ Vertical dividers
|
|
54
|
+
└─┴─┘ Box bottoms
|
|
55
|
+
[...] Button or interactive element
|
|
56
|
+
{...} Input field
|
|
57
|
+
████ Image placeholder
|
|
58
|
+
~~~~ Text content placeholder
|
|
59
|
+
──── Horizontal rule / divider
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## HTML/CSS Preview
|
|
63
|
+
|
|
64
|
+
For higher-fidelity mockups, generate minimal HTML with embedded CSS using design tokens. Match the project's existing tokens if available (check `styles/tokens.css` or equivalent).
|
|
65
|
+
|
|
66
|
+
Full template: `refs/templates.md` § HTML/CSS Preview.
|
|
67
|
+
|
|
68
|
+
## Component Specs (Markdown)
|
|
69
|
+
|
|
70
|
+
For developer handoff without visual preview, use the spec template. Sections: Anatomy, States table, Spacing tokens, Responsive Behavior, Accessibility Notes.
|
|
71
|
+
|
|
72
|
+
Full template: `refs/templates.md` § Component Spec (Markdown).
|
|
73
|
+
|
|
74
|
+
## Wireframe from Description
|
|
75
|
+
|
|
76
|
+
When given a description, generate a wireframe in this sequence:
|
|
77
|
+
|
|
78
|
+
1. **Identify layout pattern**: Single column, two-column, grid, sidebar+main
|
|
79
|
+
2. **List components**: Header, nav, cards, forms, tables, modals
|
|
80
|
+
3. **Arrange hierarchy**: Most important content first (F-pattern or Z-pattern)
|
|
81
|
+
4. **Add interactions**: Buttons, links, inputs, toggles
|
|
82
|
+
5. **Annotate**: Notes on behavior, states, responsive changes
|
|
83
|
+
|
|
84
|
+
## Integration with Frontend Design
|
|
85
|
+
|
|
86
|
+
When handing off to developers, attach handoff notes covering: design tokens to use, closest existing component, new patterns required, assets needed, animation specs.
|
|
87
|
+
|
|
88
|
+
Template: `refs/templates.md` § Handoff Notes.
|
|
89
|
+
|
|
90
|
+
## Output Checklist
|
|
91
|
+
|
|
92
|
+
Before delivering a mockup:
|
|
93
|
+
|
|
94
|
+
- [ ] All states shown (default, hover, error, empty, loading)
|
|
95
|
+
- [ ] Mobile and desktop layouts included
|
|
96
|
+
- [ ] Spacing annotated with token names (not pixel values)
|
|
97
|
+
- [ ] Interactive elements clearly marked
|
|
98
|
+
- [ ] Accessibility notes included
|
|
99
|
+
- [ ] Open questions flagged for stakeholder input
|
|
100
|
+
|
|
101
|
+
## Integration
|
|
102
|
+
|
|
103
|
+
- **ux-review skill**: Pair mockups with the UX flow they support
|
|
104
|
+
- **screenshot skill**: Compare mockup against built implementation
|
|
105
|
+
- **visual-review skill**: Mockups set the standard for visual review
|
|
106
|
+
- **engineering/frontend-design skill**: Coordinate component implementation
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Mockup Templates
|
|
6
|
+
|
|
7
|
+
Copy-paste templates for three common mockup deliverables: HTML/CSS preview, component spec, and handoff notes. See the SKILL.md selection table for when to use each output format.
|
|
8
|
+
|
|
9
|
+
## HTML/CSS Preview
|
|
10
|
+
|
|
11
|
+
Minimal HTML with embedded CSS using design tokens. Match the project's existing tokens if available (check `styles/tokens.css` or equivalent).
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<!DOCTYPE html>
|
|
15
|
+
<html lang="en">
|
|
16
|
+
<head>
|
|
17
|
+
<meta charset="UTF-8">
|
|
18
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
19
|
+
<title>Mockup: {component name}</title>
|
|
20
|
+
<style>
|
|
21
|
+
/* Design tokens */
|
|
22
|
+
:root {
|
|
23
|
+
--color-primary: #3b82f6;
|
|
24
|
+
--color-surface: #f9fafb;
|
|
25
|
+
--space-4: 1rem;
|
|
26
|
+
--space-6: 1.5rem;
|
|
27
|
+
--text-sm: 0.875rem;
|
|
28
|
+
--text-base: 1rem;
|
|
29
|
+
--text-lg: 1.125rem;
|
|
30
|
+
--radius: 0.5rem;
|
|
31
|
+
}
|
|
32
|
+
/* Component styles */
|
|
33
|
+
.card {
|
|
34
|
+
background: var(--color-surface);
|
|
35
|
+
border-radius: var(--radius);
|
|
36
|
+
padding: var(--space-6);
|
|
37
|
+
}
|
|
38
|
+
</style>
|
|
39
|
+
</head>
|
|
40
|
+
<body>
|
|
41
|
+
<!-- mockup content -->
|
|
42
|
+
</body>
|
|
43
|
+
</html>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Component Spec (Markdown)
|
|
47
|
+
|
|
48
|
+
For developer handoff without visual preview:
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
## Component: {Name}
|
|
52
|
+
|
|
53
|
+
### Anatomy
|
|
54
|
+
- **Container**: {background, border, border-radius, padding}
|
|
55
|
+
- **Header**: {font-size, font-weight, color}
|
|
56
|
+
- **Body**: {font-size, line-height, color}
|
|
57
|
+
- **Action**: {button variant, size}
|
|
58
|
+
|
|
59
|
+
### States
|
|
60
|
+
| State | Visual Change |
|
|
61
|
+
|-------|--------------|
|
|
62
|
+
| Default | {description} |
|
|
63
|
+
| Hover | {description} |
|
|
64
|
+
| Active | {description} |
|
|
65
|
+
| Disabled | {opacity: 0.5, cursor: not-allowed} |
|
|
66
|
+
|
|
67
|
+
### Spacing
|
|
68
|
+
- Internal padding: {token}
|
|
69
|
+
- Gap between elements: {token}
|
|
70
|
+
- External margin: {token or "handled by parent"}
|
|
71
|
+
|
|
72
|
+
### Responsive Behavior
|
|
73
|
+
- Mobile (<768px): {layout change}
|
|
74
|
+
- Tablet (768–1024px): {layout change}
|
|
75
|
+
- Desktop (>1024px): {base layout}
|
|
76
|
+
|
|
77
|
+
### Accessibility Notes
|
|
78
|
+
- Role: {semantic element or ARIA role}
|
|
79
|
+
- Focus: {keyboard interaction}
|
|
80
|
+
- Labels: {aria-label or visible label}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Handoff Notes
|
|
84
|
+
|
|
85
|
+
When handing off a mockup to developers:
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
## Handoff Notes for {component}
|
|
89
|
+
|
|
90
|
+
**Design tokens to use**: See `styles/tokens.css`
|
|
91
|
+
**Closest existing component**: {component name in codebase}
|
|
92
|
+
**New patterns required**: {list any novel patterns}
|
|
93
|
+
**Assets needed**: {icons, images, fonts}
|
|
94
|
+
**Animation**: {transition type, duration}
|
|
95
|
+
```
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Accessibility Audit Rubric (WCAG 2.1 AA)
|
|
2
|
+
|
|
3
|
+
Apply this inline. Audit UI code/components against WCAG 2.1 Level AA. The four
|
|
4
|
+
principles are **POUR**. For exhaustive checklists, ARIA patterns, keyboard and
|
|
5
|
+
screen-reader guides, see the `accessibility` skill (`skills/product/accessibility/`).
|
|
6
|
+
|
|
7
|
+
## Read the target first
|
|
8
|
+
|
|
9
|
+
Focus on: HTML structure + semantic elements, ARIA attributes/roles, interactive
|
|
10
|
+
element patterns, form labels + error handling, color definitions (for contrast).
|
|
11
|
+
|
|
12
|
+
## POUR checklist
|
|
13
|
+
|
|
14
|
+
**Perceivable**
|
|
15
|
+
- [ ] Images have alt text (descriptive, or `alt=""` for decorative)
|
|
16
|
+
- [ ] Color is not the sole information conveyor
|
|
17
|
+
- [ ] Text contrast >=4.5:1 (normal), >=3:1 (large text 18pt+ / 14pt bold)
|
|
18
|
+
- [ ] UI component / graphical-object contrast >=3:1
|
|
19
|
+
- [ ] Content survives 200% zoom / text resize
|
|
20
|
+
|
|
21
|
+
**Operable**
|
|
22
|
+
- [ ] All interactive elements reachable via Tab
|
|
23
|
+
- [ ] Tab order follows visual/logical order
|
|
24
|
+
- [ ] No keyboard traps; modals have ESC exit + focus trap
|
|
25
|
+
- [ ] Visible focus indicators on all interactive elements (`:focus-visible`)
|
|
26
|
+
- [ ] No content flashing >3x/second
|
|
27
|
+
- [ ] `tabindex` is 0 or -1 (avoid positive values)
|
|
28
|
+
- [ ] Skip-to-main link present
|
|
29
|
+
|
|
30
|
+
**Understandable**
|
|
31
|
+
- [ ] `lang` attribute on `<html>`
|
|
32
|
+
- [ ] Form errors identify the field and explain the fix
|
|
33
|
+
- [ ] Labels describe purpose (not just appearance); inputs have associated `<label>`
|
|
34
|
+
- [ ] Consistent navigation + identification
|
|
35
|
+
- [ ] No unexpected context changes; required-field indicators
|
|
36
|
+
- [ ] Confirmation on destructive actions
|
|
37
|
+
|
|
38
|
+
**Robust**
|
|
39
|
+
- [ ] Valid HTML; no duplicate IDs
|
|
40
|
+
- [ ] ARIA only where native semantics are insufficient (first rule of ARIA: don't)
|
|
41
|
+
- [ ] ARIA roles/states/properties correctly used; custom widgets expose name/role/value
|
|
42
|
+
- [ ] Dynamic content uses `aria-live` (polite/assertive) / `role="status"|"alert"`
|
|
43
|
+
|
|
44
|
+
## Semantic HTML
|
|
45
|
+
|
|
46
|
+
Prefer `<header> <nav> <main> <article> <section> <aside> <footer>`; sequential
|
|
47
|
+
heading hierarchy (`h1 -> h2 -> h3`, no skips); `<button>` for actions and `<a>`
|
|
48
|
+
for navigation; `<form> <label> <fieldset> <legend>` for forms. Never `<div onclick>`.
|
|
49
|
+
|
|
50
|
+
## Keyboard testing
|
|
51
|
+
|
|
52
|
+
`Tab` / `Shift+Tab` (move), `Enter` (activate link/button), `Space` (button /
|
|
53
|
+
checkbox), `Escape` (close dialog/menu), arrow keys (within tabs/menus/radios).
|
|
54
|
+
Verify: reach all interactive elements, focus order = visual order, focus visible,
|
|
55
|
+
no traps, skip link works, modals trap focus, arrows navigate menus/tabs.
|
|
56
|
+
|
|
57
|
+
## Common violations to flag
|
|
58
|
+
|
|
59
|
+
Missing alt text; insufficient contrast; inputs without labels; missing focus
|
|
60
|
+
indicators; keyboard traps; skipped heading levels; buttons with no accessible
|
|
61
|
+
name; non-semantic div/span buttons; autoplaying media without controls; timeout
|
|
62
|
+
without warning; duplicate IDs; empty links/buttons; tables without headers;
|
|
63
|
+
missing `lang`; incorrect ARIA.
|
|
64
|
+
|
|
65
|
+
## Quick mode
|
|
66
|
+
|
|
67
|
+
With `--quick`: return only Critical issues; skip the full checklist.
|
|
68
|
+
|
|
69
|
+
## Output
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
## Accessibility Audit: {target}
|
|
73
|
+
|
|
74
|
+
**WCAG Level Achieved**: {Partial A | A | Partial AA | AA | AAA}
|
|
75
|
+
**Score**: {1-5} **Critical Issues**: {count}
|
|
76
|
+
|
|
77
|
+
### Compliance by Principle
|
|
78
|
+
| Principle | Status | Issues |
|
|
79
|
+
|-----------|--------|--------|
|
|
80
|
+
| Perceivable | ✓/⚠/✗ | {n} |
|
|
81
|
+
| Operable | ✓/⚠/✗ | {n} |
|
|
82
|
+
| Understandable | ✓/⚠/✗ | {n} |
|
|
83
|
+
| Robust | ✓/⚠/✗ | {n} |
|
|
84
|
+
|
|
85
|
+
### Issues
|
|
86
|
+
#### Critical (blocks access)
|
|
87
|
+
- **WCAG {criterion}**: {issue} — Location: {file:line} — Impact: {who is blocked} — Fix: {specific change}
|
|
88
|
+
#### Major
|
|
89
|
+
- {issue with recommendation}
|
|
90
|
+
#### Minor
|
|
91
|
+
- {enhancement}
|
|
92
|
+
|
|
93
|
+
### Passed Checks
|
|
94
|
+
- {what is accessible}
|
|
95
|
+
|
|
96
|
+
### Priority Actions
|
|
97
|
+
1. {must fix} 2. {should fix}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Tooling
|
|
101
|
+
|
|
102
|
+
Color contrast: compute the WCAG ratio against the AA thresholds (4.5:1 body,
|
|
103
|
+
3:1 large text). For automated scanning, prefer axe DevTools / Lighthouse /
|
|
104
|
+
WAVE / pa11y when available.
|
|
105
|
+
|
|
106
|
+
## Resources
|
|
107
|
+
|
|
108
|
+
WCAG 2.1 quickref (w3.org/WAI/WCAG21/quickref), ARIA Authoring Practices
|
|
109
|
+
(w3.org/WAI/ARIA/apg), WebAIM, Inclusive Components. Legal: ADA, Section 508, EAA.
|