style-review
Skill0 starsChanged 4 months agoMITView on GitHub
LLM-based prose review against the empirical-economics writing style guides. Runs the mechanical linter first, then reads the file against the general baseline and any relevant per-type guides. Use when the user invokes /style-review <file>, asks for a "thorough style review", "polish this for submission", "review for clarity", or wants prose feedback on a paper draft / important email / chapter. For fast deterministic AI-tell scanning, use /style-check; for section-scoped pre-submission validation with ledger writes, use /validate-section.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- elastic/docs-buildertheir own version, first seen Nov 4, 2026
- meowdiocre/meowpitheir own version, first seen Oct 27, 2026
- yzhao062/agent-styletheir own version, first seen Oct 23, 2026
- MetaMask/metamask-docstheir own version, first seen Oct 8, 2026
- tranhieutt/software_development_departmenttheir own version, first seen Apr 30, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- MetaMask/metamask-docs★ 869same name
- yzhao062/agent-style★ 732same name
- tranhieutt/software_development_department★ 71same name
- elastic/docs-builder★ 25same name
- meowdiocre/meowpi★ 3same name
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 repository39 other files it gives its agents.
- anecdotesSkill
- backupSkill
- checkSkill
- cite-syncSkill
- dataSkill
- diariosSkill
- distill-styleSkill
- driveSkill
- dropboxSkill
- fetch-annotationsSkill
- findings-auditSkill
- findingsSkill
- gmailSkill
- handoffSkill
- howtoSkill
- hypothesisSkill
- iatSkill
- ideaSkill
- inboxSkill
- institutionsSkill
- literatureSkill
- llmkitSkill
- meetSkill
- memory-auditSkill
- new-pipelineSkill
- new-projectSkill
- nextSkill
- otterSkill
- outlookSkill
- questionsSkill
- referee-panelSkill
- siteSkill
- style-checkSkill
- style-reviseSkill
- tactiqSkill
- theorySkill
- validate-sectionSkill
- whatsappSkill
- zoomSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Use this for prose that matters: paper drafts, chapters, important emails, externally-visible blog posts.
- Distinctive: line 29
Always start with the deterministic linter:
- Distinctive: line 35
If any warning-or-higher violations exist, offer to fix them before the LLM review.
- Distinctive: line 60
Always load the general baseline:
- Very specific: line 79
If the file is under ~/Dropbox/referee/, also load:
- Distinctive: line 85
If working in the user's workspace, also load the workspace addendum:
- Distinctive: line 96
Read the file. For each section, evaluate against the loaded rules.
- Distinctive: line 207
No general praise or summary commentary.
“Common” is measured: kept by at least 6 in 10 of the 5 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
style-review
Slow, thorough LLM-assisted prose review. Catches what /style-check
can't: long/complex sentences, buried verbs, weak topic sentences,
hedging in main claims, paragraph-coherence drift, voice inconsistency,
and formal/informal pairing failures.
Use this for prose that matters: paper drafts, chapters, important emails, externally-visible blog posts. Don't use it on routine project docs or working drafts — overkill.
How to invoke
| Form | What it does |
/style-review <file> | Full review. Mechanical linter first, then LLM. Numbered findings; ask which to apply. |
/style-review <file> --section <name> | Restrict the LLM review to one section (intro, abstract, results, etc.). |
/style-review <file> --no-fix | Review only, no edit prompts. |
Workflow
1. Run the mechanical linter
Always start with the deterministic linter:
python3 ~/research/research-kit/tools/style_lint.py <file> --format json --severity warningIf any warning-or-higher violations exist, offer to fix them before the LLM review. No point reviewing prose the linter would re-flag anyway.
2. Resolve section structure
Identify which sections the file contains so the right per-type guides get loaded. Detection order:
section_deps.json— if the project hasbuild/paper/section_deps.json, read it. Each entry has atypefield per the convention inresearch-kit/rules/section_labels.md.- LaTeX labels — if section_deps.json is absent, parse
\label{sec:<type>}directly from the file. The first colon-separated segment aftersec:is the type. - Heading-text heuristic — if neither is available, infer types
from heading text per the table in
research-kit/rules/section_labels.md.
For files without sections (a standalone abstract, a paragraph, an email): treat the whole file as one section, infer type from filename or content.
3. Load the rule files
Always load the general baseline:
research-kit/rules/writing_style.mdFor each section type encountered, also load the per-type guide:
research-kit/rules/writing_style/<type>.mdFor body-section types (results, methods, data, institutions, discussion), also load:
research-kit/rules/writing_style/body.mdIf the file is under ~/Dropbox/referee/, also load:
research/referee/style.mdIf working in the user's workspace, also load the workspace addendum:
research/rules/writing_style.mdThe per-type files state what's specific to each section type; the general baseline states rules that apply everywhere. Apply both.
4. LLM review pass
Read the file. For each section, evaluate against the loaded rules. Findings to look for:
General (apply to all sections):
- Sentence length & structure (default short; flag long sentences that could split cleanly).
- Voice (active default; flag passive author actions and unnecessary passives).
- Editorializing the data (
starkest,most compelling,striking,notable). - Topic sentence placement (point buried in sentence 3 or 4).
- Hedging in main claims (caveats that should move to footnotes).
- Adjective stacks, synonym piling.
- Specifics vs. generalities; numbers, not qualifiers.
- Author-coined compounds without inline gloss.
- Formal + informal pairing for technical content.
- Connective overuse (same connective opening multiple paragraphs).
- Signposting bloat ("in this section, we will discuss" when the heading already says it).
- Self-categorizing prefaces ("This is a descriptive paper:").
Per section type: apply the rules from the loaded per-type file. Examples:
- Abstract → first sentence states the question; plain-language audience test; close with implication.
- Intro → Hook → Question → Why Hard → Setting → Approach → Results → Lit → Roadmap; question-first; hook is concrete; lit-contributions paragraph near the end.
- Body sections → triangular structure; lead with main result; no previews/recalls; economic significance not just statistical.
- Theory → formal+informal pairing; minimum theory required.
- Conclusion → short, no future research, close with implication.
The per-type files are authoritative for type-specific rules. Don't restate them inline; cite the rule by file:rule-name when reporting.
5. Present and apply
For each finding, propose a concrete revision. Format:
3. line 47, paragraph on identification:
buried topic sentence (writing_style.md §5). The point ("we identify
the effect by …") appears in sentence 4 of 6.
propose: move sentence 4 to first position; collapse sentences 1-3
into a one-line setup.
7. line 122 (intro):
contribution-first opening (writing_style/intro.md hard rules).
"We construct the first dataset of …"
propose: open with the research question first; move "We construct…"
to a later paragraph.
12. line 215 (results):
"starkest" — editorializing (writing_style.md §2 / writing_style/
results.md). Replace with direct finding: "the temporal pattern is
consistent with corruption migrating across margins as oversight
tightened."Then ask:
Respond with:
- "go" or "all" → apply every proposed revision
- "all except 6,9" → apply, skip those
- "1,3,5" → apply only those
- "skip" → no editsApply with the Edit tool. Don't commit automatically.
6. Final pass
Re-run the mechanical linter to confirm no new deterministic violations were introduced.
When to use vs. the other style skills
| Skill | Scope | Mechanical | LLM | Ledger |
/style-check | file | yes (style_lint.py) | no | no |
/style-review (this) | file (whole) | yes (style_lint.py) | yes | no |
/validate-section | one section | yes (style_lint.py) | yes | yes |
/style-revise | paragraph | yes (lints its rewrite) | yes | no |
Same patterns underneath. This skill is for whole-document review when
the document is worth a thorough pass; /validate-section is for
section-scoped pre-submission validation with ledger writes. /style-revise
is the earlier-pipeline counterpart: it reshapes a rough draft's idea
flow and offers alternative structures, rather than auditing near-final
prose against the guide. Route by draft maturity — rough → /style-revise,
near-final → this skill.
Cost
Reading the file fully and reasoning over every paragraph against the
general baseline plus per-type guides. Long papers take a few minutes of
LLM time. Use --section <name> for tighter scope.
Output discipline
Findings in numbered form, one per item, with:
- Line number(s)
- The current text (short excerpt)
- The proposed revision
- One-sentence justification citing the rule by file/section.
No general praise or summary commentary. The user wants concrete edits.
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.

