Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jim60105 avatar

Openspec Generate Specs

  • 3 installs
  • 21 repo stars
  • Updated July 31, 2026
  • jim60105/copilot-prompt

Generate OpenSpec main specifications from the current project state by analyzing code, docs, AGENTS.md, and GitHub issues and PRs.

About

Writes finished OpenSpec specs to openspec/specs/ based on what already exists in a project, gathering context from docs, codebase structure, and GitHub activity. A developer uses it to bootstrap or refresh specs for a project that has code but no specs.

  • Analyzes existing implementation rather than proposing future changes
  • Pulls context from AGENTS.md, src tree, and GitHub issues/PRs

Openspec Generate Specs by the numbers

  • 3 all-time installs (skills.sh)
  • Ranked #1,268 of 1,879 Documentation skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jim60105/copilot-prompt --skill openspec-generate-specs

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3
repo stars21
Last updatedJuly 31, 2026
Repositoryjim60105/copilot-prompt

What it does

Generate OpenSpec main specifications from the current project state by analyzing code, docs, AGENTS.md, and GitHub issues and PRs.

Files

SKILL.mdMarkdownGitHub ↗

Generate OpenSpec main specifications by analyzing the current project's code, documentation, issues, and pull requests.

Unlike openspec-propose (which creates a change with proposal/design/tasks artifacts for future work), this skill writes finished specs directly to openspec/specs/ based on what already exists in the project.

Input: Optionally specify which capabilities or areas to generate specs for. If omitted, analyze the full project and determine capabilities automatically.

Steps

1. Gather project context

Collect information from all available sources. Prioritize breadth over depth — skim first, then deep-dive into relevant areas.

a. Project documentation:

  • Read AGENTS.md (or CONTRIBUTING.md, README.md) for architecture overview, conventions, and design decisions
  • Read docs/ directory for feature specs, design docs, BDD features (.feature files)
  • Read openspec/config.yaml for project context and rules

b. Codebase structure:

  • Scan src/ directory tree to understand module organization
  • Read key files (entry points, type definitions, core modules) to understand capabilities
  • Identify the main functional areas / capabilities the system provides

c. GitHub issues and PRs (if available):

  • Use GitHub MCP tools to fetch recent open/closed issues for requirements context
  • Use GitHub MCP tools to fetch recent merged PRs for implemented features
  • Extract requirement-like information (feature requests, bug fixes, design decisions)

d. Existing specs (if any):

  • Read openspec/specs/ to understand what's already documented
  • Identify gaps between existing specs and actual implementation

2. Identify capabilities

Based on the gathered context, determine the project's main capability areas. Each capability becomes a spec file at openspec/specs/<capability>/spec.md.

Use the AskUserQuestion tool to confirm the identified capabilities before proceeding:

"I've identified these capabilities from the project. Which should I generate specs for?"

Present the list with brief descriptions. Let the user select all or a subset.

Naming convention: Use kebab-case for capability names (e.g., memory-system, platform-abstraction, acp-integration).

3. Check existing specs

For each selected capability:

  • If openspec/specs/<capability>/spec.md already exists, read it
  • Use AskUserQuestion tool to ask: "Spec for <capability> already exists. Overwrite, merge, or skip?"
  • Overwrite: Replace entirely with newly generated spec
  • Merge: Add missing requirements/scenarios to existing spec, preserve existing content
  • Skip: Leave as-is

4. Generate specs

For each capability, create a spec file following the OpenSpec spec format.

Use the TodoWrite tool to track progress through capabilities.

Spec file structure (openspec/specs/<capability>/spec.md):

   # <Capability Name>

   ## Purpose

   <Brief description of what this capability does and why it exists.>

   ## Requirements

   ### Requirement: <Requirement Name>

   <The system SHALL/SHOULD/MAY description using RFC 2119 language.>

   #### Scenario: <Scenario Name>
   - **GIVEN** <precondition>
   - **WHEN** <action>
   - **THEN** <expected outcome>

   #### Scenario: <Another Scenario>
   - **GIVEN** <precondition>
   - **WHEN** <action>
   - **THEN** <expected outcome>

Writing guidelines:

  • Use RFC 2119 keywords (SHALL, SHOULD, MAY) for requirement strength
  • Derive requirements from actual code behavior, not aspirational features
  • Include scenarios that reflect real code paths (check tests for scenario ideas)
  • Reference source files in requirement descriptions when helpful (e.g., "Implemented in src/core/workspace-manager.ts")
  • Keep requirements atomic — one concern per requirement
  • Group related scenarios under their parent requirement

5. Write spec files

For each capability:

   mkdir -p openspec/specs/<capability>

Write the spec content to openspec/specs/<capability>/spec.md.

After writing each file, verify it exists and show brief progress.

6. Validate output

Run validation if available:

   openspec validate --specs --json

If validation fails, fix issues and re-validate.

7. Show summary

Display what was generated:

   ## Specs Generated

   | Capability | Requirements | Scenarios | Status |
   |------------|-------------|-----------|--------|
   | <name>     | N           | M         | New/Merged/Overwritten |

   Total: X capabilities, Y requirements, Z scenarios

   Files written to `openspec/specs/`.

Source Priority

When information conflicts across sources, prefer in this order: 1. Actual code behavior (ground truth) 2. Test assertions (verified behavior) 3. BDD feature files / design docs (intended behavior) 4. GitHub issues/PRs (discussed behavior) 5. README / AGENTS.md (described behavior)

Guardrails

  • Always confirm capability list with user before generating
  • Never fabricate requirements not supported by code or documentation
  • If a capability area is ambiguous, ask for clarification
  • Preserve existing spec content when merging (only add, don't remove unless user confirms)
  • Each spec file must have at least a Purpose section and one requirement
  • Use consistent formatting across all generated spec files

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.