---
name: granola-capture-markers
description: The human layer of the call stack. Teaches the shorthand reps type in Granola during a call (P pain, M moment, F fit, C confidence, D doubt, S stakeholder, X competitor, N next step) and parses those markers out of Granola notes into a Rep Read that AI can score. Use when someone asks "what should I type during the call", "give me a Granola note template", "parse my notes", "what did I flag", or before denoising or scoring any Granola meeting.
---

# Granola Capture Markers

The transcript records what the buyer said. It does not record that the champion went quiet when price came up, that you do not believe the timeline, or that the "VP" is two levels from the budget. You only know those things in the moment. Type them in Granola while the call happens and the AI gets your judgment along with the transcript.

Granola keeps your typed notes separate from its AI notes. Through MCP, `get_meetings` returns your typed notes. That is the human layer.

## Part A: The markers (teach this)

One line per observation. Marker first, then a few words. Speed beats grammar.

| Marker | Means | Type it when | Example |
|---|---|---|---|
| `P:` | Pain | the buyer names a problem. Put their exact words in quotes when you catch them | `P: "we lose two days every month-end"` |
| `$:` | Impact or money | a number, cost, budget, or consequence | `$: ~3 FTE on reconciliation, budget set for Q1` |
| `M:` | Moment (why now) | a deadline, new exec, event, board ask, contract end | `M: new CFO started Aug, wants close in 5 days` |
| `F+` / `F-` | Fit for / against | something confirms or breaks your ICP | `F- only 80 employees, under floor` |
| `C1` to `C5` | Your confidence in the deal right now | at least once, at the end of the call. Add a reason | `C2 champion soft, never said "I"` |
| `D:` | Doubt | you do not believe something, or it contradicts | `D: says no competitor, but asked about Gong pricing twice` |
| `S:` | Stakeholder | a person, role, and stance | `S: Maria, RevOps Dir, champion, owns the budget? unclear` |
| `X:` | Competitor or alternative | any tool, vendor, or "build it ourselves" | `X: evaluating Clari, spreadsheet today` |
| `N:` | Next step agreed | a date and owner were said out loud | `N: Maria books CFO call by Fri` |
| `?:` | Open question | something you need to find out | `?: who signs above 50k` |

Confidence scale for `C`:

| Score | Means |
|---|---|
| C5 | I would bet my number on it: pain, power, and date all confirmed |
| C4 | Strong, one gap I know how to close |
| C3 | Real interest, two or more gaps |
| C2 | Interest without urgency or without access to power |
| C1 | I do not think this is a deal |

Three rules for reps:
1. Type `C` at the end of every call, even when you are rushed. It is the one field AI cannot produce.
2. Use quotes only for words the buyer actually said. A quote you invented becomes a lie in outreach.
3. Type `D:` the moment you feel it. Doubt typed live is evidence. Doubt remembered tomorrow is a story.

## Part B: The Granola template (offer this)

Give reps this block to paste into a Granola note template so the markers are visible during the call:

```
ACCOUNT:
ATTENDEES (name, title):
GOAL OF CALL:

P:
$:
M:
F+ / F-
S:
X:
D:
N:
?:
C_ (1-5) because:
```

## Part C: Parse the markers (run this on a Granola note)

1. **Get the note.** With Granola MCP, call `get_meetings` for the meeting and take the user's typed notes only. Ignore the AI summary for this step. Without MCP, ask the user to paste their typed notes.
2. **Extract every marker line.** Also catch obvious variants: `pain:`, `PAIN -`, `conf 3`, `doubt:`, `NS:` or `next:` for next step, `comp:` for competitor. Lines with no marker go to "Unmarked notes" untouched.
3. **Normalize** into this table, one row per marker line:

| # | Marker | Rep wrote | Quoted words (if any) | Who (if named) |
|---|---|---|---|---|

4. **Carry confidence forward.** The last `C` in the note is the Rep Confidence. If there is no `C`, write `Rep Confidence: not captured` and tell the user. Do not estimate one.
5. **Write `rep-read.md`** in `calls/<date>-<slug>/`. Date comes from the Granola meeting, else the transcript header, else ask:

```markdown
# Rep Read: <meeting title>, <date>
Source: Granola typed notes (human layer)
Rep Confidence: C<n>, reason: <rep's words>

## Pain flagged by rep
## Impact and money
## Moment
## Fit signals
## Stakeholders
## Competitors and alternatives
## Doubts
## Next steps agreed
## Open questions
## Normalized markers
(the table from step 3)
## Unmarked notes
## Marker coverage
Markers used: <list>. Missing: <list>.
```

6. **Report coverage in one line**: which markers the rep used and which they skipped. Missing `C`, `D`, or `N` is worth naming, because those are the three the transcript cannot replace.

## How downstream skills use the Rep Read

- `transcript-denoise` looks for each quoted `P:` in the transcript. A match becomes Verified PAIN with a timestamp. No match stays as Supported, labeled "rep-recorded, confirm wording".
- `S:` lines attribute speakers when Granola's transcript only says "Me" and "Them".
- `D:` lines become the first entries in "Why we might be wrong" in the Account Context.
- `C` sets the Rep Confidence field. AI may disagree in a separate field. It never overwrites the rep.

## Rules

- NEVER turn a rep's paraphrase into a buyer quote.
- NEVER invent a `C` score or a next step the rep did not type.
- Keep the rep's wording in the table. Normalize the marker, not the words.
