From wicked-garden
Graph-based requirements as atomic markdown files with rich frontmatter. Filesystem-as-graph: each AC is a node, directories are groupings, meta.md files are the human interface, frontmatter traces are the edges. Use when: "requirements", "user stories", "acceptance criteria", "elicit requirements", "define requirements", "graph requirements"
npx claudepluginhub mikeparcewski/wicked-garden --plugin wicked-gardenThis skill uses the workspace's default tool permissions.
Atomic, graph-structured requirements using the filesystem. Each acceptance
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Atomic, graph-structured requirements using the filesystem. Each acceptance
criterion is a file. Each user story is a directory. Traces live in frontmatter.
meta.md files aggregate for humans.
| Monolith (old) | Graph (new) |
|---|---|
| 200-260 line single file | 10-30 line atomic nodes |
| Duplicates stories + functional reqs | One node per concept |
| Traceability in separate store | Traces in frontmatter |
| Grep for coverage | FTS5 + frontmatter queries |
| All-or-nothing context load | Progressive: frontmatter, meta.md, or full |
requirements/
meta.md # Project-level summary
{area}/ # Epic/feature area (kebab-case)
meta.md # Area summary + story table
{US-NNN}/ # User story directory
meta.md # Story definition + AC table
{AC-NNN}-{slug}.md # Atomic acceptance criterion
{NFR-NNN}-{slug}.md # Non-functional requirements (area-level)
_decisions/ # ADR-style decision records
{DEC-NNN}-{slug}.md
_scope.md # In/out/future scope
_risks.md # Risk register
_questions.md # Open questions
Five node types, each a small markdown file with YAML frontmatter:
| Type | Lives at | Required fields |
|---|---|---|
acceptance-criterion | {area}/{US-NNN}/{AC-NNN}-{slug}.md | id, type, priority, category, story |
user-story | {area}/{US-NNN}/meta.md | id, type, priority, complexity, persona, status |
area | {area}/meta.md | id, type |
nfr | {area}/{NFR-NNN}-{slug}.md | id, type, priority, category, target |
decision | _decisions/{DEC-NNN}-{slug}.md | id, type, status, date |
requirements-root | meta.md | type, project, created, status |
Minimal AC (the atomic unit):
---
id: auth/US-001/AC-001
type: acceptance-criterion
priority: P0
category: happy-path
story: auth/US-001
---
Given valid credentials
When user submits login form
Then user is redirected to dashboard and session is created
12 lines. See refs/schema.md for all fields and refs/examples.md for
complete story, area, NFR, and decision examples.
Required fields (all node types):
id — path-derived slug, canonical referencetype — acceptance-criterion, user-story, area, nfr, decision, requirements-rootRequired for ACs:
priority — P0/P1/P2category — happy-path, error, edge-case, non-functionalstory — parent story slugRequired for stories:
priority, complexity, persona, statusOptional (all types):
traces — list of {target, type} objects (graph edges)tags — keyword list for searchcompliance — regulatory refs (SOC2, HIPAA, GDPR controls)Trace types (edges):
DECOMPOSES_TO — story to ACsTRACES_TO — requirement to designIMPLEMENTED_BY — AC to source codeTESTED_BY — AC to test fileVERIFIES — test result back to ACSATISFIES — evidence to requirementDEPENDS_ON — cross-story/cross-area dependencyCreate requirements/ with root meta.md, _scope.md, _questions.md:
mkdir -p requirements
# Write root meta.md, _scope.md, _risks.md, _questions.md
For each feature area, create requirements/{area}/meta.md.
For each story, create requirements/{area}/{US-NNN}/meta.md with
the As a/I want/So that definition.
For each acceptance criterion, create individual files:
requirements/{area}/{US-NNN}/{AC-NNN}-{slug}.md
Keep AC files small: Given/When/Then + frontmatter. No essays.
Update traces: frontmatter as code and tests are written.
Traces are bidirectional by convention — if AC-001 has
IMPLEMENTED_BY: src/login.ts, the navigate skill can reverse-query.
| Crew Phase | Graph Action |
|---|---|
| clarify | Create requirements/ structure, areas, stories, ACs |
| design | Add TRACES_TO links from stories to design docs |
| build | Add IMPLEMENTED_BY links from ACs to code |
| test | Add TESTED_BY links from ACs to test files |
| review | Navigate skill generates fresh meta.md, gate checks coverage |