openspec-workflow
Skill0 starsChanged 28 days agoMITView on GitHub
ChatGPT WebUI router for OpenSpec-first development. Use for non-trivial features, behavioral bug fixes, refactors, migrations, architecture changes, or implementation work in projects that use OpenSpec, and when the user says spec it, use OpenSpec, propose this change, or continue an OpenSpec change.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- thistleknot/skillstheir own version, first seen Nov 8, 2026
- cedaniel200/atlas-templatetheir own version, first seen Nov 1, 2026
- AVANT-ICONIC/skillstheir own version, first seen Oct 13, 2026
- nb-99/skillektiontheir own version, first seen Aug 19, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- cedaniel200/atlas-template★ 3same name
- nb-99/skillektion★ 1same name
- AVANT-ICONIC/skills★ 0same name
- thistleknot/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- anti-sloprushSkill
- dev-modeSkill
- game-conceptSkill
- geometric-designSkill
- intent-modeSkill
- plan-modeSkill
- seo-aiseoSkill
- spec-modeSkill
- video-watchSkill
- visual-chatSkill
- visual-gauntletSkill
- visual-prototypeSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
29 rules. 0 are common, 26 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
26
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Treat OpenSpec as the live change workflow, not as a documentation export after ChatGPT has already finished planning somewhere else.
- Distinctive: line 40
Use this workflow for non-trivial coding work in an OpenSpec project, including:
- Distinctive: line 50
Do not force OpenSpec onto a truly mechanical edit with no meaningful product or architecture choice.
- Distinctive: line 70
prefer the project's native OpenSpec instructions over assumptions in this skill.
- Distinctive: line 74
If an existing change already covers the request, continue or update it.
- Very specific: line 78
If the repository does not already use OpenSpec and this skill was auto-selected, do not create openspec/ or initialize OpenSpec as a side …
- Distinctive: line 82
When OpenSpec setup is explicitly requested, follow current official OpenSpec instructions rather than freezing installation folklore into …
- Distinctive: line 88
Use the project's native OpenSpec Explore workflow when material uncertainty remains about:
- Distinctive: line 99
Do not duplicate change-specific OpenSpec exploration in Plan Mode merely because Plan Mode exists.
- Distinctive: line 103
Use the native OpenSpec Propose workflow when the change is clear enough to define.
- Distinctive: line 127
When the target project uses OpenSpec, Spec Mode must delegate the change lifecycle to this skill instead of waiting until all planning is …
- Distinctive: line 133
When an OpenSpec project is implementing a non-trivial change, Dev Mode must implement from the identified OpenSpec change and respect the …
- Distinctive: line 135
If no suitable change exists yet, do not start ad-hoc implementation.
- Distinctive: line 149
use repository writes only when authorized.
- Distinctive: line 150
never invent generated metadata or a schema that cannot be verified.
- Distinctive: line 151
prefer updating canonical existing artifacts over creating parallel planning files.
- Distinctive: line 153
If a safe next step genuinely requires the local OpenSpec CLI, terminal, or another unavailable local tool, hand off to a local coding …
- Distinctive: line 161
keep task completion honest and evidence-backed.
- Distinctive: line 162
avoid helper-script chains when a direct code change is available.
- Distinctive: line 163
do not widen scope opportunistically.
- Distinctive: line 166
If a new technical fact changes only the implementation route while preserving agreed behavior, update the design coherently.
- Distinctive: line 168
If evidence changes intended behavior, scope, compatibility, or acceptance criteria, revise the OpenSpec change before continuing …
- Distinctive: line 172
Do not turn a greenfield project into one giant frozen OpenSpec change covering the entire imagined future.
- Very specific: line 186
Do not create PLAN.md, SPEC.md, handoff files, issue-body duplicates, or other shadow requirement stores merely to preserve the same …
- Distinctive: line 192
Before claiming implementation complete:
- Distinctive: line 195
run or inspect the strongest available project verification.
- Distinctive: line 196
use the native OpenSpec Verify workflow when the installed profile provides it.
- Very specific: line 215
When the user sends continue, resume that operation.
- Distinctive: line 226
no shadow spec created by WebUI.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
OpenSpec Workflow
Treat OpenSpec as the live change workflow, not as a documentation export after ChatGPT has already finished planning somewhere else.
This skill routes work through the project's native OpenSpec lifecycle. It does not replace OpenSpec's generated skills, commands, schema, or project-specific rules.
Core routing
For a project that already uses OpenSpec:
request
│
├─ messy underlying intent ─► Intent Mode, only if actually needed
│
└─ concrete code change
│
├─ material uncertainty ─► OpenSpec Explore
│
└─ sufficiently clear ───► OpenSpec Propose
↓
agreed change contract
↓
OpenSpec Apply
↓
verification / project gates
↓
ArchiveOpenSpec is iterative rather than a rigid waterfall. Artifacts can be revised as evidence changes. The invariant is that implementation must not silently outrun or replace the agreed change contract.
Activation boundary
Use this workflow for non-trivial coding work in an OpenSpec project, including:
- new features and capabilities;
- behavioral bugs where correct behavior needs definition;
- meaningful refactors;
- migrations or breaking changes;
- architecture, interface, or cross-module changes;
- work delegated to fresh-context agents;
- changes with meaningful scope, compatibility, acceptance, or failure-state ambiguity.
Do not force OpenSpec onto a truly mechanical edit with no meaningful product or architecture choice.
A useful test is:
Can this change alter observable behavior, interfaces, architecture,
compatibility, migration state, or acceptance expectations?
yes → OpenSpec
no, purely mechanical → direct work may be appropriateExplicit user requests to use OpenSpec always activate this skill.
Inspect before routing
Before creating anything:
- inspect the repository for an OpenSpec root, config, store declaration, existing changes/specs, and generated OpenSpec skills or commands;
- inspect repository-specific contribution and quality rules;
- identify whether a relevant existing change already covers the request;
- prefer the project's native OpenSpec instructions over assumptions in this skill.
Current OpenSpec is schema-driven. Never assume every repository uses the same literal artifact graph.
If an existing change already covers the request, continue or update it. Do not create a replacement change because a new chat started.
Do not initialize silently
If the repository does not already use OpenSpec and this skill was auto-selected, do not create openspec/ or initialize OpenSpec as a side effect.
Adoption or initialization requires explicit user intent or an already-authorized project workflow.
When OpenSpec setup is explicitly requested, follow current official OpenSpec instructions rather than freezing installation folklore into this skill.
Choose Explore vs Propose correctly
Explore
Use the project's native OpenSpec Explore workflow when material uncertainty remains about:
- intended behavior;
- scope or non-goals;
- architecture with user-significant consequences;
- compatibility or migration;
- acceptance criteria;
- competing approaches that change the contract.
Explore may inspect code, tests, docs, and current specs. It is thinking and clarification, not implementation.
Do not duplicate change-specific OpenSpec exploration in Plan Mode merely because Plan Mode exists.
Propose
Use the native OpenSpec Propose workflow when the change is clear enough to define.
Propose may still ask focused questions if ambiguity would materially change scope, behavior, compatibility, or acceptance.
Proposal/spec/design/task authoring is planning work. Do not edit product code during the same operation that is still establishing the contract.
Relationship to the WebUI modes
Intent Mode
Intent Mode is optional upstream help for genuinely messy brain dumps or hidden objectives.
Once the real objective is clear and the request is a concrete non-trivial code change in an OpenSpec project, route here. Do not force a separate Plan Mode pass unless broader project-level decisions remain.
Plan Mode
Plan Mode is for higher-order decisions that span multiple OpenSpec changes, projects, product strategy, architecture programs, or workflows where the concrete change boundary is not yet known.
For one concrete OpenSpec change, prefer OpenSpec Explore over duplicating a separate planning interview.
Spec Mode
Spec Mode is a compatibility entry point.
When the target project uses OpenSpec, Spec Mode must delegate the change lifecycle to this skill instead of waiting until all planning is finished and then exporting the result to OpenSpec.
For projects without a native specification system, Spec Mode may still build a coherent standalone specification.
Dev Mode
When an OpenSpec project is implementing a non-trivial change, Dev Mode must implement from the identified OpenSpec change and respect the project's native Apply workflow.
If no suitable change exists yet, do not start ad-hoc implementation. Route back through Explore or Propose first.
Visual prototype gate inside native Explore / Propose (conditional)
For visually led games, consumer apps and interfaces, compose with visual-prototype. During Explore or Propose, establish one owner-approved, cohesive visual anchor from an authorized image generation or existing reference. Stop after the first successful selection; do not automatically generate more variants. If early specification is needed to resolve gameplay or screens, create that exploration first, then approve the visual and revise the same native OpenSpec change before Apply. Bind the actual accepted image and a concrete visual contract to existing native artifacts; never fork a shadow GDD or invent product features from concept art. Nonvisual changes do not require this gate. Visual Gauntlet verifies rendered output against the anchor during implementation.
WebUI without the OpenSpec CLI
ChatGPT WebUI may have repository access without a local shell or OpenSpec CLI.
In that case:
- inspect the repository's existing
openspec/configuration and generated OpenSpec skill/command instructions; - preserve the project's schema and naming;
- use repository writes only when authorized;
- never invent generated metadata or a schema that cannot be verified;
- prefer updating canonical existing artifacts over creating parallel planning files.
If a safe next step genuinely requires the local OpenSpec CLI, terminal, or another unavailable local tool, hand off to a local coding agent with the exact repository, change identifier, completed work, and next native OpenSpec operation.
Implement from the change
During Apply / Dev work:
- load the exact current change rather than reconstructing intent from chat history;
- implement coherent vertical behavior;
- keep task completion honest and evidence-backed;
- avoid helper-script chains when a direct code change is available;
- do not widen scope opportunistically;
- preserve repository-specific gates and authority boundaries.
If a new technical fact changes only the implementation route while preserving agreed behavior, update the design coherently.
If evidence changes intended behavior, scope, compatibility, or acceptance criteria, revise the OpenSpec change before continuing implementation.
Incremental changes, not mega-specs
Do not turn a greenfield project into one giant frozen OpenSpec change covering the entire imagined future.
Prefer coherent increments:
change A → implement → verify → archive
change B → implement → verify → archive
...For brownfield repositories, specify the capabilities touched by the current change. Do not document the entire application before useful work can proceed.
Avoid competing truth stores
Do not create PLAN.md, SPEC.md, handoff files, issue-body duplicates, or other shadow requirement stores merely to preserve the same information already held by the OpenSpec change.
Other systems may remain authoritative for issue identity, approvals, release gates, evidence, deployment, or organization-level policy. Respect those boundaries and link to them instead of copying them into a second truth store.
Verification and archive
Before claiming implementation complete:
- compare implementation against observable requirements and scenarios;
- run or inspect the strongest available project verification;
- use the native OpenSpec Verify workflow when the installed profile provides it;
- obey repository-specific quality gates;
- state unavailable verification honestly.
Archive only when the change is actually complete. Do not use archive as a way to make unfinished work disappear into a nicer folder.
Durable continuation
For multi-turn WebUI work, preserve:
- repository;
- OpenSpec root/store when relevant;
- exact change identifier;
- current artifact state;
- implementation tasks completed and remaining;
- verification already performed;
- blockers;
- exact next native workflow operation.
When the user sends continue, resume that operation. Do not restart discovery or create a fresh change.
Completion
A completed OpenSpec workflow should leave:
- one coherent change, not several competing versions;
- implementation aligned to that change;
- verification evidence;
- repository-specific gates satisfied or explicit blockers recorded;
- archive completed when appropriate;
- no shadow spec created by WebUI.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

