Muesli Agent
Use the local muesli-cli CLI as the source of truth for meeting and dictation data.
CLI discovery
Resolve the binary in this order:
command -v muesli-clicommand -v mueslionly when the resolved path is a Homebrew cask alias toMuesli.app/Contents/MacOS/muesli-cli; verify withmuesli info/Applications/Muesli.app/Contents/MacOS/muesli-cli- A local SwiftPM build path inside this repo
If discovery is uncertain, run the candidate binary with info first and reject unrelated muesli executables.
Core workflow
- Inspect capabilities with
muesli-cli specif you do not know the exact subcommand shape. - To transcribe a local audio file, run
muesli-cli transcribe <file>and read plain transcript text from stdout. - Use
muesli-cli transcribe <file> --format jsonwhen you need duration, word count, model, warnings, summary, or saved meeting ID. - Add
--save-meetingto persist an imported meeting withsource = audio_import. - List candidate meetings with
muesli-cli meetings list --limit 10. - Fetch a full record with
muesli-cli meetings get <id>. - Use the coding agent's own model to analyze
rawTranscriptandformattedNotes. - If you want to persist improved notes, write markdown back with:
cat notes.md | muesli-cli meetings update-notes <id> --stdin- or
muesli-cli meetings update-notes <id> --file notes.md
Rules
- Treat CLI stdout as the API. Data commands are JSON by default;
transcribeis plain text by default, Markdown with--format markdown, and JSON with--format json. - Treat stderr as informational only.
- Do not mutate
rawTranscript; only updateformattedNotes. - Prefer the meeting transcript when
notesStateismissingorraw_transcript_fallback. - Use
--db-pathor--support-dironly when the default Muesli data location is wrong.
When to read references
Read references/cli-contract.md if you need the exact command tree, field definitions, or failure behavior.