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,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Requirements Graph: Worked Examples
|
|
6
|
+
|
|
7
|
+
## Example 1: Authentication Feature
|
|
8
|
+
|
|
9
|
+
### Directory Structure
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
requirements/
|
|
13
|
+
meta.md
|
|
14
|
+
_scope.md
|
|
15
|
+
_risks.md
|
|
16
|
+
_questions.md
|
|
17
|
+
auth/
|
|
18
|
+
meta.md
|
|
19
|
+
US-001/
|
|
20
|
+
meta.md
|
|
21
|
+
AC-001-valid-login.md
|
|
22
|
+
AC-002-invalid-credentials.md
|
|
23
|
+
AC-003-account-lockout.md
|
|
24
|
+
US-002/
|
|
25
|
+
meta.md
|
|
26
|
+
AC-001-reset-email.md
|
|
27
|
+
AC-002-reset-link-expiry.md
|
|
28
|
+
NFR-001-login-performance.md
|
|
29
|
+
NFR-002-password-encryption.md
|
|
30
|
+
_decisions/
|
|
31
|
+
DEC-001-bcrypt-over-argon2.md
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Root meta.md
|
|
35
|
+
|
|
36
|
+
```yaml
|
|
37
|
+
---
|
|
38
|
+
type: requirements-root
|
|
39
|
+
project: user-portal
|
|
40
|
+
created: 2026-04-05
|
|
41
|
+
status: draft
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
# Requirements: User Portal
|
|
45
|
+
|
|
46
|
+
Self-service portal for user account management and dashboard access.
|
|
47
|
+
|
|
48
|
+
## Areas
|
|
49
|
+
|
|
50
|
+
| Area | Stories | ACs | P0 ACs | Coverage |
|
|
51
|
+
|------|---------|-----|--------|----------|
|
|
52
|
+
| auth | 2 | 5 | 3 | 0% |
|
|
53
|
+
|
|
54
|
+
## Scope
|
|
55
|
+
See: [_scope.md](_scope.md)
|
|
56
|
+
|
|
57
|
+
## Open Questions
|
|
58
|
+
See: [_questions.md](_questions.md)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### AC Node: AC-001-valid-login.md
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
---
|
|
65
|
+
id: auth/US-001/AC-001
|
|
66
|
+
type: acceptance-criterion
|
|
67
|
+
priority: P0
|
|
68
|
+
category: happy-path
|
|
69
|
+
story: auth/US-001
|
|
70
|
+
tags: [login, session, redirect]
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
Given valid email and password
|
|
74
|
+
When user submits the login form
|
|
75
|
+
Then user is redirected to /dashboard and a session cookie is set
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### AC Node with traces (after implementation):
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
---
|
|
82
|
+
id: auth/US-001/AC-001
|
|
83
|
+
type: acceptance-criterion
|
|
84
|
+
priority: P0
|
|
85
|
+
category: happy-path
|
|
86
|
+
story: auth/US-001
|
|
87
|
+
tags: [login, session, redirect]
|
|
88
|
+
traces:
|
|
89
|
+
- target: src/routes/auth/login.ts
|
|
90
|
+
type: IMPLEMENTED_BY
|
|
91
|
+
- target: src/middleware/session.ts
|
|
92
|
+
type: IMPLEMENTED_BY
|
|
93
|
+
- target: tests/auth/login.test.ts
|
|
94
|
+
type: TESTED_BY
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
Given valid email and password
|
|
98
|
+
When user submits the login form
|
|
99
|
+
Then user is redirected to /dashboard and a session cookie is set
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Story meta.md: US-001/meta.md
|
|
103
|
+
|
|
104
|
+
```yaml
|
|
105
|
+
---
|
|
106
|
+
id: auth/US-001
|
|
107
|
+
type: user-story
|
|
108
|
+
priority: P0
|
|
109
|
+
complexity: M
|
|
110
|
+
persona: end-user
|
|
111
|
+
status: draft
|
|
112
|
+
traces:
|
|
113
|
+
- target: phases/design/auth-flow.md
|
|
114
|
+
type: TRACES_TO
|
|
115
|
+
tags: [authentication, login]
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
# US-001: User Login
|
|
119
|
+
|
|
120
|
+
**As a** end-user
|
|
121
|
+
**I want** to log in with my email and password
|
|
122
|
+
**So that** I can access my personalized dashboard
|
|
123
|
+
|
|
124
|
+
## Acceptance Criteria
|
|
125
|
+
|
|
126
|
+
| AC | Description | Priority | Category |
|
|
127
|
+
|----|-------------|----------|----------|
|
|
128
|
+
| AC-001 | Valid login redirects to dashboard | P0 | happy-path |
|
|
129
|
+
| AC-002 | Invalid creds show error message | P0 | error |
|
|
130
|
+
| AC-003 | Account locks after 3 failures | P1 | edge-case |
|
|
131
|
+
|
|
132
|
+
## Dependencies
|
|
133
|
+
- Session store (Redis) configured
|
|
134
|
+
- Email validation library
|
|
135
|
+
|
|
136
|
+
## Open Questions
|
|
137
|
+
- Session timeout: 30 min or user-configurable?
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### NFR Node: NFR-001-login-performance.md
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
---
|
|
144
|
+
id: auth/NFR-001
|
|
145
|
+
type: nfr
|
|
146
|
+
priority: P1
|
|
147
|
+
category: performance
|
|
148
|
+
target: "< 2s response time at 1000 concurrent logins"
|
|
149
|
+
measured_by: k6 load test in CI
|
|
150
|
+
tags: [performance, auth, load-testing]
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
Login endpoint must respond within 2 seconds under load of 1000
|
|
154
|
+
concurrent authentication requests. Measured via k6 load test
|
|
155
|
+
running against staging environment in CI pipeline.
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Decision Node: DEC-001-bcrypt-over-argon2.md
|
|
159
|
+
|
|
160
|
+
```yaml
|
|
161
|
+
---
|
|
162
|
+
id: _decisions/DEC-001
|
|
163
|
+
type: decision
|
|
164
|
+
status: accepted
|
|
165
|
+
date: 2026-04-05
|
|
166
|
+
tags: [security, password-hashing]
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
# DEC-001: Use bcrypt over Argon2 for password hashing
|
|
170
|
+
|
|
171
|
+
## Context
|
|
172
|
+
Need a password hashing algorithm for user authentication.
|
|
173
|
+
|
|
174
|
+
## Decision
|
|
175
|
+
Use bcrypt with cost factor 12.
|
|
176
|
+
|
|
177
|
+
## Rationale
|
|
178
|
+
- Wider library support across our stack (Node.js, Python)
|
|
179
|
+
- Argon2 requires native compilation — complicates CI
|
|
180
|
+
- bcrypt at cost 12 meets our security bar per OWASP guidelines
|
|
181
|
+
|
|
182
|
+
## Consequences
|
|
183
|
+
- Slightly less memory-hard than Argon2
|
|
184
|
+
- May revisit when Argon2 library support improves
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Example 2: Simple Feature (3 ACs)
|
|
188
|
+
|
|
189
|
+
For a small feature, the graph is still lean:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
requirements/
|
|
193
|
+
meta.md
|
|
194
|
+
csv-export/
|
|
195
|
+
meta.md
|
|
196
|
+
US-001/
|
|
197
|
+
meta.md
|
|
198
|
+
AC-001-export-button.md
|
|
199
|
+
AC-002-csv-format.md
|
|
200
|
+
AC-003-large-dataset.md
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Total files: 6 (3 meta.md + 3 ACs). Each AC is ~10 lines.
|
|
204
|
+
Compare to the old monolith: 1 file at 200+ lines.
|
|
205
|
+
|
|
206
|
+
The graph approach scales down cleanly — no empty sections, no
|
|
207
|
+
boilerplate for risks/assumptions/appendices unless you need them.
|
|
208
|
+
|
|
209
|
+
## Token Cost Comparison
|
|
210
|
+
|
|
211
|
+
Reading the auth example above:
|
|
212
|
+
|
|
213
|
+
| Approach | Tokens |
|
|
214
|
+
|----------|--------|
|
|
215
|
+
| Old monolith (full auth requirements) | ~800 |
|
|
216
|
+
| Graph: root meta.md only (depth 1) | ~100 |
|
|
217
|
+
| Graph: area meta.md (depth 1) | ~80 |
|
|
218
|
+
| Graph: story meta.md (depth 1) | ~120 |
|
|
219
|
+
| Graph: single AC (depth 2) | ~40 |
|
|
220
|
+
| Graph: all frontmatter (depth 0) | ~60 |
|
|
221
|
+
|
|
222
|
+
The agent loads only what it needs. Gate checks read meta.md.
|
|
223
|
+
Implementation reads specific ACs. No wasted context.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Requirements Graph: Frontmatter Schema Reference
|
|
6
|
+
|
|
7
|
+
Complete field reference for all requirement node types.
|
|
8
|
+
|
|
9
|
+
## Common Fields (all types)
|
|
10
|
+
|
|
11
|
+
| Field | Required | Type | Description |
|
|
12
|
+
|-------|----------|------|-------------|
|
|
13
|
+
| `id` | yes | string | Path-derived slug from `requirements/` root. E.g., `auth/US-001/AC-001` |
|
|
14
|
+
| `type` | yes | enum | Node type (see below) |
|
|
15
|
+
| `tags` | no | string[] | Keywords for search indexing |
|
|
16
|
+
| `traces` | no | object[] | Graph edges to other artifacts |
|
|
17
|
+
| `compliance` | no | string[] | Regulatory controls. E.g., `["SOC2-CC6.1", "GDPR-Art.32"]` |
|
|
18
|
+
|
|
19
|
+
## Node Types
|
|
20
|
+
|
|
21
|
+
### `acceptance-criterion`
|
|
22
|
+
|
|
23
|
+
The atomic unit. One file per criterion.
|
|
24
|
+
|
|
25
|
+
| Field | Required | Type | Values |
|
|
26
|
+
|-------|----------|------|--------|
|
|
27
|
+
| `priority` | yes | enum | `P0`, `P1`, `P2` |
|
|
28
|
+
| `category` | yes | enum | `happy-path`, `error`, `edge-case`, `non-functional` |
|
|
29
|
+
| `story` | yes | string | Parent story slug. E.g., `auth/US-001` |
|
|
30
|
+
| `status` | no | enum | `draft`, `review`, `approved`, `implemented`, `verified` |
|
|
31
|
+
|
|
32
|
+
**Body**: Given/When/Then block. Keep it to 1-5 lines. No essays.
|
|
33
|
+
|
|
34
|
+
**Naming**: `AC-{NNN}-{slug}.md` where NNN is zero-padded, slug is kebab-case.
|
|
35
|
+
|
|
36
|
+
### `user-story`
|
|
37
|
+
|
|
38
|
+
A directory's `meta.md`. Groups acceptance criteria.
|
|
39
|
+
|
|
40
|
+
| Field | Required | Type | Values |
|
|
41
|
+
|-------|----------|------|--------|
|
|
42
|
+
| `priority` | yes | enum | `P0`, `P1`, `P2` |
|
|
43
|
+
| `complexity` | yes | enum | `S`, `M`, `L`, `XL` |
|
|
44
|
+
| `persona` | yes | string | Who this story is for |
|
|
45
|
+
| `status` | yes | enum | `draft`, `review`, `approved`, `implemented`, `verified` |
|
|
46
|
+
|
|
47
|
+
**Body**: As a/I want/So that + AC summary table + dependencies + questions.
|
|
48
|
+
|
|
49
|
+
**Naming**: Directory is `US-{NNN}` (zero-padded). `meta.md` inside.
|
|
50
|
+
|
|
51
|
+
### `area`
|
|
52
|
+
|
|
53
|
+
Groups stories by feature/epic. Directory `meta.md`.
|
|
54
|
+
|
|
55
|
+
| Field | Required | Type | Values |
|
|
56
|
+
|-------|----------|------|--------|
|
|
57
|
+
| `status` | no | enum | `draft`, `review`, `approved` |
|
|
58
|
+
|
|
59
|
+
**Body**: Summary + story table + NFR table + coverage stats.
|
|
60
|
+
|
|
61
|
+
**Naming**: Directory is kebab-case feature name. `meta.md` inside.
|
|
62
|
+
|
|
63
|
+
### `nfr`
|
|
64
|
+
|
|
65
|
+
Non-functional requirement. Lives at area level.
|
|
66
|
+
|
|
67
|
+
| Field | Required | Type | Values |
|
|
68
|
+
|-------|----------|------|--------|
|
|
69
|
+
| `priority` | yes | enum | `P0`, `P1`, `P2` |
|
|
70
|
+
| `category` | yes | enum | `performance`, `security`, `scalability`, `usability`, `reliability` |
|
|
71
|
+
| `target` | yes | string | Measurable target. E.g., `< 2s at 1000 concurrent` |
|
|
72
|
+
| `measured_by` | no | string | How to verify |
|
|
73
|
+
|
|
74
|
+
**Naming**: `NFR-{NNN}-{slug}.md`
|
|
75
|
+
|
|
76
|
+
### `decision`
|
|
77
|
+
|
|
78
|
+
Lightweight ADR. Lives in `_decisions/`.
|
|
79
|
+
|
|
80
|
+
| Field | Required | Type | Values |
|
|
81
|
+
|-------|----------|------|--------|
|
|
82
|
+
| `status` | yes | enum | `proposed`, `accepted`, `superseded` |
|
|
83
|
+
| `date` | yes | string | ISO date |
|
|
84
|
+
| `supersedes` | no | string | ID of decision this replaces |
|
|
85
|
+
|
|
86
|
+
**Naming**: `DEC-{NNN}-{slug}.md`
|
|
87
|
+
|
|
88
|
+
### `requirements-root`
|
|
89
|
+
|
|
90
|
+
Root `meta.md` only. One per project.
|
|
91
|
+
|
|
92
|
+
| Field | Required | Type | Values |
|
|
93
|
+
|-------|----------|------|--------|
|
|
94
|
+
| `project` | yes | string | Project name |
|
|
95
|
+
| `created` | yes | string | ISO date |
|
|
96
|
+
| `status` | yes | enum | `draft`, `review`, `approved` |
|
|
97
|
+
|
|
98
|
+
## Traces Schema
|
|
99
|
+
|
|
100
|
+
Each trace is an edge in the graph:
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
traces:
|
|
104
|
+
- target: path/to/artifact # relative path or code file
|
|
105
|
+
type: IMPLEMENTED_BY # edge type
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Edge Types
|
|
109
|
+
|
|
110
|
+
| Type | From | To | Direction |
|
|
111
|
+
|------|------|----|-----------|
|
|
112
|
+
| `DECOMPOSES_TO` | story | AC | parent → child |
|
|
113
|
+
| `TRACES_TO` | requirement | design doc | forward |
|
|
114
|
+
| `IMPLEMENTED_BY` | AC | source file | forward |
|
|
115
|
+
| `TESTED_BY` | AC | test file | forward |
|
|
116
|
+
| `VERIFIES` | test result | AC | reverse |
|
|
117
|
+
| `SATISFIES` | evidence | requirement | reverse |
|
|
118
|
+
| `DEPENDS_ON` | story/AC | story/AC | lateral |
|
|
119
|
+
|
|
120
|
+
### Trace Target Conventions
|
|
121
|
+
|
|
122
|
+
- **Graph nodes**: relative from `requirements/` root — `auth/US-001/AC-001`
|
|
123
|
+
- **Code files**: relative from project root — `src/auth/login.ts`
|
|
124
|
+
- **Test files**: relative from project root — `tests/auth/login.test.ts`
|
|
125
|
+
- **Design docs**: relative from project root — `phases/design/auth-flow.md`
|
|
126
|
+
- **External**: full path or URL
|
|
127
|
+
|
|
128
|
+
## ID Convention
|
|
129
|
+
|
|
130
|
+
The `id` field is a **path-derived slug**:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
requirements/auth/US-001/AC-001-login-success.md
|
|
134
|
+
↓
|
|
135
|
+
id: auth/US-001/AC-001
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Rules:
|
|
139
|
+
- Strip `requirements/` prefix
|
|
140
|
+
- Strip file extension
|
|
141
|
+
- For meta.md: use directory path (e.g., `auth/US-001`)
|
|
142
|
+
- For AC/NFR files: use up to the AC/NFR number (drop the slug suffix)
|
|
143
|
+
|
|
144
|
+
**Lint catches mismatches** between `id:` and actual path.
|
|
145
|
+
|
|
146
|
+
## Minimal Valid AC
|
|
147
|
+
|
|
148
|
+
```yaml
|
|
149
|
+
---
|
|
150
|
+
id: auth/US-001/AC-001
|
|
151
|
+
type: acceptance-criterion
|
|
152
|
+
priority: P0
|
|
153
|
+
category: happy-path
|
|
154
|
+
story: auth/US-001
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
Given valid email and password
|
|
158
|
+
When user submits login form
|
|
159
|
+
Then session is created and user sees dashboard
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
12 lines. Compare to the old monolith's 260 lines for an entire feature.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requirements-migrate
|
|
3
|
+
description: |
|
|
4
|
+
Convert monolithic requirements documents into graph-structured
|
|
5
|
+
requirements directories. Parses user stories and acceptance criteria
|
|
6
|
+
from existing docs and creates atomic graph nodes.
|
|
7
|
+
|
|
8
|
+
Use when: "migrate requirements", "convert to graph",
|
|
9
|
+
"split requirements", "restructure requirements"
|
|
10
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
11
|
+
archetype_relevance: ["*"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Requirements Migrate
|
|
15
|
+
|
|
16
|
+
Convert existing monolithic requirements documents into the graph structure.
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Parse Source Document
|
|
21
|
+
|
|
22
|
+
Read the monolithic requirements file and extract:
|
|
23
|
+
- User stories (As a/I want/So that blocks)
|
|
24
|
+
- Acceptance criteria (Given/When/Then blocks)
|
|
25
|
+
- Functional requirements (REQ-XXX entries)
|
|
26
|
+
- Non-functional requirements (REQ-PERF/SEC/SCALE/UX entries)
|
|
27
|
+
- Scope (in/out/future)
|
|
28
|
+
- Risks, assumptions, open questions
|
|
29
|
+
- Dependencies
|
|
30
|
+
|
|
31
|
+
### 2. Plan Graph Structure
|
|
32
|
+
|
|
33
|
+
Map extracted content to graph nodes:
|
|
34
|
+
- Group stories by feature area (infer from headings or REQ prefixes)
|
|
35
|
+
- Each story becomes a `US-NNN` directory
|
|
36
|
+
- Each AC becomes an `AC-NNN-{slug}.md` file
|
|
37
|
+
- Functional requirements that duplicate stories are merged (not duplicated)
|
|
38
|
+
- NFRs become area-level `NFR-NNN-{slug}.md` files
|
|
39
|
+
- Decisions/rationale become `_decisions/DEC-NNN-{slug}.md`
|
|
40
|
+
|
|
41
|
+
### 3. Create Graph
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
For each area:
|
|
45
|
+
mkdir -p requirements/{area}
|
|
46
|
+
Write requirements/{area}/meta.md
|
|
47
|
+
|
|
48
|
+
For each story in area:
|
|
49
|
+
mkdir -p requirements/{area}/{US-NNN}
|
|
50
|
+
Write requirements/{area}/{US-NNN}/meta.md
|
|
51
|
+
|
|
52
|
+
For each AC in story:
|
|
53
|
+
Write requirements/{area}/{US-NNN}/{AC-NNN}-{slug}.md
|
|
54
|
+
|
|
55
|
+
For each NFR in area:
|
|
56
|
+
Write requirements/{area}/{NFR-NNN}-{slug}.md
|
|
57
|
+
|
|
58
|
+
Write requirements/meta.md (root)
|
|
59
|
+
Write requirements/_scope.md
|
|
60
|
+
Write requirements/_risks.md
|
|
61
|
+
Write requirements/_questions.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 4. Verify
|
|
65
|
+
|
|
66
|
+
After migration:
|
|
67
|
+
- Run navigate lint to check structure
|
|
68
|
+
- Compare AC count: source doc vs graph nodes (should match)
|
|
69
|
+
- Check no content was lost (stories, criteria, NFRs)
|
|
70
|
+
- Verify frontmatter IDs match paths
|
|
71
|
+
|
|
72
|
+
### 5. Archive Source
|
|
73
|
+
|
|
74
|
+
Move the original monolith to `requirements/_archived/` so it's
|
|
75
|
+
preserved but not the active source of truth.
|
|
76
|
+
|
|
77
|
+
## Handling Ambiguity
|
|
78
|
+
|
|
79
|
+
- **Stories without clear ACs**: Create the story directory + meta.md,
|
|
80
|
+
add a note in `_questions.md` that ACs need to be defined
|
|
81
|
+
- **Functional reqs that aren't stories**: If REQ-XXX doesn't map to a
|
|
82
|
+
user story, create it as an AC under a synthetic story
|
|
83
|
+
- **Inline NFRs**: Extract performance/security mentions from story text
|
|
84
|
+
into area-level NFR nodes
|
|
85
|
+
- **Missing personas**: Default to the most common persona in the doc,
|
|
86
|
+
flag in `_questions.md`
|
|
87
|
+
|
|
88
|
+
## Progressive Disclosure
|
|
89
|
+
|
|
90
|
+
- **SKILL.md** (this file): Migration process
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requirements-navigate
|
|
3
|
+
description: |
|
|
4
|
+
Navigate, query, and maintain requirements graphs. Regenerates meta.md
|
|
5
|
+
on demand, checks coverage, finds gaps, and lints the graph structure.
|
|
6
|
+
|
|
7
|
+
Use when: navigating or querying a requirements graph, generating a coverage
|
|
8
|
+
report, refreshing meta.md, or linting graph structure for gaps.
|
|
9
|
+
phase_relevance: ["clarify", "design", "review"]
|
|
10
|
+
archetype_relevance: ["*"]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Requirements Navigate
|
|
14
|
+
|
|
15
|
+
Read, query, and maintain requirements graph structures. Generates and
|
|
16
|
+
refreshes meta.md files. Checks coverage and finds gaps.
|
|
17
|
+
|
|
18
|
+
## Commands
|
|
19
|
+
|
|
20
|
+
### Navigate (read graph)
|
|
21
|
+
|
|
22
|
+
Read a requirements node or area with progressive depth:
|
|
23
|
+
|
|
24
|
+
**Depth 0** — frontmatter only (~5 tokens per node):
|
|
25
|
+
```bash
|
|
26
|
+
# Read just the frontmatter of all ACs in a story
|
|
27
|
+
for f in requirements/auth/US-001/AC-*.md; do
|
|
28
|
+
head -20 "$f" # frontmatter block
|
|
29
|
+
done
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Depth 1** — meta.md (summary + tables):
|
|
33
|
+
```bash
|
|
34
|
+
# Read the story summary
|
|
35
|
+
cat requirements/auth/US-001/meta.md
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Depth 2** — full content of specific nodes:
|
|
39
|
+
```bash
|
|
40
|
+
# Read a specific AC
|
|
41
|
+
cat requirements/auth/US-001/AC-001-login-success.md
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Always start at depth 1** (meta.md) unless you need specific AC content.
|
|
45
|
+
|
|
46
|
+
### Refresh meta.md
|
|
47
|
+
|
|
48
|
+
Regenerate a meta.md from its children when stale:
|
|
49
|
+
|
|
50
|
+
1. Read all sibling/child files in the directory
|
|
51
|
+
2. Parse frontmatter from each
|
|
52
|
+
3. Rebuild the summary table (counts, priorities, coverage stats)
|
|
53
|
+
4. Write updated meta.md preserving the `id` and `type` fields
|
|
54
|
+
|
|
55
|
+
**Staleness check**: Compare `generated_at` in meta.md frontmatter against
|
|
56
|
+
`stat()` mtimes of children. If any child is newer, regenerate.
|
|
57
|
+
|
|
58
|
+
**When to refresh**:
|
|
59
|
+
- Before displaying requirements status to user
|
|
60
|
+
- Before crew gate evaluation
|
|
61
|
+
- After batch AC creation
|
|
62
|
+
- On explicit user request
|
|
63
|
+
|
|
64
|
+
### Coverage Query
|
|
65
|
+
|
|
66
|
+
Check which ACs have trace links:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
For each AC in requirements/**/*.md where type: acceptance-criterion:
|
|
70
|
+
- Has IMPLEMENTED_BY? → code coverage
|
|
71
|
+
- Has TESTED_BY? → test coverage
|
|
72
|
+
- Has VERIFIES? → verification coverage
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Output format**:
|
|
76
|
+
```
|
|
77
|
+
Coverage: auth
|
|
78
|
+
US-001: 3/3 ACs, 1/3 implemented, 0/3 tested
|
|
79
|
+
US-002: 2/2 ACs, 0/2 implemented, 0/2 tested
|
|
80
|
+
Total: 5 ACs, 1 implemented (20%), 0 tested (0%)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Gap Analysis
|
|
84
|
+
|
|
85
|
+
Find structural problems:
|
|
86
|
+
|
|
87
|
+
- **Orphan ACs**: AC files not referenced in parent story meta.md
|
|
88
|
+
- **Empty stories**: Story directories with meta.md but no AC files
|
|
89
|
+
- **Missing traces**: P0 ACs without IMPLEMENTED_BY or TESTED_BY
|
|
90
|
+
- **Broken traces**: Trace targets that don't exist on disk
|
|
91
|
+
- **Stale meta.md**: Generated timestamps older than children
|
|
92
|
+
- **ID mismatches**: `id:` field doesn't match file path
|
|
93
|
+
|
|
94
|
+
### Lint
|
|
95
|
+
|
|
96
|
+
Validate graph structure:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
For each .md in requirements/**/:
|
|
100
|
+
1. Has valid YAML frontmatter with required fields
|
|
101
|
+
2. id: matches relative path from requirements/
|
|
102
|
+
3. type: is a valid node type
|
|
103
|
+
4. traces: targets exist (warn, don't fail — code may not exist yet)
|
|
104
|
+
5. ACs have: priority, category, story
|
|
105
|
+
6. Stories have: priority, complexity, persona, status
|
|
106
|
+
7. meta.md tables match actual children
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Fix mode**: `--fix` auto-corrects:
|
|
110
|
+
- Regenerate stale meta.md files
|
|
111
|
+
- Update `id:` to match current path
|
|
112
|
+
- Add missing AC references to parent meta.md
|
|
113
|
+
|
|
114
|
+
## Integration with traceability.py
|
|
115
|
+
|
|
116
|
+
The navigate skill reads graph nodes directly. For cross-phase queries
|
|
117
|
+
that span beyond requirements (design, code, tests, evidence),
|
|
118
|
+
`traceability.py` provides BFS traversal.
|
|
119
|
+
|
|
120
|
+
**Bridge**: When navigate finds `IMPLEMENTED_BY` or `TESTED_BY` traces
|
|
121
|
+
in frontmatter, these are the authoritative links for the requirement
|
|
122
|
+
layer. `traceability.py` can read these as an additional data source
|
|
123
|
+
alongside its DomainStore links.
|
|
124
|
+
|
|
125
|
+
## Integration with search
|
|
126
|
+
|
|
127
|
+
Requirements graph nodes are indexable by `search:index`:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
/wicked-garden:search:index requirements/
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Enables queries like:
|
|
134
|
+
- "All P0 ACs without TESTED_BY" (frontmatter + FTS5)
|
|
135
|
+
- "All ACs tagged 'authentication'" (tag search)
|
|
136
|
+
- "Which stories trace to src/auth/" (reverse trace)
|
|
137
|
+
|
|
138
|
+
## Progressive Disclosure
|
|
139
|
+
|
|
140
|
+
- **SKILL.md** (this file): Commands, query patterns, integration
|
|
141
|
+
- **refs/meta-templates.md**: Copy-paste meta.md templates for each level
|