Skip to content
cccskills
FreePublished on GitHub

[REPLACE: SKILL_NAME]

Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

${var} — Optional. Override the channel name. If empty, summarises [REPLACE: CHANNEL_NAME].

Today is ${today}. Read the last 24h of activity in [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] and produce a community digest.

Required secrets per platform

PlatformSecretsNotes
discordDISCORD_BOT_TOKEN, DISCORD_CHANNEL_IDBot must be in the server with View Channel + Read Message History.
telegramTELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_IDBot must have been added to the chat (private chats and groups both work).
slackSLACK_BOT_TOKEN, SLACK_CHANNEL_IDBot needs channels:history (public) or groups:history (private) scope.

If the secrets for [REPLACE: CHANNEL_PLATFORM] aren't set, log COMMUNITY_NO_TOKEN and exit cleanly.

Steps

  1. Resolve channel — CHANNEL="${var:-[REPLACE: CHANNEL_NAME]}". The exact API call depends on [REPLACE: CHANNEL_PLATFORM]:

    • discord — GET https://discord.com/api/v10/channels/$DISCORD_CHANNEL_ID/messages?limit=100
    • telegram — getUpdates polling has limits; better to read the bot's stored offset state from memory/topics/[REPLACE: SKILL_NAME]-tg-offset.json.
    • slack — POST https://slack.com/api/conversations.history with channel + oldest=24h ago.
  2. Filter to the last 24h — drop messages older than now - 24h. Drop bot messages (most platforms expose is_bot / bot_id). Keep replies.

  3. Cluster into threads — Discord and Slack expose explicit thread/parent IDs; Telegram doesn't. For Telegram, cluster by reply-chain hops.

  4. Score threads — for each thread:

    • Reach — unique participants × log(message count).
    • Question pressure — does the parent message end with ? or contain words like "how", "why", "anyone", "stuck"? +5.
    • Recency — within the last 12h gets full marks.

    Pick the top [REPLACE: TOP_N_THREADS] threads.

  5. Detect open questions — scan all parent-level messages. If a message ends with ? and has zero replies after 6 hours, mark it as OPEN_QUESTION. List them separately so the operator can chase.

  6. Write output/articles/[REPLACE: SKILL_NAME]-${today}.md:

    # [REPLACE: CHANNEL_NAME] — ${today}
    
    **Volume**: N messages from M participants (vs 7d avg of K).
    
    ## Top [REPLACE: TOP_N_THREADS] threads
    1. [Author · timestamp] "Parent message excerpt..."
       → N replies, M reactions
       → Permalink
    
    ...
    
    ## Open questions (no reply > 6h)
    - [Author] "Question text..." → permalink
    
    ## Volume sparkline (last 7 days)
    ▁▂▃▅▇▆▄
    
  7. Notify via ./notify with a 3-line summary:

    *[REPLACE: CHANNEL_NAME] — ${today}*
    N messages · M participants · K open questions · top thread: <one-line>
    Full digest: <url>
    

    Skip the notification on quiet days (volume < 25% of 7d avg AND zero OPEN_QUESTIONs).

  8. Log — append to memory/logs/${today}.md:

    ## [REPLACE: SKILL_NAME]
    - **Channel**: [REPLACE: CHANNEL_PLATFORM]/[REPLACE: CHANNEL_NAME]
    - **Volume**: messages=N, participants=M, vs_7d_avg=Δ%
    - **Threads picked**: [REPLACE: TOP_N_THREADS] (of K candidates)
    - **Open questions**: N
    - **Status**: COMMUNITY_OK | COMMUNITY_QUIET | COMMUNITY_DEGRADED (api errors)
    

Network note

Telegram, Discord, and Slack all need their bot token in the Authorization header. A bare $TOKEN on a curl line is refused by the Bash permission analyzer — so call ./secretcurl with a {ENV_NAME} placeholder instead. The token (injected via the skill's requires:) is substituted inside the helper and never appears on the command line: ./secretcurl -H "Authorization: Bearer {TELEGRAM_BOT_TOKEN}" "https://api.telegram.org/...".

Constraints

  • Privacy. Don't quote DMs or anything from a private channel verbatim into a public notification — paraphrase, attribute by display name only, never include user IDs.
  • The "open questions" section is the most useful output. Even on a quiet day, if there's an unanswered question, surface it. That's the operator-action signal.
  • Avoid bot-on-bot loops. If this skill notifies into the same channel it reads from, filter your own bot's messages out before scoring.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Price and volume tracker for [REPLACE: TOKEN_SYMBOL] with anomaly alerts above [REPLACE: ALERT_THRESHOLD_PCT]% movement

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

First-touch review of newly opened PRs on [REPLACE: WATCHED_REPO] — verdict + welcoming comment + label

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Digest of the most interesting new posts on [REPLACE: TOPIC] from RSS feeds and the open web

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Mention/keyword sweep on social platforms for [REPLACE: KEYWORDS] — trends, sentiment, top posts

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

See all skills by aeonfun

Report a problem with this skill