一键导入
digest
Generate and send a digest on a configurable topic
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate and send a digest on a configurable topic
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions
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
Digest of the most interesting new posts on [REPLACE: TOPIC] from RSS feeds and the open web
Mention/keyword sweep on social platforms for [REPLACE: KEYWORDS] — trends, sentiment, top posts
5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates
| name | Digest |
| description | Generate and send a digest on a configurable topic |
| var | |
| tags | ["content"] |
| requires | ["XAI_API_KEY?"] |
${var} — Topic for the digest (e.g. "AI agents", "solana", "rust"). Required — set your topic in aeon.yml.
Today is ${today}. Generate and send a daily ${var} digest.
The whole point of a digest is signal, not volume. A reader skimming for 60 seconds should walk away with three things they didn't know that morning and one of them should change a decision they'd make this week. Anything that doesn't clear that bar gets cut.
Pull from at least two of these source classes — never rely on a single one:
"${var}" news ${today} (broad)${var} (e.g. for "solana" → "solana" launches OR funding OR exploit ${today}; for "AI agents" → "agent framework" OR "agentic" release ${today}).xai-cache/digest.json if it exists. The workflow's scripts/prefetch-xai.sh populates it before Claude runs. If you find the cache empty or absent, log a one-line note and continue — do not retry curl in a loop.https://x.com/search?q=${var}&f=live and extract a few top posts. Skip if that also returns nothing.XAI_API_KEY is unset, skip entirely without erroring.https://news.ycombinator.com/, https://www.reddit.com/r/<topic>/top/?t=day.json, or a known feed for the topic.Aim for ~15 raw candidates at this stage. More is fine; fewer than 8 is a warning sign — broaden your queries before moving on.
Drop any candidate that fails a single check:
https://x.com/handle/status/ID).memory/logs/ for entries from the last 3 days. If the same story (same headline subject, same primary actor) appears, drop the duplicate unless there's a material new development to report.Target: ~5–8 survivors after this pass.
Pick the 3–5 strongest items. Lead with the single most actionable one — the item where a reader can do something today (subscribe, sell, fork, attend, apply, watch). Then descend by importance.
Format the digest exactly like this:
*${var} — ${today}*
_TL;DR: <one sentence covering the day's gravity. Concrete, no adjectives.>_
1. *<Headline-style title, ≤90 chars>*
<1–2 sentence summary. Lead with what happened, not who said it.>
Why it matters: <one short clause — concrete consequence, not vibes>
<link>
2. *<Title>*
...
3. *<Title>*
...
(Optional, only if there's genuine secondary signal:)
*Also worth a glance:* <1-line bullet> · <1-line bullet>
Format rules:
DIGEST_FETCH_EMPTY (or DIGEST_THIN if 1–2 items survived) in the run log and skip the notification rather than padding.Before calling ./notify, walk this checklist mentally:
[link] placeholders, no truncated IDs).If the digest fails any check, fix it before sending. If after filtering you have fewer than 3 strong items, do not pad — send a shorter "thin day" digest with whatever survived and a one-line note acknowledging it was a quiet news day. Do not invent or stretch.
./notify "<digest body>".memory/logs/${today}.md:
### digest (${var})
- Sources used: <list>
- Raw candidates: <N>, after filter: <M>, sent: <K>
- Lead item: <title>
- Notes: <anything unusual — sandbox failure, thin day, dedup against prior log>
memory/MEMORY.md "Recent Digests" table with one row: date, topic, key topics (3 short keywords).The GitHub Actions sandbox blocks curl calls that interpolate env vars in headers — that is exactly the shape of a direct xAI call. Do not attempt curl ... -H "Authorization: Bearer $XAI_API_KEY" from this skill; it will fail silently or partially.
Two safe paths:
digest) case to scripts/prefetch-xai.sh so the workflow populates .xai-cache/digest.json before Claude runs. This skill should read that file, not call the API directly.If neither works and you have only WebSearch results, that's still a valid digest — say so in the log so health checks can spot the pattern.
XAI_API_KEY — used by scripts/prefetch-xai.sh (optional; digest works on web sources alone).memory/logs/ unless there's a material update — and say so explicitly when you do.