Aggregator Ecosystem Infra & Data Multi-file

ct-alpha

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.

Ecosystem skill — independently developed and maintained by SendAI, not the Solana Foundation. No security review is performed; evaluate before use.

One command for Claude Code, Cursor, Codex, Windsurf and other agents — installs from the upstream repo (current HEAD; it ships 46 skills — pick ct-alpha when prompted).

$npx skills add sendaifun/skills

Skill contents

CT Alpha — Crypto Twitter Intelligence

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.

Overview

  • Search: Query CT with crypto-optimized noise filters and relevancy sorting
  • TweetRank: Score tweets by author credibility + engagement quality + recency
  • Multi-Signal Token Detection: Cashtags, name-phrases, crypto URLs, contract addresses
  • Raid Detection: Flag tickers promoted mostly by low-credibility accounts
  • Trending: Detect trending tokens across multiple search queries
  • Watchlist: Monitor trusted CT accounts by category
  • Thread Hydration: Fetch full conversation threads
  • X Articles: Full-text extraction of long-form posts (>280 chars)
  • Cost Tracking: Per-session API spend tracking (~$0.005/tweet)
  • Dynamic Tool Discovery: Suggest follow-up actions with DeFi Llama, Backpack, Polymarket, etc.

Prerequisites

  • Runtime: Bun (TypeScript runtime)
  • API Token: X API Bearer Token from developer.x.com (pay-per-use via xAI)
  • Cost: ~$0.005 per tweet read, ~$0.10 per quick search (20 tweets)

Quick Start

Installation

# 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

Environment Setup

# 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

Basic Usage

# 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

CLI Reference

search — Core research command

bun run ct-search.ts search "<query>" [flags]
FlagDescriptionDefault
--quick20 tweets, 1hr cache, ~$0.10Default mode
--fullUp to 100 tweets, 15min cache, ~$0.50Confirm cost first
--limit NMax total tweets20 (quick), 100 (full)
--sort <field>likes, recency, relevancyrelevancy
--since <duration>1h, 6h, 24h, 7d24h
--min-likes NEngagement filter3 (quick)
--from user1,user2Restrict to specific accounts
--extract-tickersShow extracted tickers
--extract-casShow contract addresses and crypto URLs
--rawJSON output
bun run ct-search.ts trending [flags]
FlagDescriptionDefault
--window <duration>1h, 6h, 24h6h
--min-mentions NMinimum mention count3
--solana-onlySolana ecosystem only
--top NTop N results20

watchlist — Monitor CT accounts

bun run ct-search.ts watchlist [flags]
FlagDescriptionDefault
--category <cat>Filter by categoryall
--since <duration>Time window24h

read — Read a specific tweet/article

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.

thread — Hydrate conversation thread

bun run ct-search.ts thread <tweet_id>

cost — Track API spending

bun run ct-search.ts cost [--reset]

Core Features

TweetRank Scoring

Every tweet is scored by three factors multiplied together:

  1. AuthorCred (0-10): Watchlist membership (+5), follower/following ratio (capped +5), verification (+1), account age (log scale, capped +2), bot penalty (-3)
  2. EngagementQuality: Bookmarks (×3, unfakeable) > Quotes (×2.5, high effort) > Likes (×1.5) > Retweets (×1, easily botted). All log-scaled.
  3. RecencyBoost: 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 detected

Multi-Signal Token Detection

Cashtag-only detection misses how tokens actually spread on CT. This extracts from four signal types:

SignalExampleConfidence
Cashtag$SOL, $JTOHigh
Name-phrase“pendle” + crypto contextHigh/Medium
Crypto URLpump.fun, dexscreener, birdeye, jup.agHigh
Contract AddressBase58 (Solana) / 0x (Ethereum) with contextHigh/Low

Supported crypto URL domains: pump.fun, dexscreener.com, birdeye.so, jup.ag, raydium.io, solscan.io, etherscan.io.

Raid Detection

Detects coordinated pump campaigns by analyzing author credibility distribution per ticker:

  • If >70% of authors mentioning a ticker have low credibility (AuthorCred < 3), it’s flagged as a potential raid
  • Output includes raid score, total/low-cred author counts

