agentleFS
DrFIRASSDrFIRASS/hermes-skills-autopilot/skills/audience-echo/SKILL.md

audience-echo

Skill14 starsChanged 7 months agoMITView on GitHub

The community layer. Watches over YouTube comments, LinkedIn replies, course Q&As, and DMs across platforms. Surfaces the signals worth your voice. Drafts the replies you'd write. Never fakes intimacy you didn't grant. For anyone with an audience, the community is both a treasure and a drain. Every meaningful comment deserves acknowledgement; every trivial one risks eroding your time. audience-echo runs twice a day and classifies every new touchpoint into one of five buckets, handling routine ones and drafting the high-signal…

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every touchpoint lands in one of these:

    line 51
  2. Very specific:

    If the batch is pure auto-handled + noise, return HEARTBEAT_OK.

    line 133

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

💬 Audience Echo

The community layer. Watches over YouTube comments, LinkedIn replies, course Q&As, and DMs across platforms. Surfaces the signals worth your voice. Drafts the replies you'd write. Never fakes intimacy you didn't grant.


🎯 Mandate

For anyone with an audience, the community is both a treasure and a drain. Every meaningful comment deserves acknowledgement; every trivial one risks eroding your time. audience-echo runs twice a day and classifies every new touchpoint into one of five buckets, handling routine ones and drafting the high-signal ones for review.

This skill never posts anything to a public surface without owner approval. That is a hard rule — community voice is a first-person asset.


🌐 Sources Monitored

Configured in OPERATIONS_CONTEXT.md → audience_sources:

audience_sources:
  youtube:
    channel: "@DRFIRASS"
    monitor: [comments, community_posts, live_chat_replays]
  linkedin:
    profile: "doctor-firass"
    monitor: [post_comments, dms, connection_requests]
  udemy:
    instructor_id: "dr-firas"
    monitor: [qna, course_reviews, direct_messages]
  twitter_x:
    enabled: false

Each tick, the echo pulls new items from each enabled source since the last watermark.


🪣 The Five Buckets

Every touchpoint lands in one of these:

1. 💚 Applause — auto-acknowledge

"Great video!", "This course changed my life", a heart emoji, a simple thanks.

Action: act tier — react with a ❤️, or send a one-character "🙏" reply, then archive. No task created, no owner ping.

2. 🟢 Routine question — draft a reply

"What's the best way to learn n8n?", "Is module 7 out yet?", "Where do I download the pack?"

Action: draft_for_review tier — the echo composes a short, in-voice reply pulled from the owner's FAQ bank (stored in workspace/content/faq.md). If the answer isn't in the FAQ bank, escalate with the question text instead of guessing.

3. 🟡 Substantive question — full draft

A thoughtful question that deserves a real answer. Often from engaged learners or fellow practitioners.

Action: draft_for_review tier — the echo drafts a 2–4 paragraph reply in the owner's voice. Owner reviews and ships. If the question is exceptionally good, the echo also tags it as an idea_candidate and hands it to content-forge.

4. 🔴 High-signal or sensitive — escalate

  • A partnership proposal in a DM
  • A journalist reaching out
  • A critical comment that touches on a claim, credential, or public statement
  • A student visibly in distress
  • A viral comment with 100+ likes

Action: escalate tier — immediate ping to the escalation channel with full context, surface area, and a suggested next step. No draft.

5. 🚫 Noise or toxic — filter silently

Spam links, obvious trolling, bot comments, brigading.

Action: act tier — hide/report on the platform if policy allows, never reply, log in audience-log with reason. No owner ping.


🧭 Voice Matching

Drafted replies must match the owner's voice. The echo reads — in this order:

  1. ~/.hermes/SOUL.md — the declared voice
  2. workspace/content/faq.md — canonical answers to common questions (gives phrasing signal)
  3. The last 20 public replies from the owner on the same platform (gives live signal)

The third item is the key. Voice drifts over time; the echo re-samples every week.


📚 The FAQ Bank

workspace/content/faq.md is the reusable reply library. Format:

## Q: Where can I download the free resources?
- Canonical answer: "All the free resources are on dr-firas.vip. Direct link to the latest pack: <url>. Let me know if anything's missing."
- Last updated: 2026-04-10
- Hit count: 47

## Q: Do you offer 1:1 consulting?
- Canonical answer: "I'm not taking 1:1 clients right now, but I do host monthly live Q&As for course students — details in the community."
- Last updated: 2026-03-20
- Hit count: 12

Each time a routine question is auto-drafted from an entry, the hit count increments. Entries that cross 100 hits in 30 days are flagged — they probably need to become content (FAQ video, pinned comment, etc.).


📣 Twice-Daily Sweep

At 14:00 and 20:30:

  1. Pull new items since the last watermark across all configured sources.
  2. Classify each into a bucket.
  3. Execute: auto-acknowledge, draft, escalate, or filter.
  4. Batch a single summary to the escalation channel only if drafts or escalations exist:
💬 Audience Echo — 8 new touchpoints

Auto-handled: 5 (4 applause, 1 noise filtered)
Drafts ready: 2 (LinkedIn, YouTube)
Escalations: 1 (partnership DM from <sender>)

If the batch is pure auto-handled + noise, return HEARTBEAT_OK.


🔄 Feedback Loops

  • Edited drafts → the echo learns. If the owner materially rewrites a reply, the echo adds the delta to a voice-drift log. After 5 similar edits, it asks the owner to update the SOUL file.
  • Repeated escalations of the same sender → the echo proposes adding them to vip_contacts.
  • Recurring questions → after 3 hits on the same topic with no FAQ entry, the echo drafts a new FAQ entry and escalates it for approval.

⚠️ Hard Never-Dos

  • Never post publicly. Ever. Not even a heart emoji, unless the act tier for that platform is explicitly enabled in context.
  • Never guess an answer that isn't in the FAQ bank or the owner's prior replies — escalate instead.
  • Never respond to a critical comment without owner review, regardless of how polite the criticism.
  • Never block or report a user without logging who, when, and why.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.