From openspec
Create a new change and generate all planning artifacts (proposal, specs, design, tasks) in one step. This is the default start command for the OpenSpec core workflow. Use when the user wants to start building something, says "propose", "I want to build", "create a change", or describes a new feature or fix.
npx claudepluginhub chenxizhang/agent-skills-and-plugins --plugin openspecThis skill uses the workspace's default tool permissions.
You are creating a new change using the OpenSpec OPSX workflow. This command is the fastest path — it creates the change directory and generates all planning artifacts in one step.
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 a new change using the OpenSpec OPSX workflow. This command is the fastest path — it creates the change directory and generates all planning artifacts in one step.
Upstream source: Fission-AI/OpenSpec — run
/openspec:check-updatesto check for updates.
OpenSpec uses a fluid, iterative workflow built around "changes" — folders in openspec/changes/<change-name>/ that contain planning artifacts. The default schema (spec-driven) produces four artifacts:
openspec/changes/<change-name>/
├── proposal.md — why we're doing this, what's changing
├── specs/ — requirements and scenarios per capability
├── design.md — technical approach
└── tasks.md — implementation checklist
If the user provided a change name or description, derive a kebab-case name from it (2-4 words, descriptive):
add-dark-modefix-payment-timeoutjwt-mobile-authIf no description was provided, ask: "What would you like to build or change?"
Create the change directory structure:
openspec/changes/<change-name>/
Also create openspec/changes/<change-name>/.openspec.yaml:
schema: spec-driven
created: [TODAY'S DATE ISO FORMAT]
Read the project configuration if it exists (openspec/config.yaml):
context field: inject into all artifact instructionsschema field: use as the schema (default: spec-driven)rules field: per-artifact rules to injectFor each artifact in the spec-driven schema (in dependency order):
proposal.mdPurpose: Establish WHY this change is needed.
# Proposal: [CHANGE NAME]
## Why
[1-2 sentences: what problem does this solve? Why now?]
## What Changes
[Bullet list of changes — be specific about new capabilities, modifications, or removals]
[Mark breaking changes with **BREAKING**]
## Capabilities
### New Capabilities
[List capabilities being introduced. Each becomes a new `openspec/specs/<name>/spec.md`]
[Use kebab-case names, e.g., `user-auth`, `data-export`]
### Modified Capabilities
[List existing capabilities whose REQUIREMENTS are changing]
[Leave empty if no requirement changes]
## Impact
[Affected code, APIs, dependencies, or systems]
Check openspec/specs/ for existing spec names to avoid duplicates in Modified Capabilities.
specs/<capability>/spec.md (one per capability in proposal)Purpose: Define WHAT the system should do.
For each capability listed in the proposal's Capabilities section, create openspec/changes/<change-name>/specs/<capability>/spec.md:
## [ADDED/MODIFIED/REMOVED] Requirements
### Requirement: [Requirement Name]
[Description — the system SHALL/MUST do X]
#### Scenario: [Scenario Name]
- **WHEN** [action or event]
- **THEN** [expected outcome]
Critical formatting rules:
### Requirement: <name> followed by description#### Scenario: <name> with WHEN/THEN format (4 hashtags exactly)####). Using 3 hashtags will fail silently.For MODIFIED requirements: Copy the ENTIRE existing requirement block from openspec/specs/<capability>/spec.md and modify it in full. Never use partial content.
design.md (if needed)Purpose: Explain HOW to implement the change.
Create only if any of these apply:
If not needed, skip this file.
# Design: [CHANGE NAME]
## Context
[Background, current state, constraints, stakeholders]
## Goals / Non-Goals
**Goals**:
- [What this design achieves]
**Non-Goals**:
- [What this explicitly excludes]
## Decisions
[Key technical choices with rationale — why X over Y?]
[For each decision: **Decision**: [choice] — **Rationale**: [why]; **Alternatives**: [what else was considered]]
## Risks / Trade-offs
- [Risk] → Mitigation: [how to address]
## Migration Plan
[Steps to deploy, rollback strategy if applicable]
## Open Questions
[Outstanding decisions or unknowns]
tasks.mdPurpose: Break down the work into trackable implementation tasks.
# Tasks: [CHANGE NAME]
## 1. Setup
- [ ] 1.1 [First setup task — project structure, dependencies]
- [ ] 1.2 [Second setup task]
## 2. Core Implementation
- [ ] 2.1 [First core task — specific file/component]
- [ ] 2.2 [Second core task — specific file/component]
- [ ] 2.3 [Third core task]
## 3. Integration & Testing
- [ ] 3.1 [Integration or test task]
- [ ] 3.2 [Another integration task]
## 4. Polish
- [ ] 4.1 [Documentation, cleanup, final review]
Task rules:
- [ ] X.Y Description format## N. [Phase] headingsIf openspec/config.yaml has:
context: prepend this context to each artifact's generation instructions (helps AI understand conventions)rules.<artifact-id>: inject these rules into the specific artifact's generationChange Created: openspec/changes/[change-name]/
Artifacts Generated:
✓ proposal.md — change rationale and scope
✓ specs/[cap]/spec.md — requirements and scenarios
✓ design.md — technical approach (if needed)
✓ tasks.md — implementation checklist
[count] tasks ready for implementation
Next step: Run /openspec:apply to start implementing tasks.
Or run /openspec:explore if you need to think through the approach first.
openspec/specs/ for existing capabilities before creating new onesopenspec/changes/ directory is the source of truth for in-progress work