roughdraft-review

$npx mdskill add zby/commonplace/roughdraft-review

Opens Markdown files in Roughdraft for review and responds to CriticMarkup feedback.

  • Solves the need to review, comment on, or annotate Markdown files interactively.
  • Depends on the Roughdraft application and the roughdraft open command.
  • Decides to write plans to disk and offer them for review via Roughdraft.
  • Delivers results by reading the file after review and responding to CriticMarkup changes.

SKILL.md

.github/skills/roughdraft-reviewView on GitHub ↗
---
name: roughdraft-review
description: Open a Markdown file in Roughdraft for the user to review, wait for Done Reviewing, then respond to the CriticMarkup feedback. Use when the user wants to review, comment on, or annotate a Markdown file (they may call the tool "rd"), and when presenting a plan — write the plan to disk and offer it for review this way.
type: kb/types/instruction.md
user-invocable: true
---

# Roughdraft review

Roughdraft is a single-file Markdown viewer/editor for inline review. The user may refer to it as `rd` in natural language; treat `rd` as shorthand, but do not create or modify any shell alias, executable, symlink, or command named `rd`.

When the user asks for a plan, write the plan as a Markdown file on disk before asking them to review it.

## Opening a file for review

```bash
roughdraft open "/absolute/path/to/file.md"
```

Open one `.md` file at a time. If Roughdraft is not running, `roughdraft open` starts it automatically.

**Leave the command running.** Do not interrupt, kill, background, detach, or treat the waiting process as cleanup. The wait is intentional: Roughdraft exits the command after the user clicks Done Reviewing, and that exit is the signal to resume — read the file from disk and respond to any CriticMarkup comments or suggested changes.

## CriticMarkup (Roughdraft-flavored)

Base markers:

- Comment: `{>>comment<<}`
- Insertion: `{++new text++}`
- Deletion: `{--old text--}`
- Substitution: `{~~old~>new~~}`
- Highlight: `{==text==}`

Each marker may be followed by an attribute block: `id` (stable document-local id), `by` (author), `at` (ISO timestamp), `re` (parent comment/suggestion id in a reply thread).

When adding a new comment or suggested change: generate a stable id (`c1`, `c2`, … for comments; `s1`, `s2`, … for suggestions), set `by` to your agent label, set `at` to the current ISO timestamp, and set `re` when replying.

Preserve existing attribute blocks unless intentionally removing the associated comment or suggestion.

Typical shapes:

- Anchored comment: `{==selected text==}{>>Comment text<<}{id="c1" by="AI" at="2026-04-28T12:00:00.000Z"}`
- Suggested change: `{++new text++}{id="s1" by="AI" at="2026-04-28T12:10:00.000Z"}` or `{~~old~>new~~}{id="s2" by="AI" at="2026-04-28T12:11:00.000Z"}`
- Reply: `{>>Reply text<<}{id="c2" by="AI" at="2026-04-28T12:05:00.000Z" re="c1"}`

For local command and syntax details: `roughdraft help` and `roughdraft help criticmarkup`.

More from zby/commonplace

SkillDescription
cp-skill-connectDiscover connections for a single artifact. Writes a connect-report under kb/reports/connect/<collection>/ without mutating library artifacts or indexes. Use with an artifact path or artifact name.
cp-skill-convertConvert notes between types. Currently supports text to note by adding unverified structured frontmatter, renaming the file to match the title, and fixing backlinks. Use with a note path or note name.
cp-skill-health-checkRun a Commonplace health check when agents, skills, or commonplace-* commands do not work correctly. Diagnoses project layout, promoted skill discovery, direnv/PATH state, package commands, and common launch-environment failures.
cp-skill-ingestUse when asked to ingest a URL or existing kb/sources snapshot into a .ingest.md source analysis.
cp-skill-revise-autoreasonExperimental: revise a note with an AutoReason-style loop using fresh Codex sub-agents for critic, revision, synthesis, and blind judging. Keep the incumbent, generate a critique-driven revision and synthesis, then use blind Borda judging to decide whether to continue. Triggers on \"/cp-skill-revise-autoreason [note]\".
cp-skill-revise-iterativeIteratively revise a note for flow, readability, and cohesion using non-interactive Claude calls. Each pass produces a numbered copy; the outer agent reviews for semantic fidelity and significance before continuing. Triggers on "/cp-skill-revise-iterative [note]".
cp-skill-snapshot-webSnapshot any URL into kb/sources/. Routes by URL type — GitHub issues/PRs via gh API, X/Twitter via xdk, PDFs via download+Read, web pages via WebFetch. One skill, URL in, markdown snapshot out. Triggers on "/cp-skill-snapshot-web", "/cp-skill-snapshot-web [url]".
cp-skill-validateRun the deterministic validation script on KB notes. Checks frontmatter validity, schema constraints, link health, required sections, and batch signals such as orphans.
cp-skill-writeWrite a single KB note — apply the target collection's conventions and path-valued type-spec, commit only in-hand links plus a cheap duplicate check, validate, then hand graph discovery to cp-skill-connect.
evaluate-scenariosDecompose each scenario into clean-context forks, measure framework-overhead bytes and hops per fork, and report a feasibility signal (heaviest fork's net load) and a cost signal (overhead summed across forks). Use to measure the operational overhead the framework imposes per agent.