A few months ago, I wrote A startling glimpse of malleable software: LLM-generated Obsidian plugins. That essay demonstrated that idiosyncratic personal Obsidian plugins could be generated by Claude Code. It's janky, yes, but it's an interesting prototyping context which suggests some properties one might want from a malleable creative environment. In the essay I reimplement a bunch of examples from a classic paper on malleable software.
Now Claude Code has an SDK. I couldn't resist: I made a plugin-generating plugin called Trough. (You know—for your slop.) It gives you an in-Obsidian UI for creating idiosyncratic behavior on the fly. In the video above, I show Trough replicating the "Cash Register" document behavior from the earlier essays.
I've attached a copy of Trough's sources below. See the Readme for documentation. You'll need some developer experience to get it set up properly. Please note that this is a very quick sketch, and it may eat your data. I'd suggest trying it out with a test vault.
A personal note: Thank you to the many of you who sent kind notes and condolences regarding my mother's worsening condition. It's certainly been a difficult couple of months. I'm grateful to be staying with her in Portland, in what are now likely her final few days. Life is beautiful and precious. May we all savor it.
Andy Matuschak
2025-09-16 18:14:41 +0000 UTCLuke Burns
2025-09-10 21:17:36 +0000 UTCAndy Matuschak
2025-08-05 03:08:43 +0000 UTCPavol Vaskovic
2025-07-16 09:32:56 +0000 UTC