last30days
/install last30days-v3-beta
last30days (open variant): Research + Watchlist + Briefings
Multi-mode research skill with persistent knowledge accumulation.
Command Routing
Parse the user's first argument to determine the mode:
| First word | Mode | Reference |
|---|---|---|
watch |
Watchlist management | references/watchlist.md |
briefing |
Morning briefing | references/briefing.md |
history |
Query accumulated knowledge | references/history.md |
| (anything else) | One-shot research | references/research.md |
Setup: Find Skill Root
for dir in \
"." \
"${CLAUDE_PLUGIN_ROOT:-}" \
"${GEMINI_EXTENSION_DIR:-}" \
"$HOME/.gemini/extensions/last30days-skill" \
"$HOME/.gemini/extensions/last30days" \
"$HOME/.claude/skills/last30days" \
"$HOME/.agents/skills/last30days" \
"$HOME/.codex/skills/last30days"; do
[ -n "$dir" ] && [ -f "$dir/scripts/last30days.py" ] && SKILL_ROOT="$dir" && break
done
if [ -z "${SKILL_ROOT:-}" ]; then
echo "ERROR: Could not find scripts/last30days.py" >&2
exit 1
fi
Use $SKILL_ROOT for all script and reference file paths.
Load Context
At session start, read ${SKILL_ROOT}/variants/open/context.md for user preferences and source quality notes. Update it after interactions.
Shared Configuration
- Database:
~/.local/share/last30days/research.db(SQLite, WAL mode) - Briefings:
~/.local/share/last30days/briefs/ - API keys:
~/.config/last30days/.envor environment variables - Key priority: env vars > config file
API Keys
| Key | Required | Purpose |
|---|---|---|
OPENAI_API_KEY |
For Reddit | Reddit search via OpenAI responses API |
XAI_API_KEY |
For X (fallback) | X search via xAI Grok API |
OPENROUTER_API_KEY |
Optional | Perplexity Sonar Pro search + AI reasoning (planning/reranking). Add INCLUDE_SOURCES=perplexity to enable. Use --deep-research for exhaustive reports. |
PARALLEL_API_KEY |
Optional | Web search via Parallel AI |
BRAVE_API_KEY |
Optional | Web search via Brave Search |
Bird CLI provides free X search if installed. YouTube search uses yt-dlp (free).
Run python3 "${SKILL_ROOT}/scripts/last30days.py" --diagnose to check source availability.
Routing Logic
After determining the mode, read the corresponding reference file using the Read tool:
Read: ${SKILL_ROOT}/variants/open/references/{mode}.md
Then follow the instructions in that reference file exactly.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install last30days-v3-beta - After installation, invoke the skill by name or use
/last30days-v3-beta - Provide required inputs per the skill's parameter spec and get structured output
What is last30days?
Research any topic across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub, Perplexity, and more. AI agent scores by upvotes, likes, an... It is an AI Agent Skill for Claude Code / OpenClaw, with 141 downloads so far.
How do I install last30days?
Run "/install last30days-v3-beta" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is last30days free?
Yes, last30days is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does last30days support?
last30days is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created last30days?
It is built and maintained by Matt Van Horn (@mvanhorn); the current version is v3.0.0-open.