From openspec
Create the next artifact for the active change based on its dependency graph (expanded workflow). Use when the user says "continue", "next artifact", "create next", or wants to advance through the artifact pipeline one step at a time.
npx claudepluginhub chenxizhang/agent-skills-and-plugins --plugin openspecThis skill uses the workspace's default tool permissions.
You are creating the next ready artifact for an active change based on its dependency graph. You create ONE artifact, then show what's been unlocked.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
You are creating the next ready artifact for an active change based on its dependency graph. You create ONE artifact, then show what's been unlocked.
Note: This is part of the expanded workflow. For the simple path, use
/openspec:proposeor/openspec:ff.
Upstream source: Fission-AI/OpenSpec
openspec/changes/ that has a .openspec.yaml but has incomplete artifactsRead the change's .openspec.yaml for the schema name, then evaluate the state of each artifact:
For the spec-driven schema, check which files exist:
| Artifact | File(s) | Status |
|---|---|---|
| proposal | proposal.md | DONE if file exists, else READY (no deps) |
| specs | specs/**/*.md | DONE if ≥1 file exists, READY if proposal.md exists, else BLOCKED |
| design | design.md | DONE if file exists, READY if proposal.md exists, else BLOCKED |
| tasks | tasks.md | DONE if file exists, READY if specs AND design exist (or skipped), else BLOCKED |
Status definitions:
Display current state:
Change: [change-name]
Schema: spec-driven
Artifacts:
✓ proposal.md — DONE
→ specs/ — READY (first ready artifact)
→ design.md — READY
⋯ tasks.md — BLOCKED (waiting for specs, design)
If only one artifact is READY: create it automatically.
If multiple artifacts are READY, ask the user which to create next:
Multiple artifacts are ready to create:
1. specs/ — Requirements and scenarios
2. design.md — Technical approach
Which would you like to create? (1/2)
Generate the selected artifact. See artifact instructions from the schema:
For proposal.md:
Create a proposal document that establishes WHY this change is needed. Sections:
For specs/<capability>/spec.md:
Create specification files (one per capability in the proposal):
## ADDED Requirements
### Requirement: [Name]
[Description — the system SHALL/MUST do X]
#### Scenario: [Name]
- **WHEN** [action or event]
- **THEN** [expected outcome]
proposal.md to know which capabilities need specsspecs/<capability>/spec.md### and every scenario MUST use #### (4 hashtags)For design.md:
Create a technical design document. Sections:
For tasks.md:
Create an implementation checklist. Reference specs for WHAT and design for HOW:
## 1. Setup
- [ ] 1.1 [specific task with file reference]
## 2. Core Implementation
- [ ] 2.1 [specific task with file reference]
- [ ] 2.2 [specific task]
## 3. Integration
- [ ] 3.1 [specific task]
## 4. Polish
- [ ] 4.1 [documentation, cleanup]
Read proposal.md, specs/, and design.md (if available) to generate relevant tasks.
After creating the artifact, display the updated state:
Created: openspec/changes/[change-name]/[artifact-file]
Updated state:
✓ proposal.md — DONE
✓ specs/ — DONE (just created)
→ design.md — READY
→ tasks.md — READY (specs complete; design optional but recommended)
Continue with:
/openspec:continue → create design.md (recommended)
/openspec:continue → create tasks.md (skip design)
/openspec:ff → create all remaining artifacts at once
/openspec:continue call creates exactly ONE artifact/openspec:apply to start implementing