Fast-forward through artifact creation - generate everything needed to start implementation in one go.
Input: The user's request should include a change name (kebab-case) OR a description of what they want to build.
Language Requirement
All work for this change MUST be done in Chinese (中文):
- •All generated documents (proposal, design, specs, tasks) must be written in Chinese
- •All code comments must be in Chinese
- •All communication and explanations must be in Chinese
Steps
- •
If no clear input provided, ask what they want to build
Use the AskUserQuestion tool (open-ended, no preset options) to ask:
"What change do you want to work on? Describe what you want to build or fix."
From their description, derive a kebab-case name (e.g., "add user authentication" →
add-user-auth).IMPORTANT: Do NOT proceed without understanding what the user wants to build.
- •
Create the change directory
bashopenspec new change "<name>"
This creates a scaffolded change at
openspec/changes/<name>/. - •
Get the artifact build order
bashopenspec status --change "<name>" --json
Parse the JSON to get:
- •
applyRequires: array of artifact IDs needed before implementation (e.g.,["tasks"]) - •
artifacts: list of all artifacts with their status and dependencies
- •
- •
Create artifacts in sequence until apply-ready
Use the TodoWrite tool to track progress through the artifacts.
Loop through artifacts in dependency order (artifacts with no pending dependencies first):
a. For each artifact that is
ready(dependencies satisfied):- •Get instructions:
bash
openspec instructions <artifact-id> --change "<name>" --json
- •The instructions JSON includes:
- •
context: Project background (constraints for you - do NOT include in output) - •
rules: Artifact-specific rules (constraints for you - do NOT include in output) - •
template: The structure to use for your output file - •
instruction: Schema-specific guidance for this artifact type - •
outputPath: Where to write the artifact - •
dependencies: Completed artifacts to read for context
- •
- •Read any completed dependency files for context
- •Create the artifact file using
templateas the structure - •Apply
contextandrulesas constraints - but do NOT copy them into the file - •Show brief progress: "✓ Created <artifact-id>"
b. Continue until all
applyRequiresartifacts are complete- •After creating each artifact, re-run
openspec status --change "<name>" --json - •Check if every artifact ID in
applyRequireshasstatus: "done"in the artifacts array - •Stop when all
applyRequiresartifacts are done
c. If an artifact requires user input (unclear context):
- •Use AskUserQuestion tool to clarify
- •Then continue with creation
- •Get instructions:
- •
Show final status
bashopenspec status --change "<name>"
Output
After completing all artifacts, summarize:
- •Change name and location
- •List of artifacts created with brief descriptions
- •What's ready: "All artifacts created! Ready for implementation."
- •Prompt: "Run
/opsx-applyor ask me to implement to start working on the tasks."
Artifact Creation Guidelines
- •Follow the
instructionfield fromopenspec instructionsfor each artifact type - •The schema defines what each artifact should contain - follow it
- •Read dependency artifacts for context before creating new ones
- •Use
templateas the structure for your output file - fill in its sections - •IMPORTANT:
contextandrulesare constraints for YOU, not content for the file- •Do NOT copy
<context>,<rules>,<project_context>blocks into the artifact - •These guide what you write, but should never appear in the output
- •Do NOT copy
Guardrails
- •Create ALL artifacts needed for implementation (as defined by schema's
apply.requires) - •Always read dependency artifacts before creating a new one
- •If context is critically unclear, ask the user - but prefer making reasonable decisions to keep momentum
- •If a change with that name already exists, suggest continuing that change instead
- •Verify each artifact file exists after writing before proceeding to next