lastXdays
Research and summarize what happened in the last N days (or a date range) about a topic, optionally using Reddit API and X ingestion via x-cli/API/archive wi...
Description
name: lastxdays description: Research and summarize what happened in the last N days (or a date range) about a topic, optionally using Reddit API and X ingestion via x-cli/API/archive with graceful fallback to web.
lastXdays Skill
Summarize what happened in the last N days (or a specific YYYY-MM-DD → YYYY-MM-DD range) about a user-provided topic.
Default behavior is web-first (web_search + selective web_fetch). If optional credentials/data are available, you may ingest Reddit via API and X via x-cli (preferred), API, or local archive, falling back to web search if unavailable.
Trigger Patterns
Activate when the user message contains any of:
lastXdays/lastxdayslast x days- A question like: "what happened in the last N days" (optionally followed by a topic)
Default Model
Default to sonnet (anthropic/claude-sonnet-4-6) when spawning as a subagent.
Use flash (openrouter/google/gemini-2.0-flash-001) only for simple single-source lookups (one topic, one platform, straightforward synthesis with no file reading required). Flash is unreliable for multi-step agentic work requiring tool chaining (search → fetch → read files → synthesize → report). When in doubt, use sonnet.
Input Parsing
Parse from the user message:
1) Date range (preferred if explicit)
If the user supplies a range like:
from 2026-01-10 to 2026-02-082026-01-10 → 2026-02-08
Then:
start = YYYY-MM-DDend = YYYY-MM-DD- Ignore
Nif both are present.
2) Days (N)
Otherwise, infer N:
- Look for an integer
Nassociated with the request, e.g.:lastxdays 7 <topic>7 lastxdays <topic>what happened in the last 14 days (about|re:) <topic>
- Default:
N = 30 - Clamp:
N = min(max(N, 1), 365)
3) Sources (optional)
Supported: web|reddit|x|all.
Accept any of:
for web/sources webfor reddit/sources redditfor x/sources xfor all/sources all
If unspecified: sources = all.
4) Topic
- The remaining text (after removing trigger words, N/range, and source phrases) is the topic.
- If topic is empty/unclear, ask exactly one clarifying question and stop.
Date Range (freshness)
Use an inclusive range in local time:
freshness = start + "to" + end(e.g.,2026-01-10to2026-02-08)
Helper for “last N days”:
node scripts/lastxdays_range.js <N>
Optional non-web ingestion (Reddit/X)
Use this helper to ingest Reddit/X when possible:
node scripts/lastxdays_ingest.js --source=reddit|x --topic "..." --start YYYY-MM-DD --end YYYY-MM-DD --limit 40
The script attempts:
- Reddit: official API via OAuth (if credentials exist), else returns
fallback:true - X:
x-clisearch first (if installed/configured), then Twitter API v2 recent search (if bearer token + range <= ~7 days), then local archive at~/clawd/data/x-archive/, else returnsfallback:true
Required environment variables (if you want API mode):
-
Reddit:
REDDIT_CLIENT_IDREDDIT_CLIENT_SECRET- either
REDDIT_REFRESH_TOKEN(recommended) orREDDIT_USERNAME+REDDIT_PASSWORD - optional:
REDDIT_USER_AGENT
-
X API (optional; only works for recent ranges on most tiers):
X_BEARER_TOKEN(also acceptsTWITTER_BEARER_TOKEN)
-
x-cli (optional, preferred for agent use):
- Install:
uv tool install x-cli(or from source) - Configure credentials in
~/.config/x-cli/.env(supports shared setup with x-mcp) - If present,
lastxdays_ingest.jsuses it before raw API/archive for X search
- Install:
Credentials loader:
- Reads
~/.config/last30days/.envif present (does not hard-fail if missing) - Environment variables override
.envvalues (file only fills blanks)
Research Procedure
-
Compute
start/end/freshness. -
For each requested source:
Web
- Query:
<topic> - Run
web_searchwithfreshness(count 5–8) - Optionally
web_fetch2–6 best links
Preferred:
- Run
node scripts/lastxdays_ingest.js --source=reddit ... - If it returns
fallback:false, treat returneditems[]as “Notable links” (each has a Reddit permalink URL). - If
items[]is empty / too small to be useful (e.g., <3), you may also run the web fallback to broaden coverage.
Fallback (if fallback:true):
- Run
web_searchwith querysite:reddit.com/r <topic>and the samefreshness
X
Preferred:
- Run
node scripts/lastxdays_ingest.js --source=x ... - If
mode=x-cli,mode=api, ormode=archive, treat returneditems[]as “Notable links” (each has a URL)- If
mode=x-cli, note that X results came from localx-cliexecution - If
mode=archive, note that links come from the local X archive
- If
- If
items[]is empty / too small to be useful (e.g., <3), you may also run the web fallback to broaden coverage.
Fallback (if fallback:true):
- Run
web_searchwith querysite:x.com <topic>and the samefreshness - Expect
web_fetchto fail often onx.com; rely on snippets when needed
- Select and deduplicate links/items:
- Prefer authoritative sources for Web
- Prefer high-engagement or highly-informative posts for Reddit/X
- Keep total links/items shown to ~10–20 max
Output Format (Markdown)
Title:
## lastXdays — <N> days — <topic>- If an explicit range was used, you may replace
<N> dayswithYYYY-MM-DD → YYYY-MM-DD.
- If an explicit range was used, you may replace
Then include sections in this order:
- Date range used
YYYY-MM-DD → YYYY-MM-DD(and optionally the freshness string)
- Top themes
- 3–7 bullets summarizing the dominant storylines/trends
- Notable links Group by platform in this order, including only platforms actually searched:
- Web
- X
For each link/item:
- Markdown link
- One line: why it matters
- If snippet-only (fetch failed/unavailable), say so
- What to follow up on
- 3 copy/pasteable next searches
Smoke tests (local)
Date range helper:
node scripts/lastxdays_range.js 7
Reddit ingest (requires creds or it will return fallback=true):
node scripts/lastxdays_ingest.js --source=reddit --topic "OpenClaw security vulnerability CVE" --start 2026-02-07 --end 2026-02-08 --limit 20 --pretty
X ingest (x-cli if installed; else API if bearer token + <=7 days; else local archive; else fallback=true):
node scripts/lastxdays_ingest.js --source=x --topic "OpenClaw" --start 2026-02-07 --end 2026-02-08 --limit 20 --pretty
Optional x-cli direct smoke test:
x-cli -v -j tweet search "OpenClaw since:2026-02-07 until:2026-02-09" --max 20
Examples
lastxdays AI agents for weblast x days 10 bitcoin ETF flowswhat happened in the last 7 days about OpenAI for reddit14 lastXdays Apple Vision Pro for weblastxdays 30 OpenAI sources alllastxdays from 2026-01-01 to 2026-01-15 about Anthropic sources reddit
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!