Install
$ agentstack add skill-tonydzi-second-brain-starter-kit-granola-sync ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
OBJECTIVE: Incrementally pull fresh meetings/calls from Granola into the vault (summary + full transcript + participants + a calendar match), on demand. Idempotent: the script downloads only what is new or changed (state.json: note id → updated_at).
CONTEXT:
- Transport: the official Granola public API
https://public-api.granola.ai/v1(List Notes / Get Note ?include=transcript; page_size 0 → look into it; usually network or 429 (the script retries by itself).
- If new>0 — report the list of fresh meetings (titles/dates from the state or the new files).
- Distill (if new>0):
python $IMPORTS_ROOT/granola/call_distill.py— it breaks each new call into Commitments/Facts/Objections/Alpha with quotes →04-Projects\granola-meetings\_distilled\+commitments.jsonl. Counters:DONE distilled=M commitments=C errors=Z. (The nightly twin is the "Granola Call Distill" task at 03:50; it also eats the Fireflies raw files.) - The RAG reindex picks it up overnight ([[reindex-routine]]); after the FIRST big backfill, run
python $IMPORTS_ROOT/brain_embed_update.pymanually. ⚠️_distilledis not in the curated index yet (04-Projects is the evidence layer) — closed by task RUSL-1 (layer: essence).
CONSTRAINTS:
- Windows cp1252: do not print non-ASCII to stdout (the script is already ASCII-only).
- INCREMENTAL ONLY — never delete state.json (it would re-download everything).
- Provenance: origin: mixed, authored_by: hybrid — NOT #anton-original (someone else's speech).
- Tier-2: nothing goes outside; API reads and vault writes only.
- A 401/403 from the API means the key was revoked: create a new one in the Granola desktop app (Settings → Connectors → Personal API keys, scopes Personal+Public) and update granola.env. I can do this myself through computer-use (verified 2026-07-02).
OUTPUT: the new/updated/errors counters + the period; if empty, "no new meetings". Finish with an "In plain words" recap.
RELATION (do not duplicate): the Fireflies rail (auto-recording, real speaker names) = skill [[fireflies-sync]]; access and history = memory [[granola-mcp-integration]]; the architecture decision = the vault note decision-granola-extraction-official-api; the post-call follow-up SOP = memory [[call-followup-group-sop]] (a separate pipeline); the FAAA sync goes the other way (finished follow-ups out of Telegram).
About & contact
Built and battle-tested at Palo Alto AI Research Lab — a fleet of Claude Code machines running 24/7 as a second brain and synthetic cofounder. Every skill here survived real production use before publication.
- 📦 All 101 skills: https://github.com/tonydzi/second-brain-starter-kit
- 👤 Author: Anton Dziatkovskii — Telegram @tonydzi · WhatsApp +1 341 222 9178 · X @TonyStef_
- 🧪 Engineers: want to test-drive this setup? Message me — I hand out free starter seeds to engineers who test and report back. Custom skill requests welcome.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: tonydzi
- Source: tonydzi/second-brain-starter-kit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.