Skip to content
Development
Skill

/openspec-plus-spec

MANDATORY skill that activates whenever the OpenSpec specification phase begins. Triggers: /opsx-new or /opsx-continue runs; openspec-new-change, openspec-continue-change, or openspec-explore is active; `openspec instructions spec` or `openspec instructions specs` is invoked; or

BOOST
From plugin
openspec-plus
2156 skills
Install
$ npx -y skills add sudokar/openspec-plus --skill openspec-plus-spec --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/openspec-plus-spec

Context preview

The summary Claude sees to decide when to auto-load this skill.

MANDATORY skill that activates whenever the OpenSpec specification phase begins. Triggers: /opsx-new or /opsx-continue runs; openspec-new-change, openspec-continue-change, or openspec-explore is active; `openspec instructions spec` or `openspec instructions specs` is invoked; or

SKILL.md

openspec-plus-spec.SKILL.md
name: openspec-plus-spec
description: "MANDATORY skill that activates whenever the OpenSpec specification phase begins. Triggers: /opsx-new or /opsx-continue runs; openspec-new-change, openspec-continue-change, or openspec-explore is active; `openspec instructions spec` or `openspec instructions specs` is invoked; or the user wants to create, update, review, refine, or discuss an OpenSpec specification."
metadata:
  version: 1.6.1
  priority: high
  disable-user-invocation: true

OpenSpec Plus Spec

Mission

Strengthen specification quality. Requirements complete, testable, unambiguous, expressed as Gherkin scenarios for behavioral correctness, aligned with approved proposal and any existing design. Improves requirement quality before design (spec-first) or aligns requirements with existing design boundaries (design-first).

---

> **This skill is RIGID. NEVER write any spec file before completing Phase 1, presenting analysis to user, passing pre-write alignment gate, and (after writing) running self-review subagent. Running analysis internally and writing immediately is a skill violation — even if you checked every gate.**

**Red flags — STOP, you are about to violate this skill:**

  • "I already checked all the gates"
  • "The requirements look complete from the proposal"
  • "The user wants this quickly, I'll just write it"
  • "I surfaced these gaps in my reasoning, that counts"
  • "I'll list all my ambiguities in a table and ask the user to fill them in"
  • "I'll ask all questions at once so the user can answer in one message" (unless `settings.questionMode: batch` — then it's the documented procedure, not a shortcut)
  • "These ambiguities are related so I'll group them into one question" (outside configured `batch` mode)
  • "Free-form scenarios are clearer than Gherkin here"
  • "I should read the code to understand the context"
  • "The code I need to read is small, I'll just open it directly"
  • "I'll skim the spec myself, the reviewer subagent isn't needed"
  • "The fixes from the reviewer were minor, I should re-dispatch to confirm"

---

Inputs Available

OpenSpec allows either order after proposal:

  • `proposal → spec → design` (no design yet)
  • `proposal → design → spec` (design exists)

When this skill runs:

  • ALWAYS read approved proposal — authoritative source of intent
  • If design exists, ALWAYS read it — constrains acceptable spec language and bounded behavior
  • Spec MUST align with proposal AND any existing design

---

Workflow

Four phases. NEVER skip or merge.

Phase 0: Schema & Template Resolution
Phase 1: Interactive Analysis
Phase 2: Drift Check
Phase 3: Write & Self-Review

---

Workflow Visibility (MANDATORY)

Display workflow phases via task tool at start; update as each phase completes.

---

Core Principles

  • **Describe What, Not How** — spec defines behavior and outcomes, not implementation; prefer "what must happen" over "how it will be built".
  • **Every Requirement Must Be Verifiable** — requirements MUST be testable; avoid vague or subjective language.
  • **Surface Missing Requirements** — look for gaps in user behavior, system behavior, permissions, error handling, operational behavior, edge cases.
  • **YAGNI — No Speculative Requirements** — every requirement traces to proposal goal or present stakeholder need.
  • **Respect Project Standards** — read project instruction files (`AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, equivalents) at Phase 1 start; spec MUST respect project conventions; conflicts → surface to user, never silently override.

Spec Phase Reads Code Only When Strictly Required — And Only Via Subagent

Spec describes WHAT, not HOW. Default: no code reading — proposal and any existing design provide behavioral context.

When code reading IS required (requirement explicitly references existing behavior to ground), MUST dispatch `explore` subagent. NEVER read code in root context. Prompt MUST scope to observable behavior only, never implementation.

Rigid rule. Root-context code reading during spec phase is a skill violation, regardless of file size. Cannot articulate why code reading required? Don't read code.

When dispatching explore subagent, prompt: "Describe the observable behavior of <X> grounded in <FILES_OR_PATHS>. Return only externally observable: inputs, outputs, state changes, side effects. No implementation, data structures, algorithms, or call paths." Use response only for grounding terminology and current-behavior references.

---

Phase 0: Schema & Template Resolution

Run FIRST, before any analysis:

1. Run:

   openspec instructions specs --change <name> --json

(Use `spec` instead of `specs` if the schema names the artifact `spec` — check `openspec status --change <name>` for the artifact id.) Extract: `template` (structural authority; sections you MUST fill), `instruction` (per-section guidance; what content each section needs), `rules` (project constraints to honor). Parse template sections (H2/H3/H4 headers + HTML comments) — these are your **information requirements**; Phase 1 analysis MUST collect enough substance to fill every section. If the template has sections the 7-step analysis doesn't naturally cover, add targeted questions for them. 2. Read `openspec/.plus/config.yaml` (missing/unreadable/unrecognized → defaults): `settings.questionMode` (`sequential` default; `batch` groups steps 3-7's questions into fewer rounds — see Phase 1 below).

---

Phase 1: Interactive Analysis (MANDATORY)

**Pre-existing answers:** If recent conversation already answered any analysis points (requirements, ambiguities, edge cases, stakeholder concerns, scenarios) — via prior exploration, a detailed initial request, or any other source — incorporate those into your analysis and SKIP the corresponding question. Ask ONE question at a time only for genuinely unresolved gaps (`batch` mode: collect steps 3-7's questions into as few rounds as possible instead — same real answers, no assumptions). N

Read more
Ships withopenspec-plus

OpenSpec Plus — Agentic skills that enhance OpenSpec's Spec-Driven Development through better discovery, requirements, design decisions, execution planning and execution. Works with Claude Code, OpenCode, Github Copilot and any other AI coding agents

Get the whole plugin

Other skills on openspec-plus.