원클릭으로
last30days
Research topics, manage watchlists, get briefings, query history. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Research topics, manage watchlists, get briefings, query history. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Pick the right ordered sequence of skills for the job at hand, announce it, and keep reminding the user which skill comes next after each stage completes — so they never have to remember the chain themselves. Only active when explicitly invoked.
Re-pull all of the user's external capture sources into their Obsidian vault inbox and refresh the Command Center dashboards. Use this whenever the user asks to "re-sync", "resync", "pull new stuff", "update my inbox/vault", "refresh my tasks", "what's new in Feishu/WeChat/my tabs", "catch me up", or "pull from the providers again" — even if they only name one source, default to refreshing all of them unless they scope it down. The sources are: Feishu (lark-cli), WeChat self-chat (chatlog), Zen browser tabs (session decode), and active Claude Code sessions (the AI build queue). This skill encodes hard-won auth/format gotchas that are easy to get wrong — always consult it before touching these sources rather than improvising.
A library of 74 real-brand DESIGN.md design systems (Stripe, Apple, Vercel, Linear, Notion, Spotify, Figma, and more). Use when the user wants UI that matches a known brand's design language, asks to "build a page that looks like <brand>", needs design tokens/typography/color rules for a recognizable product aesthetic, or mentions DESIGN.md. Each brand folder under references/ holds a self-contained DESIGN.md (colors, type, spacing, components) an agent reads to generate visually consistent UI.
Sync caezium/Dayflow fork with upstream JerryZLiu/Dayflow. Rebases private-hardening onto upstream/main, auto-skips known-droppable commits, runs audit + Debug build, then stops at a pre-install checkpoint and waits for the user to say "install". Use when the user says "/dayflow-sync", "sync dayflow", or asks to update the Dayflow fork.
Turns an idea or an article into original white-background, hand-drawn editorial illustrations starring a recurring avatar the user owns — one caught scene per idea, in one of several print looks. Use when the user asks to illustrate a post/article/concept with a consistent character, or invokes "nib". Not for generic draw/make-an-image requests.
Sync caezium/stats fork with upstream exelban/stats. Rebases henry/history-mcp onto upstream/master, stops on any conflict, runs the feature-presence audit + Swift tests + Debug build, then halts at a pre-install checkpoint and waits for the user to say "install". Use when the user says "/stats-sync", "sync stats", or asks to update the Stats fork.
| name | last30days |
| version | 2.1-open |
| description | Research topics, manage watchlists, get briefings, query history. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web. |
| argument-hint | last30 AI video tools, last30 watch my competitor every week, last30 give me my briefing |
| allowed-tools | Bash, Read, Write, AskUserQuestion, WebSearch |
Multi-mode research skill with persistent knowledge accumulation.
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 |
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.
At session start, read ${SKILL_ROOT}/variants/open/context.md for user preferences and source quality notes. Update it after interactions.
~/.local/share/last30days/research.db (SQLite, WAL mode)~/.local/share/last30days/briefs/~/.config/last30days/.env or environment variables| 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 |
PARALLEL_API_KEY | Optional | Web search via Parallel AI |
BRAVE_API_KEY | Optional | Web search via Brave Search |
OPENROUTER_API_KEY | Optional | Web search via Perplexity Sonar Pro |
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.
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.