Repository navigation
FAQ
No. intake copies it into the job folder, hashes it, and every edit goes to a new file (edited.md) beside the cleaned copy. check compares the hash at the end of every run and fails the run if your file changed. See How it works.
Because then the sentence would be the AI's, not yours. Anything that needs new wording comes to you as a query: the problem, why it matters, and the kinds of fix. You write the words and pass them with --author-text, and they count as yours. The reasons, from watermarks to magazine rules, are on Provenance and AI-text rules.
Typo and spelling fixes, tense and inflection fixes of your own word, punctuation, cuts and reorders. Since 0.1.1, also fixes between words people often confuse, and a swap to a word you wrote close by. They add no words you did not write, so the ledger counts zero. See Suggestion format.
You can, but it still counts as AI-written. apply checks your text against the words that suggestion offered. Since 0.1.1, common short words such as "the" and "will" count too when they sit in a run of three or more copied words. So a copied phrase counts the same as the proposal. See Provenance and AI-text rules.
No. Since 0.1.1, suggest saves the items that pass and lists the refused ones by item number. Fix those and run it again with the same file. A quote must match the text exactly, curly quotes and apostrophes included. See Suggestion format, which also notes two faults in how 0.1.1 skips items it already saved.
The message says which rule: an ID that does not exist, a query with no words from you, two IDs that change the same text, or AI-written words over the limit. A refusal applies nothing. ledger --accept checks a set first without applying it. Examples are on Commands.
Each apply builds a fresh file from clean.md with only the IDs named in that call, and numbers it edited-2.md, edited-3.md and so on. Name every ID you accept in one call. The job's applied list and status describe the newest file.
Yes, for one job: say so plainly ("rewrite it freely"), and the agent runs override with your words. The ledger keeps counting. See How it works.
The default limit is 1% of the piece and at most 50 words per job, whichever is lower, for small connective fixes. See Provenance and AI-text rules.
No. It is not a humanizer, and the skill never runs one on your text. It keeps the words yours, which is what watermarks, KDP, the Authors Guild and the Copyright Office care about. No tool can promise a clean score from a style detector.
Text, Markdown, Fountain and .docx are read directly. For EPUB and PDF, extract the text with readwright and pass it with --text. For a Google Doc, the agent reads it read-only, works from a saved export, and at the end runs check --against a fresh export. See How it works.
ew.py export writes review.docx with tracked changes and comments. Uploading it to Google Drive turns tracked changes into Google Docs suggestions, by Google's own help page. Opening it in Microsoft Word has not been tested. See Delivery formats.
When two changes overlap, these views keep the one that starts first and leave the other out. Every suggestion is still in suggestions.md. See Delivery formats.
The edited file is built from clean.md. Intake follows your dominant quote style, turns double hyphens into em dashes, joins hard-wrapped lines and normalises scene breaks. It never changes a word. --quotes keep and --dashes keep at intake leave those alone. See Commands.
Over about 20,000 words, the agent splits the text into chunks of whole paragraphs with ew.py chunk and works chunk by chunk, keeping a story bible as it goes. The skill's guide for long manuscripts covers 80,000 to 150,000 words. Nothing that long was run for these pages.
In the works store on your machine, ~/editwright-works unless you point it elsewhere. It holds full copies of each manuscript. ew.py makes no network calls. See Works store and privacy.
In 0.1.0, intake copied the file before it found it could not read it, so a refused intake left a job folder with only the copy. Delete such a folder by hand. Since 0.1.1 a refused intake writes nothing. See Works store and privacy.
Yes, per author. feedback tallies which categories and levels you take and turn down, and the agent adds one line for any taste you state. It reads that file before each pass. See Commands.
Yes: genre script keeps single line breaks, uses a screenplay style, and the skill writes coverage. Writing screenplays is a different plugin's job (cinewright); editwright only gives notes.
This wiki describes editwright 0.1.1 (tag v0.1.1, commit 8d9a0d5) and was last updated on 2026-10-09. The plugin is MIT licensed. Report problems in the issues.