본문으로 건너뛰기
cccskills
무료GitHub에 공개

x-research

Searches X/Twitter for real-time perspectives, dev discussions, product feedback, breaking news, and expert opinions using the X API v2. Provides search with engagement sorting, user profiles, thread fetching, watchlists, and result caching. Use when: (1) user says "x research", "search x for", "search twitter for", "what are people saying about", "what's twitter saying", "check x for", "x search", (2) user needs recent X discourse on a topic (library releases, API changes, product launches, industry events), (3) user wants to find what devs/experts/community thinks about a topic. NOT for: posting tweets or account management.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated스타 521(GitHub 521 + cccskills 0)
연동 도구X (Twitter)

실행 점수 미검증

설치 방법 보기

포함된 파일(9)

  • SKILL.md7.3 KB
  • data/watchlist.example.json195 B
  • references/x-api.md4.3 KB
  • scripts/pyproject.toml240 B
  • scripts/x_api.py7.4 KB
  • scripts/x_cache.py2.0 KB
  • scripts/x_format.py4.1 KB
  • scripts/x_search.py12.0 KB
  • scripts/x_xai.py3.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

X Research

Agentic research over X/Twitter. Decompose research questions into targeted searches, iteratively refine, follow threads, deep-dive linked content, and synthesize sourced briefings.

For X API details (endpoints, operators, response format): read {baseDir}/skills/x-research/references/x-api.md.

