$npx -y skills add LaGrowthMachine/gtm-system --skill reply-draft-assistantHandle replies to your cold outreach end to end — classify each response, draft the right answer from the full conversation, and send it through La Growth Machine after you approve. Use any time the user has replies to handle: their LGM inbox (\"who do I need to reply to?\"), a c
| 1 | # Reply Draft Assistant |
| 2 | |
| 3 | Turns inbound replies to your cold outreach into classified, calibrated answers — one draft per reply, built from the full conversation, reviewed by you, then sent through La Growth Machine. |
| 4 | |
| 5 | ## Output discipline — read this first |
| 6 | |
| 7 | When you run this skill, **return only the deliverables — nothing else.** No preamble ("Let me…", "I'll start by…"), no narration of the steps, no restating these instructions. Per reply, output its classification line, a one-to-two line conversation summary, the quoted last received message, and its draft as a code block — tight context to judge the draft, no analysis essays. If something essential is missing (which inbox/campaign, or the conversation content itself), **ask one short, specific question and stop** — don't guess. **Never send anything before the user has approved the drafts.** |
| 8 | |
| 9 | ## Authority — read this first |
| 10 | |
| 11 | **Everything you need is in this skill folder.** No external file to grep. |
| 12 | |
| 13 | - **How to get the conversations** — inbox, campaign, or pasted — and how to send the approved replies lives in `references/fetch-conversations.md`. Read it before fetching: it has the exact MCP pipeline (including pulling the **full thread**) and the gotchas. |
| 14 | - **How to classify a reply** (the 8 categories, the decision tree, objection sub-types, metadata) lives in `references/classification-rules.md`. |
| 15 | - **How to write the answer** (the 5 non-negotiable rules, strategy per category, voice, hard formatting) lives in `references/draft-rules.md`. |
| 16 | |
| 17 | The output presentation (each draft as a native fenced code block for copyability, plus a recap + CTA widget) and the resolved LGM send handoff are **inlined at the bottom of this file** — no separate file to consult. |
| 18 | |
| 19 | ## What it does |
| 20 | |
| 21 | Takes the replies your prospects sent back — from your LGM inbox, a campaign, or a pasted thread — reads each **full conversation**, classifies the reply, drafts a single calibrated answer per reply, shows every draft for review, and **on your approval sends it natively** via LinkedIn or email through La Growth Machine. One skill, from raw reply to sent answer. |
| 22 | |
| 23 | ## Workflow |
| 24 | |
| 25 | ### Step 1 — Get the conversations (and the full thread) |
| 26 | |
| 27 | Three input modes (full detail in `references/fetch-conversations.md`): |
| 28 | |
| 29 | - **Inbox (LGM MCP)** — "who do I need to reply to?". Use `get_conversations_to_reply` (the lead spoke last, thread open) or `search_conversations` for a filtered slice. Returns `conversationId`, `leadId`, `identityId`, `channel` — no name or text yet. |
| 30 | - **Campaign (LGM MCP)** — replies from a named campaign: `list_campaigns` → `get_audience_leads` → `get_lead_conversations` (keep `leadReplied: true`). This path also gives you lead names. |
| 31 | - **Pasted** — the user gives you the thread(s) directly. Parse who said what, the channel, the name. (No MCP send possible — see handoff.) |
| 32 | |
| 33 | For every kept conversation, **pull the entire thread** with `get_conversation_messages(conversationId)` — not just the last message. The draft is built from the full context (Step 3). Capture: `conversationId`, `leadId`, `identityId`, `channel`, and the lead's name. **Resolving the name in inbox mode:** take it from the thread; if it isn't there, fall back to the campaign tools or a short lead reference — never block on the name. |
| 34 | |
| 35 | If neither MCP nor a pasted thread is available, ask the user to paste the conversation(s) and stop. |
| 36 | |
| 37 | ### Step 2 — Classify each reply |
| 38 | |
| 39 | Apply `references/classification-rules.md` to the **last received message** of each thread. Produce the compact record: `{ name, category, sub_type?, tone, language, urgency, channel, key_points[], hidden_meaning?, needs_clarification? }`. |
| 40 | |
| 41 | `Auto / OOO` and `Voice message` get a record but **no draft** — flag them and move on. |
| 42 | |
| 43 | ### Step 3 — Draft one answer per reply (from the full thread) |
| 44 | |
| 45 | Apply `references/draft-rules.md`. **The draft is built on |