A Spec Kit extension

Review your spec in the browser. Hand the agent precise notes.

Axi opens a feature's spec-kit markdown as rendered web pages. Read the documents, select any phrase to annotate, or drop a general comment. Your notes queue up and, on one click, go back to the agent, which edits the canonical .md files while the page live-reloads to show each change. Markdown stays the source of truth, and your notes never leave your machine.

Install with Spec Kit
specify extension add axi \
  --from https://github.com/d0whc3r/spec-kit-axi/releases/download/v1.1.4/axi-1.1.4.zip

Works with zero configuration. This is the most reliable path and the same one you use to pin a version.

  • One command
  • Requires Spec Kit >= 0.2.0
  • MIT licensed
  • Runs locally on 127.0.0.1
  • Markdown stays the source of truth

Why this exists

Reviewing a spec in a chat window is awkward: you paste line ranges, describe where you mean, and hope the agent edits the right place. Axi turns the feature's markdown into a page you can read and mark up directly, so feedback is anchored to the exact text and the agent applies it without guessing.

Read it like a human

Every artifact (spec.md, plan.md, tasks.md, and whatever else the feature generated) renders as a web page with tables and mermaid diagrams. Nested files such as contracts/ show up as their own tabs.

Annotate precisely

Select any phrase to attach a note. Axi records the file, the nearest heading, and the exact text you picked, so the agent edits the right spot. Or type a general comment in the composer for feedback that spans documents.

The agent applies, live

Click Send and the whole queue goes to the agent. It edits the canonical .md files in place, posts a one-line summary, and the page live-reloads. It never writes a derived copy, and your notes stay on your machine.

One command

/speckit.axi.review opens the review surface for the active feature, collects your annotations and comments, and applies the queued feedback to the markdown. It does not generate new files; it edits the feature's existing documents in place.

Command What it does
/speckit.axi.review Open a feature's markdown in a browser review surface, collect annotations and comments, and apply the queued feedback to the canonical .md files. Optionally name the feature directory, for example /speckit.axi.review specs/001-my-feature; otherwise the agent resolves it from your branch or the most recent specs/* directory.

Under the hood, /speckit.axi.review drives a small zero-dependency Node tool, .specify/extensions/axi/templates/web-review/axi-server.mjs, that binds only to 127.0.0.1. The agent uses these subcommands to bridge your browser and the markdown:

Subcommand Purpose
start <feature-dir> Open or reuse a session and launch the browser.
poll <feature-dir> Wait for sent notes, then print them as TOON.
reply <feature-dir> "text" Show a message to the reviewer.
end <feature-dir> End the session.
stop [feature-dir] Shut the server down.

Run any subcommand with --help for its flags and examples. You never call these by hand; the agent does, while you stay in the browser.

What a review looks like

The agent launches the surface and opens your browser at a 127.0.0.1 address. From there the loop is yours to drive: read, mark up, send, and watch the changes land.

  1. Read the artifacts

    Each markdown file in the feature directory shows up as a tab, rendered with tables and mermaid diagrams. The renderer loads from a pinned CDN, so the pages need an internet connection; offline, the surface shows a notice.

  2. Annotate and comment

    Select any phrase and add a note: the file, the nearest heading, and the exact text are recorded for you. Or type a general remark in the composer (Enter adds it, Shift+Enter for a newline). Notes collect in the Notes panel, where you can edit or remove any before sending.

  3. Send the queue

    One button hands the whole queue to the agent. The status line shows whether the agent is connected and when it is processing your notes.

  4. Watch it apply, then repeat

    The agent edits the canonical .md files, posts a one-line summary of what changed, and the document live-reloads in place. Keep reviewing, or end the session in the browser when you are done.

Get started in five minutes

  1. Install the extension

    You need Spec Kit >= 0.2.0 initialized (specify init) and a feature with some markdown to review. Install directly from the latest release; this needs no catalog setup and is the recommended path:

    specify extension add axi \
      --from https://github.com/d0whc3r/spec-kit-axi/releases/download/v1.1.4/axi-1.1.4.zip

    Confirm it registered:

    cat .specify/extensions/.registry   # 'axi' entry present
    ls .specify/extensions/axi          # extension files present

    Prefer specify extension add axi by name? That needs the community catalog approved first. See install help.

  2. Open the review surface

    Run the command in your Spec Kit-aware assistant. Name the feature directory, or let the agent resolve it from your branch.

    /speckit.axi.review specs/001-my-feature

    The agent starts a local server, opens your browser, and tells you the surface is ready.

  3. Review and send

    Read the rendered documents. Select text to annotate, or type a comment, then click Send. The agent applies your notes to the markdown and the page live-reloads.

  4. Finish when you are done

    End the session from the browser, or ask the agent to stop. The agent shuts the local server down. Your markdown is updated in place; nothing else is touched.

Install help

If specify extension add axi stops with the error below, this is the fix. It is expected behavior, not a broken release.

The error you may see

Error: 'axi' is available in the 'community' catalog but installation
is not allowed from that catalog.

To enable installation, add 'axi' to an approved catalog
(install_allowed: true) in .specify/extension-catalogs.yml.

Spec Kit ships the community catalog as discovery only. It carries install_allowed: false by design, so the CLI can list community extensions but will not install one until you opt in. You have two ways to opt in.

Option A: Direct install (recommended)

Install straight from the release archive. No catalog config, always works, and it is the only way to pin a specific version.

specify extension add axi \
  --from https://github.com/d0whc3r/spec-kit-axi/releases/download/v1.1.4/axi-1.1.4.zip

To update later, run the same command with a newer version URL.

Option B: Approve the community catalog

Do this once if you want to install and update by name. It adds the catalog with install_allowed: true to .specify/extension-catalogs.yml.

specify extension catalog add \
  https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json \
  --name community --install-allowed

specify extension add axi
specify extension update axi

Community extensions are author-maintained and not reviewed by Spec Kit. Review the source before approving a catalog.

Frequently asked questions

Why does specify extension add axi fail?

The extension lives in Spec Kit's community catalog, which is discovery only and carries install_allowed: false. The CLI can list it but will not install until you opt in. Either install directly with --from <release-zip-url>, or approve the community catalog once. Full steps are in install help.

Will it change my files?

Yes, but only the feature's markdown you are reviewing, and only as your queued notes direct. The agent edits the canonical .md files in place and the page live-reloads. It does not write a derived copy, and your notes stay on your machine.

Do I need an internet connection?

Yes, to render the pages. The renderer (marked, DOMPurify, and mermaid) loads from a pinned CDN, so a plain visit needs internet; offline, the surface shows a notice. The markdown and your notes never leave your machine.

Which files does it open?

Every .md file in the feature directory, including nested ones such as contracts/. Known names (spec.md, plan.md, tasks.md, constitution.md, and a few others) sort first; the rest follow alphabetically.

Does the extension run by itself?

No. The command is a Markdown prompt that needs a Spec Kit-aware assistant to resolve and execute it. The review surface is a zero-dependency Node tool the assistant launches with node; it binds only to 127.0.0.1 and has no runtime of its own beyond Node.

How do I end a session?

End it from the browser, or ask the agent to stop. The agent shuts the local server down. Starting another review reopens the surface for whatever feature you point it at.

How do I update the extension?

If you approved the community catalog, run specify extension update axi. Otherwise rerun the direct install with the newer release URL. Your specs/ tree is not touched.

More detail in the usage guide and the wiki.