Skip to content
cccskills
FreePublished on GitHub

openspec-new-change

Start an OpenSpec change for a feature, fix, or modification. Create its initial structure, show the workflow and current progress, and present the first planning document template for review before drafting any documents.

OriginalShow the original description

Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach. Also use when the user says "openspec new change" or "opsx new".

See how to install

Good for

  • Starting a feature change
  • Setting up a bug fix plan
  • Reviewing the first template in a chosen workflow

Files included (1)

  • SKILL.md5.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Start a new change using the experimental artifact-driven approach.

Store selection: If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run openspec store list --json to discover registered store ids, then pass --store <id> on the commands that read or write specs and changes (new change, status, instructions, list, show, validate, archive, doctor, context, schemas, view). Once selected, treat --store <id> as sticky for the rest of the workflow. Every unscoped example of those commands below is shorthand: before running it, append the flag. For example, run openspec status --change "<name>" --json --store "<id>", not the unscoped form shown below. Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local openspec/ root.

Project check: These steps expect a project that already uses OpenSpec. Before the first step that writes anything (new change, archive, sync specs, or authoring an artifact file), confirm the project has a root: run openspec list --json (with --store <id> when a store is selected, since the store is then the root) and read root. A root object means the project is set up. "root": null means it is not - there is no openspec/ directory here, and a write such as openspec new change would create one as a side effect. The command also exits non-zero, which is that answer rather than a broken CLI, so read the JSON instead of retrying or working around it.

One "root": null is not about setup: when a status error message starts with Declared in or Invalid store declaration in and names this project's openspec/config.yaml (or config.yml), the project does use OpenSpec through a store it declares, which this machine cannot resolve (the store is not registered, or the store: line is malformed). Do not treat it as uninitialized and skip the branches below: stop before writing and show the user that error's message and fix.

Otherwise, with no root, what happens next depends on how this workflow was reached:

  • Auto-selected: you chose this workflow yourself, without the user naming OpenSpec, naming this skill, or running its slash command. Stop using OpenSpec and answer the request normally, as you would with no OpenSpec installed. Do not ask them to set anything up and do not mention OpenSpec setup.
  • Explicit OpenSpec request: the user named OpenSpec, named this skill, or ran its slash command. Stop before writing and ask how to proceed: set this project up (openspec init), target a store they already have (--store <id>), or continue without OpenSpec for this request. Wait for their answer.

In both branches, never create the root as a side effect: do not run openspec init until the user asks for it, do not hand-create openspec/ files, and do not let a command create it.

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

    Ask the user (open-ended, no preset options):

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

  2. Determine the workflow schema

    Use the default schema (omit --schema) unless the user explicitly requests a different workflow.

    Use a different schema only if the user mentions:

    • A specific schema name → use --schema <name>
    • "show workflows" or "what workflows" → run openspec schemas --json and let them choose

    Otherwise: Omit --schema to use the default.

  3. Create the change directory

    openspec new change "<name>"
    

    Add --schema <name> only if the user requested a specific workflow. This creates a scaffolded change in the planning home resolved by the CLI.

  4. Show the artifact status

    openspec status --change "<name>" --json
    

    Use the returned planningHome, changeRoot, artifactPaths, and nextSteps instead of assuming repo-local paths.

  5. Get instructions for the first artifact The first artifact depends on the schema (e.g., proposal for spec-driven). Check the status output to find the first artifact with status "ready".

    openspec instructions <first-artifact-id> --change "<name>"
    

    This outputs the template and context for creating the first artifact.

  6. STOP and wait for user direction

Output

After completing the steps, summarize:

  • Change name and location
  • Schema/workflow being used and its artifact sequence
  • Current status (0/N artifacts complete)
  • The template for the first artifact
  • Prompt: "Ready to create the first artifact? Just describe what this change is about and I'll draft it, or ask me to continue."

Guardrails

  • Do NOT create any artifacts yet - just show the instructions
  • Do NOT advance beyond showing the first artifact template
  • If the name is invalid (not kebab-case), ask for a valid name
  • If a change with that name already exists, suggest continuing that change instead
  • Pass --schema if using a non-default workflow

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Draft or rewrite an OpenSpec documentation page collaboratively. The skill records its purpose and structure inside the page, writes one section at a time as requested, then updates related references and removes the working plan.

  • Shape a new documentation page together
  • Rewrite a page from scratch
  • Review and draft one section at a time
Fission-AI/OpenSpec72.4KUpdated Oct 19, 2026

Implement pending tasks from an OpenSpec change using its specifications and design documents. The skill updates task checkboxes, confirms progress, supports resuming unfinished work, and pauses when requirements or implementation issues need clarification.

  • Start implementing a planned OpenSpec change
  • Resume partially completed implementation
  • Track completed and remaining tasks
Fission-AI/OpenSpec72.4KUpdated Oct 19, 2026

Finalize an implemented OpenSpec change by checking planning files, task completion, and specification differences. Review whether to merge specification updates, verify any requested merge, then archive the change and report its location and outstanding warnings.

  • Archiving an implemented change
  • Reviewing specification updates before archiving
  • Checking unfinished work before closing a change
Fission-AI/OpenSpec72.4KUpdated Oct 19, 2026

Archive several OpenSpec changes together after reviewing their documents and task progress. The skill checks code to resolve overlapping specification updates, syncs the selected updates, and reports which changes were archived, skipped, or failed.

  • Archive several completed changes together
  • Resolve overlapping specification updates
  • Review unfinished work before archiving
Fission-AI/OpenSpec72.4KUpdated Oct 19, 2026

Continue an existing OpenSpec change by creating one planning artifact, such as a proposal or specification, per request. Read its dependencies and workflow instructions, complete missing files when needed, and report progress and newly available steps.

  • Resuming an existing change plan
  • Creating the next planning document
  • Completing files missing after an interrupted draft
Fission-AI/OpenSpec72.4KUpdated Oct 19, 2026

openspec-explore

FreeSummary

Explore ideas, investigate problems, and clarify requirements in an OpenSpec project through discussion grounded in existing code and specifications. Compare approaches, sketch diagrams, and identify open questions, with planning documents saved only within an explicitly approved scope.

  • Clarify the scope of a loosely defined feature idea
  • Compare technical approaches using project evidence
  • Revisit design choices when implementation gets stuck
Fission-AI/OpenSpec72.4KUpdated Oct 19, 2026

See all skills by Fission-AI

Report a problem with this skill