Skip to content
Agentmart
Submit a tool

ann

Annotate a markdown document in the browser with CriticMarkup comments that land in the .md file.

Skill by davidsvaughn

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/davidsvaughn-ann

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Annotate a markdown document in the browser with CriticMarkup comments that land in the .md file. Use when the user wants to annotate, comment on or review a markdown doc or a Claude response in the browser - /ann alone saves the previous response to .notes/drafts/ and opens it, /ann <question> answers in a file and opens it, /ann <path or doc name> opens that file.

Use cases: documents, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/ann

What's inside

Skill name
ann
Description
Annotate a markdown document in the browser with CriticMarkup comments that land in the .md file. Use when the user wants to annotate, comment on or review a markdown doc or a Claude response in the browser - /ann alone saves the previous response to .notes/drafts/ and opens it, /ann <question> answers in a file and opens it, /ann <path or doc name> opens that file.
License
MIT
Instructions
61 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (19)

  • README.md
  • SKILL.md
  • corpus-check.mjs · dev/
  • fuzz.mjs · dev/
  • criticmarkup.mjs · lib/
  • dictation.mjs · lib/
  • edit.mjs · lib/
  • render.mjs · lib/
  • server.mjs · lib/
  • package-lock.json
  • package.json
  • criticmarkup.md · references/
  • ann.mjs · scripts/
  • dictation.test.mjs · test/
  • edit.test.mjs · test/
  • helpers.mjs · test/
  • app.css · web/
  • app.js · web/
  • index.html · web/

SKILL.md (first lines)

# /ann - annotate markdown in the browser

Timestamp for a new file: !`date +%Y%m%d-%H%M%S`
Date for the header: !`date '+%Y-%m-%d %H:%M'`
Session id: ${CLAUDE_SESSION_ID}
(If the lines above show a command or a variable name instead of values, this harness does not fill
them in: run `date +%Y%m%d-%H%M%S` and `date '+%Y-%m-%d %H:%M'` yourself, and leave the session id empty.)

Arguments: the text the user typed after the skill name, which the harness appends after these
instructions (Claude Code as `ARGUMENTS: ...`, pi/OMP as `User: ...`); none appended means no arguments.
Paths in this file are relative to this skill's directory, which is stated where the skill was loaded.

## Decide the mode

1. **No arguments:** write your *previous* chat response, the last full assistant message before this
   command, to a new file **verbatim**. Do not summarize, tidy, reorder, shorten, renumber, or add line
   numbers or section numbers. Keep every heading, table, list, code block and link exactly as written,
   including any closing question or offer. Then open that file.
2. **The arguments name a markdown file:** an existing path, or a name that matches exactly one tracked
   file (`git ls-files '*.md' | grep -i <name>`). Open that file. A vague name with several matches: list
   them and ask which one; do not open any.
3. **Anything else** is a question or request: write your full answer to a new file instead of to chat, in
   the form you would have used in chat (plain markdown, no line numbers). Then open that file.

## New files (modes 1 and 3)

- Directory: `.notes/drafts/` in the current working directory. Create it if missing. Keep it out of git:
  if `git check-ignore -q .notes/x` fails, tell the user once that `.notes/` belongs in their global
  gitignore (`~/.gitignore` or `core.excludesFile`), and do not add the file to git.
- Name: `<timestamp>-<slug>.md`, where `<slug>` is 2-5 lowercase hyphenated words naming the topic.
- Content: this header, then the body, nothing else:

```
---
date: <date for the header>
session: <session id>
kind: captured-response | file-answer
prompt: <the user message this body answers, trimmed to one line - for a bare /ann, the message that preceded your previous response; for /ann <question>, the question>
---
```

## Open the file

```
node scripts/ann.mjs open <file>
```

It starts a local server for that file (or reuses a running one), opens the default browser on a
tokenised `127.0.0.1` URL and prints `url:`, `file:` and `log:`. Reply in chat with one line: the URL
and the file path. Then stop. Do not wait, poll, or watch the file: comments are saved into the `.md`
file as they are made, and the user comes back in the terminal with "address the annotations in
<path>". Handle that as `references/criticmarkup.md` says (inventory every
annotation, work out each one's scope, act on its intent, reply in chat, never edit or remove the
annotations); read it then if it is not already in context. The page reloads itself whenever the file
changes, including when you edit it.

If the command fails with "Dependencies are missing", run `npm ci` in the skill directory once (Node 20 or later).
`ann.mjs list` shows running servers, `ann.mjs stop <file>` stops one; they exit by themselves 30
minutes after the last tab closes. Details, internals and verification: `README.md` next to this file.

From davidsvaughn/skills, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from davidsvaughn

Cite this page

ann skill. Agent Mart. https://agentmart.dev/skills/davidsvaughn-ann (last updated 2026-10-24)