When you write code, you review it in pull requests with inline comments. When you write prose - articles, docs, plans - you usually just… read it and say “looks good” or paste notes in a chat.

Ace brings code review patterns to writing.

What It Does

Ace is a VS Code extension that adds an annotation layer to markdown files:

  • Inline comments - click any line and leave a note, visible in a sidebar panel
  • Highlights - mark text for discussion using ==highlight== syntax
  • Threaded feedback - comments can have replies, like a PR review
  • Annotation navigation - sidebar collects all highlights, comments, and footnotes in one view

Why I Built It

I work with Claude Code on writing - articles, design docs, product briefs. The workflow is:

  1. Claude drafts or edits a document
  2. I review it in VS Code
  3. I need to leave feedback (“this section is weak”, “rewrite this with more specifics”, “cut this paragraph”)

Without Ace, I was either editing the file directly (losing the original) or pasting feedback in a separate chat (losing the context). Ace lets me annotate in place, then tell Claude “review my annotations and revise.”

The Annotation Convention

Ace uses markers that work in standard markdown:

MarkerMeaning
==highlighted text==”Let’s discuss this”
%%comment text%%Author note (hidden in preview)
> [!EDIT] suggestionSpecific change request
~~strikethrough~~”Consider removing”

These render in Obsidian too, so the same annotations work across tools.

What Annotation-to-Revision Looks Like

Here’s a real round-trip from a draft I was reviewing.

My annotated version:

The dashboard ==pulls live data from every project==. ~~It refreshes
every 30 seconds.~~

%%opening is too generic - lead with the specific problem we solved%%

> [!EDIT] Replace the lede with the "five projects, one screen" framing

Claude’s revision after reading the annotations:

Five active projects. Five status files. Five sets of priorities, blockers,
and stale entries. Until last week, keeping track of all of them meant
opening five tabs and reconciling by hand.

The dashboard pulls live data from every project and renders one screen.
That's the whole product.

The highlight told it which phrase mattered. The strikethrough told it what to drop. The %%comment%% told it the why. The [!EDIT] told it the new direction. Same workflow as a pull request review, just on prose.

How It Fits the Workspace

In my AI workspace, Ace is part of the review loop. Claude writes, I annotate, Claude revises. The markers are conventions any AI assistant can parse - they’re not locked into VS Code.

The extension is open source and available on the VS Code marketplace.