cospec-propose
Enforces a 6-stage dev cycle. Use this to ensure thorough planning before writing code.
Install
mkdir -p .claude/skills/cospec-propose && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18845" && unzip -o skill.zip -d .claude/skills/cospec-propose && rm skill.zipInstalls to .claude/skills/cospec-propose
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Propose a new change and generate every artifact its type requires, in one guided pass.Key capabilities
- →Propose a new openspec change
- →Generate all required artifacts for a change type
- →Obtain authoritative templates and rules for each artifact
- →Validate artifacts against project rules and format
- →Prepare a change for implementation
How it works
The skill guides the user through creating a new change, generating artifacts based on the chosen type, and validating them against project rules. It provides instructions and templates for each artifact.
Inputs & outputs
When to use cospec-propose
- →Plan new feature development
- →Verify implementation quality
- →Enforce integration testing
- →Structure dev process
About this skill
Propose a new openspec change and drive it to apply-ready in one pass — every artifact its type requires, and nothing its type forbids.
All work goes through cospec. Never call openspec directly, and never
hand-edit the bookkeeping under openspec/changes/.
cospec is self-describing — you do not need to explore the repo to learn what
to write. cospec new prints the exact artifact plan for the type, and
cospec instructions <artifact> --change <slug> --json prints the authoritative
template, per-type format, and project rules for each artifact. Trust that
output: do NOT read openspec/schemas/, openspec/config.yaml, or other repo
files to reverse-engineer an artifact's shape. Create the change first with
cospec new, then let the instructions drive each artifact; every wasted
exploration step is a turn you do not spend authoring.
1. Pick the type and slug
The argument after the command is either <type>: <free text> (for example
feat: add a greeting endpoint) or a bare description.
- If it begins with a known type followed by
:, use that type. - Otherwise ask the user to choose a type with AskUserQuestion, offering this table:
| Type | What it is for | Artifacts |
|---|---|---|
| build | Dependency or build-config change | proposal → blocking-changes → tasks (3 short artifacts) |
| chore | Maintenance not affecting src or tests | proposal → blocking-changes → tasks (3 short artifacts) |
| ci | CI configuration and automation pipeline change | proposal → blocking-changes → tasks (3 short artifacts) |
| docs | Documentation content only | proposal → blocking-changes → tasks (3 short artifacts) |
| feat | A new feature — the full workflow | proposal → blocking-changes, specs (+ design) → tasks |
| fix | A bug fix | proposal → blocking-changes (+ specs, design) → tasks |
| perf | A performance change with identical behavior | proposal (+ Benchmarks) → blocking-changes → tasks |
| refactor | A structure change with no behavior change | proposal → blocking-changes, design → tasks |
| revert | Roll back a previously shipped change | proposal (+ Reverts) → blocking-changes → tasks |
| style | Formatting or whitespace only | proposal → blocking-changes → tasks (3 short artifacts) |
| test | Tests for already-specified behavior | proposal → blocking-changes → tasks (3 short artifacts) |
Derive a kebab-case slug matching ^[a-z][a-z0-9]*(-[a-z0-9]+)*$ from the
description, or ask the user for one.
2. Create the change
cospec new <type> <slug>
This writes openspec/changes/<slug>/.openspec.yaml (its schema is the type)
and prints the artifact plan — the exact set of artifacts you must write for
this type. That plan is authoritative; do not add artifacts the type forbids.
3. Build the artifacts in dependency order
Loop until every artifact in the type's apply.requires is written:
cospec status --change <slug> --json— read which artifacts are ready to write next (their dependencies are satisfied) and which are still waiting.- For each ready artifact, run
cospec instructions <artifact> --change <slug> --json. The JSON carries the template, the type-specific instruction, and any projectcontextandrules. Treatcontextandrulesas constraints on how you write — never copy them into the artifact itself. - Write the artifact at the path the instructions name, following the format
exactly.
blocking-changes.md, thespecs/**/spec.mddeltas, andverification.mdare machine-parsed — small deviations fail validation. - Repeat.
For blocking-changes.md, scan the other active changes and the archive as the
instruction directs, classify each dependency as hard (Blocked by) or soft
(Soft-blocked by), and confirm the list with the user before finalizing it.
4. Format, then validate
If this repo has a formatter task (for example mise run format:fix; check its
task list / docs), run it over the change directory now — an artifact that
passes validate --strict can still fail the repo's format gate because the
formatter rewraps markdown, and formatting must never be committed unformatted.
cospec validate <slug> --strict
Fix every ERROR and every WARNING; if you edit an artifact to fix one, re-run the formatter over it before re-validating. Re-run until it is clean.
5. Hand off
Tell the user the change is apply-ready and that the next step is
/cospec:apply when they want to implement it. Do not start implementation
here.
When not to use it
- →When directly calling `openspec`
- →When hand-editing bookkeeping files under `openspec/changes/`
- →When exploring the repository to learn what to write
Prerequisites
Limitations
- →Does not start implementation of the change
- →Requires adherence to specific artifact formats for machine parsing
- →Does not allow adding artifacts that the type forbids
How it compares
This workflow ensures all necessary artifacts are created and validated in a structured, guided manner, unlike a manual process that might miss required steps or introduce formatting errors.
Compared to similar skills
cospec-propose side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| cospec-propose (this skill) | 0 | 17d | No flags | Intermediate |
| openspec-onboard | 10 | 5mo | Review | Beginner |
| workflow-orchestration-patterns | 10 | 2mo | No flags | Advanced |
| meta-automation-architect | 7 | 8mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
openspec-onboard
studyzy
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
workflow-orchestration-patterns
wshobson
Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration.
meta-automation-architect
comzine
Use when user wants to set up comprehensive automation for their project. Generates custom subagents, skills, commands, and hooks tailored to project needs. Creates a multi-agent system with robust communication protocol.
hive-mind-advanced
ruvnet
Advanced Hive Mind collective intelligence system for queen-led multi-agent coordination with consensus mechanisms and persistent memory
openspec-new-change
studyzy
使用实验性的产出物工作流启动一个新的 OpenSpec 变更。当用户想要通过结构化的分步方法创建新功能、修复或修改时使用。
router-first-architecture
parcadei
Router-First Architecture