Install
$ agentstack add skill-cgallic-kai-cmo-harness-kai-sdr-reply-triage ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
kai-sdr-reply-triage - Reply Loop
Classify SDR replies and produce the next safe action. This skill is for inbound responses after outbound, referrals, bounces, opt-outs, objections, and interested replies.
Required Context
Load before triage:
harness/skill-contracts/sdr-reply-triage.yamlharness/skill-contracts/sdr-package.yamlharness/references/cold-email-rules.md- The relevant SDR package folder under
workspace/sdr-operator// - Sender identity, suppression list, message history, and source evidence for the contact
If any required context is missing, write a triage hold note instead of drafting a send-ready response.
Reply Categories
Classify exactly one primary category:
| Category | Action | |---|---| | interested | Prepare meeting handoff and short response. Trigger /kai-sales-meeting-prep. | | objection | Identify objection type and draft one respectful response. | | referral | Capture referred person, source, and permission trail. | | not_now | Draft low-pressure close and future reminder task. | | wrong_person | Ask for routing only when appropriate. Do not pressure. | | opt_out | Suppress globally. Do not draft further outreach except opt-out confirmation if required. | | bounce | Mark invalid contact path and block follow-up on that address. | | complaint | Stop sequence, suppress, and route to human owner. | | unsubscribe_confirmed | Record suppression and no further action. | | needs_human_review | Use for legal, regulated, sensitive, hostile, ambiguous, or high-value replies. |
Triage Workflow
- Read the reply, original message, account row, contact row, source evidence, and suppression state.
- Classify category, sentiment, urgency, and risk tier.
- Identify whether the reply changes consent, suppression, routing, meeting status, objection state, or CRM state.
- Draft the next message only when allowed.
- Write CRM handoff notes and proposed tasks. Do not mutate CRM.
- Update memory candidates for objection pattern, source quality, and message quality.
- Trigger
/kai-sales-meeting-prepwhen the reply implies a meeting, demo, call, referral intro, or buying conversation.
Output
Write to:
workspace/sdr-operator//replies/.md
Use this shape:
# Reply Triage -
## Classification
- Category:
- Risk tier:
- Sentiment:
- Urgency:
- Suppression action:
## Evidence
- Original message:
- Reply source:
- Account/contact row:
- Claim evidence:
## Next Action
- Owner:
- Action:
- Approval needed:
- Due:
## Draft Response
## CRM Handoff
- Proposed note:
- Proposed task:
- Proposed field changes:
## Memory Candidate
- Learning type:
- Signal:
- Do not promote until:
Rules
- Honor opt-outs immediately.
- Do not argue with complaints.
- Do not invent context or a prior relationship.
- Do not add new claims without evidence.
- Do not reply to bounces.
- Do not route sensitive, legal, or regulated replies without human review.
- Keep responses under 120 words unless the user asks for a longer sales response.
- Use one CTA or one next action.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cgallic
- Source: cgallic/kai-cmo-harness
- License: MIT
- Homepage: https://meetkai.xyz
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.