Theory behind this: we target winnable SERPs and strategic fit rather than raw search volume. See Part 1 §1.4 SERP cliff and §1.5 Intent & cannibalization.
Inputs checklist (before you start)
- Granola transcript + enhanced notes from the monthly call
- Post-call notes, Slack messages, or docs from the client
- Previous month’s review docs (if not the first cycle)
- Access to Pi (memory already set up for this account)
- Any keyword lists already teased to the client (Notion proposal, strategy deck, etc.)
- (Optional) Keywords from Google Search Console
Step 1 — Feed Pi the call context
- Have Granola running during the call
- Export the transcript + enhanced notes afterward
- Collect post-call materials (Slack/email comments, client docs, previous reports)
- Paste everything into Pi with the prompt below
- Confirm Pi saved it to memory
Step 2 — Draft strategy + tag keywords
- Prompt Pi with the target keyword count + cycle constraints
- If you have a pre-existing list, include it and clarify these are candidates only (no landing pages created yet)
- Review Pi’s draft: does it match what the client said? any emphasized verticals missing? any keywords for products/features that aren’t live yet?
- Push back or add anything obvious before validation
Step 3 — Validate, deduplicate, check for conflicts
- Send Pi the validation prompt (one prompt covers it all)
- Review the audit: removals, additions, recommendations for underperforming pages
- Flag any experimental angles you want to keep
- Approve, push back, or ask for alternatives on specific keywords
- (Optional) If the client wants a new angle, send the exploration prompt
Note the last line: ask Pi to confirm its strategy before it acts. That “check with me before you start any actions” habit is standard across operators; it keeps you in control of destructive changes. See driving Pi well: 2.0.3.Explore experimental angles:
Step 4 — Approve and execute
- Tell Pi to execute the approved changes
- Confirm the execution summary matches what you agreed
/reports/. (See VFS filing: 2.0.4.)
Step 5 — Confirm final state
- Ask Pi for a final summary
- Run the final checks:
- Keyword count is right (asked for 40, got 40)
- Every vertical the client mentioned has keywords
- Deferred keywords are tagged for the correct future cycle
- No keyword overlaps an existing landing page
- In the keyword content planner: no blogs/LPs already generated for these keywords, and no keywords too similar to each other (e.g. “ai translation” vs “ai translator”)
- Strategy doc exists in
/reports/
Edge cases — quick lookup
| Scenario | What to do | Prompt snippet |
|---|---|---|
| Client sends keywords mid-session | Add immediately, tag from [Client]. Validate after. | add these and tag "[cycle tag]" and "from [Client]" |
| Product/feature isn’t live yet | Defer ALL keywords for that product. No exceptions. | move all [product/feature] keywords to '[future cycle]' tag |
| Client flags existing content as wrong | Keep keywords in cycle. Block publishing until corrected. | keep the [vertical] keywords in [cycle tag] but note blocked on publishing |
| Zero-volume keyword from client | Keep it. Tag From {Client}, priority MED/HIGH. Check if SERP is soft. | — |
| Two keywords too similar | Pick the better volume/cliff, drop the other. | [keyword A] and [keyword B] are basically the same. pick the stronger one. |
| Already ranking pos 10–30 | Quick win; flag as first-wave priority. | — |
| Intent mismatch despite good metrics | Remove it. Ask Pi for a right-intent variant. | [keyword] has an intent mismatch — find a variant with commercial/product intent |
| Deferred keywords now due | Pi should catch these in Step 3. If not, prompt it. | also check any keywords deferred from last cycle |
| Switching keywords on non-ranking pages | Provide page IDs + new keywords. Archive old. | switch these existing pages to new keywords: [page ID] to "[new keyword]" |
| Pre-existing list shared with client | Clarify in Step 2 these are candidates only, no pages created. | see Step 2 |
| Keyword overflow from last month | Keep in backlog; don’t force into current cycle. Link to client review. | — |
Reference — why Pi recommends removing a keyword
| Reason | What it looks like |
|---|---|
| Wrong search intent | Google shows a completely different content type |
| No demand + hard to rank | Zero volume AND high KD |
| Locked out (cliff 8+) | Positions 1–7 all big brands, no room |
| Page already exists and ranking | A second page would self-cannibalize |
| Two keywords too similar | Synonym swaps that produce the same page |
Reference — why Pi recommends adding a keyword
| Reason | What it looks like |
|---|---|
| Easy to rank + real demand | Low cliff (1–3), real search volume |
| Already showing up (pos 10–30) | Quick win; a dedicated page pushes to page 1 |
| Better variant of a drafted keyword | Same intent, softer SERP or more volume |
Reference — the signal hierarchy
When you have more candidates than slots, decide in this order:Volume comes last, not first. That’s deliberate; see Part 1 §1.4.
Reference — keyword survival gates
| Gate | Question | If No |
|---|---|---|
| Client wants this vertical? | Confirmed in call | Leave untagged |
| Product can deliver? | Feature is live | Defer to ship month |
| SERP cliff ≤ 5? | Gaps in positions 1–5 | Defer or find a softer variant |
| Intent matches? | Google results = our content type | Remove entirely |
| No conflicts with own pages? | No existing page targets this | Remove, merge, or switch |
| Proof exists? | Case study, feature, or data point | Lower priority (not a removal) |
Next / Related
- 3.2 Monthly planning flow: the planning beat this keyword cycle sits inside.
- 3.3 Weekly planning flow: where the tagged plan gets produced.
- Starting the first set of keywords: the first-cycle variant, seeded from the sales call.
- Part 1 §1.4 SERP cliff · §1.5 Intent & cannibalization: the theory behind winnable SERPs.