<< All versions

Skill v1.0.0

currentTrusted Publisher100/100
microsoft/rayfin/openspec-ff-change
──Details
PublishedOctober 10, 2026 at 08:44 AM
Content Hashsha256:ce75b430e78f215e...
Git SHA
──Files
Files (1 file, 4.4 KB)
SKILL.md4.4 KBactive
SKILL.md · 103 lines · 4.4 KB

version: "1.0.0" name: openspec-ff-change description: Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually. license: MIT compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" generatedBy: "1.1.1"


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.

Steps

  1. 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.

  1. Create the change directory

``bash npx openspec new change "<name>" ` This creates a scaffolded change at openspec/changes/<name>/`.

  1. Get the artifact build order

``bash npx openspec 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
  1. 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 npx 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 template as the structure
  • Apply context and rules as constraints - but do NOT copy them into the file
  • Show brief progress: "✓ Created <artifact-id>"

b. Continue until all `applyRequires` artifacts are complete

  • After creating each artifact, re-run npx openspec status --change "<name>" --json
  • Check if every artifact ID in applyRequires has status: "done" in the artifacts array
  • Stop when all applyRequires artifacts are done

c. If an artifact requires user input (unclear context):

  • Use AskUserQuestion tool to clarify
  • Then continue with creation
  1. Show final status

``bash npx openspec 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:apply or ask me to implement to start working on the tasks."

Artifact Creation Guidelines

  • Follow the instruction field from openspec instructions for each artifact type
  • The schema defines what each artifact should contain - follow it
  • Read dependency artifacts for context before creating new ones
  • Use template as the structure for your output file - fill in its sections
  • IMPORTANT: context and rules are 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

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
All versions