| name | followup |
| description | Generates post-meeting follow-up assets — customer-facing email draft, internal action list, CRM update fields, account_brief updates, champion status tracking. Run after any sales meeting. |
| argument-hint | <meeting_notes_path> [followup_output_path, default docs/followup.md] |
| disable-model-invocation | false |
| allowed-tools | Read, Glob, Grep, Write, Edit, Task |
Kit Preamble — followup
Kit Script Root
Kit root: ${CLAUDE_PLUGIN_ROOT}
- Absolute path above → plugin install (substituted at load time; no project
scripts/ dir): prefix every kit script command with it, e.g.
bash <kit-root>/scripts/checkpoint.sh …. Absolute paths also work from worktrees.
- Literal
${…} placeholder above → standalone layout: run commands as written.
Project Context Detection
Run these checks silently at the start. Use results to adapt behavior:
[ -f issues.md ] — if true, this project uses the sprint system. Respect issue numbering and STATUS.md.
[ -f docs/sprint_state.md ] — if true and Status shows running, a sprint is active. Be aware of parallel work in worktrees.
[ -f docs/prd_digest.md ] — if true, read it for quick project context before starting.
Kit Rules
- Verify
gh auth status before any GitHub operation.
Steps:
- Parse arguments:
$1 (required): meeting notes file path. Must exist. Any meeting type accepted.
$2 (optional): followup output path, default docs/followup.md.
- Validate the meeting notes file exists.
- Check inputs:
If followup does NOT exist (New Followup):
4a) Invoke the champion-mapper agent via the Task tool, passing meeting notes, account brief, and the resolved LESSONS_PATH + PERSONA_PATH from step 3.5 (or None for each if unresolved).
5a) The agent will:
- Read all inputs + templates/followup.md for structure
- Draft customer-facing email (personalized, references specifics, restates pain in their words). If PERSONA_PATH was resolved, read that file and apply its tone/salutations/sign-off/length rules. Otherwise default to professional-warm Korean.
- Generate internal action list (24h / 1 week / 2–4 weeks / blocked-on)
- Propose explicit CRM update fields (before → after)
- Atomically update account_brief.md via Read+Write (single Write of full file, not multiple Edits): Active Context section, decision structure, meeting history, unresolved questions, etc.
- Assess champion status (who, influence, next action with them, what they need from us) — with OKR/KPI evidence, no inflation
- Surface watch-list warning signs
- Promote cross-account lesson candidates to docs/sales_lessons.md if patterns recur (3+ cases); single-occurrence patterns go to "Lesson Candidates" section, not promoted
- Save followup to output path
6a) Present to the user:
- Email draft (ready to copy-paste with light editing)
- Top 3 immediate actions
- One thing that could kill this deal if not addressed (from watch list)
If followup DOES exist (Update Followup):
4b) Read existing followup and present brief summary.
5b) Ask what changed.
6b) Invoke champion-mapper in update mode.
7b) Highlight what changed and confirm account_brief updates were applied.
Common (both modes):
- Remind the user:
- Send the email within 24 hours of the meeting
- Update CRM today
- Schedule the next meeting before context fades
- If the next step is PoC build: run
/meeting-capture <meeting_notes_path> (if not already done)
Error Handling
- If meeting notes file does not exist: stop and ask for correct path.
- If
account_brief.md is missing: stop and tell the user to run /account-brief first — followup needs accumulated account context.
- If
account_brief.md cannot be written: report and skip the brief-update step, but still save followup.md.
Quality Criteria
NEVER:
- Write a generic email that could apply to any customer
- List actions without owners or dates
- Skip the account_brief update — knowledge that lives only in followup.md is lost
- Inflate champion status — a polite contact is not a champion
- Hide warning signs to make the deal look healthier than it is
- Promise materials in the email that the salesperson hasn't agreed to send
INSTEAD:
- Open the email with something only this customer would recognize
- Quote a customer pain back to them — proves we listened
- Make CRM updates explicit (before → after) for copy-paste
- For champion development, propose concrete next actions (intro meetings, custom artifacts)
- Flag missing champion as a critical risk, not a side note
- Update
account_brief.md via a single atomic Write (Read full → modify → Write full)
- Promote lessons to
sales_lessons.md only when the pattern has 3+ cases
Guidelines
- If the meeting was bad, don't paper over it — the watch list and champion section must reflect reality.
- The email draft is meant to be ready-to-send with minimal editing. The salesperson should not have to rewrite from scratch.
- After saving, the typical next action is sending the email and updating CRM. PoC build (
/meeting-capture → /kickoff → ...) is parallel work.