From felo-x-search
Searches X (Twitter) for users by username/keyword, user tweets, tweet replies, and keyword queries using Felo X Search API. Auto-triggers on Twitter/X mentions or /felo-x-search.
npx claudepluginhub felo-inc/felo-skills --plugin felo-x-searchThis skill uses the workspace's default tool permissions.
Trigger this skill when the user wants to:
Fetches Twitter/X data: user profiles, tweets, replies, followers, communities, spaces, trends via twitterapi.io using Python CLI scripts. Useful for Twitter/X mentions.
Searches X/Twitter in real-time using Grok's x_search tool to retrieve tweets, trends, and discussions with citations. Supports filtering by time, handles, and JSON/compact outputs.
Searches X (Twitter) tweets by keyword, phrase, hashtag, user, date range, engagement filters. Supports live paginated search and bulk extraction up to 1,000 tweets with IDs, text, authors, metrics, timestamps.
Share bugs, ideas, or general feedback.
Trigger this skill when the user wants to:
Trigger keywords (examples):
Explicit commands: /felo-x-search, "search X", "search twitter"
Do NOT use for:
felo-search)felo-web-extract)felo-slides)Linux/macOS:
export FELO_API_KEY="your-api-key-here"
Windows PowerShell:
$env:FELO_API_KEY="your-api-key-here"
Packaged CLI (after npm install -g felo-ai):
felo x [query] [options]
Script (from repo):
node felo-x-search/scripts/run_x_search.mjs [query] [options]
The x command uses parameter combinations to infer intent — no subcommands needed.
With query (search mode):
| Usage | Behavior |
|---|---|
felo x "AI news" | Search tweets (default) |
felo x -q "AI news" | Same as above |
felo x "OpenAI" --user | Search users |
With --id (lookup mode):
| Usage | Behavior |
|---|---|
felo x --id "1234567890" | Get tweet replies (default) |
felo x --id "elonmusk" --user | Get user info |
felo x --id "elonmusk" --user --tweets | Get user tweets |
| Option | Description |
|---|---|
[query] | Positional arg, search keyword (equivalent to -q) |
-q, --query <text> | Search keyword |
--id <values> | Tweet IDs or usernames (comma-separated) |
--user | Switch to user mode |
--tweets | Get user tweets (with --id --user) |
-l, --limit <n> | Number of results |
--cursor <str> | Pagination cursor |
--include-replies | Include replies (with --tweets) |
--query-type <type> | Query type filter (tweet search) |
--since-time <val> | Start time filter |
--until-time <val> | End time filter |
-j, --json | Output raw JSON |
-t, --timeout <seconds> | Timeout in seconds (default: 30) |
# Search tweets
curl -X POST "https://openapi.felo.ai/v2/x/tweet/search" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "AI news", "limit": 20}'
# Search users
curl -X POST "https://openapi.felo.ai/v2/x/user/search" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "artificial intelligence"}'
# Get user info
curl -X POST "https://openapi.felo.ai/v2/x/user/info" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"usernames": ["elonmusk", "OpenAI"]}'
# Get user tweets
curl -X POST "https://openapi.felo.ai/v2/x/user/tweets" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk", "limit": 20}'
# Get tweet replies
curl -X POST "https://openapi.felo.ai/v2/x/tweet/replies" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tweet_ids": ["1234567890"]}'
## @elonmusk (Elon Musk 🔵)
- User ID: `44196397`
- Followers: 100.0M
- Following: 500
- Total Tweets: 30.0K
- Bio: ...
- Location: Mars
- Account Created: 2009-06-02T00:00:00Z
---
### @elonmusk(Elon Musk ✓)
- Posted: 2026-03-09T12:00:00Z | Tweet ID: `1234567890`
Tweet content here...
Engagement: 5.0K likes | 1.0K retweets | 200 replies
---
INVALID_API_KEY — API Key is invalid or revokedX_SEARCH_FAILED — X search request failed (check parameters or downstream error)If FELO_API_KEY is not set, display setup instructions and stop.
https://openapi.felo.ai. Override with FELO_API_BASE env if needed.Authorization: Bearer YOUR_API_KEYPOST /v2/x/user/info — Batch get user profilesPOST /v2/x/user/search — Search usersPOST /v2/x/user/tweets — Get user tweetsPOST /v2/x/tweet/search — Search tweetsPOST /v2/x/tweet/replies — Get tweet repliesFELO_API_KEY before calling; if missing, return setup instructions.--json for raw API response.next_cursor) for fetching more results.