replace-skill-name
Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Audit every enabled skill's upstream file dependencies for staleness — flags chained skills about to consume yesterday's article or a long-dead topic file
Validate skill outputs against assertions, diff vs prior eval to flag regressions, file issues for new failures, and queue concrete fixes
Compare current progress against goals with quantified status, velocity, trend, and a concrete next action per goal
First-touch review of newly opened PRs on [REPLACE: WATCHED_REPO] — verdict + welcoming comment + label
Price and volume tracker for [REPLACE: TOKEN_SYMBOL] with anomaly alerts above [REPLACE: ALERT_THRESHOLD_PCT]% movement
Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours
| name | [REPLACE: SKILL_NAME] |
| description | Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions |
${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.
| Platform | Secrets | Notes |
|---|---|---|
discord | DISCORD_BOT_TOKEN, DISCORD_CHANNEL_ID | Bot must be in the server with View Channel + Read Message History. |
telegram | TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID | Bot must have been added to the chat (private chats and groups both work). |
slack | SLACK_BOT_TOKEN, SLACK_CHANNEL_ID | Bot 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.
Resolve channel — CHANNEL="${var:-[REPLACE: CHANNEL_NAME]}". The exact API call depends on [REPLACE: CHANNEL_PLATFORM]:
GET https://discord.com/api/v10/channels/$DISCORD_CHANNEL_ID/messages?limit=100getUpdates polling has limits; better to read the bot's stored offset state from memory/topics/[REPLACE: SKILL_NAME]-tg-offset.json.POST https://slack.com/api/conversations.history with channel + oldest=24h ago.Filter to the last 24h — drop messages older than now - 24h. Drop bot messages (most platforms expose is_bot / bot_id). Keep replies.
Cluster into threads — Discord and Slack expose explicit thread/parent IDs; Telegram doesn't. For Telegram, cluster by reply-chain hops.
Score threads — for each thread:
? or contain words like "how", "why", "anyone", "stuck"? +5.Pick the top [REPLACE: TOP_N_THREADS] threads.
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.
Write 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)
▁▂▃▅▇▆▄
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).
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)
Telegram, Discord, and Slack all need their bot token in the Authorization header — curl with $TOKEN in headers fails inside the sandbox. Use the prefetch pattern documented in CLAUDE.md: scripts/prefetch-[REPLACE: SKILL_NAME].sh runs before Claude with full env access, writes the channel history to .community-cache/${today}.json, and Claude reads from disk.