Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Proofread

Codomaniac82 downloads

Highlights proofreading findings in a note, with the rule behind each, and lets you fix them in place.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Draws proofreading findings on the note itself, so you work through them where the prose is rather than in a chat log. Hover a highlight for the rule behind it; click it to correct the text in place and mark it done. The plugin never writes prose for you: the correction field starts with the note's own words, what replaces them is what you type, and a vocabulary finding offers a word and its definition, never a rewritten sentence.

Getting started

The plugin does not proofread anything itself. It draws a report that something else wrote, and the proofread skill for Claude Code, which lives in this repo, is what writes it. You need both.

  1. In Obsidian, open Settings → Community plugins → Browse, search for Proofread, then install and enable it.

  2. Install the skill from the codomaniac marketplace, in Claude Code:

    /plugin marketplace add codomaniac/skills
    /plugin install proofread@codomaniac
    
  3. Start Claude Code in the vault's root folder and name the note to check:

    /proofread:proofread content/posts/one.md
    

    The skill reads the note, never edits it, and writes its findings to .proofread/content/posts/one.md.json.

  4. Open the note in Obsidian. The plugin checks for a new report every second, so the highlights appear on their own; run the skill again after revising, and the report is replaced.

What it checks

Each finding falls into one of four categories, drawn in its own colour, and each names the rule it breaks. The rules come from three books.

Category Colour What it points at Books
mechanical red grammar, punctuation and usage errors: articles, prepositions, agreement, verb forms, tense, commas, apostrophes, hyphens, confused words, dangling modifiers Hacker and Sommers for the rules; Williams for which ones are real
vocabulary accent a clause describing what one word covers, offered with its definition; a vague noun where the specific one is in hand Hacker and Sommers
clutter yellow words to cut or swap: filler, qualifiers, long words, nominalizations, needless passives, redundancy, hedges, intensifiers, jargon, clichés Zinsser, Williams, Hacker and Sommers
clarity blue sentences the reader has to untangle: a hidden doer, long openers, interruptions, noun stacks, broken parallelism, misplaced modifiers, unclear pronouns, shifts Williams, Hacker and Sommers
  • William Zinsser, On Writing Well — clutter: words doing no work.
  • Joseph M. Williams, Style: Lessons in Clarity and Grace — clarity: whether a sentence's characters are its subjects and its actions its verbs. His sorting of rules into real, social and invented keeps folklore, such as the split infinitive, out of the report.
  • Diana Hacker and Nancy Sommers, A Writer's Reference — correctness: the handbook's grammar, punctuation and usage rules, its glossary of confused words, and its chapters on wordiness, exact language and sentence clarity.

The same fault gets the same rule name on every run, so the report doubles as the editing log the handbook asks a writer to keep: the mistakes that keep coming back, each with the rule that corrects it.

How it works

A proofread run leaves a JSON report per note under .proofread/. The plugin reads the report for whichever note is open, anchors each finding to the text it quotes, and underlines it in its category's colour.

Findings are anchored by the quoted fragment, not by line number — a model's line numbers drift, and the note moves under them anyway. Positions are then mapped through every keystroke, so a highlight never lags behind the text it belongs to, and a finding whose text has been rewritten stops being drawn rather than sliding onto prose it was never about.

The report

.proofread/<note path>.json, so content/posts/one.md is read from .proofread/content/posts/one.md.json. The folder is dot-prefixed, which keeps it out of the file explorer, out of search and out of Obsidian's file index.

{
  "file": "content/posts/one.md",
  "findings": [
    {
      "category": "clutter",
      "rule": "qualifier",
      "fragment": "very useful",
      "occurrence": 1,
      "line": 12,
      "note": "`very` weakens the word it was meant to strengthen."
    }
  ]
}
Field
category mechanical, vocabulary, clutter or clarity
rule the named principle — article, qualifier, nominalization, character
fragment text quoted from the note; the anchor. ... stands for text skipped
occurrence which occurrence of fragment, 1-based
line 1-based, a tie-breaker only
note the sentence stating the rule
word, definition vocabulary findings: the word being talked around

A malformed finding is dropped and counted rather than costing the run; the panel says how many.

Anything else can write that file too; the skill is just the writer this repo ships.

Using it

  • Hover a highlight for the category, the rule and the sentence behind it.
  • Click it to open the same card with a field holding that text. Enter replaces exactly the range the finding covers — one ordinary edit, so undo covers it.
  • Resolve marks it dealt with. Dismiss means the rule was read and the word stays; a dismissal survives every later run of the same note.
  • The panel (Proofread: open the findings panel) lists the lot in document order, along with findings the note no longer contains and the ones already dealt with.

Commands: reload the report for this note, open the panel, and bring back everything resolved or dismissed for this note.

Highlights are drawn in Source and Live Preview. Reading view renders its own HTML and has none of them.

Building it

Node is not assumed to be on the PATH; the flake carries it.

nix develop
npm install
npm run build     # type-check, then bundle to main.js
npm test          # anchoring, parsing, position mapping
npm run dev       # rebuild on change

To try a local build in a vault, copy main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/proofread/, or symlink the repo there.

Releasing it

Bump the version in manifest.json, package.json and versions.json, write the changelog entry, and push a tag named for the version, without a v. The release workflow builds the plugin, checks the manifest against the tag, and publishes the three files with that changelog entry as the notes.

HealthExcellent
ReviewSatisfactory
About
Draw proofreading findings directly on the note and underline quoted fragments with color-coded highlights for mechanical errors, vocabulary issues, and clutter. Hover a highlight to view the rule, click it to correct the quoted text in place and mark the finding done. Anchor highlights to the quoted fragment so they track edits and disappear when rewritten.
AnnotationWritingEditing
Details
Current version
0.3.1
Last updated
Last month
Created
2 months ago
Updates
4 releases
Downloads
82
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Codomaniaccodomaniac
  1. Community
  2. Plugins
  3. Annotation
  4. Proofread

Related plugins

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Admonition

Admonition block-styled content.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode.

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Force note view mode

Force the view mode for a note by using frontmatter: YAML block with 'obsidian_ui_mode' as key.

Typewriter Mode

Typewriter scroll, writing focus, current line highlight, paragraph dimming, and more!