Help us improve
Share bugs, ideas, or general feedback.
From dstoic
Creates OpenSpec change proposals by analyzing codebase for affected files, dependencies, and risks. Generates tasks and test strategies from proposals. Use for planning features in OpenSpec projects.
npx claudepluginhub digital-stoic-org/agent-skills --plugin dstoicHow this skill is triggered — by the user, by Claude, or both
Slash command
/dstoic:openspec-plansonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analysis + reasoning engine for change proposals. Assumes decision made (via /brainstorm or direct request).
Implements OpenSpec change proposals by processing tasks.md: reads tasks, explores context, edits code, marks checkboxes, pauses at gates. Use for approved changes and task lists.
Creates change directory with SPEC.md (type-specific), dynamic phased PLAN.md for features, bugfixes, refactors, epics, and updates INDEX.md using project settings.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
Analysis + reasoning engine for change proposals. Assumes decision made (via /brainstorm or direct request).
| Phase | Purpose | Model | Thinking |
|---|---|---|---|
| Analyze | Explore codebase, find affected files | Sonnet | off |
| Reason | Dependencies, risks, integration points | Sonnet | on |
| Generate | Write artifacts from analysis | Sonnet | off |
Exploration: Consult openspec/project.md → Exploration Strategy section for tools and must-read files.
Philosophy: Consult openspec/project.md → Execution Philosophy section for current mode and principles.
Create change proposal from codebase analysis.
Input: $ARGUMENTS = change-id: Brief description
Workflow:
Philosophy alignment: Include ## Execution Philosophy Alignment section in proposal (see reference.md for template).
Output: openspec/changes/{change-id}/proposal.md with Why/What/Impact from analysis
Next step (ALWAYS display after writing proposal.md):
✅ proposal.md written → Next: /openspec-design design {change-id} → Then: /openspec-plan tasks {change-id}
Generate outcome-centric tasks + test strategy from proposal.
Input: $ARGUMENTS = change-id [--skip-design] [--skip-test]
Sources (read before generating):
openspec/changes/{id}/proposal.md (required)openspec/changes/{id}/design.md (required unless --skip-design)Design gate: If design.md does NOT exist and --skip-design not passed:
⚠️ No design.md found. Run /openspec-design design {change-id} first, or pass --skip-design to bypass.design.md mapping rules (when design.md exists):
If --skip-design passed without design.md, derive sections from proposal.md (backward compatible).
Rules:
### GATE N: Description after sections representing logical boundariesCross-check (only when design.md was consumed — after generating, before presenting output): Print a coverage table mapping design.md components to generated artifacts:
| design.md Component | Type | tasks.md | tests.md | Status |
|---|---|---|---|---|
| {name} | container/aggregate/flow/invariant/interaction | S{n} / — | GATE {n} / — | ✅ / ⚠️ |
Coverage rules:
⚠️ gaps = warn, don't block. If gaps found, ask user: "Fix these gaps now or defer?"
tasks.md headers (MUST include both):
**Implementation**: Always use /openspec-develop {change-id} — never implement tasks ad-hoc.**Design**: See design.md for BC scope, invariants, C4 containers, key flows, and ADRs. (only when design.md was consumed)Next step (ALWAYS display after writing tasks.md/tests.md):
✅ tasks.md written → Next: /openspec-review {change-id} (tech lead gate) → Then: /openspec-develop {change-id}
Output:
tasks.md - verifiable outcomes with gatestests.md - verification strategy (unless --skip-test or garage mode + simple change)tests.md generation:
[auto] (default), [smoke], or [manual] — see reference.md §Test Execution Model**Execution**: Always run gates via /openspec-test {change-id} {N} — never ad-hoc.**Design**: See design.md for BC scope, invariants, C4 containers, key flows, and ADRs.Generate spec with delta headers and real scenarios.
Input: $ARGUMENTS = change-id capability-name
Output: specs/{capability}/spec.md with:
## ADDED/MODIFIED/REMOVED Requirements### Requirement: with SHALL/MUST keywords#### Scenario: with GIVEN/WHEN/THEN (from codebase understanding)