LeanUX backlog management methodology - user story template, story sizing, story states, task types, Definition of Ready/Done, anti-pattern detection and remediation
npx skills add https://github.com/nWave-ai/nWave --skill nw-leanux-methodology
"A backlog is not a todo list. It's a collection of validated hypotheses waiting to become working software."
| State | Meaning | Entry Criteria |
|-------|---------|----------------|
| Draft | Idea captured, not validated | Has problem statement |
| Ready | Validated, has UAT, ready to build | All DoR items complete |
| In Progress | Actively being built | UAT test written (RED) |
| In Review | Code complete, awaiting review | All tests green |
| Done | Merged, deployed, validated | UAT passes in production |
| Blocked | Cannot proceed | Blocker documented |
Completable in 1-3 days | 3-7 UAT scenarios | Delivers demonstrable value | Explainable in 2 minutes
>7 UAT scenarios | >3 days effort | Multiple distinct user outcomes | Cannot demonstrate in single session
Split by user outcome, not technical layer. Each resulting story delivers independently demonstrable value.
Example: "User Management" (20 scenarios) splits into:
Stories pass ALL 8 items before proceeding to DESIGN wave.
1. Problem statement clear and in domain language
2. User/persona identified with specific characteristics
3. At least 3 domain examples with real data
4. UAT scenarios in Given/When/Then (3-7 scenarios)
5. Acceptance criteria derived from UAT
6. Story right-sized (1-3 days, 3-7 scenarios)
7. Technical notes identify constraints
8. Dependencies resolved or tracked
## Definition of Ready Validation
### Story: {story-id}
| DoR Item | Status | Evidence/Issue |
|----------|--------|----------------|
| Problem statement clear | PASS/FAIL | {evidence or issue} |
| User/persona identified | PASS/FAIL | {evidence or issue} |
| 3+ domain examples | PASS/FAIL | {evidence or issue} |
| UAT scenarios (3-7) | PASS/FAIL | {evidence or issue} |
| AC derived from UAT | PASS/FAIL | {evidence or issue} |
| Right-sized | PASS/FAIL | {evidence or issue} |
| Technical notes | PASS/FAIL | {evidence or issue} |
| Dependencies tracked | PASS/FAIL | {evidence or issue} |
### DoR Status: PASSED / BLOCKED
When DoR fails:
DoD validation owned by acceptance-designer during DISTILL->DELIVER transition. Product-owner defines checklist, acceptance-designer enforces.
Checklist:
Flow from Ready story to Done story follows double-loop TDD:
| Category | Meaning | Guideline |
|----------|---------|-----------|
| Must Have | Required for MVP | Without this, release has no value |
| Should Have | Important for full product value | Significant value, workaround exists |
| Could Have | Nice-to-have for enhanced experience | Desirable if time/budget allows |
| Won't Have | Deferred to future releases | Acknowledged, explicitly out of scope |
Assign MoSCoW during Phase 2 (CRAFT) when multiple stories emerge from same requirements conversation.
| | Low Effort | High Effort |
|---|---|---|
| High Value | Quick wins -- do first | Strategic investments -- plan carefully |
| Low Value | Fill-ins -- do if time allows | Eliminate or defer |
Quick wins build momentum and stakeholder confidence. Strategic investments need baseline measurement and roadmap planning (see jtbd-workflow-selection skill).
During Phase 4 (HANDOFF), include brief risk assessment. Categorize:
Business Risks: market changes | regulatory changes | stakeholder availability | budget/timeline constraints
Technical Risks: integration complexity | technology uncertainty | data migration | performance/security unknowns
Project Risks: resource availability | scope creep potential | communication challenges | testing coverage gaps
For each risk: probability (low/medium/high) | impact (low/medium/high) | mitigation approach (avoid, mitigate, transfer, accept). Detailed risk management belongs to downstream waves -- product-owner surfaces risks, does not manage them.
When handing off to DESIGN wave (solution-architect), include:
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take nwave-ai/nw-leanux-methodology from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.