voicenotes-pulllisted
Install: claude install-skill vibhasjain/agent-keyboard
# voicenotes-pull
The voicenotes MCP exposes four tools (`list_notes`, `search_notes`, `get_transcript`, `create_text_note`) but **`list_notes` is buggy: it silently drops notes that exist on the server and fall inside its `date_range`**. In one observed case it returned 5 of 9 notes in the requested window even with `limit: 50` and a tight time range.
If you only call `list_notes` and report the result, you will miss notes the user knows exist. They will push back. Don't get caught.
## The workflow
When the user asks for notes over a time window (or implies completeness with words like "all", "everything", "the bunch", or names a date range) — OR asks for notes **by tag** ("get my notes tagged mobile", "the meeting notes"):
### Step 1 — list pass
Call `mcp__voicenotes__list_notes` once with:
- `date_range: [<startISO>, <endISO>]` covering the requested window. Dates are UTC. If the user said "yesterday evening" and you're in EDT, convert: yesterday evening EDT = 23:00–04:00 UTC across that date boundary.
- `tags: ["<tag>"]` when the request is tag-scoped (lowercase the tag; the API matches case-insensitively).
- `limit: 50` (default is 10, almost never enough).
Collect every UUID into a set. Don't show the user yet.
### Step 2 — search sweeps (the part that catches the dropped notes)
In **one message, parallel tool calls**, run **3–5 `mcp__voicenotes__search_notes` calls** with keyword variations covering what the notes are likely about. Two sources for keywords:
1