Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vm0-ai avatar

Granola

  • 46 installs
  • 76 repo stars
  • Updated August 4, 2026
  • vm0-ai/vm0-skills

Helps with ai & agent building tasks during AI-assisted development.

About

granola is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • granola
  • AI & Agent Building
  • AI-coding skill

Granola by the numbers

  • 46 all-time installs (skills.sh)
  • Ranked #7,629 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill granola

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs46
repo stars76
Last updatedAugust 4, 2026
Repositoryvm0-ai/vm0-skills

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

Troubleshooting

If requests fail, run zero doctor check-connector --env-name GRANOLA_TOKEN or zero doctor check-connector --url https://public-api.granola.ai/v1/notes --method GET

How to Use

Base URL

  • API: https://public-api.granola.ai

1. List Notes

Retrieve all accessible meeting notes with pagination. Returns up to 30 notes per page.

curl -s -X GET "https://public-api.granola.ai/v1/notes?page_size=10" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .

2. List Notes with Pagination

Use the cursor from a previous response to fetch the next page.

curl -s -X GET "https://public-api.granola.ai/v1/notes?page_size=10&cursor=CURSOR_VALUE" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .

3. List Notes Filtered by Date

Filter notes created after or before a specific date, or updated after a specific date.

curl -s -X GET "https://public-api.granola.ai/v1/notes?created_after=2025-01-01&page_size=20" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .
curl -s -X GET "https://public-api.granola.ai/v1/notes?created_before=2025-06-01&created_after=2025-01-01" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .
curl -s -X GET "https://public-api.granola.ai/v1/notes?updated_after=2025-03-01" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .

4. Get a Specific Note

Retrieve detailed information about a single note including summaries, attendees, and calendar event details. Note IDs follow the pattern not_ followed by 14 alphanumeric characters.

curl -s -X GET "https://public-api.granola.ai/v1/notes/not_XXXXXXXXXXXXXX" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .

5. Get a Note with Transcript

Include the full meeting transcript by adding the include=transcript query parameter.

curl -s -X GET "https://public-api.granola.ai/v1/notes/not_XXXXXXXXXXXXXX?include=transcript" --header "Authorization: Bearer $GRANOLA_TOKEN" | jq .

6. Iterate Through All Notes

Paginate through all available notes using cursors.

CURSOR=""
while true; do
  if [ -z "$CURSOR" ]; then
    RESPONSE=$(curl -s -X GET "https://public-api.granola.ai/v1/notes?page_size=30" --header "Authorization: Bearer $GRANOLA_TOKEN")
  else
    RESPONSE=$(curl -s -X GET "https://public-api.granola.ai/v1/notes?page_size=30&cursor=$CURSOR" --header "Authorization: Bearer $GRANOLA_TOKEN")
  fi
  echo "$RESPONSE" | jq '.data[] | {id, title}'
  HAS_MORE=$(echo "$RESPONSE" | jq -r '.hasMore')
  if [ "$HAS_MORE" != "true" ]; then break; fi
  CURSOR=$(echo "$RESPONSE" | jq -r '.cursor')
done

Response Structure

List Notes Response

FieldTypeDescription
dataarrayArray of note summary objects
hasMorebooleanWhether more pages are available
cursorstringCursor for next page (present when hasMore is true)

Note Summary Fields

FieldTypeDescription
idstringNote ID (format: not_ + 14 chars)
titlestringNote title
ownerobjectOwner with name and email
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last update timestamp

Full Note Fields (in addition to summary fields)

FieldTypeDescription
calendar_eventobjectCalendar event with title, invitees, organizer, scheduled times
attendeesarrayList of meeting attendees
summariesobjectAI-generated summaries in text and markdown format
transcriptarrayTranscript entries with speaker, text, and timestamps (only when include=transcript)

Guidelines

1. API Key Scope: API keys provide read-only access to publicly accessible notes within the workspace and notes shared in workspace-wide folders 2. Rate Limits: The API enforces a burst limit of 25 requests per 5 seconds and a sustained limit of 5 requests per second (300 per minute). Check for HTTP 429 responses and implement backoff 3. Pagination: Use cursor-based pagination with page_size (1-30, default 10) and cursor parameters. Always check hasMore to determine if more pages exist 4. Transcripts: Transcripts are not included by default. Use include=transcript query parameter when you need transcript data to reduce payload size 5. Note ID Format: Note IDs follow the pattern not_ followed by 14 alphanumeric characters (e.g., not_AbCdEfGhIjKlMn) 6. Enterprise Only: This API is only available on the Granola Enterprise plan

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.