Granola
Scale your marketing without sacrificing quality.
npx -y skills add t0ddharris/compound-marketing --skill granolaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Pull meeting notes from Granola. Use when the user mentions 'Granola,' 'meeting notes,' 'pull notes from a meeting,' 'grab meeting notes,' or wants to import meeting context for content creation, brain file updates, or case study research.
SKILL.md
3.2 KB, 722 tokens by cl100k_base, as published. Nobody here has run it
Granola Meeting Notes
Pull meeting notes from Granola's API via the CLI wrapper at .claude/skills/granola/granola.sh.
Setup
The user needs a Granola API key (requires Business or Enterprise plan):
- Open Granola desktop app > Settings > API > "Create new key"
- Add it to the project
.envfile:GRANOLA_API_KEY=grn_your_key_here
If the key isn't configured, the script will tell the user what to do.
Commands
SCRIPT=".claude/skills/granola/granola.sh"
# List recent notes (last 7 days)
$SCRIPT recent
# List notes from last N days
$SCRIPT recent 30
# List with date filters
$SCRIPT list --after 2026-04-01 --before 2026-04-07
# Get a specific note (summary only)
$SCRIPT get not_ABC123DEF456GH
# Get a note with full transcript
$SCRIPT get not_ABC123DEF456GH --transcript
# Pull a note into /incoming/ (includes transcript by default)
$SCRIPT pull not_ABC123DEF456GH
# Get raw JSON output (for any command)
$SCRIPT list --json
$SCRIPT get not_ABC123DEF456GH --json
Workflow
When the user asks to pull meeting notes:
1. List available notes
Run recent or list with appropriate date filters to show what's available. Let the user pick which meeting(s) they want.
2. Fetch the note
Use get with --transcript to see the full content. Review the summary and transcript.
3. Decide where it goes
Based on the meeting content, route it appropriately:
| Content type | Destination |
|---|---|
| Customer call, demo, sales conversation | pull to /incoming/, then mine for brain file updates, case study material, or audience language |
| Product feedback, feature requests | Extract insights, suggest updates to /brain/truth.md or /brain/positioning-and-messaging.md |
| Internal strategy discussion | Summarize key decisions, suggest project memory updates |
| Partner or analyst meeting | Extract relevant intelligence for /brain/market-signals.md |
| Content planning meeting | Extract ideas for /marketing/inspiration/content-ideas.md |
4. Process the notes
Apply the same rigor used for Apollo transcript mining:
- Interpret through context (meeting notes may have transcription errors)
- Extract actual customer/prospect language for
/brain/audience-language.md - Identify conversion triggers and objections for
/brain/customer-journey.md - Flag any product claims that need verification against
/brain/truth.md - Never parrot raw transcript, always synthesize
Important Notes
- The API is read-only and returns only notes with AI-generated summaries
- No search endpoint exists; use date filters to narrow results, then review locally
- Page size max is 30; use
--cursorfor pagination - Rate limit: 5 requests/second (burst 25). Don't hammer it
- Transcript speakers are labeled "You" (microphone) and "Other" (speaker audio); actual names come from the attendees list
- The
/incoming/folder is the user's drop zone;pullwrites there by convention so the standard intake workflow applies
Gives 0 of the 12 instructions most note taking skills give in 722 tokens
Counted across 686 of the 876 authors here whose files we hold, read 2026-08-06
- include a visual element on every slidein 44 of 686, across 13 files
- use wikilinks for internal vault linksin 35 of 686, across 11 files
- commit to a single visual motif across every slidein 34 of 686, across 9 files
- read pptxgenjs guide before creating presentations from scratchin 30 of 686, across 6 files
- keep 0.5 inch minimum marginsin 30 of 686, across 7 files
- use subagents to visually inspect rendered slidesin 30 of 686, across 6 files
- re-verify affected slides after every fixin 27 of 686, across 5 files
- run content QA checks before declaring successin 26 of 686, across 3 files
- Use Markdown links for external URLs onlyin 26 of 686, across 10 files
- pick a bold topic specific color palettein 24 of 686, across 2 files
- read editing guide before editing existing presentationsin 23 of 686, across 1 file
- use one dominant color across all slidesin 23 of 686, across 1 file
Said here and by no other author read
- Pull meeting notes via the Granola CLI wrapper
- List available notes using date filters
- Let the user pick which meetings they want
- Fetch the note with the transcript flag
- Route meeting content based on its type
- Extract customer language into the audience file
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.