Agent skill

Prose Review

by w-winter in w-winter/dot314

Review prose written for others (e.g., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing…

MITAuto-check passedDevelopment

Install Prose Review

skills CLI
$ npx skills add w-winter/dot314 --skill prose-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install w-winter/dot314 prose-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/w-winter/dot314.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/prose-review .claude/skills/prose-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
prose-review
GitHub stars
139
Token cost
~3.6k tokens
SKILL.md length
2,085 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Review prose written for others (e.g., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing…

  • Works in 7 steps: Resolve scope: a change (hunks only),… → For each artifact in scope, state its… → Review from two positions → …
  • Tasks that involve Technical documentation
  • SKILL.md covers First: name the reader, What to catch, What good prose looks like and Scope, plus 1 more section
  • Calls git

What it does

Prose Review is an agent skill from w-winter/dot314. Review prose written for others (e.g., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing grounding, and audience or genre mismatch. Always run on prose you produce or materially edit, except for routine conversational messages (e.g., progress updates, confirmations, concise replies) and unchanged quoted text.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Technical documentation. The licence is MIT.

When your agent uses it

  • Tasks that involve Technical documentation

Example prompts

  • “/prose-review”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Resolve scope: a change (hunks only), whole files, or a supplied standalone artifact. State which in one line before you start.
  2. For each artifact in scope, state its reader, their purpose, what they can and cannot see, and its genre. One line per file is enough for…
  3. Review from two positions
  4. Identify lines that fail the criteria above, including leakage, omission, and misfit relative to that reader.
  5. Apply edits directly when the failure is unambiguous: rewrite leaked language into clean other-facing language; add missing definitions…
  6. When a detail might be legitimate for this file's actual reader (e.g. implementation detail in a contributor doc, decision rationale in a…
  7. After editing, briefly list what you changed and why (one line per fix), separating edits from flags. Include unresolved recipient…

What it can do on your machine

Read from SKILL.md and the folder at commit 0c6bbc7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Prose Review loads about 3.6k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 2,085 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from w-winter/dot314 at commit 0c6bbc7, republished under its MIT licence (© w-winter). 2,085 words, ~3,584 tokens.

Download SKILL.mdSave it as .claude/skills/prose-review/SKILL.md (or your agent's skills folder).
name
prose-review
description
Review prose written for others (e.g., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing grounding, and audience or genre mismatch. Always run on prose you produce or materially edit, except for routine conversational messages (e.g., progress updates, confirmations, concise replies) and unchanged quoted text.

Prose review

Review prose written to be read by someone else for language that doesn't belong in text its intended reader will encounter, and for missing grounding that a cold reader would need. Fix problems directly.

The main in-scope forms are:

  • User-facing documentation: READMEs, guides, reference docs, help text

  • Prompts for other LLMs: skills, system prompts, agent instructions, handoffs, task briefs

  • Inline comments: the // and # prose a maintainer reads next to the code

  • Docstrings: function, class, and module documentation, including generated API docs

  • Other-facing messages: issue or PR comments, status notes, release notes, messages, emails, and similar prose when the operator names them

The same failure modes run through all of them.

First: name the reader

Before reviewing each file or standalone artifact, state in one line who reads it, what they are trying to do, what they can and cannot see, and what genre it is (user README, contributor or architecture doc, operator runbook, agent prompt, handoff, task brief, inline comment, docstring, message, email, issue comment). Every judgment below is relative to that reader and purpose, not to a generic "new reader." Implementation detail is correct in a contributor-facing architecture doc or an inline comment and wrong in a user README; "what changed" is correct in a changelog and wrong in reference docs. Do not strip detail that this file's actual reader needs.

The intended reader must be able to use each artifact correctly with only its text and explicitly named, reachable dependencies, without access to the session, private plans, or other local material that informed the recent edits.

For prompts, handoffs, and task briefs: could a cold-start agent act correctly from this text and any explicitly named, reachable files, without access to the context window you currently have and without having to guess? For comments and docstrings: could a maintainer who can read the surrounding code, but who wasn't present when it was written, understand what this text is telling them?

Call this operational closure: every dependency needed to understand or act is either contained in the artifact or identified through a path or access method the recipient can actually use.

Then ask the second question, which decoding alone never answers: is this language situationally appropriate for that reader, with the right register, level of detail, and content for this point in the document? A sentence can be fully comprehensible to a README-reading human and still be badly designed for them.

What to catch

Leakage: wrong content is present
  • Implementation-plan language: internal field names, spec edge-case notes, architecture references, phrases like "reserve the timestamp column" or "compact display buckets" that reflect how something was built rather than what a user or other agent sees

  • Changelog/diff language: "does not change X", "deliberately preserves Y", "without affecting Z", "is intentionally out of scope." These compare against a prior version the reader has no baseline for. In comments and docstrings this shows up as narrating the edit ("now also handles X", "moved from Y", "renamed for clarity") instead of describing the code as it currently stands. Genre exception: when the file under review is a changelog, release note, migration guide, task retrospective, planning doc, PR description, or a handoff or task brief whose purpose is to transmit current state and remaining work, this language may be the point of the document. Preserve necessary temporal deltas, and don't "fix" them into timeless prose. The test is never whether the text refers to a prior state; it is whether this reader opened this file expecting it to

  • Internal jargon: type names, config key internals, data-flow descriptions that only matter to contributors

  • Agent/session artifacts: review constraints, schema-version strategy, compatibility decisions leaked from planning conversations

  • Orphaned deixis: "this", "that", "the above", "as discussed", "the same approach", "the earlier plan", "continue from here." These references depend on a referent in the authoring session or a private plan rather than the document; restate the referent or delete the reference. In comments this also covers pointers the reader cannot open: ticket numbers, plan filenames, review threads, "per the discussion"

Omission: needed content is absent
  • Terms used as if defined: project-specific terms, acronyms, and metric names that the reader needs but that are defined nowhere they can see; the fix is a local definition or glossary entry, not deletion

  • Unreachable dependencies: instructions that require files, systems, credentials, or steps the reader has no path to discover or perform from where they stand

  • Under-grounded prompts, handoffs, and task briefs: missing task goal, inputs or paths, definitions, decision-relevant constraints or rationale, expected output, success criteria, or stop conditions; required dependencies that are neither included nor named in a reachable way. Anything that forces a cold-start recipient to guess or confabulate

  • Under-grounded comments and docstrings: a comment that restates what the code plainly does while omitting the non-obvious constraint, invariant, or reason the code is shaped that way; a docstring that assumes caller context the caller cannot see (units, ownership, error behavior, what the caller must guarantee)

Omission failures are as common as leakage and harder to see, because the text reads fine to anyone who already has the context. Hunt for them by simulating the named reader, not by scanning for bad phrases. The appropriate fix for omission is often addition rather than removal.

Misfit: content is present and comprehensible, but wrong for this reader here
  • Register mismatch: engineering-internal voice in text a non-engineer reads; clipped note-taking style where a user needs a sentence; ceremony and hedging where a maintainer wants one line

  • Granularity mismatch: exhaustive precision where the reader needs the shape of the thing, or a vague gesture where they need the exact flag, path, or value

  • Relevance mismatch: accurate, defined, and decodable, but not what this reader needs at this point: rationale nobody asked for, caveats that matter to three people, edge cases placed ahead of the common path

  • Order mismatch: material arranged in the author's discovery order rather than the reader's need or dependency order, so the reader must carry unexplained terms until they pay off later

  • Answer-display mismatch: text demonstrates that the author possesses all the relevant concepts but does not construct a usable path from the recipient's starting point. The expected terms are present, but hierarchy, prerequisites, emphasis, or a clear through-line are missing

Misfit is the failure mode that survives a careful leakage-and-omission pass, because every individual sentence is true, defined, and readable. Catch it by asking what the reader came to this file to do, and whether this paragraph helps them do it right now.

Also catch any other pragmatic perspective-taking error that produces poor recipient design. One common pattern resembles the "curse of knowledge" described by Colin Camerer, George Loewenstein, and Martin Weber: language models behave as though human or AI recipients share the current context window or ephemeral planning artifacts, then leak local jargon or omit grounding. Treat this as a serious recurring failure across user-facing and agent-facing prose.

Curse of knowledge is one lens within the broader job. Recipient design (Sacks, Schegloff, and Jefferson; closely related to Bell's "audience design") covers the whole task of shaping an utterance for its actual recipient: what they know, what they came for, how much detail serves them, what register fits the situation, what they need first, and what they must be able to do afterward. Text can pass every shared-knowledge check and still answer a question the reader never asked, in a voice written for somebody else. Hold both lenses at once: "can this reader decode this?" and "is this the right thing to say to this reader, here?"

Show full SKILL.md (829 more words)Show less

What good prose looks like

In durable current-state documentation, describe the software as it stands rather than narrating the edit that produced it. In handoffs, changelogs, migration guides, task briefs, and similar transition artifacts, preserve temporal deltas when the recipient needs them to continue safely.

Each sentence should help the named reader use or understand the software today. Authoring-process trivia belongs in PRs, changelogs, issues, plans, or retrospectives. Decision-relevant rationale, constraints, and invariants belong wherever the recipient needs them to use, operate, or modify the system safely, including agent prompts, handoffs, contributor docs, comments, and docstrings.

Good prompts and handoffs are operationally closed: they restate the task, name the inputs and expected outputs, define any term the recipient cannot know, include decision-relevant constraints, give success and stop conditions, and identify every required external dependency through a readable path or usable access method. Present this material in the recipient's reading and execution order, not the authoring session's chronological order.

Good comments and docstrings explain what the code means to someone who can read the code but wasn't there when it was written: intent, invariants, and non-obvious why. They describe the code as it stands rather than the edit that produced it, and they gloss their own terms instead of pointing at tickets, plans, or conversations the reader cannot open.

Good explanations build an intelligible path from the reader's starting point to the model they need. Conceptual coverage is not a substitute for sequencing, emphasis, and omission.

As a secondary lens, consider whether the documentation mixes Diátaxis categories inappropriately, such as reference-style field descriptions embedded in a tutorial flow or explanation ("why") mixed into a how-to. Light touch here; don't restructure, just note when the mixing hurts clarity.

Scope

$ARGUMENTS

Default to the narrowest scope the operator named. If they pointed at a change (specific diff hunks, a staged diff, a named patch, "the comments I just added"), review only the prose inside that change: the doc lines it touches, and the comments and docstrings inside its hunks. Do not drift into untouched prose elsewhere in the same file.

Review whole files only when the operator asks for files rather than a change ("review README.md", "review this whole skill", "audit every prompt in this directory").

If the operator supplies standalone prose directly, such as a message, email, handoff, or subagent prompt, treat the supplied text as the whole artifact unless they explicitly narrow the scope.

Read beyond the scope only for context. You usually need the surrounding file to tell whether a term is defined elsewhere, whether a reference has a local referent, or who the reader actually is. When you find a real problem outside the named scope, flag it in the summary with its location and leave it alone.

If the operator named paths but no change, review those files whole. If they named nothing at all, fall back to the current staged diff:

bash
git diff --staged --name-only

Review the doc files in that list, plus the comments and docstrings inside the staged hunks of the source files. If nothing is staged, say so and stop.

Note the staged-diff fallback only sees the current repo. Prompts and skills often live elsewhere (e.g. ~/.agents/skills/*/SKILL.md, ~/.pi/agent/prompts/*.md) or are gitignored; those must be named explicitly by the operator to enter scope.

Process

  1. Resolve scope: a change (hunks only), whole files, or a supplied standalone artifact. State which in one line before you start.

  2. For each artifact in scope, state its reader, their purpose, what they can and cannot see, and its genre. One line per file is enough for a hunk-scoped review; don't repeat it per hunk.

  3. Review from two positions:

    • Source-aware pass: use the available session and project context to identify local jargon, private-plan residue, authoring-process artifacts, and other information that leaked across the audience boundary.

    • Recipient-positioned pass: use only the artifact and dependencies explicitly reachable by the named reader. Do not let source-only knowledge rescue an unclear referent, missing definition, absent constraint, or unreachable dependency. Explicitly identify assumptions the recipient would have to invent. If the harness can start a fresh-context reviewer, use it for this pass and give it only what the intended recipient will receive.

  4. Identify lines that fail the criteria above, including leakage, omission, and misfit relative to that reader.

  5. Apply edits directly when the failure is unambiguous: rewrite leaked language into clean other-facing language; add missing definitions, dependencies, rationale, or grounding where content is absent; reorder material when the current order reflects the author's discovery process rather than the recipient's needs.

  6. When a detail might be legitimate for this file's actual reader (e.g. implementation detail in a contributor doc, decision rationale in a handoff, or an invariant in an inline comment), flag it in your summary with a one-line rationale instead of silently stripping it.

  7. After editing, briefly list what you changed and why (one line per fix), separating edits from flags. Include unresolved recipient assumptions and any out-of-scope findings among the flags.

© w-winter, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/prose-review of w-winter/dot314.

Open the folder on GitHubat commit 0c6bbc7

Compare with similar skills

Prose Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Prose Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Prose Review this skillw-winter/dot314139—~3.6kAutomated safety check: PassMIT
Diagram Designcathrynlavery/diagram-design48k1 repos~7.6kAutomated safety check: PassMIT
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
Doc SyncJetBrains/ideavim10k2 repos~2.6kAutomated safety check: PassMIT
Mailspring App ScreenshotsFoundry376/Mailspring18k—~1.5kAutomated safety check: PassGPL-3.0
Draw.io Diagram StudioAgents365-ai/drawio-skill10k—~2.4kAutomated safety check: NotesMIT

Similar skills

  • Diagram Design

    cathrynlavery/diagram-design

    Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.

    48k GitHub starsUsed in 1 repo~7.6k tokens
    DevelopmentAuto-check passed
  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Mailspring App Screenshots

    Foundry376/Mailspring

    Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.

    18k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Draw.io Diagram Studio

    Agents365-ai/drawio-skill

    Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.

    10k GitHub stars~2.4k tokensUpdated 8 days ago
    DevelopmentAuto-check: notes
  • Dark Architecture Diagram Builder

    Cocoon-AI/architecture-diagram-generator

    Creates dark-themed system, cloud, security and network architecture diagrams as self-contained HTML files with inline SVG and CSS.

    7.4k GitHub starsUsed in 1 repo~2.1k tokens
    DevelopmentAuto-check passed

More from w-winter/dot314

  • Refresh RepoPrompt tool guidance when the CLI/MCP surface changes.

    139 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Deep X Research

    w-winter/dot314

    Deep, exhaustive research on a topic across X (Twitter) by driving Grok (x.com/i/grok) through surf.

    139 GitHub stars~1.4k tokensUpdated 3 days ago
    Auto-check passed
  • Text Search

    w-winter/dot314

    Search indexed text corpora with qmd. An agent skill from w-winter/dot314.

    139 GitHub stars~3.1k tokensUpdated 3 days ago
    Auto-check passed
  • Rp

    w-winter/dot314

    Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace.

    139 GitHub stars~3.4k tokensUpdated 3 days ago
    Auto-check passed
  • Surf

    w-winter/dot314

    Control Chrome browser via CLI for testing, automation, and debugging.

    139 GitHub stars~7.6k tokensUpdated 3 days ago
    Auto-check: warnings
  • Xcodebuildmcp

    w-winter/dot314

    Build/test Xcode projects via the XcodeBuildMCP MCP server using a local CLI wrapper for pi (no MCP support).

    139 GitHub stars~196 tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Prose Review

What does Prose Review do?

Review prose written for others (e.g., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing…. Prose Review is an agent skill from w-winter/dot314., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing grounding, and audience or genre mismatch.

When should I use Prose Review?

Prose Review fits situations like: tasks that involve Technical documentation.

How do I install Prose Review in Claude Code?

Run `npx skills add w-winter/dot314 --skill prose-review -a claude-code`. Or copy the skill folder (skills/prose-review in w-winter/dot314) into .claude/skills/prose-review in your project. Claude Code loads it when a task matches its description.

How do I install Prose Review in Codex?

Run `npx skills add w-winter/dot314 --skill prose-review -a codex`. Or copy the skill folder (skills/prose-review in w-winter/dot314) into .agents/skills/prose-review in your project. Codex loads it when a task matches its description.

Can I use Prose Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add w-winter/dot314 --skill prose-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prose-review, .gemini/skills/prose-review, .github/skills/prose-review and .opencode/skills/prose-review in your project.

What does Prose Review need to run?

Going by SKILL.md and its folder, Prose Review needs the command-line tools its instructions call (git).

Does Prose Review access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Prose Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Prose Review use?

Prose Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Prose Review use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Prose Review?

Skills that share tags, products or a category with Prose Review: Diagram Design (cathrynlavery/diagram-design, 48k stars), Simple English (moeru-ai/airi, 50k stars), Doc Sync (JetBrains/ideavim, 10k stars) and Mailspring App Screenshots (Foundry376/Mailspring, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Prose Review?

w-winter (a GitHub user) maintains it in w-winter/dot314, which has 139 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: w-winter/dot314 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.