بنقرة واحدة
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.