watch-doc

watch-doc is a skill for Claude Code, Codex from petergaultney/lemonaid. It costs 66 tokens per session (1,984 once invoked), scanned A, original, MIT.

A watcher for a Markdown document, a plain-text document format, used for feedback in Obsidian. It waits for comments or edits and can reply in the same document thread.

In plain words
What is it for?
Use it to monitor design drafts, reviews, and other documents for Relay Comments or body edits, then reply inline or act on an edit.
Why use it?
It lets an agent wait for human review without repeatedly checking the file and keeps replies alongside the document being discussed.

Skill for Claude CodeCodex

Which agent this was written for is unclear — built for openclaw. Also seen: mentions Claude Code; reads ~/.codex paths; mentions Codex.

Good fit Use it to monitor design drafts, reviews, and other documents for Relay Comments or body edits, then reply inline or act on an edit.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/petergaultney/lemonaid/watch-doc
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add petergaultney/lemonaid --skill watch-doc
Clone the repo
git clone --depth 1 https://github.com/petergaultney/lemonaid

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for watch-doc

README.md
[![agentmods](https://agentmods.dev/badge/skills/petergaultney/lemonaid/watch-doc/github.svg)](https://agentmods.dev/skills/petergaultney/lemonaid/watch-doc)
Your own site
<a href="https://agentmods.dev/skills/petergaultney/lemonaid/watch-doc"><img src="https://agentmods.dev/badge/skills/petergaultney/lemonaid/watch-doc/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for watch-doc

Your own site · 80×15
<a href="https://agentmods.dev/skills/petergaultney/lemonaid/watch-doc"><img src="https://agentmods.dev/badge/skills/petergaultney/lemonaid/watch-doc.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 66 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,984 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00066 $0.01984
Opus 5.5 $0.00026 $0.00794
Sonnet 5.5 $0.00013 $0.00397
Haiku 4.5 $0.00007 $0.00198

Measured 4d ago against content hash 7ee4444a1494, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

watch-doc scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/lemonaid/skills/packaged/watch-doc/SKILL.md · 98 lines

How it starts

The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Watch a document for Relay Comments

You wrote a document; the human reads it in Obsidian and responds with Relay Comments (inline CriticMarkup), or just edits it. This skill is how you wait for that without spending tokens, and how you reply so the conversation stays in the document.

Arguments

<doc-path> (absolute). Body edits are reported once the doc has been quiet for 20 seconds (--quiet changes it). Pass --no-edits only when you want comments alone.

Reply identity

Sign your replies with one name and pass the same name to the waiter as --me: $LEMON_NAME if set, else your harness's name (Claude, Codex). Any name you signed with before in this doc is a legacy name: pass it as --legacy <name>, repeated for each, and replies signed with it count as yours.

Reply blocks look like {{authorId="<id>" author="<name>">>...<<}}. Relay shows only author; use an authorId that lets a reader find the session that wrote the reply, such as your tmux session name.

If --me and the author of your reply blocks differ, the waiter sees your own replies as unanswered and wakes you on them.

Waiting

Tell the human the doc is ready, with its absolute path.

Before starting a waiter, check for one: lemonaid watch doc --status <doc> --me <name>, and again with each legacy name in case an older waiter is still up. If one is running, you are already watching; don't start another. A second waiter for the same doc and name refuses to start. Then read the doc and handle any unanswered threads; the waiter reports only threads that are new or have changed since a waiter last reported them.

The waiter reads the document every 15 seconds. It reports when a thread becomes unanswered or an unanswered thread gains a block, and when the body outside comment threads has changed and then been quiet for 20 seconds.

In Claude Code, start the waiter with --once as a background Bash task and end the turn:

Bash(
  command: lemonaid watch doc --wait <absolute-doc-path> --me <name> [--legacy <old name>] --once,
  description: "Wait for Relay Comments on <doc basename>",
  run_in_background: true,
  timeout: 2147483647,
)

Read the full file on GitHub · 98 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed 7ee4444a1494
  2. 6d ago Changed · +17 lines 16019a34edca
  3. 7d ago First seen · 81 lines · 66 tokens per session scan A bb268b0e733c

Subscribe to this mod's changes

watch-doc is a skill published in the GitHub repository petergaultney/lemonaid (11 stars, last pushed today), licensed MIT. It adds 66 tokens to every session and 1,984 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-01.

Related

Other skills, from other repositories

first-reader

Beta readers for any draft, run by simulating how a real reader experiences it, moment by moment. A skim gate, a no-lookahead timed read producing an attention transcript with quit points, a recall test of what a reader remembers the next day, and a trust ledger of the implied author. Use when the user asks for a beta…

Shubhamsaboo/awesome-llm-apps · 174 tokens

mcp-apps-builder

MANDATORY for ALL MCP server work - mcp-use framework best practices and patterns. READ THIS FIRST before any MCP server work, including: Creating new MCP servers Modifying existing MCP servers (adding/updating tools, resources, prompts, widgets) Debugging MCP server issues or errors Reviewing MCP server code for…

Shubhamsaboo/awesome-llm-apps · 139 tokens

project-graveyard

Scans the developer's machine for dead side projects, autopsies each one from its git history (died at the payments wall, killed by a newer project, finished but never shipped), surfaces their personal death patterns, and picks the corpse most worth resurrecting — then helps ship it. Use when the user mentions…

Shubhamsaboo/awesome-llm-apps · 127 tokens

commit-archaeologist

Reconstructs why code exists from local git history, including the introducing commit, later changes, current authors, repeated companion files, and likely intent. Use when the user asks "why does this code exist", "who wrote this function and why", or to "explain the history of this function" before a rewrite…

Shubhamsaboo/awesome-llm-apps · 82 tokens

dependency-doctor

Checks requirements.txt, pyproject.toml, and package.json dependency manifests for surface-level direct-dependency footguns: standard-library shadowing pins, abandoned backports, unpinned dependencies, and obvious intra-manifest conflicts, plus opt-in PyPI yanked releases. Use when the user asks to check a manifest…

Shubhamsaboo/awesome-llm-apps · 115 tokens

scope-creep-detector

Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad pull requests, changes that grew beyond a fix, dependency additions, public API renames, config or CI edits, oversized hunks, and formatting-only files. Use when the user asks whether a change grew beyond the fix, a PR is too…

Shubhamsaboo/awesome-llm-apps · 98 tokens