review-docs
Skill0 starsChanged 52 days agoMITView on GitHub
Reviews doc, docstring, and comment diffs for AI-like prose and for comments that no longer have a job.
23 other projects use a version of this.
Adopted by
Most recently taken up by
- heypinchy/pinchytheir own version, first seen Nov 6, 2026
- opensanctions/opensanctionstheir own version, first seen Nov 1, 2026
- desbma/agent-skillstheir own version, first seen Oct 27, 2026
- FranciscoMoretti/chat-jstheir own version, first seen Oct 19, 2026
- Kaggle/kaggle-environmentstheir own version, first seen Oct 9, 2026
- app-dev-panel/app-dev-paneltheir own version, first seen Oct 8, 2026
Used with
Projects with it also use create-vercel-ai-issue, dev-auth-bypass and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
FranciscoMorettiSkillcreate-vercel-ai-issue
Create a well-formed GitHub issue in vercel/ai using the gh CLI. Use when reporting an AI SDK bug or preparing an issue body that contains logs, code blocks, versions, reproduction steps, and shell-sensitive text.
Also in 3 projects that use this
FranciscoMorettiSkilldev-auth-bypass
Authenticate a browser against a local ChatJS app without OAuth. Use for development login, local auth bypass, authenticated browser or Playwright testing, and the /api/dev-login route.
Also in 3 projects that use this
- +10 more from FranciscoMoretti
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- tldraw/tldraw★ 51ksame name
- videojs/video.js★ 40ksame name
- reactjs/react.dev★ 12ksame name
- hashicorp/terraform-provider-aws★ 11ksame name
- JamieMason/syncpack★ 2.1ksame name
- OpenAEV-Platform/openaev★ 1.8ksame name
- FranciscoMoretti/chat-js★ 1.2ksame name
- FranciscoMoretti/chatjs★ 1.2ksame name
- FranciscoMoretti/sparka★ 1.2ksame name
- opensanctions/opensanctions★ 870same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository26 other files it gives its agents.
- ask-mattSkill
- code-reviewSkill
- create-prSkill
- draft-prSkill
- ready-prSkill
- developSkill
- self-review-docsSkill
- implement-reviewSkill
- implementSkill
- implement-specSkill
- librarianSkill
- nemesisSkill
- refactorSkill
- research-codebaseSkill
- researchSkill
- self-reviewSkill
- simplifySkill
- tddSkill
- test-auditSkill
- waterfall-challengeSkill
- waterfall-designSkill
- waterfall-implementSkill
- waterfall-planSkill
- waterfall-refactorSkill
- waterfall-reviewSkill
- zero-tech-debtSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 14 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 21 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Follow prose references to files, symbols, constants, prompts, fixtures, or source-of-truth docs before judging terminology or cross-file …
- Distinctive: line 21
Read nearby unchanged text and referenced artifacts to learn the local voice.
- Distinctive: line 28
Keep what the reader needs to act: run, configure, recover, or make a decision.
- Distinctive: line 30
Keep implementation constraints beside the code they constrain.
- Distinctive: line 51
Test or guard comments that explain the mechanism but not what a maintainer should do when the test or guard fails.
- Distinctive: line 70
Do not enforce a mechanical word ban.
- Distinctive: line 77
Prefer prose that sounds like a competent human wrote it for a real reader:
- Distinctive: line 87
When suggesting reciprocal notes, check host syntax so comments do not become prompt text, string content, or data.
- Distinctive: line 92
Keep a comment that has a job: it says what the code cannot say and a foreseeable change will not falsify it.
- Distinctive: line 102
Use a review format, not an essay:
- Distinctive: line 107
If a phrase is awkward but harmless, group it under "Nits" instead of making it a top-level finding.
- Distinctive: line 109
If no problems are found, say that clearly and mention the docs surface that was checked.
- Distinctive: line 114
Keep rewrites close to the author's likely intent.
- Distinctive: line 116
Before returning "no findings", re-check any comment that looked accurate but wordy: if a shorter, more actionable, or more on-vocabulary …
“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review Docs
Review documentation changes for prose that sounds machine-written, generic, salesy, padded, or unlike the surrounding project voice, and for comments that no longer have a job.
Workflow
- Pick the target in this order: explicit PR, explicit base ref, current branch vs default-branch merge-base, otherwise staged/unstaged/untracked docs.
- Review changed docs prose, docstrings, and every comment in the changed code, inline and test comments included; ignore generated files.
- Follow prose references to files, symbols, constants, prompts, fixtures, or source-of-truth docs before judging terminology or cross-file claims.
- Read nearby unchanged text and referenced artifacts to learn the local voice.
- Name the rule behind each finding, then sweep every changed comment against that rule and report every instance it catches.
- Report findings first, ordered by how much they hurt reader trust or clarity.
What To Flag
Keep what the reader needs to act: run, configure, recover, or make a decision. Link to recipes and configuration definitions instead of transcribing them. Keep implementation constraints beside the code they constrain. Accurate prose can still be a finding when deleting it loses no useful guidance.
Flag changed prose that adds no useful guidance or makes the text less clear:
- Generic AI filler: "seamless", "robust", "comprehensive", "streamlined", "leverages", "utilizes", "empowers", "enhances", "ensures".
- Throat-clearing: "It is important to note", "In today's landscape", "This document aims to", "Let's explore", "By following these steps".
- Inflated claims without evidence: "significantly improves", "best-in-class", "production-ready", "highly scalable", "secure by default".
- Over-balanced AI structure: every paragraph has the same rhythm, starts with an abstract benefit, or repeats "not only X but also Y".
- Abstract nouns where concrete actors would be clearer.
- Passive or agentless phrasing that hides who does the work or who benefits.
- Summary paragraphs that restate the heading instead of adding information.
- Tone mismatch with nearby docs: marketing voice in engineering docs, tutorial voice in a terse runbook, or corporate polish in personal notes.
- Cross-reference drift: a comment coins a term for something the referenced artifact already names differently, or asserts a sync rule the other side does not document.
- Test or guard comments that explain the mechanism but not what a maintainer should do when the test or guard fails.
- Docstrings that only echo the symbol name:
NewThing creates a new Thing,Thing represents a thing,processThing processes a thing. - Generic verb wrappers in comments: "handles", "manages", "orchestrates", "provides", "is used to", or "allows users to" when they hide the concrete behavior, constraint, or side effect.
- Section-marker comments or test comments that sound like generated outlines rather than useful explanation.
- Caller's-eye explanation: why the caller calls this rather than what this is. It goes stale the moment someone calls it for a second reason; keep only what the signature hides.
- Transient state of the world: true the day it was written, quietly false later. Prefixes naming a migration in flight, notes on what a live system answers today, open ticket numbers.
- Findings narration: what an investigation discovered rather than an invariant the code must hold. When the error message, the type, or the control flow already says it, the comment is a transcript.
Do not enforce a mechanical word ban. A word is only a finding when the local sentence would be clearer, more specific, or more believable without it. Whether a comment has a job is a judgement call too: a transient comment can be worth keeping while the migration it names is live.
Review Standard
Prefer prose that sounds like a competent human wrote it for a real reader:
- Concrete nouns and verbs over abstractions.
- Direct cause and effect.
- Specific trade-offs, constraints, and examples.
- Shorter sentences when the current sentence sounds padded.
- Reader-useful caveats instead of confident filler.
- Project terminology, especially vocabulary from referenced artifacts, over generic language, test jargon, or local synonyms.
- For test, guard, and assertion comments, explain the failure meaning or fix.
- When suggesting reciprocal notes, check host syntax so comments do not become prompt text, string content, or data.
- For docstrings, a first sentence that adds behavior beyond the function, type, or method name.
Keep a comment that has a job: it says what the code cannot say and a foreseeable change will not falsify it. Ask of each one: a property of this code, or of the world around it? Constraints, invariants, failure modes, external effects, ordering, limits, and surprising trade-offs are properties of this code and usually have a job. A fact about the world around it has one only when the code cannot express it and it outlives the migration, deprecation, or open question in flight.
Output
Use a review format, not an essay:
- Findings first. For each finding include
path:line, the problem, why it reads as machine-written or no longer has a job, and either a suggested rewrite or the case for cutting it. - If a phrase is awkward but harmless, group it under "Nits" instead of making it a top-level finding.
- If no problems are found, say that clearly and mention the docs surface that was checked.
- Include the review basis: PR, branch comparison, base ref, or uncommitted changes.
Keep rewrites close to the author's likely intent. Do not introduce new facts, new promises, or a more casual voice than the surrounding docs support. Before returning "no findings", re-check any comment that looked accurate but wordy: if a shorter, more actionable, or more on-vocabulary version is clearly better, report it as a finding or nit.
Editing Rule
This is a review skill by default. Do not edit the docs unless the user explicitly asks for rewrites to be applied.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

