# sepia
You can rewrite every sentence and the writing still reads as machine-made. That is
not a failure of your vocabulary. It is the shape underneath it.
sepia is a free, MIT-licensed Agent Skill that edits that shape. It installs with one
command, it runs inside the agent you already use, and the first thing worth doing
with it is pointing it at something you already published.
Install it in one minute
npx skills add Nanako0129/sepia -g-g means user scope — install once, use it in every project. The default is project
scope, which is usually not what you want.
Update or remove it the same way:
npx skills update sepia -g
npx skills remove sepia -g
Claude Code also has a native plugin path, if you prefer it:
claude plugin marketplace add Nanako0129/sepia
claude plugin install sepia@sepia --scope user
When I ran the install on 2026-09-02 it added exactly five entries to ~/.claude/skills
— sepia, sepia-review, sepia-refactor, sepia-recreate, sepia-write. Four of
them printed a PromptScript does not support global skill installation line on the
way past. It is cosmetic; the skills are present and bound.
Run the one that changes nothing first
/sepia-review (paste your text)review diagnoses and edits nothing. That is the one to start with, and it is the one
to point at writing you have already shipped, because that is where you find out
whether the thing you were proud of reads as a person.
The other three: refactor makes minimal in-place edits, recreate rewrites from the
source facts and intent, write produces new prose to the rules from the start.
What it actually looks at
Three passes, in this order:
1. Narrative architecture — themes explained by the narrator, single-track tidy
plots, emotion rendered only as bodily sensation, no real-world references, linear
time, endings resolved by growth and acceptance.
2. Discourse flow — the paragraph-question template, the mid-piece sag, rhythm and
position variety.
3. Surface style — clichés, syntax templates, vocabulary, register. The layer every
other humanizer starts and stops at.
For professional prose there is a shared checklist of ten checks plus a thin rule file
per document type: release notes, PR and issue replies, postmortems, tickets, technical
articles.
I ran it on my own script
Not a demo file. The voiceover script for the video I published on 2026-08-31.
Three of the ten professional checks fired:
| check | what it caught |
|---|---|
| templatedness | three consecutive sentences opening it's |
| sameness of rhythm | one cadence end to end, no short beats, no long ones |
| rule of three | two triads in one short script |
The worst was rhythm. I had read that script out loud twice before recording it and
never once heard it.
It also told me what the script got right, which is the part that made me trust it:
specificity passed — the real numbers in it were real and concrete — and none of the
banned-vocabulary list appeared at all. A review that only finds faults is easy to
write and hard to believe.
The honest limit
The fiction side rests on measurement. StoryScope (arXiv:2604.03136, Russell et al.,
2026) ran 61,608 stories from humans and five frontier models and found that a
classifier using narrative-structure features alone identifies AI fiction at 93.2%
macro-F1 — and that stripping the surface style barely moves it, from 95.5% down to
93.9%. That is the whole argument for editing structure instead of words, and it is
measured.
The professional side is not. The skill's own SKILL.md says its professional
prescriptions "are Sepia inferences unless a source explicitly tested the intervention."
The rules lean on cited studies; the specific fixes on top of them are the author's
judgement, and the file labels them that way rather than hiding it.
I would still install it. A tool that tells you which half of itself is measured is
rarer than one that works.
Links
- Repo: https://github.com/Nanako0129/sepia — MIT
- The paper: https://arxiv.org/abs/2604.03136
Comment SEPIA on the reel and the setup comes to you.