Noise Filtering

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)
  • Quick mode also adds -is:reply

Caching

Aggressive caching prevents redundant API calls:

Cache TypeTTLUse Case
Quick search1 hourDefault searches
Full search15 minutesDeep dives
Thread2 hoursConversation threads
Profile24 hoursUser lookups
Watchlist4 hoursAccount monitoring

Cache is file-based (JSON) with auto-pruning on startup (24h hard limit).

Research Methodology

Follow this 6-step loop for every research request:

1. Decompose

Break the user’s question into 1-3 targeted search queries.

  • Token research: search both $TICKER and plain name with OR
  • Narratives: search thematic keywords, not just token names
  • Strategies: include strategy/yield/APY keywords

2. Pre-Filter

Before any API call:

  • Check cache (same query within TTL is free)
  • Noise filters are automatic
  • Estimate cost: Quick ~$0.10, Full ~$0.50-1.50
  • Narrow time window: 24h for trending, 7d for research

Execute with --quick mode first (always):

bun run ct-search.ts search "$TOKEN alpha" --quick --extract-tickers

4. Extract

Analyze TweetRank scores and trust labels. Look for extracted tickers, contract addresses, and crypto URLs.

5. Deep-Dive (if needed)

  • Follow high-engagement threads: bun run ct-search.ts thread <id>
  • Search specific authors: --from author1,author2
  • Broaden with --full only if quick was insufficient

6. Synthesize

Combine findings into actionable intelligence:

  • Group by theme, not by query
  • Highlight tickers with strong multi-signal detection
  • Flag raid risks
  • Suggest verification and execution steps

Query String Rules

The query argument supports X API v2 operators:

OperatorExampleDescription
keywordsolana alphaBoth words
"exact""yield strategy"Exact phrase
OR$SOL OR solanaEither term
--airdropExclude term
from:from:usernameTweets by user
has:linkshas:linksTweets with URLs
lang:lang:enLanguage filter
$$SOLCashtag

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 instead
  • place:, bio:, sample: — not available on v2

Do NOT manually include noise filters in the query — the CLI auto-appends them.

Dynamic Tool Discovery

After completing research, suggest execution steps using available MCP tools:

Tool PrefixUse CaseExample
mcp__defillama__*TVL, yields, fees, pricesget_protocol_tvl("pendle")
mcp__backpack__*Exchange price, depth, tradesbackpack_get_ticker("SOL_USDC")
mcp__polymarket__*Prediction marketssearch_polymarket("solana ETF")
mcp__coingecko__*Token data, market chartsget_id_coins("solana")

Always frame suggestions as “verify” not “confirm” — encourage skepticism about CT alpha.

Cost Protocol

  1. Always --quick first (~$0.10 for 20 tweets). Relevancy sort = best results come first.
  2. Only increase --limit if 20 results are genuinely insufficient.
  3. Display cost estimate before --full mode.
  4. Cache is aggressive — same query within TTL is free.
  5. Two-pass strategy: First search 20 results. If more depth needed on a sub-topic, do a targeted follow-up rather than re-running with higher limits.

Best Practices

  • Start narrow, broaden only if needed: Specific ticker + context words first
  • Use --from for signal: Restrict to watchlist accounts for highest signal-to-noise
  • Use has:links for substance: Analytical content, not hot takes
  • Never present CT findings as authoritative: Always include confidence levels and risk bullets
  • Contract addresses are always UNVERIFIED: Verify on-chain before interacting
  • Two-pass research: Quick search first, then targeted deep-dives
  • Track spending: Use cost command to monitor API usage

Security Considerations

  • X Bearer Token is stored in ~/.config/env/global.env — ensure proper file permissions
  • Never commit tokens to version control
  • Contract addresses extracted from tweets are ALWAYS unverified — always verify on-chain
  • Watchlist data is local-only (not synced or shared)
  • Cache files contain tweet data — consider cleanup for sensitive research

Skill Structure

ct-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

Resources