skillfulagents/public-skillset/x-post-flagger
Claude Code and agent skill by skillfulagents/public-skillset
- community
Checking that the SKILL.md file is still in the repository.
Search X for fresh posts where the product is a relevant answer (competitor-alternative asks, category questions, gripes, specific-need requests) using the platform''s built-in X API by default, with optional BYOK twitterapi.io for cheaper reads. Returns deduped, filtered candidate JSON for LLM scoring against scoring_rubric.md.
Install
npx vskill@latest install skillfulagents/public-skillset/x-post-flaggerSKILL.md
X Post Flagger
Finds fresh X posts worth replying to for the user's product. Discovery layer only — scoring and reply drafting are done by the agent using scoring_rubric.md in this directory. Configure via agent-onboarding before first real use (it writes queries.json, the rubric's product sections, and the sweep schedule).
Files
search.py— runs the query bank, dedupes, filters (min followers, replies/RTs dropped, optional crypto-noise filter), outputs normalized candidate JSON. Two providers, same output shape.queries.json— editable query bank grouped by category, plus per-providercommon_exclusionsappended to every query. Written by onboarding.scoring_rubric.md— 0-100 scoring framework; product sections written by onboarding, refined from user feedback.seen_ids.json— JSON array of already-surfaced tweet IDs. Always dedupe against it and append after surfacing.surfaced_log.jsonl— append-only log of every surfaced tweet (one JSON object per line). Written at surfacing time, alongsideseen_ids.json.post_reply.py— optional BYOK reply posting (see below).
Providers
Default: built-in X API (`--provider builtin`). Works out of the box — no account, no key. Uses the platform's X proxy ($ANTHROPIC_BASE_URL/v1/x, official v2 search syntax, last 7 days only). Billed per object returned: $0.005/post + $0.010/distinct author (author expansion is required for the follower/bio filters). A typical multi-query sweep returning ~200 posts costs roughly $1.50-3.00.
Optional BYOK: twitterapi.io (`--provider twitterapi`). ~$0.15/1k tweets read (~30x cheaper), needs TWITTERAPI_IO_KEY in /workspace/.env (user signs up at twitterapi.io and loads credit). Offer this to the user if sweep costs become noticeable; onboarding mentions it at the end.
Query syntax differs per provider — keep both common_exclusions entries in queries.json in sync when editing queries (v2 operators like -is:retweet for builtin, -filter:retweets for twitterapi). Base queries (parentheses, OR, quoted phrases, -term) work on both.
Usage
Flags: --since-hours (float), --max-pages (default 1), --page-size (builtin, 10-100 posts/page/query, default 25), --min-followers (default 150), --no-crypto-filter (disable crypto-noise drop — use when the product itself is crypto/web3), --queries (path override).
Scoring (done by the agent after running search)
Score each candidate with scoring_rubric.md: Fit (0-50), Author (0-25), Replyability (0-25); hard disqualifiers; mandatory quote/RT check via the is_quote / quoted_text / quotes_launch fields. Surface only candidates ≥55, top 1-3 per run. Dedupe against seen_ids.json, append after surfacing.
Surfaced-tweet log (required on every surfacing)
For every tweet surfaced to the user, append one line to surfaced_log.jsonl in this directory (and its ID to seen_ids.json):
When the user later reports an outcome ("posted", "skipped", "bad find"), append an update line: {"id": "...", "outcome": "posted|skipped|rejected", "note": "<their reason>", "at": "<ISO>"}. This log is the agent's history for quality review ("what did you send last week?", hit-rate analysis, rubric tuning) — never delete it, only append.
Posting replies (post_reply.py — optional, BYOK)
Posts a reply via the official X API as the user, using their own X developer app OAuth 1.0a keys (X_API_KEY/X_API_SECRET/X_ACCESS_TOKEN/X_ACCESS_TOKEN_SECRET in /workspace/.env).
⚠️ X policy (since 2026-02-23): the API rejects replies to posts unless the author mentioned/quoted the authenticated account (403). So this only works for replying to mentions. Cold replies to discovered posts must be posted manually by the user (copy-paste) or via their logged-in browser session.
STRICT RULE (see CLAUDE.md): only run on the user's explicit instruction for a specific tweet. Never from scheduled runs.
X API pricing: $0.015/reply, $0.20 if the text contains a URL. On success prints the posted reply URL — send it back to the user.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagents/x-opportunity-scout/.claude/skills/x-post-flagger/SKILL.md
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
[](https://verified-skill.com/skills/skillfulagents/public-skillset/x-post-flagger)