smithery.ai

openspec-propose

>- Use when adding features, changing behavior, or modifying architecture. Creates change proposal with specs and tasks. ALWAYS ask for approval before proceeding to implementation. Do NOT use for bug fixes or trivial changes.

First seen Apr 4, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,408 B
  • docs SUMMARY.md 247 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

OpenSpec Propose

Create change proposals for new features or behavioral changes.

Announce: "I'm using openspec-propose to create a change proposal for approval."

Iron Law

NO IMPLEMENTATION WITHOUT APPROVED PROPOSAL

Do NOT write implementation code during this phase. Only create:

  • proposal.md
  • tasks.md
  • design.md (if complex)
  • Spec deltas

Process

Phase 1: Gather Context

  1. Read openspec/project.md for conventions
  2. Run openspec list --specs to see current capabilities
  3. Run openspec list to check for conflicts
  4. Search codebase for related code: rg [keyword]

Phase 2: Choose Change ID

Format: verb-noun in kebab-case

Examples:

  • add-leaderboard
  • update-scoring-algorithm
  • refactor-game-state

Verify uniqueness against openspec list.

Phase 3: Create Proposal

Create openspec/changes/[id]/proposal.md:

# Change: [Brief description]

## Why

[1-2 sentences: What problem does this solve?]

## What Changes

- [Change 1]
- [Change 2]
- **BREAKING**: [If any breaking changes]

## Impact

- Affected specs: [list]
- Affected code: [key files/directories]

Phase 4: Create Spec Deltas

For each affected capability, create openspec/changes/[id]/specs/[capability]/spec.md:

## ADDED Requirements

### Requirement: [Name]

The system SHALL [behavior].

#### Scenario: [Name]

- **WHEN** [condition]
- **THEN** [expected result]

## MODIFIED Requirements

### Requirement: [Existing Name]

[Complete updated requirement text - not just the diff]

#### Scenario: [Name]

- **WHEN** [condition]
- **THEN** [expected result]

Every requirement MUST have at least one scenario.

Phase 5: Create Tasks

Create openspec/changes/[id]/tasks.md:

## 1. [Category]

- [ ] 1.1 [Specific task - 2-5 minutes]
- [ ] 1.2 [Specific task - 2-5 minutes]

## 2. [Category]

- [ ] 2.1 [Specific task - 2-5 minutes]

Phase 6: Validate

openspec validate [id] --strict

Fix ALL issues before presenting to user.

Phase 7: Request Approval

Present summary to user:

## Proposal: [id]

**Goal:** [One sentence]

**Changes:**
- [Key change 1]
- [Key change 2]

**Tasks:** [X] items

**Ready for your review.** Run `openspec show [id]` for full details.

Do you approve this proposal?

WAIT for explicit approval before proceeding.

REQUIRED SUB-SKILL

After approval: → Load task-planning skill if tasks need more detail → Load openspec-apply skill to begin implementation

Red Flags - STOP

If you catch yourself:

  • Writing implementation code
  • Skipping validation
  • Proceeding without user approval
  • Creating vague tasks ("implement feature")

STOP. This phase is planning only.

Common Rationalizations

Excuse Reality
"This is small, skip the proposal" Small changes compound. Spec it anyway.
"I'll document after implementing" After-the-fact docs miss the reasoning.
"User seems impatient" Wrong implementation wastes more time.
"Tasks are obvious, I'll figure it out" Vague tasks lead to scope creep.