Agent skill
social-engagement-responder
Generates contextual replies to comments, mentions, and DMs on social posts.
Filed under Content and SEO.
From ekatasingh1107/b2b-gtm-skills · 99 skills · 2 · pushed 2026-04-11
What it does when it runs
Generates contextual replies to comments, mentions, and DMs on social posts. Classifies engagement as lead signal, customer question, partnership opportunity, or troll/spam. Uses brand voice from agency.config.json.
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/ekatasingh1107/b2b-gtm-skills.git /tmp/b2b-gtm-skills git -C /tmp/b2b-gtm-skills sparse-checkout set "skills/capabilities/social-engagement-responder" mkdir -p ~/.claude/skills/social-engagement-responder cp -R "/tmp/b2b-gtm-skills/skills/capabilities/social-engagement-responder/." ~/.claude/skills/social-engagement-responder/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from ekatasingh1107/b2b-gtm-skills/blob/eae8dd0bb98da1c8e84abd297066a87015dd860f/skills/capabilities/social-engagement-responder/SKILL.md, which is licensed MIT (repository). 910 words, 16 headings.
Social Engagement Responder
Generates contextual, on-brand replies to social media engagement (comments, mentions, DMs, tags). Classifies each interaction for CRM routing and prioritizes lead signals.
Prerequisites
agency.config.jsonpopulated (outreach tone, services, case studies)- Engagement data: the comment/mention/DM text, platform, context (original post if available)
Phase 0: Intake
Read agency.config.json:
agency.name,agency.founder-- for sign-offs and personal touchesoutreach.tone-- voice baselineoutreach.banned_phrases-- never use in repliesservices[]-- for contextual service mentionscase_studies[]-- for proof points when relevant
Accept parameters:
engagement-- (required) object containing:platform--linkedin,twitter,instagram,reddittype--comment,mention,dm,tag,replytext-- the engagement textauthor-- name/handle of the personcontext-- (optional) the original post or thread contextauthor_profile-- (optional) brief profile info (title, company, follower count)
batch-- (optional) array of engagement objects for bulk processingauto_classify-- boolean, classify without generating reply. Default:false
Phase 1: Classification
Classify each engagement into one of these categories:
| Category | Signals | Priority | Action |
|---|---|---|---|
| LEAD_SIGNAL | Asks about services, pricing, availability; mentions pain points; DMs asking for help | HIGH | Reply + flag for CRM |
| CUSTOMER_QUESTION | Existing client asking for support, updates, or clarification | HIGH | Reply + flag for account team |
| PARTNERSHIP_OPPORTUNITY | Collaboration offers, co-marketing, referral partner signals | MEDIUM | Reply + flag for founder |
| GENUINE_ENGAGEMENT | Thoughtful comments, shares experience, adds to discussion | MEDIUM | Reply to nurture |
| SIMPLE_REACTION | "Great post!", "Agree!", emoji-only, basic compliments | LOW | Short thank-you or skip |
| TROLL_SPAM | Hostile, irrelevant, promotional spam, bot-like | IGNORE | Do not reply, flag for review |
Classification output:
{
"category": "LEAD_SIGNAL",
"confidence": "HIGH",
"reasoning": "Asked about Shopify development pricing and mentioned they need help with their store",
"suggested_action": "Reply with value, DM to continue conversation",
"crm_flag": true
}
Phase 2: Reply Generation
LEAD_SIGNAL replies
- Acknowledge their need specifically
- Provide one piece of genuine value (tip, insight, quick observation)
- Soft pivot to conversation ("Happy to share more, DM me?" or "We actually helped a brand with exactly this")
- Never hard pitch in a public reply
- If DM: be more direct, offer a quick call or audit
CUSTOMER_QUESTION replies
- Answer directly and helpfully
- If complex, acknowledge + offer to follow up via DM/email
- Reference their specific situation if known
- Keep professional but warm
PARTNERSHIP_OPPORTUNITY replies
- Express interest without over-committing
- Ask a qualifying question ("What kind of collaboration are you thinking?")
- Offer to take it to DM/email
GENUINE_ENGAGEMENT replies
- Match their energy level
- Add value to the conversation (expand on a point, share a related insight)
- Ask a follow-up question to deepen engagement
- Keep it conversational, not corporate
SIMPLE_REACTION replies
- Short acknowledgment: "Thanks!", "Appreciate that", "Glad it resonated"
- Or skip entirely if volume is high (flag as "no reply needed")
TROLL_SPAM replies
- Do not reply
- Flag for manual review
- If borderline, respond once with facts, then disengage
Phase 3: Platform-Specific Formatting
| Platform | Reply Style | Length |
|---|---|---|
| Professional, can be 1-3 sentences, use their name | 20-80 words | |
| Casual, punchy, match their tweet energy | Under 280 chars | |
| Friendly, use their handle, casual | 10-40 words | |
| Helpful, detailed if they asked a question, no self-promo | 30-200 words |
Phase 4: Quality Check
- Banned phrase scan: Check against
outreach.banned_phrases - Self-promo check: Public replies should not read as ads. Lead with value.
- Tone match: Reply tone should match the engagement's tone (serious reply to serious question, casual to casual)
- Platform limits: Twitter replies under 280 chars
- No emoji overload: Max 1-2 per reply
Phase 5: Output
Return structured JSON:
{
"engagements": [
{
"platform": "linkedin",
"type": "comment",
"author": "Priya Mehta",
"original_text": "This is really insightful. We've been struggling with our Shopify product pages for months.",
"classification": {
"category": "LEAD_SIGNAL",
"confidence": "HIGH",
"reasoning": "Mentions struggling with Shopify product pages, matches our CRO service",
"crm_flag": true
},
"reply": "Priya, product pages are where most D2C brands leave the most revenue on the table. One quick win: make sure your above-the-fold shows social proof + a clear size/variant selector without scrolling. Happy to share a few more specifics if useful, feel free to DM.",
"follow_up_action": "If she DMs, share Kibi Sports case study and offer a free CRO audit",
"word_count": 47
}
],
"summary": {
"total_processed": 12,
"lead_signals": 2,
"customer_questions": 1,
"partnership": 0,
"genuine_engagement": 5,
"simple_reactions": 3,
"troll_spam": 1,
"replies_generated": 8,
"skipped": 4
},
"generated_at": "2026-03-13T10:00:00Z"
}
Phase 6: CRM Handoff
For LEAD_SIGNAL engagements:
- Write to CRM via
crm-writerwith: author name, platform, signal text, classification, reply sent, follow-up action - Set lead stage = NEW if not already in CRM
- Tag source =
social_engagement
Example Usage
Trigger phrases:
- "Process today's LinkedIn comments and mentions"
- "Classify and reply to these Instagram DMs"
- "Handle the comments on my latest LinkedIn post"
- "Check for lead signals in this week's social engagement"
- "Draft replies for these Reddit mentions"
- "Triage my social media inbox"
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- social by coreyhaines31 · 46,928
- social-content by OpenClaudia · 677
- playbook-linkedin-engagement by growthenginenowoslawski · 668
- playbook-social-link-finding by growthenginenowoslawski · 668
- playbook-social-posts by growthenginenowoslawski · 668
- social-card-gen by BrianRWagner · 408
- find-customer-social-proof by zapier · 334
- social-content by shawnpang · 317
Need help setting it up?
This page tells you what social-engagement-responder does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.