reply-classificationlisted
Install: claude install-skill automatewithuday/gtm-prospecting-system
# Positive Reply Scoring
## Pipeline contract
**Stage 17 of 20.** Runs after the human has sent the campaign. Reads replies from Smartlead (scripts below) OR `17-replies-raw.csv` (`lead_id, email, reply_text, replied_at`) exported from any sender. Writes `17-replies.csv` (adds `label`, `is_positive`, `next_action`) and `17-reply-score.json`.
- Save to the run folder, not the `~/cold-email-ai-skills/` path below.
- `unsubscribe` and `negative_hostile` rows go to the do-not-contact list in the same session — that list feeds stage 10's hard disqualifiers.
- Positive rows hand off to [`/lead-qualification`](../lead-qualification/SKILL.md).
Files live in `runs/<run>/`. Column definitions: [`/prospecting-system`](../prospecting-system/SKILL.md). Standalone use: ignore this block.
**Reply rate tells you if people are paying attention. Positive reply rate tells you if they want what you're selling.** This skill computes the second.
## Why this exists
A campaign can get 5% reply rate and still be a disaster. If 90% of those replies are "unsubscribe" and "not a fit," you're burning your domains for nothing.
The metric that matters is:
```
positive_reply_rate = positive_replies / total_sent
```
Compared side-by-side:
- Campaign A: 1% reply rate, 70% positive → 0.7% positive reply rate
- Campaign B: 5% reply rate, 10% positive → 0.5% positive reply rate
- Campaign A wins.
## Classification schema
Every reply is classified into exactly one bucket:
| Label | Meaning | Count as