hoadoan1997/llm-knowledge-base/last30days

Claude Code and agent skill by hoadoan1997/llm-knowledge-base

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Research any topic across Reddit, X, YouTube, TikTok, Hacker News, Polymarket and web for the last 30 days. Synthesizes findings into a wiki summary. Best for news, trends, recent events, and social sentiment.

Install

npx vskill@latest install hoadoan1997/llm-knowledge-base/last30days

SKILL.md

Skill: last30days (News & Trends Pipeline)

Wraps the global last30days skill and extends it with a wiki filing phase so findings are persisted into the knowledge base.


Phase 1 — Parse & Announce

Before running any tools, display:

Researching: {TOPIC} across Reddit, X, YouTube, HN, Polymarket, and the web (last 30 days).
Parsed intent:
- TOPIC = {TOPIC}
- QUERY_TYPE = {NEWS | RECOMMENDATIONS | COMPARISON | GENERAL}
Starting research — typically 2–5 minutes.

Classify QUERY_TYPE:

  • NEWS — "what's happening with X", "X news", "latest on X", "tin tức X"
  • RECOMMENDATIONS — "best X", "top X", "recommended X"
  • COMPARISON — "X vs Y", "X so với Y"
  • GENERAL — anything else

Phase 2 — Run last30days Research

Find the script — look in project-local first, then fall back to global plugin paths:

bash
# Project-local (preferred — copy scripts/ here after installing the plugin)
PROJECT_LOCAL="skills/last30days/scripts/last30days.py"
for dir in \
"$([ -f "$PROJECT_LOCAL" ] && dirname "$PROJECT_LOCAL")" \
"${CLAUDE_PLUGIN_ROOT:-}" \
"$HOME/.claude/plugins/marketplaces/last30days-skill" \
"$HOME/.claude/plugins/cache/last30days-skill/last30days/2.9.5"; do
[ -n "$dir" ] && [ -f "$dir/scripts/last30days.py" ] && SKILL_ROOT="$dir" && break
done
# Project-local shortcut (avoids nested scripts/ path issue above)
if [ -z "${SKILL_ROOT:-}" ] && [ -f "skills/last30days/scripts/last30days.py" ]; then
SKILL_ROOT="skills/last30days"
fi
if [ -z "${SKILL_ROOT:-}" ]; then
echo "ERROR: last30days script not found." >&2
echo "Install the last30days-skill plugin, then copy its scripts/ folder to skills/last30days/scripts/" >&2
exit 1
fi
python3 "${SKILL_ROOT}/scripts/last30days.py" {TOPIC} --emit=compact --no-native-web \
--save-dir=~/Documents/Last30Days

Use a timeout of 300000ms (5 minutes). Read the FULL output — it contains Reddit, X, YouTube, TikTok, HN, Polymarket, and web sections.

After the script completes, do WebSearch to supplement:

  • {TOPIC} news 2026
  • {TOPIC} announcement update
  • Exclude reddit.com, x.com from results

Phase 3 — Synthesize & Display

Produce the standard last30days output:

What I learned:

  • 3–5 key findings, each attributed to a source (per @handle, per r/sub, per HN, per Polymarket)
  • Lead with cross-platform signals (strongest evidence)
  • Quote top Reddit comments and YouTube transcript highlights directly

Stats block (copy exactly, omit lines with 0 results):

---
✅ Research complete!
├─ 🟠 Reddit: {N} threads │ {N} upvotes │ {N} comments
├─ 🔵 X: {N} posts │ {N} likes │ {N} reposts
├─ 🔴 YouTube: {N} videos │ {N} views │ {N} with transcripts
├─ 🟡 HN: {N} stories │ {N} points │ {N} comments
├─ 📊 Polymarket: {N} markets │ {summary of key odds}
├─ 🌐 Web: {N} pages — Source Name, Source Name
└─ 🗣️ Top voices: @{handle} ({N} likes) │ r/{sub}
---

Phase 4 — Wiki Filing (Knowledge Base Integration)

After displaying findings, automatically file results into the wiki:

4a. Create wiki summary

Write wiki/summaries/news-{topic-slug}-{YYYY-MM-DD}.md:

markdown
---
title: "News: {TOPIC} (Last 30 Days)"
domain: news
tags: [news, trends, {topic-tags}]
created: {YYYY-MM-DD}
updated: {YYYY-MM-DD}
source: "last30days research pipeline {YYYY-MM-DD}"
confidence: high
---
## Summary
{3–5 bullet points of top findings with source attributions}
## Key Signals
{Cross-platform signals — things appearing across Reddit + X + HN}
## Sentiment
{Overall community sentiment: positive / mixed / negative, based on upvote/like signals}
## Prediction Markets
{If Polymarket had relevant markets — include odds and movement}
## Sources
{Top Reddit threads, X handles, YouTube channels, HN stories with engagement numbers}
## Open Questions
{Unanswered questions, conflicts between sources, what to watch next}
## Related Concepts
{[[wikilinks]] to existing wiki concepts related to this topic}
4b. Update or create concept file (if topic has lasting relevance)

If findings reveal durable knowledge (not just ephemeral news), create/update the appropriate concept file in wiki/concepts/. Only create if the topic has structural, long-term significance — not for one-off news events.

4c. Finalize

Run:

bash
./tools/finalize-compile.sh "wiki/summaries/news-{topic-slug}-{date}.md" \
"Last 30 days: {one-line key insight}" --model claude-sonnet-4-6

Checklist

[ ] Script found and ran successfully (or graceful error if not installed)
[ ] WebSearch supplement done
[ ] "What I learned" synthesis displayed to user
[ ] Stats block displayed (no 0-result lines)
[ ] wiki/summaries/news-*.md created with required frontmatter
[ ] [[wikilinks]] resolve to existing concepts
[ ] finalize-compile.sh run with --model flag

Gotchas

Script not found — The last30days-skill plugin must be installed via Claude Code marketplace. After installing, copy the scripts folder into this project:

bash
cp -r ~/.claude/plugins/cache/last30days-skill/last30days/*/scripts skills/last30days/scripts

skills/last30days/scripts/ is gitignored (plugin license). If missing, the skill falls back to WebSearch only and still answers the question.

Interactive mode — last30days normally waits for a follow-up prompt. In this wiki-integrated mode, continue to Phase 4 before waiting for user input. After filing to wiki, then offer follow-up invitation.

News vs durable knowledge — A news event ("GPT-5 launched today") goes in wiki/summaries/. A structural insight ("OpenAI's release cadence has shifted to quarterly") goes in wiki/concepts/. Don't create a concept for every news item.

Available sources without extra API keys (default setup): Reddit, YouTube (via yt-dlp), Hacker News, Polymarket — these 4 work out of the box. X/Twitter requires AUTH_TOKEN+CT0 or XAI_API_KEY. TikTok/Instagram require SCRAPECREATORS_API_KEY. Run --diagnose to see current source availability. The skill still provides useful research with 4 sources — inform the user which sources were active.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hoadoan1997/llm-knowledge-base/last30days/badge)](https://verified-skill.com/skills/hoadoan1997/llm-knowledge-base/last30days)

Something wrong with this skill or its page? Tell us.