Official agent skill

Last30days

by trailofbits in trailofbits/skills-curated

Researches a topic from the last 30 days on Reddit, X, and the web.

OfficialCC-BY-SA-4.0Auto-check: notesProduct & Project Management

Install Last30days

skills CLI
$ npx skills add trailofbits/skills-curated --skill last30days -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install trailofbits/skills-curated last30days --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/last30days/skills/last30days .claude/skills/last30days && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
last30days
GitHub stars
512
Used in
1 other repo
Token cost
~4.3k tokens
SKILL.md length
2,036 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
CC-BY-SA-4.0

At a glance

Researches a topic from the last 30 days on Reddit, X, and the web.

  • Works in 3 steps: TOPIC: What they want to learn about… → TARGET TOOL (if specified): Where… → QUERY TYPE: What kind of research they…
  • The user wants to know what people are saying about a topic right now
  • SKILL.md covers When to Use, When NOT to Use, CRITICAL: Parse User Intent and Research Execution, plus 10 more sections
  • Calls python3 and just

What it does

Last30days is an agent skill from trailofbits/skills-curated, published by the product's own GitHub organization. Researches a topic from the last 30 days on Reddit, X, and the web. Surfaces real community discussions with engagement metrics and synthesizes findings into actionable insights. Use when the user wants to know what people are saying about a topic right now.

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Product & Project Management, covering Product metrics. It works with Reddit. The repository describes itself as: Curated, community-vetted Claude Code plugin marketplace. The licence is CC-BY-SA-4.0.

When your agent uses it

  • The user wants to know what people are saying about a topic right now
  • Tasks that involve Product metrics

Example prompts

  • “Use the last30days skill to research a topic from the last 30 days on Reddit, X, and the web”
  • “/last30days”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Read, Write, AskUserQuestion, WebSearch, mcp__exa__web_search_exa

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. TOPIC: What they want to learn about (e.g., "web app mockups", "Claude Code skills", "image generation")
  2. TARGET TOOL (if specified): Where they'll use the prompts (e.g., "Nano Banana Pro", "ChatGPT", "Midjourney")
  3. QUERY TYPE: What kind of research they want

What it can do on your machine

Read from SKILL.md and the folder at commit 6d05be4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • AskUserQuestion
    • WebSearch
    • mcp__exa__web_search_exa

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • just

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • rollingstone.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Last30days loads about 4.3k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 2,036 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~67
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, AskUserQuestion, WebSearch, mcp__exa__web_search_exa

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from trailofbits/skills-curated at commit 6d05be4, republished under its CC-BY-SA-4.0 licence (© trailofbits). 2,036 words, ~4,314 tokens.

Download SKILL.mdSave it as .claude/skills/last30days/SKILL.md (or your agent's skills folder).
name
last30days
description
Researches a topic from the last 30 days on Reddit, X, and the web. Surfaces real community discussions with engagement metrics and synthesizes findings into actionable insights. Use when the user wants to know what people are saying about a topic right now.
allowed-tools
Bash, Read, Write, AskUserQuestion, WebSearch, mcp__exa__web_search_exa
argument-hint
nano banana pro prompts, NVIDIA news, best AI video tools

last30days: Research Any Topic from the Last 30 Days

Research ANY topic across Reddit, X, and the web. Surface what people are actually discussing, recommending, and debating right now.

When to Use

  • User wants to know what people are saying about a topic in the last 30 days
  • User asks for recent community sentiment, recommendations, or trending discussions
  • User wants to research a topic before making a decision (tools, products, techniques)
  • User asks "what's new with X" or "best Y" or "what are people saying about Z"

When NOT to Use

  • User wants historical data older than 30 days
  • User needs official documentation or API references (use docs tools instead)
  • User wants to search a specific codebase (use code search tools)
  • User asks a factual question that doesn't need community sentiment

CRITICAL: Parse User Intent

Before doing anything, parse the user's input for:

  1. TOPIC: What they want to learn about (e.g., "web app mockups", "Claude Code skills", "image generation")
  2. TARGET TOOL (if specified): Where they'll use the prompts (e.g., "Nano Banana Pro", "ChatGPT", "Midjourney")
  3. QUERY TYPE: What kind of research they want:
    • PROMPTING - "X prompts", "prompting for X", "X best practices" -> User wants to learn techniques and get copy-paste prompts
    • RECOMMENDATIONS - "best X", "top X", "what X should I use", "recommended X" -> User wants a LIST of specific things
    • NEWS - "what's happening with X", "X news", "latest on X" -> User wants current events/updates
    • GENERAL - anything else -> User wants broad understanding of the topic

Common patterns:

  • [topic] for [tool] -> "web mockups for Nano Banana Pro" -> TOOL IS SPECIFIED
  • [topic] prompts for [tool] -> "UI design prompts for Midjourney" -> TOOL IS SPECIFIED
  • Just [topic] -> "iOS design mockups" -> TOOL NOT SPECIFIED, that's OK
  • "best [topic]" or "top [topic]" -> QUERY_TYPE = RECOMMENDATIONS
  • "what are the best [topic]" -> QUERY_TYPE = RECOMMENDATIONS

IMPORTANT: Do NOT ask about target tool before research.

  • If tool is specified in the query, use it
  • If tool is NOT specified, run research first, then ask AFTER showing results

Store these variables:

  • TOPIC = [extracted topic]
  • TARGET_TOOL = [extracted tool, or "unknown" if not specified]
  • QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | GENERAL]