Prerequisites

  • X API Bearer Token -- set X_BEARER_TOKEN (or XAI_API_KEY) env var
  • Python 3.11+ and uv (pip install uv or https://docs.astral.sh/uv/)

CLI Tool

All commands use uv run for automatic dependency management:

Search

uv run {baseDir}/skills/x-research/scripts/x_search.py search "<query>" [options]

Options:

  • --sort likes|impressions|retweets|recent -- sort order (default: likes)
  • --since 1h|3h|12h|1d|7d -- time filter (default: last 7 days)
  • --min-likes N -- filter by minimum likes
  • --min-impressions N -- filter by minimum impressions
  • --pages N -- pages to fetch, 1-5 (default: 1, 100 tweets/page)
  • --limit N -- max results to display (default: 15)
  • --quick -- quick mode: 1 page, max 10 results, auto noise filter, 1hr cache
  • --from-user <username> -- shorthand for from:username in query
  • --quality -- filter low-engagement tweets (min 10 likes, post-hoc)
  • --no-replies -- exclude replies
  • --save -- save results to ~/x-research-output/
  • --json -- raw JSON output
  • --markdown -- markdown output for research docs

Auto-adds -is:retweet unless query already includes it. All searches display estimated API cost.

Examples:

uv run {baseDir}/skills/x-research/scripts/x_search.py search "claude code" --sort likes --limit 10
uv run {baseDir}/skills/x-research/scripts/x_search.py search "from:anthropic" --sort recent
uv run {baseDir}/skills/x-research/scripts/x_search.py search "(cursor OR windsurf) AI editor" --pages 2 --save
uv run {baseDir}/skills/x-research/scripts/x_search.py search "AI agents" --quick
uv run {baseDir}/skills/x-research/scripts/x_search.py search "AI agents" --quality --quick

Profile

uv run {baseDir}/skills/x-research/scripts/x_search.py profile <username> [--count N] [--replies] [--json]

Fetches recent tweets from a specific user (excludes replies by default).

Thread

uv run {baseDir}/skills/x-research/scripts/x_search.py thread <tweet_id> [--pages N]

Fetches full conversation thread by root tweet ID.

Single Tweet

uv run {baseDir}/skills/x-research/scripts/x_search.py tweet <tweet_id> [--json]

Watchlist

uv run {baseDir}/skills/x-research/scripts/x_search.py watchlist                        # Show all
uv run {baseDir}/skills/x-research/scripts/x_search.py watchlist add <user> [note]      # Add account
uv run {baseDir}/skills/x-research/scripts/x_search.py watchlist remove <user>           # Remove
uv run {baseDir}/skills/x-research/scripts/x_search.py watchlist check                   # Check recent

Watchlist stored in {baseDir}/skills/x-research/data/watchlist.json.

Cache

uv run {baseDir}/skills/x-research/scripts/x_search.py cache clear

15-minute TTL. Avoids re-fetching identical queries.

Research Loop (Agentic)

When doing deep research (not just a quick search), follow this loop:

1. Decompose the Question into Queries

Turn the research question into 3-5 keyword queries using X search operators:

  • Core query: Direct keywords for the topic
  • Expert voices: from: specific known experts
  • Pain points: Keywords like (broken OR bug OR issue OR migration)
  • Positive signal: Keywords like (shipped OR love OR fast OR benchmark)
  • Links: url:github.com or url: specific domains
  • Noise reduction: -is:retweet (auto-added), add -is:reply if needed
  • Spam filter: Add -airdrop -giveaway -whitelist for crypto-adjacent topics

2. Search and Extract

Run each query via CLI. After each, assess:

  • Signal or noise? Adjust operators.
  • Key voices worth searching from: specifically?
  • Threads worth following via thread command?
  • Linked resources worth deep-diving with WebFetch?

3. Follow Threads

When a tweet has high engagement or is a thread starter:

uv run {baseDir}/skills/x-research/scripts/x_search.py thread <tweet_id>

4. Deep-Dive Linked Content

When tweets link to GitHub repos, blog posts, or docs, fetch with WebFetch. Prioritize links that:

  • Multiple tweets reference
  • Come from high-engagement tweets
  • Point to technical resources directly relevant to the question

5. Synthesize

Group findings by theme, not by query:

### [Theme/Finding Title]

[1-2 sentence summary]

- @username: "[key quote]" (NL, NI) [Tweet](url)
- @username2: "[another perspective]" (NL, NI) [Tweet](url)

Resources shared:
- [Resource title](url) -- [what it is]

6. Save

Use --save flag or save manually.

Refinement Heuristics

  • Too much noise? Add -is:reply, use --sort likes, narrow keywords
  • Too few results? Broaden with OR, remove restrictive operators
  • Spam flooding results? Add -$ -airdrop -giveaway -whitelist
  • Expert takes only? Use from: or --min-likes 50
  • Substance over hot takes? Search with has:links

When to Use

  • Researching what developers/experts/community thinks about a topic
  • Getting real-time perspectives on breaking news or product launches
  • Finding technical discussions about libraries, frameworks, or APIs
  • Monitoring what key accounts are posting about
  • Gathering sourced evidence for competitive analysis or market research
  • Quick pulse check on a topic before deeper investigation

When NOT to Use

  • Posting tweets, replying, or managing an X account (read-only tool)
  • Historical research beyond 7 days (uses recent search endpoint only)
  • Searching non-X platforms (use web search tools instead)
  • Tasks where web search provides better results (X is best for real-time opinions, discussions, and breaking news -- not reference docs)

Cost Awareness

X API uses pay-per-use pricing ($0.005/post read, $0.01/user lookup). Quick mode keeps costs under ~$0.50/search. Always check the cost display after each search. Cache prevents duplicate charges. See references/x-api.md for full pricing.

File Structure

skills/x-research/
  SKILL.md           (this file)
  scripts/
    x_search.py      (CLI entry point, run with uv)
    x_api.py         (X API wrapper)
    x_cache.py       (file-based cache, 15min TTL)
    x_format.py      (terminal + markdown formatters)
  data/
    watchlist.json   (accounts to monitor)
    cache/           (auto-managed)
  references/
    x-api.md         (X API endpoint reference)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Expert guidance for ffuf web fuzzing during authorized penetration testing. Covers directory discovery, subdomain enumeration, parameter fuzzing, authenticated fuzzing with raw requests, auto-calibration, and result analysis. Use when running ffuf scans, analyzing ffuf output, or building fuzzing strategies for web targets.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated5212026년 7월 15일 업데이트

Reverse engineers binaries using Ghidra's headless analyzer. Use when decompiling executables, extracting functions, strings, symbols, or analyzing call graphs from compiled binaries without the Ghidra GUI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated5212026년 7월 15일 업데이트

grilling

무료

Interviews the user relentlessly about a plan, decision, or idea until every branch of the decision tree is resolved. Use when the user wants to stress-test their thinking, sharpen a plan or design before acting, or uses any 'grill' trigger phrase (e.g. "grill me on this").

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated5212026년 7월 15일 업데이트

handoff

무료

Compacts the current conversation into a handoff document so a fresh agent can continue the work in a new session.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated5212026년 7월 15일 업데이트

humanizer

무료

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. 30c5c8d (Update humanizer plugin to upstream v2.2.0)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated5212026년 7월 15일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

trailofbits/skills-curated5212026년 7월 15일 업데이트

trailofbits의 스킬 모두 보기

이 스킬의 문제 신고