From lattice
Facilitates structured conversation to define project requirement standards: epics, features, scenarios, AC format, priorities, status workflows, naming conventions. Produces requirement-standards.md customizing requirement-quality atom. Useful for new project setup or defining product standards.
npx claudepluginhub techygarg/lattice --plugin latticeThis skill uses the workspace's default tool permissions.
- **Output**: `.lattice/standards/requirement-standards.md` (or custom path from `.lattice/config.yaml` → `paths.requirement_standards`)
Generates structured feature specifications via collaborative PM/BA interview. Challenges scope, proposes options at decisions, outputs epic/feature hierarchy in .lattice/requirements/.
Turns vague goals into structured requirements.md via systematic interview across business/user/tech axes, extraction, and cross-check. Outputs for /blueprint in greenfield/feature/refactor/bugfix formats.
Transforms business analyses into epics, features, and tech-agnostic success criteria. Creates handoff documents, triages artifacts as FEATURE/IMP/FIX/ADR, manages BACKLOG.md entries, and runs GitHub integration for issues/PRs.
Share bugs, ideas, or general feedback.
.lattice/standards/requirement-standards.md (or custom path from .lattice/config.yaml → paths.requirement_standards)mode: overlay): A slim document containing only sections that differ from the built-in defaults. The requirement-quality atom reads its embedded defaults.md first, then applies this document's sections on top. This is the expected common case.mode: override): A comprehensive standalone document that fully replaces the atom's embedded defaults. For teams whose product process differs fundamentally from the defaults.paths.requirement_standards in .lattice/config.yamlrequirement-quality atom (via config resolution) → requirement-forge molecule (composes the atom)./assets/template.md for the full document structure, default content, and interview guidance commentsThis refiner defines how requirements are structured and expressed for this project. It does not define:
The standards produced here answer: what is an epic, what is a feature, what is a scenario, how are ACs written, how are features named and prioritized. These are the rules the requirement-quality atom enforces — the molecule composes the atom and inherits those rules automatically.
.lattice/config.yaml — check paths.requirement_standards.Before the formal interview, ask:
These two questions are the only free-form listening before the structured interview begins. Synthesize what you hear and carry it forward — do not ask follow-up questions at this stage.
Present the three options:
"How would you like to define your requirement standards?
The built-in defaults cover standard product spec practices well. Option 1 is recommended unless your team's conventions are fundamentally different."
Map the choice:
mode: overlaymode: overrideThis should be fast. Many sections will be "keep as-is."
Every section gets attention and appears in the output.
Read ./assets/template.md and follow the <!-- INTERVIEW GUIDANCE: --> comments for each section. Those comments contain specific questions, probing questions, and what is customizable vs. fixed.
| Decision in | Affects | How |
|---|---|---|
| §2 — Feature size definition | §4 scenario count | Larger features tolerate more scenarios; tighter features need a lower cap |
| §4 — Scenario nomenclature | §8 naming conventions | If "scenario" is renamed, naming conventions must use the new term |
| §4 — Max scenarios per feature | §2 feature definition | These two must be consistent — the split signal in §2 should align with the cap in §4 |
| §5 — AC format | §4 scenario structure | AC format determines what each scenario's criteria look like |
| §6 — Priority notation | feature file frontmatter | Priority field format used in every generated feature file |
| §7 — Status workflow | feature file frontmatter | Status field used in every generated feature file |
| §8 — Naming conventions | all file generation | Feature file names and display names generated by the molecule |
When a dependency is triggered, inform the user: "Since you changed [X], we should also review [Y] — it's affected by that decision."
For each of the 9 default sections:
For each of the 9 default sections:
mode: overlaytemplate.md exactly (the molecule matches sections by heading)mode: overrideStrip all <!-- INTERVIEW GUIDANCE: --> comments from the output. The final document is a clean specification.
Determine output path:
.lattice/config.yaml exists and has paths.requirement_standards, use that path..lattice/standards/requirement-standards.md.Write the document:
.lattice/standards/ directory (and .lattice/ parent) if it does not exist.Update config:
.lattice/config.yaml does not exist, create it with:
paths:
requirement_standards: .lattice/standards/requirement-standards.md
.lattice/config.yaml exists but has no paths.requirement_standards, add the key. Preserve all existing content.Confirm to user:
"Your requirement standards have been written to [PATH] in [overlay|override] mode. The requirement-forge molecule will now use these standards and will not re-ask structural questions covered here."
Before writing the final document, verify:
template.md exactly<!-- INTERVIEW GUIDANCE: --> comments remainmode: overlay<!-- INTERVIEW GUIDANCE: --> comments remainmode: override.lattice/config.yaml) is correctly updated