Files
OpenSpec/docs/editing-changes.md
T
bb1f18c483 docs: comprehensive overhaul — discoverability, explore-first, and closing recurring doc-request issues (#1237)
* docs: comprehensive documentation overhaul (home, mental model, command location, FAQ, glossary, troubleshooting, recipes)

Addresses #1228 (docs are fragmented and hard to discover). Additive,
docs-only. The single sharpest gap from the issue thread was that nobody
explains where slash commands run, hence the new "How Commands Work" page.

New docs:
- docs/README.md          documentation home / index that maps every doc
- docs/how-commands-work.md  where /opsx:* (chat) vs openspec (terminal) run; "interactive mode" answered
- docs/overview.md        core concepts at a glance, one page
- docs/faq.md             consolidated common questions
- docs/glossary.md        every term in one place
- docs/troubleshooting.md concrete fixes for concrete failures
- docs/examples.md        real changes start to finish (recipes)

Small additive edits:
- docs/getting-started.md  "where do I type this?" callout + first-five-minutes + richer Next Steps
- README.md                Docs list points at the new home and key new pages

Voice: warm, plain, bottom-line-up-front; no em-dashes in prose.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: make /opsx:explore front and center, plus general polish

Per maintainer feedback (Tabish): "the docs in general need some work,
alongside making the explore option a lot more front and center."

explore ships in the default core profile but every doc led with propose
and treated explore as a footnote for "unclear requirements." This reframes
the canonical loop as explore -> propose -> apply -> archive and gives
explore real prominence.

- docs/explore.md (new): dedicated "Explore First" guide. When to use it,
  what it does/doesn't, a full transcript, handoff to propose, tradeoffs.
- getting-started.md: explore added to the flow and first-five-minutes,
  with a featured callout and Next Steps entry.
- overview.md: explore featured in the loop and next-links.
- docs/README.md: explore in the opening, pick-your-path, 30-second
  version, and the doc map.
- how-commands-work.md: explore leads the command list with a "good rhythm"
  note and an optional step in the clean-first-run example.
- workflows.md: new first-class "Start by exploring" pattern in the default
  section (was buried under expanded mode); quick-reference row strengthened.
- commands.md / faq.md / glossary.md: explore featured as the place to start.
- examples.md: top callout pointing at the explore recipe.
- README.md: explore opens the "See it in action" demo and Quick Start,
  and is added to the Docs list.

Docs-only and additive. No em-dashes in prose; links verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: close recurring gaps (existing projects, editing changes, uninstall, context limits) + sync tool list

Sweep of open issues and discussions surfaced several questions good docs
should answer but didn't. This adds the missing guides and fixes a stale list.

New guides:
- docs/existing-projects.md: adopting OpenSpec on a large brownfield codebase
  without documenting everything up front (addresses #510, #1100, #176).
  Delta-first framing, first-change walkthrough, onboard, importing existing
  requirements docs, domain organization, monorepo/workspace pointers.
- docs/editing-changes.md: how to edit any artifact, update a proposal/spec
  after starting, go back after implementing, and reconcile manual code edits
  (addresses #684, #976, #355, #1188, #169, #1206).

Enhancements:
- installation.md: Updating + Uninstalling sections (addresses #308).
- faq.md: new entries for existing codebases, editing artifacts, going back,
  reconciling manual edits, context limits / long sessions, and uninstalling
  (addresses #257 among others).
- cli.md: --tools list now includes `vibe` and matches AI_TOOLS in
  src/core/config.ts, with a note pointing at the source (fixes #1213).
- Wired the new guides into the docs home, getting-started, and the README.

Docs-only and additive. No em-dashes in prose; links and section anchors verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: reconcile coordinate-across-repos docs with the stores model

The merge with main pulled in the stores rename (#1190), which retired the
workspaces/initiatives/context-store vocabulary and deleted docs/workspaces-beta/.
This updates the three docs still describing the old model so they match the
new stores model, fixing the vocabulary-sweep test and dead links:

- glossary.md: Workspace/Link/Context store/Initiative -> Store/Reference/
  Working context/Workset; link to stores-beta/user-guide.md
- README.md: replace deleted workspaces-beta/* links with the Stores User
  Guide and Agent Contract
- existing-projects.md: reframe the multi-repo section as stores; drop the
  dead concepts.md#coordination-workspaces anchor

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: TabishB <tabishbidiwale@gmail.com>
Co-authored-by: Tabish Bidiwale <30385142+TabishB@users.noreply.github.com>
2026-06-24 06:52:59 +00:00

6.1 KiB

Editing & Iterating on a Change

Every artifact in a change is just a Markdown file you can edit at any time. There is no locked "planning phase," no approval gate, no special edit mode to enter. Want to change the proposal after you've started building? Open proposal.md and change it. Realized the design is wrong mid-implementation? Fix design.md and keep going. That's the whole answer, and it's by design.

This page is for the moment you think "wait, can I go back and change that?" Yes. Here's how, for each common case.

Two ways to edit anything

You always have both:

  1. Edit the file directly. Artifacts are plain Markdown in openspec/changes/<name>/. Open proposal.md, design.md, tasks.md, or a delta spec under specs/ in your editor and change it. Nothing else is required.

  2. Ask your AI to revise it. In chat, just say what you want: "Update the proposal to drop the caching idea and add a rate-limit section," or "the design should use a queue, not polling." The AI edits the artifact for you, using the rest of the change as context.

Use whichever fits the moment. Small wording tweak? Edit the file. Substantive rethink? Let the AI revise with full context.

"How do I update the proposal (or specs) after I've started?"

Just update it. Same change, refined.

If you're using the expanded commands, the natural flow is: edit the artifact, then run /opsx:continue to pick up from the new state, or /opsx:apply to keep implementing against the updated plan. If you're on the default core commands, edit the artifact and run /opsx:apply; it reads the current files, so it builds against whatever the artifacts now say.

The mental model: artifacts are the live plan, not a signed contract. The AI always works from their current contents, so editing them steers the work.

You: I want to change the approach in this change.

You: [edit design.md, or tell the AI:]
     Update design.md to use a background job instead of a synchronous call.

AI:  Updated design.md. The task list still fits; want me to continue applying?

You: /opsx:apply

This answers a very common question: there's no separate "update proposal" command because you don't need one. The file is the source of truth, and editing it (by hand or via the AI) is the update.

"How do I go back to review after implementing?"

You don't have to "go back," because you never left. The workflow is fluid: review, edit, and implementation aren't sequential phases you're trapped in.

Concretely, after some /opsx:apply work:

  • Want to re-examine the plan? Open the artifacts and read them, or run openspec show <change> in your terminal for a consolidated view.
  • Found something to change? Edit the artifact (or ask the AI to), then continue.
  • Want a structured check that the code matches the plan? Run /opsx:verify (expanded command). It reports completeness, correctness, and coherence without blocking anything. See Workflows: Verify.

There's no "review phase" to return to, because review is something you can do at any point, including after implementation.

"I edited the code by hand. How do I reconcile that with OpenSpec?"

This happens constantly and it's fine. You tweaked something in your editor, and now the code and the artifacts disagree. Bring them back in sync in whichever direction is true:

  • The code is now correct, the spec is stale. Update the delta spec (and tasks, if relevant) to describe the behavior you actually shipped. The spec should match reality before you archive, because archiving merges the spec into your source of truth.
  • The spec is correct, the code drifted. Keep building or fixing until the code matches the spec.

A fast way to surface mismatches is /opsx:verify: it reads your artifacts and your code and tells you where they diverge. Treat its output as a to-do list for reconciliation, then archive once they agree.

The principle: at archive time, your specs become the truth of record. So before you archive, make the specs honest about what the code does. Manual edits are welcome; just don't let them quietly desync the spec.

Refining a proposal you're not happy with

If a generated proposal misses the mark, you have three good moves:

  • Iterate in place. Tell the AI what's off ("the scope is too broad, drop the admin features") and let it revise. Cheapest and usually right.
  • Explore first, then re-propose. If the problem is that the idea itself is unclear, step back to /opsx:explore, think it through, and let a sharper proposal come out of that. See Explore First.
  • Start fresh. If the intent has fundamentally changed, a new change can be clearer than patching the old one.

That last move has its own decision guide, next.

When to update vs. start a new change

Short version: update when it's the same work refined; start new when the intent fundamentally changed or the scope exploded into different work.

  • Same goal, better approach? Update.
  • Scope narrowing (ship the MVP now, more later)? Update, then archive, then a new change for phase two.
  • The problem itself changed ("add dark mode" became "build a full theming system")? New change.

There's a full flowchart and worked examples in Workflows: When to Update vs Start Fresh and a deeper treatment in OPSX: When to Update vs. Start Fresh.

A note on tasks

tasks.md is a living checklist, not a frozen plan. As you implement, you can add tasks you discover, remove ones that turned out unnecessary, or reorder them. The AI checks items off as it completes them during /opsx:apply, and it resumes from the first unchecked task if you come back later. Editing the list mid-flight is expected.

Where to go next

  • Workflows - patterns, plus the update-vs-new decision guide
  • Explore First - the place to step back to when an idea needs rethinking
  • Commands - /opsx:continue, /opsx:apply, and /opsx:verify in detail
  • Concepts: Artifacts - what each artifact is for