Skip to main content
ClaudeWave
Install in Claude Code
Copy
git clone --depth 1 https://github.com/mattgierhart/PRD-driven-context-engineering /tmp/prd-v10-testimonial-collector && cp -r /tmp/prd-v10-testimonial-collector/.claude/skills/prd-v10-testimonial-collector ~/.claude/skills/prd-v10-testimonial-collector
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Testimonial Collector

Position in workflow: v1.0 Case Study Builder → **v1.0 Testimonial Collector** → GTM channels (placement)

## Execution Mode

Default is **standard**. See [`.claude/rules/08-skill-execution-modes.md`](../../rules/08-skill-execution-modes.md) for selection logic.

| Mode | What this skill produces |
|------|--------------------------|
| **quick** | One trigger (e.g., NPS promoters) + collection email + 5–10 testimonials processed |
| **standard** | 3 triggers (NPS, milestone, post-purchase) + processing workflow + consent management + per-placement formatting |
| **deep** | 5+ triggers + automated harvest + sentiment-segmentation + per-segment placement targeting + measurement loop |

## What This Does

Systematically harvests **short-form testimonials** — 1–3 sentence quotes with name + role + logo — and processes them into placement-ready assets. Testimonials are the lower-effort complement to case studies: they don't carry a full story but they multiply social proof on landing pages, pricing pages, ad creative, and outreach.

This skill solves the "we have happy customers but no quotes" problem — most teams have plenty of positive feedback in support tickets, NPS responses, and renewal calls, but never capture it as marketing-ready assets. The fix is a system, not heroic effort.

## How It Works

1. **Identify collection triggers** — Each trigger is an event that suggests the customer is in a moment to share positive feedback:
   - **NPS Promoter response** (score 9–10) — Lowest-friction; they already wrote feedback
   - **Activation milestone** (Day 30 / Day 90 active) — They've seen value by now
   - **Post-purchase / post-upgrade** — Decision fresh in mind
   - **Renewal** — Strong signal of ongoing value
   - **Support resolution (positive)** — Acute "you saved my day" moment
   - **Referral from customer** — They already advocated
2. **Build per-trigger collection mechanism**:
   - NPS Promoter → automated email asking permission to use response + adding 1-question follow-up
   - Milestone → in-app prompt or email with one-line ask
   - Post-purchase → email 7 days after purchase
   - Renewal → CSM-led ask during renewal call
   - Support → followup in support thread after positive resolution
3. **Process incoming testimonials** — Each goes through:
   - Consent confirmation (scope: name? role? logo? use anywhere?)
   - Light edit for clarity (their voice; don't rewrite)
   - Tag by segment fit (in-beachhead / adjacent / off-segment)
   - Tag by outcome theme (speed / cost / activation / quality / etc.)
4. **Place in marketing surfaces** — Per testimonial:
   - Pricing page (logo + quote)
   - Landing page hero (1 prominent quote)
   - Feature pages (segment-relevant quotes)
   - Ad creative (testimonial-style ads)
   - Email signatures / sales decks
   - Investor decks
5. **Measure placement performance** [standard+] — Some testimonials convert; some don't. Track per-placement conversion to identify which quotes earn their spot.

## Example

B2B SaaS, 3 collection triggers active.

**Trigger 1: NPS Promoter (9–10)**.
NPS run quarterly. Promoters get followup email:

> *Thanks for the 10! Your response — "Cut our reporting time in half" — would be a powerful testimonial for our pricing page. May we use it with your name and role? Reply YES and we'll send back the version we'd publish for your approval.*

Auto-fires when NPS response submitted with score ≥ 9.

**Trigger 2: Day-30 active milestone**.
In-app prompt at first login after Day 30 active:

> *You've been active for a month! In one sentence, what's working best?* → [text box] → [Submit + permission checkbox]

**Trigger 3: Post-purchase (Day 7)**.
Email 7 days after first paid charge:

> *Quick favor — what convinced you to upgrade? Your answer might appear (with your permission) on our pricing page.*

**Processing**: Inbound testimonials enter a triage doc. Per testimonial:
- Consent confirmed (scope: name / role / logo / anywhere)
- Light edit (clarity only — kept their voice)
- Segment tag (in-beachhead: yes/no)
- Theme tag (speed / cost / activation / quality)
- Placement decision (pricing / landing / feature page / ad / multi)

**Placement**: Pricing page logo wall expanded with 6 new testimonials in the beachhead segment. A/B test the hero-section quote on landing pages.

## What You Get Back

- **CFD-TST-\* entries** — One per testimonial; the durable record with consent, source, segment, theme
- **GTM-TST-\* entries** — Per-placement formatting (the placed quote with surrounding context)
- **Consent records** — Customer-by-customer scope and version history
- **Placement-performance log** — Per-quote conversion rate (which testimonials earn their spot)

## When to Use It

| Trigger | Mode |
|---------|------|
| First testimonial harvest system (none in place) | standard |
| Quarterly NPS run + harvest | quick |
| Pricing page redesign needs more social proof | standard |
| Landing page A/B test needs quote variants | quick |
| Pre-investor / pre-Series A push for logo + quote density | deep |
| New segment expansion (need segment-specific testimonials) | deep |

## Consumes

- **CFD-\* customer feedback** (all sources, especially v0.9 feedback loop) — Raw inbound testimonial material
- **NPS / CSAT data** (from v0.9 Feedback Loop Setup) — Promoter responses are the highest-yield source
- **ADO-REF-\* candidates** — Reference accounts already in cultivation are testimonial-eligible
- **PER-\* personas** + **ADO-BEACHHEAD-\*** — Segment tagging
- **BR-POS-\*** — Tone constraints; testimonials shouldn't contradict positioning

## Produces

- **CFD-TST-\* entries** in `SoT/SoT.customer_feedback.md`
- **GTM-TST-\* entries** (with Type=Testimonial-Placement) per placement
- **Consent records** — Append-only log with scope and version
- **Placement-performance metrics** — Per-quote A/B data feeding back into selection

## Output Template

```
CFD-TST-XXX: Testimonial — [Customer name]
Type: Testim