DISPLAY your parsing to the user. Before running any tools, output:

I'll research {TOPIC} across Reddit, X, and the web to find what's been discussed in the last 30 days.

Parsed intent:
- TOPIC = {TOPIC}
- TARGET_TOOL = {TARGET_TOOL or "unknown"}
- QUERY_TYPE = {QUERY_TYPE}

Starting now.

If TARGET_TOOL is known, mention it in the intro: "...to find {QUERY_TYPE}-style content for use in {TARGET_TOOL}."

This text MUST appear before you call any tools. It confirms to the user that you understood their request.


Research Execution

Step 1: Run the research script

bash
python3 "{baseDir}/scripts/last30days.py" "$ARGUMENTS" --emit=compact 2>&1

The script will automatically:

  • Detect available API keys
  • Run Reddit/X searches if keys exist
  • Signal if WebSearch is needed

STEP 2: DO WEBSEARCH WHILE SCRIPT RUNS

The script auto-detects sources (API keys, etc). While waiting for it, do WebSearch.

For ALL modes, do WebSearch to supplement (or provide all data in web-only mode).

Choose search queries based on QUERY_TYPE:

If RECOMMENDATIONS ("best X", "top X", "what X should I use"):

  • Search for: best {TOPIC} recommendations
  • Search for: {TOPIC} list examples
  • Search for: most popular {TOPIC}
  • Goal: Find SPECIFIC NAMES of things, not generic advice

If NEWS ("what's happening with X", "X news"):

  • Search for: {TOPIC} news 2026
  • Search for: {TOPIC} announcement update
  • Goal: Find current events and recent developments

If PROMPTING ("X prompts", "prompting for X"):

  • Search for: {TOPIC} prompts examples 2026
  • Search for: {TOPIC} techniques tips
  • Goal: Find prompting techniques and examples to create copy-paste prompts

If GENERAL (default):

  • Search for: {TOPIC} 2026
  • Search for: {TOPIC} discussion
  • Goal: Find what people are actually saying

For ALL query types:

  • USE THE USER'S EXACT TERMINOLOGY - don't substitute or add tech names based on your knowledge
  • EXCLUDE reddit.com, x.com, twitter.com (covered by script)
  • INCLUDE: blogs, tutorials, docs, news, GitHub repos
  • DO NOT output "Sources:" list - this is noise, we'll show stats at the end

