AgentSkillsCN

openspec-new-change

使用实验性产出物工作流,开启新的OpenSpec变更。当用户希望以结构化的、循序渐进的方式,创建新功能、修复缺陷或进行修改时使用此方法。

SKILL.md
--- frontmatter
name: openspec-new-change
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.
license: MIT
compatibility: Requires acfm CLI (bundled).
metadata:
  author: openspec
  version: "1.0"
  generatedBy: "1.1.1"

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

Input: The user's request should include a change name (kebab-case) OR a description of what they want to build.

Steps

  1. Verify project initialization

    Check if the project is initialized:

    bash
    acfm spec status --json
    

    If not initialized ("initialized": false):

    bash
    acfm spec init
    

    If initialized ("initialized": true):

    • Note the dirName field (either .acfm or openspec)
    • Continue with the workflow
  2. 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.

  3. 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 acfm spec schemas --json and let them choose

    Otherwise: Omit --schema to use the default.

  4. Create the change directory

    bash
    acfm spec new "<name>"
    

    Add --schema <name> only if the user requested a specific workflow. This creates a scaffolded change at {specDir}/changes/<name>/ (where {specDir} is either .acfm or openspec as detected by CLI) with the selected schema.

  5. Show the artifact status

    bash
    acfm spec status --change "<name>"
    

    This shows which artifacts need to be created and which are ready (dependencies satisfied).

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

    bash
    acfm spec instructions <first-artifact-id> --change "<name>"
    

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

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