Repository navigation
Releases: rafeblandford/skills
Release list
voice v0.2.4
voice v0.2.4
The piece, ready to paste, from the draft and revision page.
What changed
- Copy text and Copy text as Markdown, above the draft, copy the piece as it stands, without the questions written into it, to paste wherever it's going next. Plain text keeps a link's address in brackets after it.
- Selecting the text by hand leaves out the paragraph and change numbers, and the origin markers, so a selection is just the text.
Install
See the catalogue README. For the Claude app, upload voice-and-deslop.plugin (both skills) in Settings → Customize → Plugins, or voice-skill-v0.2.4.zip in Settings → Customize → Skills. Then build your own voice pack: the skill ships with a fictional example. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksums of the attached files.
deslop v0.2.4
deslop v0.2.4
The draft, ready to paste, from the decision page.
What changed
- Copy text and Copy text as Markdown, above the draft, copy it as it stands with the edits you've accepted, to paste wherever it's going next.
- Selecting the text by hand leaves out the paragraph numbers and flag tags, so a selection is just the text.
Install
See the catalogue README. For the Claude app, upload voice-and-deslop.plugin (both skills) in Settings → Customize → Plugins, or deslop-skill-v0.2.4.zip in Settings → Customize → Skills. Then build your own voice pack: the skill ships with a fictional example. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksums of the attached files.
voice v0.2.3
voice v0.2.3
Fixes to the draft and revision page, standalone documentation, and one
plugin for both skills in the Claude app.
What changed
- Copying works in the Claude app's side panel. Copy notes as Markdown did nothing there, because the panel refuses the clipboard. The page now tries the clipboard, then the browser's older copy command, and failing both shows the Markdown in a visible box, selected, ready to copy by hand.
- A version number is one change. v0.1.0 → v0.2.2 used to split into two changes at the dots. Changes joined only by a dot or comma now count as one.
- A first draft compares with an r0.
draft-r1.mdcompares with adraft-r0.mdbeside it by default, as later revisions already did. - The Read view counts what's in the text. When some changes are removals, it says, for example, "11 of 13 changes in the text".
- A draft without a revision number takes no records. It used to take every provenance record in its folder.
- A README in the skill folder: what it does, building your own voice pack, the page, and its limits.
Install
See the catalogue README. For the Claude app, upload voice-and-deslop.plugin (both skills) in Settings → Customize → Plugins, or voice-skill-v0.2.3.zip in Settings → Customize → Skills. Then build your own voice pack: the skill ships with a fictional example. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksums of the attached files.
deslop v0.2.3
deslop v0.2.3
Fixes to the decision page, standalone documentation, and one plugin for
both skills in the Claude app.
What changed
- Copying works in the Claude app's side panel. Copy as Markdown did nothing there, because the panel refuses the clipboard. The page now tries the clipboard, then the browser's older copy command, and failing both shows the Markdown in a visible box, selected, ready to copy by hand.
- A note is a revision. A note on a flag left undecided counts as "revise", on the page, in the copied table and in
decision_page.py record. - Images and counts. An image line in the draft shows as its description rather than a link, and a review with one flag says "1 flag".
- A README in the skill folder: what it does, building your own voice pack, the page, and its limits.
Install
See the catalogue README. For the Claude app, upload voice-and-deslop.plugin (both skills) in Settings → Customize → Plugins, or deslop-skill-v0.2.3.zip in Settings → Customize → Skills. Then build your own voice pack: the skill ships with a fictional example. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksums of the attached files.
voice v0.2.2
voice v0.2.2
A fix to the revision page. Everything else is unchanged from v0.2.1.
What changed
- Links in the text are links. The page used to show a Markdown link as plain text, keeping its words and dropping its address. It now draws the link, opening in a new tab. Only web, mail, in-page and relative addresses become links; anything else stays plain text.
Install
See the catalogue README. For Claude Cowork, upload voice-skill-v0.2.2.zip as a skill. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksum of the attached archive.
voice v0.2.1
voice v0.2.1
A small follow-up to v0.2.0, from using the review pages on real drafts and testing them in Claude Cowork.
What changed
- A draft file holds only the piece: its title and its text, with no heading wrapped around it and no notes. Notes go in the hand-back,
meta.mdor a file of their own. The revision page then needs no options to find the text. Earlier, a draft that wrapped its text in a heading needed--heading. - The page is offered. When
voicehands back a draft or a revision, it now offers the page in one line and builds it if you say yes. Before, it was left to the assistant whether to mention it. - Moved and reworded paragraphs now show as one change ("¶2 moved from ¶3, and changed"), with each rewording numbered inside it. Before, they showed as a removal and an unrelated addition.
Where it runs
Tested in Claude Code, Codex and Claude Cowork. In Cowork the pages are built in the session and written to your folder; the script doesn't need to be on your machine. The pages need Python 3, standard library only, wherever the skill runs.
Install
See the catalogue README. For Claude Cowork, upload voice-skill-v0.2.1.zip as a skill. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksum of the attached archive.
voice v0.2.0
voice v0.2.0
You can now see a draft, and what changed since the last one, at a glance. A small script turns a draft into one self-contained page, and the questions voice needs you to answer now sit in the draft itself.
What changed
- Revision page (
scripts/revision_page.py, Python standard library only):- A first draft shows each paragraph's origin from the provenance record (yours, your source, the drafter's or mixed) beside the text, with the questions.
- A later draft compares with the previous revision by default. Changes are marked word by word and numbered, so you can say "on change 3…" when you ask for the next revision.
--listprints the same numbered changes as text, so any assistant can work out which change you mean.- Read view shows the current revision at reading width, with Prev/Next between changes.
- Tables are compared row by row. Images are embedded, captions and code blocks are shown properly, and each change carries the record line that explains it.
- Questions in the draft. Where
voiceneeds an answer, it puts the question where the answer would go, as> **[Q1]** …. They're numbered per revision and removed once answered. - Notes stay out of the text. Notes about a draft go in the hand-back, their own file, or under a heading after the text. They never go above it, where they read as the first paragraph.
How it was tested
- The page was built for every draft, and every consecutive pair of drafts, across three real multi-revision pieces: 87 pages, two of them essays with 28 and 16 revisions. It was also tested on deliberately degraded inputs: no provenance record, no front matter, Windows line endings, identical drafts, a total rewrite, a malformed record and an empty file. With no record, it says so rather than guessing.
- The question format was checked across four fresh drafts, essays and short posts, each revised once. Every question came out in the specified form and was removed in the revision.
Limits
- One author's writing and small samples sit behind the defaults; treat them as heuristics.
- When two revisions share one working file, a note written as plain prose above a revision can't be told from its first paragraph. Keep notes under a heading after the text, or in their own file.
Install
See the catalogue README. For Claude Cowork, upload voice-skill-v0.2.0.zip as a skill. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksum of the attached archive.
deslop v0.2.2
deslop v0.2.2
A fix to the decision page. Everything else is unchanged from v0.2.1.
What changed
- Links in the text are links. The page used to show a Markdown link as plain text, keeping its words and dropping its address. It now draws the link, opening in a new tab. Only web, mail, in-page and relative addresses become links; anything else stays plain text.
Install
See the catalogue README. For Claude Cowork, upload deslop-skill-v0.2.2.zip as a skill. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksum of the attached archive.
deslop v0.2.1
deslop v0.2.1
A small follow-up to v0.2.0. Review behaviour is unchanged.
What changed
- The decision page is offered. When
deslophands back a review, it now offers the decision page in one line and builds it if you say yes. Before, it was left to the assistant whether to mention it.
Where it runs
Tested in Claude Code, Codex and Claude Cowork. In Cowork the page is built in the session and written to your folder; the script doesn't need to be on your machine. The page needs Python 3, standard library only, wherever the skill runs.
Install
See the catalogue README. For Claude Cowork, upload deslop-skill-v0.2.1.zip as a skill. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksum of the attached archive.
deslop v0.2.0
deslop v0.2.0
Reviews are now easy to decide on. Every review ends with a machine-readable flags block, and a small script turns the review and its draft into one self-contained page: the draft on one side, the flags on the other, each flag highlighted where it sits in the text.
What changed
- Flags block. The review ends with a fenced JSON block restating its flags, each with an exact quote for every place it touches, any proposed wording, and answer labels phrased for that flag ("Yes, that's my reason / Leave it as written / No, or only partly; here's my real reason"). The format is in
references/flags-block.md. The prose review and the Decision table are unchanged. - Decision page (
scripts/decision_page.py, Python standard library only):checkconfirms that every quote is found in the draft.renderbuilds the page. Flags are highlighted and linked both ways: hover a flag and the draft scrolls to it, click the text and its flag comes up. A flag in several places lights them all. Accepted wording previews in place, with a running length count. "Copy as Markdown" gives you your decisions to paste back.recordturns that pasted table into a decisions file with counts.
- Stricter restraint. A claim's framing ("you come to see that…", whose view it is, how sure) is part of the claim, so dropping it is a question, not a style edit. The flags block never adds a proposal the prose doesn't make. On your own words, the only alternative offered is "Tell me otherwise".
- Paragraph numbers count body paragraphs only. Headings, tables, captions and question blocks are not counted, matching
voice.
How it was tested
- Restraint, two model families. The thirteen-case ownership regression ran twice in each family. Codex (which reports itself as based on GPT-6) passed 26 of 26 runs and Claude Opus 5.5 passed 25 of 26. The one lapse was a single run that counted one weak construction as two tells. Every flags block was valid, and every quote was found in its draft.
- Real reviews. The decision page was used to decide real reviews, and tested on posts and on a long draft.
Limits
- Reviews vary from run to run, and the evidence behind the defaults comes largely from one author's writing. Every proposal goes through your decision.
- The page works offline in any browser. The optional
--artifactflag adds a save to a claude.ai artifact's data store; it is specific to that host, and untested.
Install
See the catalogue README. For Claude Cowork, upload deslop-skill-v0.2.0.zip as a skill. Website guide: https://rafeblandford.com/voice-and-deslop/.
SHA256SUMS lists the checksum of the attached archive.