Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

granola

verified

Query and sync Granola meetings to Obsidian vault. Use when user mentions Granola, meeting transcripts, or wants to sync meeting notes. Reads from local cache - no API needed.

View on GitHub

Marketplace

personal-os-skills

ArtemXTech/personal-os-skills

Plugin

tasknotes-skill

Repository

ArtemXTech/personal-os-skills
46stars

skills/granola/SKILL.md

Last Verified

January 23, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/ArtemXTech/personal-os-skills/blob/main/skills/granola/SKILL.md -a claude-code --skill granola

Installation paths:

Claude
.claude/skills/granola/
Powered by add-skill CLI

Instructions

# 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
# List all meetings
python3 .claude/skills/granola/scripts/granola.py list

# Get specific meeting with transcript
python3 .claude/skills/granola/scripts/granola.py get <id>

# Sync new meetings to vault
python3 .claude/skills/granola/scripts/granola.py sync

# Sync specific meeting
python3 .claude/skills/granola/scripts/granola.py sync --id <id>
```

## Commands

### list

List all Granola meetings with sync status.

```bash
python3 .claude/skills/granola/scripts/granola.py list
python3 .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
python3 .claude/skills/granola/scripts/granola.py get <id>
python3 .claude/skills/granola/scripts/granola.py get <id> --no-transcript
```

### sync

Sync meetings to `Meetings/` as structured Markdown.

```bash
# Sync new meetings only
python3 .claude/skills/granola/scripts/granola.py sync

# Sync specific meeting
python3 .claude/skills/granola/scripts/granola.py sync --id <id>

# Re-sync all (overwrites existing)
python3 .claude/skills/granola/scripts/granola.py sync --all
```

## Output Format

Synced meetings are saved to `Meetings/` with this structure:

```markdown
---
type: granola-meeting
date: 2026-01-09
time: "19:30"
duration_min: 86
granola_id: abc123...
people:
  - "[[Sarah Chen]]"
topics: []
status: raw

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3330 chars