> Crypto Twitter intelligence and alpha research. Search X/Twitter for real-time crypto narratives, trending tokens, yield strategies, smart money signals, and protocol research. Features TweetRank (PageRank-inspired credibility scoring), multi-signal token detection, coordinated raid detection, and dynamic tool discovery for execution suggestions. Solana-first but covers all major chains.
npx skills add https://github.com/sendaifun/skills --skill ct-alpha
Turn X/Twitter into an actionable crypto intelligence layer. Search CT for narratives, alpha, strategies, and sentiment, then rank results using TweetRank (a PageRank-inspired credibility scoring system), extract tokens/CAs from multiple signals, detect coordinated raids, and suggest execution steps using available tools.
# Clone the skill
git clone https://github.com/yashhsm/skills.git
cd skills/skills/ct-alpha
# Run the installer (configures token, watchlist, cache)
bun run install.ts
# Set your X API Bearer Token
export X_BEARER_TOKEN="your_token_here"
# Or save to persistent env file
mkdir -p ~/.config/env
echo 'export X_BEARER_TOKEN="your_token_here"' >> ~/.config/env/global.env
source ~/.config/env/global.env
# Search for alpha on a token
bun run ct-search.ts search "$SOL alpha" --quick
# Detect trending tokens
bun run ct-search.ts trending --window 6h --solana-only
# Monitor watchlist accounts
bun run ct-search.ts watchlist --since 24h
# Read a specific tweet or article
bun run ct-search.ts read https://x.com/user/status/123456
# Check API spending
bun run ct-search.ts cost
bun run ct-search.ts search "<query>" [flags]
| Flag | Description | Default |
|------|-------------|---------|
| --quick | 20 tweets, 1hr cache, ~$0.10 | Default mode |
| --full | Up to 100 tweets, 15min cache, ~$0.50 | Confirm cost first |
| --limit N | Max total tweets | 20 (quick), 100 (full) |
| --sort <field> | likes, recency, relevancy | relevancy |
| --since <duration> | 1h, 6h, 24h, 7d | 24h |
| --min-likes N | Engagement filter | 3 (quick) |
| --from user1,user2 | Restrict to specific accounts | — |
| --extract-tickers | Show extracted tickers | — |
| --extract-cas | Show contract addresses and crypto URLs | — |
| --raw | JSON output | — |
bun run ct-search.ts trending [flags]
| Flag | Description | Default |
|------|-------------|---------|
| --window <duration> | 1h, 6h, 24h | 6h |
| --min-mentions N | Minimum mention count | 3 |
| --solana-only | Solana ecosystem only | — |
| --top N | Top N results | 20 |
bun run ct-search.ts watchlist [flags]
| Flag | Description | Default |
|------|-------------|---------|
| --category <cat> | Filter by category | all |
| --since <duration> | Time window | 24h |
bun run ct-search.ts read <tweet_url_or_id> [--thread] [--raw]
Accepts x.com URLs, twitter.com URLs, or raw tweet IDs. Articles (long-form posts) are fetched in full.
bun run ct-search.ts thread <tweet_id>
bun run ct-search.ts cost [--reset]
Every tweet is scored by three factors multiplied together:
1 / (1 + hoursAgo / 24) — newer tweets score higher.TweetRank = AuthorCred × EngagementQuality × RecencyBoost
Each tweet receives a source label:
[WATCHLIST] — Author is on your watchlist (highest trust)[HIGH-CRED] — AuthorCred ≥ 5[UNKNOWN] — Unverified author[SUSPICIOUS] — Bot-like patterns detectedCashtag-only detection misses how tokens actually spread on CT. This extracts from four signal types:
| Signal | Example | Confidence |
|--------|---------|------------|
| Cashtag | $SOL, $JTO | High |
| Name-phrase | "pendle" + crypto context | High/Medium |
| Crypto URL | pump.fun, dexscreener, birdeye, jup.ag | High |
| Contract Address | Base58 (Solana) / 0x (Ethereum) with context | High/Low |
Supported crypto URL domains: pump.fun, dexscreener.com, birdeye.so, jup.ag, raydium.io, solscan.io, etherscan.io.
Detects coordinated pump campaigns by analyzing author credibility distribution per ticker:
Every search auto-appends crypto noise filters:
-is:retweet (removes retweets)-"airdrop", -"giveaway", -"whitelist" (spam removal)-"follow and RT", -"follow & RT", -"free mint", -"dm to claim" (engagement bait)-is:replyAggressive caching prevents redundant API calls:
| Cache Type | TTL | Use Case |
|------------|-----|----------|
| Quick search | 1 hour | Default searches |
| Full search | 15 minutes | Deep dives |
| Thread | 2 hours | Conversation threads |
| Profile | 24 hours | User lookups |
| Watchlist | 4 hours | Account monitoring |
Cache is file-based (JSON) with auto-pruning on startup (24h hard limit).
Follow this 6-step loop for every research request:
Break the user's question into 1-3 targeted search queries.
$TICKER and plain name with ORBefore any API call:
Execute with --quick mode first (always):
bun run ct-search.ts search "$TOKEN alpha" --quick --extract-tickers
Analyze TweetRank scores and trust labels. Look for extracted tickers, contract addresses, and crypto URLs.
bun run ct-search.ts thread <id>--from author1,author2--full only if quick was insufficientCombine findings into actionable intelligence:
The query argument supports X API v2 operators:
| Operator | Example | Description |
|----------|---------|-------------|
| keyword | solana alpha | Both words |
| "exact" | "yield strategy" | Exact phrase |
| OR | $SOL OR solana | Either term |
| - | -airdrop | Exclude term |
| from: | from:username | Tweets by user |
| has:links | has:links | Tweets with URLs |
| lang: | lang:en | Language filter |
| $ | $SOL | Cashtag |
Do NOT use these v1.1 operators (they cause 400 errors on v2 pay-per-use):
min_faves:N, min_retweets:N — use --min-likes CLI flag insteadplace:, bio:, sample: — not available on v2Do NOT manually include noise filters in the query — the CLI auto-appends them.
After completing research, suggest execution steps using available MCP tools:
| Tool Prefix | Use Case | Example |
|-------------|----------|---------|
| mcp__defillama__* | TVL, yields, fees, prices | get_protocol_tvl("pendle") |
| mcp__backpack__* | Exchange price, depth, trades | backpack_get_ticker("SOL_USDC") |
| mcp__polymarket__* | Prediction markets | search_polymarket("solana ETF") |
| mcp__coingecko__* | Token data, market charts | get_id_coins("solana") |
Always frame suggestions as "verify" not "confirm" — encourage skepticism about CT alpha.
--quick first (~$0.10 for 20 tweets). Relevancy sort = best results come first.--limit if 20 results are genuinely insufficient.--full mode.--from for signal: Restrict to watchlist accounts for highest signal-to-noisehas:links for substance: Analytical content, not hot takescost command to monitor API usage~/.config/env/global.env — ensure proper file permissionsct-alpha/
├── SKILL.md # This file — agent instructions
├── ct-search.ts # Main CLI entry point
├── setup.ts # Interactive setup script
├── install.ts # Full installer
├── lib/
│ ├── api.ts # X API v2 integration, pagination, caching
│ ├── extract.ts # Multi-signal token extraction
│ ├── tweetrank.ts # TweetRank scoring and raid detection
│ ├── format.ts # Output formatting with trust labels
│ ├── cache.ts # File-based caching layer
│ ├── cost.ts # API cost tracking
│ └── filters.ts # Noise filtering, engagement filtering
├── resources/
│ ├── x-api.md # X API v2 reference
│ ├── query-templates.md # Pre-built search patterns
│ └── tool-discovery.md # Dynamic tool suggestion map
├── data/
│ ├── known-tokens.json # Token name → ticker mappings
│ └── watchlist.default.json # Default watchlist categories
└── examples/
└── basic-search.ts # Quick start example
Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders. Turns hours of manual bookkeeping into minutes of automated organization.
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions
This skill retrieves upcoming earnings announcements for US stocks using the Financial Modeling Prep (FMP) API. Use this when the user requests earnings calendar data, wants to know which companies are reporting earnings in the upcoming week, or needs a weekly earnings review. The skill focuses on mid-cap and above companies (over $2B market cap) that have significant market impact, organizing the data by date and timing in a clean markdown table format. Supports multiple environments (CLI, Desktop, Web) with flexible API key management.
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.
Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions
Take sendaifun/ct-alpha from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.