Playground
Experiments and build logs. Things I made to see if they would work.
Voice writing skill
Capturing my writing voice took an afternoon. Getting it onto GitHub took the rest of the day.
I have spent enough time asking models to write in my style to know how that ends. You describe your writing in adjectives, because adjectives are easy. Clear. Direct. Honest. What comes back sounds like everyone else who has ever called themselves clear and direct and honest. The adjectives are not wrong. They are just not instructions.
Voice is architecture
The fix came from fiction. There is a system going around, built for novelists, from a channel called The Nerdy Novelist. It pulls a writer's voice out of their own samples and saves it as a reusable file. I wanted it for the writing I actually do: notes, essays, reviews, the occasional page of documentation. So I rebuilt it.
The fiction version asks about point of view, dialogue, and scene description. None of that survives contact with a blog post. What survives is plainer. Where do you stand relative to the reader. Do you lead with the claim or build to it. How long does a sentence run before you cut it short. I kept eight of those dimensions and dropped the ones that only matter in fiction. Stance, argument, concreteness, structure. The parts that do not change when the topic does.
Then I broke it into three parts: a prompt that extracts the voice, a template that stores it, a test that checks it still sounds like you. The test is the part I trust most. You give the loaded system something deliberately boring, like why deadlines make people work faster, and watch whether it comes back in your handwriting or in the house style of the internet. A boring prompt has nowhere to hide.
Naming a voice is the idea. Shipping it is the work.
The work was in the friction
The system took an afternoon. Getting it onto GitHub took longer, which is the usual ratio.
I had it as a clean repository: a README, a license, the three parts in their own folders. All it had to do was move from my machine to a server. This is the part nobody writes notes about, so this is the part worth writing down.
First a stray # broke a command. I meant it as a comment. My shell passed it to the program as an argument instead.
Then a repository that already existed, because an earlier gh repo create had worked and I had not noticed.
Then a git push that failed because I had typed my own name into the URL. My GitHub account is not my name. It is moyger, and has been for over a decade.
It was not a bug in the idea. It was a typo in the part I thought I knew by heart.
Fig 1: the push fails against the wrong name. gh auth status gives up the real account. The fix was one corrected remote.
Small problems, every one of them. They still took the afternoon.
The proof is this note
The system works, and I have a strange way of knowing it. This note ran through the trick it describes. The voice was captured first, then loaded, then pointed at the note you have just read.
A voice you can name is a voice you can lend. Then you get it back.