本文へ移動
cccskills
無料GitHub で公開

[REPLACE: SKILL_NAME]

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

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

${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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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

日本語の概要は準備中です。原文の説明を表示しています。

aeonfun/aeon7732026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

aeonfun/aeon7732026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

aeonfun/aeon7732026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

aeonfun/aeon7732026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

aeonfun/aeon7732026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

aeonfun/aeon7732026年10月12日 更新

aeonfun のスキルをすべて見る

このスキルの問題を報告する