Options (passed through from user's command):

  • --days=N -> Look back N days instead of 30 (e.g., --days=7 for weekly roundup)
  • --quick -> Faster, fewer sources (8-12 each)
  • (default) -> Balanced (20-30 each)
  • --deep -> Comprehensive (50-70 Reddit, 40-60 X)

Judge Agent: Synthesize All Sources

After all searches complete, internally synthesize (don't display stats yet):

The Judge Agent must:

  1. Weight Reddit/X sources HIGHER (they have engagement signals: upvotes, likes)
  2. Weight WebSearch sources LOWER (no engagement data)
  3. Identify patterns that appear across ALL three sources (strongest signals)
  4. Note any contradictions between sources
  5. Extract the top 3-5 actionable insights

Do NOT display stats here - they come at the end, right before the invitation.


FIRST: Internalize the Research

CRITICAL: Ground your synthesis in the ACTUAL research content, not your pre-existing knowledge.

Read the research output carefully. Pay attention to:

  • Exact product/tool names mentioned (e.g., if research mentions "ClawdBot" or "@clawdbot", that's a DIFFERENT product than "Claude Code" - don't conflate them)
  • Specific quotes and insights from the sources - use THESE, not generic knowledge
  • What the sources actually say, not what you assume the topic is about

ANTI-PATTERN TO AVOID: If user asks about "clawdbot skills" and research returns ClawdBot content (self-hosted AI agent), do NOT synthesize this as "Claude Code skills" just because both involve "skills". Read what the research actually says.

If QUERY_TYPE = RECOMMENDATIONS

CRITICAL: Extract SPECIFIC NAMES, not generic patterns.

When user asks "best X" or "top X", they want a LIST of specific things:

  • Scan research for specific product names, tool names, project names, skill names, etc.
  • Count how many times each is mentioned
  • Note which sources recommend each (Reddit thread, X post, blog)
  • List them by popularity/mention count

BAD synthesis for "best Claude Code skills":

"Skills are powerful. Keep them under 500 lines. Use progressive disclosure."

GOOD synthesis for "best Claude Code skills":

"Most mentioned skills: /commit (5 mentions), remotion skill (4x), git-worktree (3x), /pr (3x). The Remotion announcement got 16K likes on X."

For all QUERY_TYPEs

Identify from the ACTUAL RESEARCH OUTPUT:

  • PROMPT FORMAT - Does research recommend JSON, structured params, natural language, keywords?
  • The top 3-5 patterns/techniques that appeared across multiple sources
  • Specific keywords, structures, or approaches mentioned BY THE SOURCES
  • Common pitfalls mentioned BY THE SOURCES

Show full SKILL.md (1,055 more words)Show less

THEN: Show Summary + Invite Vision

Display in this EXACT sequence:

FIRST - What I learned (based on QUERY_TYPE):

If RECOMMENDATIONS - Show specific things mentioned with sources:

Most mentioned:

[Tool Name] - {n}x mentions
Use Case: [what it does]
Sources: @handle1, @handle2, r/sub, blog.com

[Tool Name] - {n}x mentions
Use Case: [what it does]
Sources: @handle3, r/sub2, Complex

Notable mentions: [other specific things with 1-2 mentions]

CRITICAL for RECOMMENDATIONS:

  • Each item MUST have a "Sources:" line with actual @handles from X posts (e.g., @LONGLIVE47, @ByDobson)
  • Include subreddit names (r/hiphopheads) and web sources (Complex, Variety)
  • Parse @handles from research output and include the highest-engagement ones
  • Format naturally - tables work well for wide terminals, stacked cards for narrow

If PROMPTING/NEWS/GENERAL - Show synthesis and patterns:

CITATION RULE: Cite sources sparingly to prove research is real.

  • In the "What I learned" intro: cite 1-2 top sources total, not every sentence
  • In KEY PATTERNS: cite 1 source per pattern, short format: "per @handle" or "per r/sub"
  • Do NOT include engagement metrics in citations (likes, upvotes) - save those for stats box
  • Do NOT chain multiple citations: "per @x, @y, @z" is too much. Pick the strongest one.

CITATION PRIORITY (most to least preferred):

  1. @handles from X -- "per @handle" (these prove the tool's unique value)
  2. r/subreddits from Reddit -- "per r/subreddit"
  3. Web sources -- ONLY when Reddit/X don't cover that specific fact

The tool's value is surfacing what PEOPLE are saying, not what journalists wrote. When both a web article and an X post cover the same fact, cite the X post.

URL FORMATTING: NEVER paste raw URLs in the output.

BAD: "His album is set for March 20 (per Rolling Stone; Billboard; Complex)." GOOD: "His album BULLY drops March 20 -- fans on X are split on the tracklist, per @honest30bgfan_" GOOD: "Ye's apology got massive traction on r/hiphopheads" OK (web, only when Reddit/X don't have it): "The Hellwatt Festival runs July 4-18 at RCF Arena, per Billboard"

Lead with people, not publications. Start each topic with what Reddit/X users are saying/feeling, then add web context only if needed. The user came here for the conversation, not the press release.

What I learned:

**{Topic 1}** -- [1-2 sentences about what people are saying, per @handle or r/sub]

**{Topic 2}** -- [1-2 sentences, per @handle or r/sub]

**{Topic 3}** -- [1-2 sentences, per @handle or r/sub]

KEY PATTERNS from the research:
1. [Pattern] -- per @handle
2. [Pattern] -- per r/sub
3. [Pattern] -- per @handle

THEN - Stats (right before invitation):

CRITICAL: Calculate actual totals from the research output.

  • Count posts/threads from each section
  • Sum engagement: parse [Xlikes, Yrt] from each X post, [Xpts, Ycmt] from Reddit
  • Identify top voices: highest-engagement @handles from X, most active subreddits

Copy this EXACTLY, replacing only the {placeholders}:

---
All agents reported back!
|- Reddit: {N} threads | {N} upvotes | {N} comments
|- X: {N} posts | {N} likes | {N} reposts (via xAI)
|- Web: {N} pages (supplementary)
|- Top voices: @{handle1} ({N} likes), @{handle2} | r/{sub1}, r/{sub2}
---

If Reddit returned 0 threads, write: "|- Reddit: 0 threads (no results this cycle)"

SELF-CHECK before displaying: Re-read your "What I learned" section. Does it match what the research ACTUALLY says? If you catch yourself projecting your own knowledge instead of the research, rewrite it.

LAST - Invitation (adapt to QUERY_TYPE):

CRITICAL: Every invitation MUST include 2-3 specific example suggestions based on what you ACTUALLY learned from the research. Don't be generic -- show the user you absorbed the content by referencing real things from the results.

If QUERY_TYPE = PROMPTING:

---
I'm now an expert on {TOPIC} for {TARGET_TOOL}. What do you want to make? For example:
- [specific idea based on popular technique from research]
- [specific idea based on trending style/approach from research]
- [specific idea riffing on what people are actually creating]

Just describe your vision and I'll write a prompt you can paste straight into {TARGET_TOOL}.

If QUERY_TYPE = RECOMMENDATIONS:

---
I'm now an expert on {TOPIC}. Want me to go deeper? For example:
- [Compare specific item A vs item B from the results]
- [Explain why item C is trending right now]
- [Help you get started with item D]

If QUERY_TYPE = NEWS:

---
I'm now an expert on {TOPIC}. Some things you could ask:
- [Specific follow-up question about the biggest story]
- [Question about implications of a key development]
- [Question about what might happen next based on current trajectory]

If QUERY_TYPE = GENERAL:

---
I'm now an expert on {TOPIC}. Some things I can help with:
- [Specific question based on the most discussed aspect]
- [Specific creative/practical application of what you learned]
- [Deeper dive into a pattern or debate from the research]

Example invitations (to show the quality bar):

For /last30days nano banana pro prompts for Gemini:

I'm now an expert on Nano Banana Pro for Gemini. What do you want to make? For example:

  • Photorealistic product shots with natural lighting (the most requested style right now)
  • Logo designs with embedded text (Gemini's new strength per the research)
  • Multi-reference style transfer from a mood board

Just describe your vision and I'll write a prompt you can paste straight into Gemini.

For /last30days kanye west (GENERAL):

I'm now an expert on Kanye West. Some things I can help with:

  • What's the real story behind the apology letter -- genuine or PR move?
  • Break down the BULLY tracklist reactions and what fans are expecting
  • Compare how Reddit vs X are reacting to the Bianca narrative

For /last30days war in Iran (NEWS):

I'm now an expert on the Iran situation. Some things you could ask:

  • What are the realistic escalation scenarios from here?
  • How is this playing differently in US vs international media?
  • What's the economic impact on oil markets so far?

WAIT FOR USER'S RESPONSE

After showing the stats summary with your invitation, STOP and wait for the user to respond.


WHEN USER RESPONDS

Read their response and match the intent:

  • If they ask a QUESTION about the topic -> Answer from your research (no new searches, no prompt)
  • If they ask to GO DEEPER on a subtopic -> Elaborate using your research findings
  • If they describe something they want to CREATE -> Write ONE perfect prompt (see below)
  • If they ask for a PROMPT explicitly -> Write ONE perfect prompt (see below)

Only write a prompt when the user wants one. Don't force a prompt on someone who asked "what could happen next with Iran."

Writing a Prompt

When the user wants a prompt, write a single, highly-tailored prompt using your research expertise.

CRITICAL: Match the FORMAT the research recommends

If research says to use a specific prompt FORMAT, YOU MUST USE THAT FORMAT.

ANTI-PATTERN: Research says "use JSON prompts with device specs" but you write plain prose. This defeats the entire purpose of the research.

Quality Checklist (run before delivering):
  • FORMAT MATCHES RESEARCH - If research said JSON/structured/etc, prompt IS that format
  • Directly addresses what the user said they want to create
  • Uses specific patterns/keywords discovered in research
  • Ready to paste with zero edits (or minimal [PLACEHOLDERS] clearly marked)
  • Appropriate length and style for TARGET_TOOL
Output Format:
Here's your prompt for {TARGET_TOOL}:

---

[The actual prompt IN THE FORMAT THE RESEARCH RECOMMENDS]

---

This uses [brief 1-line explanation of what research insight you applied].

IF USER ASKS FOR MORE OPTIONS

Only if they ask for alternatives or more prompts, provide 2-3 variations. Don't dump a prompt pack unless requested.


AFTER EACH PROMPT: Stay in Expert Mode

After delivering a prompt, offer to write more:

Want another prompt? Just tell me what you're creating next.


CONTEXT MEMORY

For the rest of this conversation, remember:

  • TOPIC: {topic}
  • TARGET_TOOL: {tool}
  • KEY PATTERNS: {list the top 3-5 patterns you learned}
  • RESEARCH FINDINGS: The key facts and insights from the research

CRITICAL: After research is complete, you are now an EXPERT on this topic.

When the user asks follow-up questions:

  • DO NOT run new WebSearches - you already have the research
  • Answer from what you learned - cite the Reddit threads, X posts, and web sources
  • If they ask a question - answer it from your research findings
  • If they ask for a prompt - write one using your expertise

Only do new research if the user explicitly asks about a DIFFERENT topic.


After delivering a prompt, end with:

---
Expert in: {TOPIC} for {TARGET_TOOL}
Based on: {n} Reddit threads ({sum} upvotes) + {n} X posts ({sum} likes) + {n} web pages

Want another prompt? Just tell me what you're creating next.

© trailofbits, CC-BY-SA-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/last30days/skills/last30days of trailofbits/skills-curated.

Open the folder on GitHubat commit 6d05be4

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in trailofbits/skills-curated, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Last30days next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Last30days compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Last30days this skilltrailofbits/skills-curated5121 repos~4.3kAutomated safety check: NotesCC-BY-SA-4.0
Scrapecreators APIScrapeCreators/social-media-research-skills3.3k1 repos~4kAutomated safety check: NotesMIT
Swarmaglitch-rabin/swarma173—~4.4kAutomated safety check: NotesMIT
Prdjuanandresgs/claude-ctrl193—~2.9kAutomated safety check: PassNone
AI Product Strategy InterviewerPrepLabsAI/InterviewMentor112—~4.5kAutomated safety check: PassMIT
Competitor MapperMaxKmet/idea-validation-agents474—~3.3kAutomated safety check: PassMIT

Similar skills

  • Scrapecreators API

    ScrapeCreators/social-media-research-skills

    Scrape and extract public data from 27+ social media platforms using the ScrapeCreators REST API.

    3.3k GitHub starsUsed in 1 repo~4k tokens
    Backend & APIsAuto-check: notes
  • Swarma

    glitch-rabin/swarma

    Agent teams that run growth experiments and build their own playbook.

    173 GitHub stars~4.4k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check: notes
  • Prd

    juanandresgs/claude-ctrl

    Write structured feature specifications with problem statements, user journeys, use cases, functional requirements, and success metrics.

    193 GitHub stars~2.9k tokensUpdated 2 mo ago
    Product & Project ManagementAuto-check passed
  • AI Product Strategy Interviewer

    PrepLabsAI/InterviewMentor

    A VP of Product interviewer that simulates a product strategy interview focused on AI-native products.

    112 GitHub stars~4.5k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Competitor Mapper

    MaxKmet/idea-validation-agents

    Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and marketinsights-calibrated saturation scoring.

    474 GitHub stars~3.3k tokensUpdated 3 mo ago
    Product & Project ManagementAuto-check passed
  • Investigate Metric

    PostHog/posthog

    Official

    Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.

    40k GitHub stars~1.9k tokensUpdated today
    Product & Project ManagementAuto-check passed

More from trailofbits/skills-curated

All 24 skills in this repo
  • Openai Security Ownership Map

    trailofbits/skills-curated

    Official

    Analyze git repositories to build a security ownership topology (people-to-file), compute bus factor and sensitive-code ownership, and export CSV/JSON for graph databases and visualization.

    512 GitHub starsUsed in 5 repos~2.2k tokens
    Auto-check: notes
  • Openai Doc

    trailofbits/skills-curated

    Official

    A skill your agent uses when the task involves reading, creating, or editing .docx documents, especially when formatting or layout fidelity matters; prefer python-docx plus the bundled…

    512 GitHub starsUsed in 5 repos~786 tokens
    Auto-check: notes
  • Openai Develop Web Game

    trailofbits/skills-curated

    Official

    A skill your agent uses when the agent is building or iterating on a web game (HTML/JS) and needs a reliable development + testing loop: implement small changes, run a Playwright-based test script…

    512 GitHub stars~2.3k tokensUpdated 2 mo ago
    Auto-check: notes
  • Openai Jupyter Notebook

    trailofbits/skills-curated

    Official

    A skill your agent uses when the user asks to create, scaffold, or edit Jupyter notebooks (.ipynb) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script…

    512 GitHub stars~1k tokensUpdated 2 mo ago
    Auto-check: notes
  • Openai Playwright

    trailofbits/skills-curated

    Official

    A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…

    512 GitHub stars~945 tokensUpdated 2 mo ago
    Auto-check: notes
  • X Research

    trailofbits/skills-curated

    Official

    Searches X/Twitter for real-time perspectives, dev discussions, product feedback, breaking news, and expert opinions using the X API v2.

    512 GitHub stars~1.9k tokensUpdated 2 mo ago
    Auto-check: notes

Works with

Questions about Last30days

What does Last30days do?

Researches a topic from the last 30 days on Reddit, X, and the web. Last30days is an agent skill from trailofbits/skills-curated, published by the product's own GitHub organization. Researches a topic from the last 30 days on Reddit, X, and the web.

When should I use Last30days?

Last30days fits situations like: the user wants to know what people are saying about a topic right now; tasks that involve Product metrics.

How do I install Last30days in Claude Code?

Run `npx skills add trailofbits/skills-curated --skill last30days -a claude-code`. Or copy the skill folder (plugins/last30days/skills/last30days in trailofbits/skills-curated) into .claude/skills/last30days in your project. Claude Code loads it when a task matches its description.

How do I install Last30days in Codex?

Run `npx skills add trailofbits/skills-curated --skill last30days -a codex`. Or copy the skill folder (plugins/last30days/skills/last30days in trailofbits/skills-curated) into .agents/skills/last30days in your project. Codex loads it when a task matches its description.

Can I use Last30days in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add trailofbits/skills-curated --skill last30days -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/last30days, .gemini/skills/last30days, .github/skills/last30days and .opencode/skills/last30days in your project.

What does Last30days need to run?

Going by SKILL.md and its folder, Last30days needs the command-line tools its instructions call (python3 and just). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Write, AskUserQuestion, WebSearch, mcp__exa__web_search_exa.

Does Last30days access the network?

SKILL.md names 1 domain. As links in the text: rollingstone.com. This is read from the text; nothing was executed.

Is Last30days safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Last30days use?

Last30days is published under the CC-BY-SA-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Last30days use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Last30days?

Skills that share tags, products or a category with Last30days: Scrapecreators API (ScrapeCreators/social-media-research-skills, 3.3k stars), Swarma (glitch-rabin/swarma, 173 stars), Prd (juanandresgs/claude-ctrl, 193 stars) and AI Product Strategy Interviewer (PrepLabsAI/InterviewMentor, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Last30days?

trailofbits (a GitHub organization, an official publisher) maintains it in trailofbits/skills-curated, which has 512 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on July 14, 2026.

Source: trailofbits/skills-curated on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.