From srnnkls-tropos
Validation loop for speccing. Clarifies requirements through structured questioning before document creation.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-2 --plugin srnnkls-troposThis skill uses the workspace's default tool permissions.
Validate requirements through structured clarification. Produces validation data for spec-create.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Validate requirements through structured clarification. Produces validation data for spec-create.
Reference: See reference/issue-types.md for type definitions, reference/question-taxonomy.md for question templates, and reference/sdd-gates.md for pre-implementation gate definitions.
Use for:
Don't use for:
Before starting validation, check if the user has existing context from Claude's native /plan:
/plan was used or if there's existing plan contextThis step bridges native Claude planning with structured validation.
For Initiative-type work, verify alignment with constitution before proceeding:
.claude/constitution.mdSkip for: Features, Tasks (constitution checked during task-dispatch for Initiatives)
FIRST QUESTION (Always) - Use AskUserQuestion:
Header: Work type
Question: What type of work is this?
multiSelect: false
Options:
- Initiative: Strategic coordination (months) - Multiple features toward business goal
- Feature: User-facing capability (weeks) - Deliverable value, multiple tasks
- Task: Implementation item (days) - Single concrete deliverable
- Exploratory: Not sure yet - Gather context first, then classify
This selection determines:
If Exploratory: Gather context, ask 3 questions to understand scope, present classification recommendation, restart with correct type.
Taxonomy by type:
| Type | Areas to Cover |
|---|---|
| Initiative | Scope, Behavior, Data Model, Constraints, Edge Cases, Integration, Terminology |
| Feature | Scope, Behavior, Data Model, Constraints, Edge Cases, Integration, Terminology |
| Task | Scope, Behavior, Integration |
Automatically scan gathered context for specification gaps across taxonomy areas.
Process:
For each taxonomy area (based on issue type), evaluate:
Populate ambiguity_scan section in validation data:
ambiguity_scan:
scope:
status: clear | partial | missing
gaps: ["gap description if partial/missing"]
behavior:
status: clear | partial | missing
gaps: []
# ... remaining areas
Route based on scan results:
partial or missing status become priority candidates for clarification questions in Step 3Evaluation criteria per area:
| Area | Clear | Partial | Missing |
|---|---|---|---|
| Scope | Goals, boundaries, success criteria defined | Some elements unclear | No scope information |
| Behavior | User flows, system responses specified | Some paths undefined | No behavior described |
| Data Model | Entities, relationships, formats clear | Schema gaps exist | No data model |
| Constraints | Performance, security, compatibility stated | Some constraints unclear | No constraints |
| Edge Cases | Error handling, limits documented | Some cases unaddressed | No edge cases |
| Integration | Dependencies, APIs, interfaces identified | Some touchpoints unclear | No integration info |
| Terminology | Domain terms defined consistently | Some ambiguous terms | No definitions |
Ask clarifying questions in taxonomy-based batches, with re-evaluation between rounds.
Process:
Batch format:
AskUserQuestion with questions array (1-4 questions per batch):
Question 1:
Header: [Area, max 12 chars]
Question: [Clear question ending with ?]
multiSelect: false
Options: [2-4 options with implications]
Question 2:
Header: [Same area]
Question: [Related question]
...
Single question format (when only one question in area):
Header: [Area, max 12 chars]
Question: [Clear question ending with ?]
multiSelect: false
Options:
- Option A: [choice] - [implication]
- Option B: [choice] - [implication]
- Option C: [choice] - [implication]
- None: [default/skip]
Batching rules:
Batch counts:
Batch size limits:
Re-evaluation between batches:
For Initiatives, ask about user story prioritization and implementation strategy:
Header: User Stories
Question: How should user stories be prioritized?
multiSelect: false
Options:
- MVP First (Recommended): P1 stories deliver standalone value, P2/P3 are incremental
- Parallel Tracks: Stories can be developed independently by different teams
- Sequential: Stories have strict dependencies, must complete in order
Header: Strategy
Question: What implementation approach fits best?
multiSelect: false
Options:
- MVP First (Recommended): Ship P1, iterate on P2/P3 based on feedback
- Incremental: Each phase adds value, all planned upfront
- Parallel Team: Multiple workstreams, integration points defined
Track selections in validation data for spec-create (populates Implementation Strategy section).
For Features, offer opt-in for detailed SDD sections:
Header: SDD sections
Question: Which detailed sections do you want in the spec?
multiSelect: true
Options:
- Tech Decisions: Document technology choices and rationale
- API Contract: Define API endpoints and schemas
- Data Model: Document entities and relationships
- None: Keep spec lightweight
Track selections in validation data for spec-create.
Use AskUserQuestion to present options:
Header: Approach
Question: Which approach should we take?
multiSelect: false
Options:
- Approach A: [brief] - Trade-off: [X]
- Approach B: [brief] - Trade-off: [Y] (Recommended)
- Approach C: [brief] - Trade-off: [Z]
Lead with your recommendation. Apply YAGNI ruthlessly.
Compile validation data for spec-create:
This data passes to spec-create for validation.yaml.
| Principle | Why |
|---|---|
| Issue type first | Branches workflow, sets question limit |
| Ambiguity scan | Identifies gaps early, skips validation if all clear |
| MultiSelect always | Structured options, faster iteration |
| Question limits | Forces prioritization |
| Taxonomy tracking | Ensures coverage of important areas |
| YAGNI ruthlessly | Remove unnecessary features |
This skill produces validation data, not documents. The data flows to spec-create which generates:
Invoked by: /spec.create command (default behavior)
Standalone use: Can be invoked directly via spec-validate skill for validation without document creation.