QuickQuill's first update after launch. QuickQuill CLI & Skills are out!

by

Some of you who commented at launch were curious whether QuickQuill could export transcripts and summaries as markdown, and a few of you wanted to wire it into Obsidian. Markdown export was already in the app, but getting your transcripts and summaries out just got much easier.

QuickQuill CLI is out. It supports starting and stopping recordings (transcription and the summary run in the background), searching and fetching past sessions, and transcribing audio files. The Obsidian case is now two lines:

quickquill history --query "standup"   # find the session id
quickquill export <session-id> --format markdown > ~/vault/meetings/note.md

If you've been running a Whisper-based transcription workflow, the CLI can replace it. Transcription runs on Apple's on-device speech stack, so it's fast, there are no API keys, and no per-minute billing. You buy QuickQuill once and script it as much as you like.

I've also built skills, so your AI agent (Claude Code, Codex, Cursor, etc) can drive the CLI for you. "record this meeting", "search conversation about something". If you'd rather not touch session ids at all, this is the way your agent finds the right session for you.

The CLI is bundled with the app. Hit Install in Settings → Agents, then run quickquill install-skills to add the skills to your agents. Everything still runs on your Mac and nothing leaves it.

If you already have QuickQuill, Settings → General → Check for updates will get you the latest version.

Enjoy the more convenient QuickQuill!

51 views

Add a comment

Replies

Best

@Taisei that's exactly the kind of small-but-real fix that matters more than it looks - a second silent recording eating CPU for nothing is the annoying kind of bug because nothing visibly breaks. glad it also nudged the GUI/CLI state sync fix along with it, that seems like the more important one long term since more automation surface means more chances for the two to disagree.

separating record/read/export into distinct permissions and enforcing it at the CLI level rather than the skill level is the right architecture - means a rogue or just poorly written skill can't accidentally get more access than it should. good update.

the skills part is the clever bit, most CLI additions just stop at scriptability and leave the agent integration as an exercise for the user. one thing I'm wondering about - if I ask my agent to start a recording via the skill while the GUI app is also open, does the app's UI reflect that a recording is running, or would I end up with two separate ideas of what's currently recording?

 
Your comment made me realize that it was possible to start two recordings at the same time, so I fixed it to prevent a second recording from being started while one is already running. There was no real benefit to recording the same audio twice, and it also added unnecessary load.

I also updated the app so that recordings started from the CLI are reflected in the GUI. The app now shows “Recording” along with the elapsed time.

The fix has already been released, so you can update to the latest version from Settings > General > Software Update.

 Building on Omri’s shared-state question, I would want the permission state to be visible too. Can the installed skill search old transcripts, start recording, and export text under separate permissions, or does enabling it grant all three at once? Local storage helps, but meeting notes are sensitive enough that read, record, and export feel like different capabilities.

 

Right now read, record, and export aren't separated as distinct capabilities for agent access. You're right that they should be, especially given what we're claiming on privacy. I'm working on splitting them so each can be granted independently from Settings > Agents. I'll follow up here once it ships.

 

I updated QuickQuill! Record/Read/Export are now separate permissions in Settings > Agents, and Read has its own sub-toggles for title/summary/transcript body. This is enforced by the CLI itself, not the skills, so it applies no matter which agent or skill calls it. You can enable permissions like this:

the CLI + skills combo is the part that'll actually get used daily. question on quickquill history --query - is that full-text search across the transcript content, or matching on session titles/metadata? asking because "standup" in your example could be a title someone set, or it could be picking that word up out of the actual conversation.

 

Both. --query runs full-text search over the transcript segments using SQLite FTS, and also matches titles and summaries, then merges the results.

When the match comes from the transcript itself, the output includes a snippet of the matching line, so you can tell what kind of match it was. For now, it uses exact word matching rather than fuzzy or semantic search.

 good answer, exact match is the right tradeoff for v1 - fuzzy search on transcripts usually just adds noise anyway. the snippet-on-match is a nice touch

 
Thank you! I’m planning to add semantic search at some point. I’ll let you know when it’s ready.

 no rush on my end, exact match already covers most real meeting-recall use cases. appreciate you keeping the loop open on it