KS
Killer-Skills

granola — how to use granola how to use granola, what is granola, granola alternative, granola vs obsidian, granola install, granola setup guide, granola meeting notes, obsidian vault integration, ai meeting notes sync

v1.0.0
GitHub

About this Skill

Perfect for Local Data Analysis Agents needing direct access to meeting notes and transcripts stored in JSON format. Granola is a skill that queries and syncs Granola AI meeting notes to Obsidian vault, storing data locally in a cache-v3.json file.

Features

Stores documents, transcripts, and updates locally at ~/Library/Application Support/Granola/cache-v3.json
Syncs Granola AI meeting notes to Obsidian vault
Updates in real-time as you record, without requiring API calls
Supports listing all meetings using the python3 .claude/skills/granola/scripts/granola.py list command
Allows retrieval of specific meeting notes using the granola.py script
Pre-configured vault for projects, tasks, clients, and daily routines

# Core Topics

ArtemXTech ArtemXTech
[0]
[0]
Updated: 3/6/2026

Quality Score

Top 5%
57
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add ArtemXTech/claude-code-obsidian-starter/granola

Agent Capability Analysis

The granola MCP Server by ArtemXTech is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use granola, what is granola, granola alternative.

Ideal Agent Persona

Perfect for Local Data Analysis Agents needing direct access to meeting notes and transcripts stored in JSON format.

Core Value

Empowers agents to sync and query Granola meeting notes, transcripts, and updates stored locally in cache-v3.json, using Python scripts to read and list meetings without requiring API calls, leveraging real-time data with timestamps and source information.

Capabilities Granted for granola MCP Server

Syncing Granola meeting notes to Obsidian vaults
Querying local cache for specific meeting transcripts
Automating updates to project tasks based on real-time meeting notes

! Prerequisites & Limits

  • Requires local filesystem access to ~/Library/Application Support/Granola/cache-v3.json
  • Limited to reading from local cache, no external API calls supported
  • Python 3.x required for script execution
Project
SKILL.md
3.4 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Granola Skill

Query and sync Granola AI meeting notes to Obsidian vault.

How It Works

Granola stores everything locally at ~/Library/Application Support/Granola/cache-v3.json:

  • Documents (meetings with title, notes, people)
  • Transcripts (real-time, with timestamps and source)
  • Updates in real-time as you record

No API calls needed - reads directly from local cache.

Quick Start

bash
1# List all meetings 2python3 .claude/skills/granola/scripts/granola.py list 3 4# Get specific meeting with transcript 5python3 .claude/skills/granola/scripts/granola.py get <id> 6 7# Sync new meetings to vault 8python3 .claude/skills/granola/scripts/granola.py sync 9 10# Sync specific meeting 11python3 .claude/skills/granola/scripts/granola.py sync --id <id>

Commands

list

List all Granola meetings with sync status.

bash
1python3 .claude/skills/granola/scripts/granola.py list 2python3 .claude/skills/granola/scripts/granola.py list --limit 5

Output:

[✓] 2026-01-09  Team Sync - Weekly
    ID: abc123...
    Transcript: 450 segments, ~86 min

[ ] 2026-01-10  Team Standup
    ID: def456...
    Transcript: 120 segments, ~15 min
  • [✓] = already synced to vault
  • [ ] = not synced yet

get

View full meeting details and transcript.

bash
1python3 .claude/skills/granola/scripts/granola.py get <id> 2python3 .claude/skills/granola/scripts/granola.py get <id> --no-transcript

sync

Sync meetings to Meetings/ as structured Markdown.

bash
1# Sync new meetings only 2python3 .claude/skills/granola/scripts/granola.py sync 3 4# Sync specific meeting 5python3 .claude/skills/granola/scripts/granola.py sync --id <id> 6 7# Re-sync all (overwrites existing) 8python3 .claude/skills/granola/scripts/granola.py sync --all

Output Format

Synced meetings are saved to Meetings/ with this structure:

markdown
1--- 2type: granola-meeting 3date: 2026-01-09 4time: "19:30" 5duration_min: 86 6granola_id: abc123... 7people: 8 - "[[Sarah Chen]]" 9topics: [] 10status: raw 11--- 12 13# Meeting Title 14 15## Notes 16 17(Your notes from Granola) 18 19## Transcript 20 21[19:30:45] 🎤 Hey, how's it going? 22[19:30:48] 🎤 Great to meet you...

Transcript icons:

  • 🎤 = microphone (you)
  • 🔊 = system audio (others on call)

Workflow

  1. Record meeting in Granola (real-time transcription)
  2. Sync to vault: python3 .claude/skills/granola/scripts/granola.py sync
  3. Process meeting: Extract action items, update people notes
  4. Mark as processed: Change status: raw to status: processed

Querying with Bases

Use Granola.base to query synced meetings:

ViewFilter
RecentLast 7 days
Needs Processingstatus = raw
By PersonGrouped by people field

Data Structure

Local cache: ~/Library/Application Support/Granola/cache-v3.json

cache (JSON string) → state →
  ├── documents: {id: {title, notes_plain, notes_markdown, people, created_at}}
  └── transcripts: {id: [{text, source, start_timestamp, end_timestamp}]}

Transcript segment:

json
1{ 2 "text": "Hey, how's it going?", 3 "source": "microphone", 4 "start_timestamp": "2026-01-09T19:30:45.123Z", 5 "end_timestamp": "2026-01-09T19:30:48.456Z" 6}

Tips

  • Real-time access: Cache updates as you record - can query mid-meeting
  • Free tier hack: Sync hourly to bypass 7-day history limit
  • No auth needed: Uses local files, not API

Related Skills

Looking for an alternative to granola or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication