Seminarly cli
Skill daniellee-ux/Seminarly-AI/.agents/skills/seminarly-cli
Read the user's Seminarly sessions (user notes, AI-enhanced notes, transcripts) by shelling out to a local read-only CLI. Use when the user asks about past sessions, recordings, meetings, transcripts, or "what did I discuss/say in <session>".From its SKILL.md
npx -y skills add daniellee-ux/Seminarly-AI --skill seminarly-cliAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Seminarly CLI
Seminarly is a local macOS app that records sessions (audio + user notes) and generates AI-enhanced notes. The user's data lives in a single SwiftData SQLite store on their machine. This skill exposes a small read-only CLI — seminarly-cli — that prints session data as Markdown or JSON.
When to use
Invoke this CLI whenever the user references past Seminarly sessions: "what did I talk about with Alice?", "summarize yesterday's lecture", "find any session where we discussed Q3 OKRs", "show me my notes from <topic>". You do not need to ask permission — the CLI is read-only by construction.
Do not use this skill for:
- Editing or generating new sessions (CLI is read-only)
- App code questions about Seminarly itself (use file reading instead)
- Anything that isn't reading the user's session data
Quick start
seminarly-cli list # JSON, newest first
seminarly-cli list --table --limit 5 # human-readable
seminarly-cli get latest # Markdown for most recent session
seminarly-cli get <id> # Markdown for specific session
seminarly-cli get <id> --format json # JSON envelope { id, title, date, markdown, ... }
seminarly-cli search "OKR" # JSON matches with snippets
seminarly-cli path # store location (debug)
If seminarly-cli is not on $PATH:
- If the user has the Seminarly app (the common case — this skill ships inside it): tell them to open Seminarly → Settings → Seminarly CLI and Skills, where Install sets up the command + skill and the Add to PATH option exposes it. The bundled binary already lives at
Seminarly.app/Contents/Helpers/seminarly-cli, so a full path works immediately too. - If the user has the source repo:
./scripts/install-global.sh(builds the binary, sets up the skill, adds~/.local/binto PATH), or./scripts/build-cli.sh && ./Tools/seminarly-cli ...for a one-off in-repo run.
Three data types
Each session carries three distinct pieces of content. Markdown output flags them so you can tell them apart:
| Type | Where it lives | Source |
|---|---|---|
| User notes | ## User Notes section | What the user typed during recording (verbatim). |
| Enhanced notes | ## Summary + ## <Section> sections | AI-generated from transcript + user notes. Items are tagged [user] or [transcript] so you can see what came from where. |
| Transcript | ## Transcript section | Raw timestamped diarized speech ([mm:ss] Speaker N: ...). |
The ## Summary heading sits at the same level as user-typed sections — it is AI-generated, not user-typed. Lines under ## User Notes are the only thing the user explicitly wrote.
Picking flags
| User intent | Command |
|---|---|
| "What was discussed?" / quick recap | get <id> (default — all three types, with source tags) |
| Just the user's own notes | get <id> --include user-notes |
| Just the AI summary, no transcript | get <id> --include enhanced-notes |
| Read transcript verbatim | get <id> --include transcript |
| Find sessions mentioning a topic | search "<query>" |
| Filter by date | list --since 2026-05-01 --until 2026-05-15 |
Strip [user]/[transcript] tags | add --no-source-tags |
Typical workflow
- Run
list(orlist --query "alice") to get the candidate IDs. - Run
get <id>on the relevant session. - Read the Markdown and answer the user's question.
Don't dump raw transcripts unless asked — prefer the enhanced notes or summarize yourself.
Guarantees
- Read-only. The CLI opens the store with
allowsSave: falseand never mutates. - Works whether the Seminarly app is open or not. SQLite WAL allows concurrent readers.
- No network. All data is local; the CLI never makes outbound calls.
- Stable across CLI invocations. IDs are 12-hex-char hashes of
date + title— re-runlistif you suspect a session was renamed since the last call.
If something goes wrong
No session with id '<x>': the user probably renamed a session since you last calledlist. Re-runlistand try again.No sessions found: the store is empty. Confirm withseminarly-cli paththat the path exists.- Binary missing / not found: with the app, Seminarly → Settings → Seminarly CLI and Skills → Install (re)creates the link; with the repo,
./scripts/install-global.sh(one-time setup, requires XcodeGen) or./scripts/build-cli.shfor an in-repo-only build.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.