ct-alpha について
ct-alpha は、X/Twitter 上の暗号資産情報を調査するコマンドラインスキルです。検索、シグナルの絞り込み、トークン抽出を行い、TweetRank や協調的な宣伝の検出、費用追跡を通じて分析を支援します。抽出したコントラクトアドレスは未検証として扱います。
主な機能
- 01関連性、信頼性、鮮度でツイートを評価
- 02複数のシグナルからトークンとアドレスを抽出
- 03信頼性の低いアカウントによる宣伝を検出
- 04トレンド把握とカテゴリ別ウォッチリストの監視
- 05長文投稿の取得とスレッドの展開
- 06検索をキャッシュし API 費用を追跡
活用シーン
- 01トークンや暗号資産のナラティブを調査
- 02注目トークンの協調宣伝リスクを確認
- 03ウォッチリストを監視しスレッドを確認
- 04検索利用状況と API 費用を追跡
MCP 対応
エージェント向けのコマンドライン調査スキルであり、MCP サーバーではありません。調査後、環境で利用できる MCP ツールを使った追加検証を提案できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sendaifun/ skills --skill ct-alphaインストール後、Claude Code で/ct-alphaを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
ct-search.tsinstall.tssetup.tsdata/known-tokens.jsonwatchlist.default.jsonexamples/basic-search.tslib/api.tscache.tscost.tsextract.tsfilters.tsformat.tstweetrank.tsresources/query-templates.mdtool-discovery.mdx-api.md詳細
CT Alpha — Crypto Twitter インテリジェンス
X/Twitter を実用的な暗号資産インテリジェンスレイヤーに変えます。CT でナラティブ、アルファ、戦略、センチメントを検索し、TweetRank(PageRank に着想を得た信頼性スコアリングシステム)で結果をランク付けします。複数のシグナルからトークンや CA を抽出し、協調的なレイドを検出して、利用可能なツールを使った実行手順を提案します。
概要
- 検索:暗号資産向けに最適化されたノイズフィルターと関連度順の並べ替えで CT を検索
- TweetRank:投稿者の信頼性、エンゲージメントの質、投稿の新しさに基づいてツイートをスコアリング
- マルチシグナル・トークン検出:キャッシュタグ、名称フレーズ、暗号資産関連 URL、コントラクトアドレスを検出
- レイド検出:信頼性の低いアカウントによって主に宣伝されているティッカーを特定
- トレンド:複数の検索クエリでトレンドのトークンを検出
- ウォッチリスト:カテゴリ別に信頼できる CT アカウントを監視
- スレッド取得:会話スレッド全体を取得
- X Articles:長文投稿(280 文字超)を全文抽出
- コスト追跡:セッションごとの API 支出を追跡(ツイート 1 件あたり約 $0.005)
- 動的ツール検出:DeFi Llama、Backpack、Polymarket などを使った後続アクションを提案
前提条件
- ランタイム:Bun(TypeScript ランタイム)
- API トークン:developer.x.com から取得する X API Bearer Token(xAI 経由の従量課金)
- コスト:ツイートの読み取り 1 件あたり約 $0.005、クイック検索 1 回あたり約 $0.10(ツイート 20 件)
クイックスタート
インストール
# 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
CLI リファレンス
search — 中核となる調査コマンド
bun run ct-search.ts search "<query>" [flags]
| フラグ | 説明 | デフォルト |
|---|---|---|
--quick | ツイート 20 件、キャッシュ 1 時間、約 $0.10 | デフォルトモード |
--full | 最大 100 件のツイート、キャッシュ 15 分、約 $0.50 | 先にコストを確認 |
--limit N | ツイートの最大合計数 | 20(クイック)、100(フル) |
--sort <field> | likes、recency、relevancy | relevancy |
--since <duration> | 1h、6h、24h、7d | 24h |
--min-likes N | エンゲージメントのフィルター | 3(クイック) |
--from user1,user2 | 特定のアカウントに限定 | — |
--extract-tickers | 抽出されたティッカーを表示 | — |
--extract-cas | コントラクトアドレスと暗号資産関連 URL を表示 | — |
--raw | JSON 出力 | — |
trending — マルチシグナルによるトレンド検出
bun run ct-search.ts trending [flags]
| フラグ | 説明 | デフォルト |
|---|---|---|
--window <duration> | 1h、6h、24h | 6h |
--min-mentions N | メンションの最小数 | 3 |
--solana-only | Solana エコシステムのみ | — |
--top N | 上位 N 件の結果 | 20 |
watchlist — CT アカウントを監視
bun run ct-search.ts watchlist [flags]
| フラグ | 説明 | デフォルト |
|---|---|---|
--category <cat> | カテゴリで絞り込む | all |
--since <duration> | 対象期間 | 24h |
read — 特定のツイートまたは記事を読む
bun run ct-search.ts read <tweet_url_or_id> [--thread] [--raw]
x.com の URL、twitter.com の URL、またはツイート ID を指定できます。Articles(長文投稿)は全文を取得します。
thread — 会話スレッドを取得
bun run ct-search.ts thread <tweet_id>
cost — API 支出を追跡
bun run ct-search.ts cost [--reset]
主な機能
TweetRank スコアリング
すべてのツイートは、次の 3 つの要素を掛け合わせてスコアリングされます。
- AuthorCred(0~10):ウォッチリスト登録(+5)、フォロワー数とフォロー数の比率(最大 +5)、認証済み(+1)、アカウント開設からの期間(対数スケール、最大 +2)、ボットによる減点(-3)
- EngagementQuality:ブックマーク(×3、偽装不能) > 引用(×2.5、高い労力) > いいね(×1.5) > リツイート(×1、ボットで簡単に水増し可能)。すべて対数スケールです。
- RecencyBoost:
1 / (1 + hoursAgo / 24)— 新しいツイートほど高いスコアになります。
TweetRank = AuthorCred × EngagementQuality × RecencyBoost
各ツイートにはソースラベルが付与されます。
[WATCHLIST]— 投稿者がウォッチリストに登録されています(最も高い信頼度)[HIGH-CRED]— AuthorCred ≥ 5[UNKNOWN]— 未認証の投稿者[SUSPICIOUS]— ボットのようなパターンを検出
マルチシグナルによるトークン検出
キャッシュタグだけの検出では、CT でのトークンの実際の拡散状況を捉えられません。この機能では、次の4種類のシグナルから抽出します。
| シグナル | 例 | 信頼度 |
|---|---|---|
| キャッシュタグ | $SOL、$JTO | 高 |
| 名称フレーズ | 「pendle」+暗号資産の文脈 | 高/中 |
| 暗号資産 URL | pump.fun、dexscreener、birdeye、jup.ag | 高 |
| コントラクトアドレス | Base58(Solana)/0x(Ethereum)、文脈を考慮 | 高/低 |
対応している暗号資産 URL ドメイン:pump.fun、dexscreener.com、birdeye.so、jup.ag、raydium.io、solscan.io、etherscan.io。
レイド検出
ティッカーごとの投稿者の信頼度分布を分析し、協調的なポンプキャンペーンを検出します。
- ティッカーに言及した投稿者の70%超が信頼度の低い投稿者(AuthorCred < 3)の場合、レイドの可能性ありとしてフラグを付けます
- 出力には、レイドスコアと投稿者の合計数/低信頼度の投稿者数が含まれます
ノイズのフィルタリング
検索のたびに、暗号資産関連のノイズフィルターが自動で追加されます。
-is:retweet(リツイートを除外)-"airdrop"、-"giveaway"、-"whitelist"(スパムを除外)-"follow and RT"、-"follow & RT"、-"free mint"、-"dm to claim"(エンゲージメント目的の誘導を除外)- クイックモードでは
-is:replyも追加されます
キャッシュ
積極的なキャッシュにより、重複した API 呼び出しを防ぎます。
| キャッシュの種類 | TTL | 用途 |
|---|---|---|
| クイック検索 | 1時間 | デフォルトの検索 |
| フル検索 | 15分 | 詳細な調査 |
| スレッド | 2時間 | 会話スレッド |
| プロフィール | 24時間 | ユーザー検索 |
| ウォッチリスト | 4時間 | アカウントの監視 |
キャッシュはファイルベース(JSON)で、起動時に自動整理されます(保存期間の上限は24時間)。
リサーチの方法
リサーチの依頼ごとに、次の6ステップのループに従ってください。
1. 分解
ユーザーの質問を、対象を絞った1~3件の検索クエリに分解します。
- トークンの調査:
$TICKERと通常の名称の両方を OR で検索します - ナラティブ:トークン名だけでなく、テーマに関連するキーワードを検索します
- 戦略:戦略/利回り/APY のキーワードを含めます
2. 事前フィルタリング
API を呼び出す前に、次のことを行います。
- キャッシュを確認します(TTL 内の同一クエリは無料です)
- ノイズフィルターは自動で適用されます
- コストを見積もります:クイックは約 $0.10、フルは約 $0.50~1.50
- 期間を絞ります:トレンド調査には24時間、リサーチには7日間を指定します
3. 検索
最初に必ず --quick モードで実行します。
bun run ct-search.ts search "$TOKEN alpha" --quick --extract-tickers
4. 抽出
TweetRank スコアと信頼ラベルを分析します。抽出されたティッカー、コントラクトアドレス、暗号資産 URL を確認します。
5. 詳細調査(必要な場合)
- エンゲージメントの高いスレッドを追跡します:
bun run ct-search.ts thread <id> - 特定の投稿者を検索します:
--from author1,author2 - クイック検索で不十分な場合に限り、
--fullで検索範囲を広げます
6. 統合
調査結果を、実行可能なインテリジェンスとしてまとめます。
- クエリごとではなく、テーマごとに分類します
- 複数シグナルによる検出で有力なティッカーを強調します
- レイドのリスクにフラグを付けます
- 検証と実行の手順を提案します
クエリ文字列のルール
クエリ引数では、X API v2 の演算子を使用できます。
| 演算子 | 例 | 説明 |
|---|---|---|
| キーワード | solana alpha | 両方の単語 |
"完全一致" | "yield strategy" | 完全一致するフレーズ |
OR | $SOL OR solana | どちらかの語句 |
- | -airdrop | 語句を除外 |
from: | from:username | ユーザーによるツイート |
has:links | has:links | URL を含むツイート |
lang: | lang:en | 言語フィルター |
$ | $SOL | キャッシュタグ |
次の v1.1 の演算子は使用しないでください(v2 の従量課金では400エラーが発生します)。
min_faves:N、min_retweets:N— 代わりに--min-likesCLI フラグを使用しますplace:、bio:、sample:— v2 では利用できません
クエリにノイズフィルターを手動で含めないでください。CLI が自動で追加します。
動的なツール検出
調査を完了したら、利用可能な MCP ツールを使った実行手順を提案してください。
| ツールのプレフィックス | 用途 | 例 |
|---|---|---|
mcp__defillama__* | TVL、利回り、手数料、価格 | get_protocol_tvl("pendle") |
mcp__backpack__* | 取引所の価格、板、取引 | backpack_get_ticker("SOL_USDC") |
mcp__polymarket__* | 予測市場 | search_polymarket("solana ETF") |
mcp__coingecko__* | トークンデータ、市場チャート | get_id_coins("solana") |
提案は必ず「確認」ではなく「検証」として提示し、CT のアルファ情報に対して懐疑的な見方を促してください。
コストに関する手順
- 必ず最初に
--quickを実行します(ツイート 20 件で約 $0.10)。関連性順に並ぶため、最良の結果が先に表示されます。 - 20 件では明らかに不十分な場合に限り、
--limitを増やしてください。 --fullモードを実行する前に、コストの見積もりを表示してください。- キャッシュは積極的に利用されます。同じクエリを TTL 内に再実行すると無料です。
- 2 段階の戦略:まず 20 件を検索します。サブトピックをさらに深掘りする必要がある場合は、上限を増やして再実行するのではなく、対象を絞った追加検索を行ってください。
ベストプラクティス
- 範囲を絞って始め、必要な場合のみ広げます:まず具体的なティッカーと文脈を表す語句を指定します。
- シグナルを得るには
--fromを使います:シグナル対ノイズ比を最大化するため、ウォッチリスト内のアカウントに絞り込みます。 - 内容のある投稿には
has:linksを使います:煽りではなく、分析的なコンテンツを探します。 - CT の調査結果を権威ある情報として提示しないでください:必ず信頼度とリスクの箇条書きを含めます。
- コントラクトアドレスは常に未検証です:利用する前に必ずオンチェーンで検証してください。
- 2 段階の調査:まずクイック検索を行い、その後、対象を絞って深掘りします。
- 支出を記録します:
costコマンドを使って API の使用状況を監視します。
セキュリティに関する考慮事項
- X Bearer Token は
~/.config/env/global.envに保存されています。適切なファイル権限が設定されていることを確認してください。 - トークンをバージョン管理にコミットしないでください。
- ツイートから抽出したコントラクトアドレスは常に未検証です。必ずオンチェーンで検証してください。
- ウォッチリストのデータはローカルのみに保存され、同期または共有されません。
- キャッシュファイルにはツイートデータが含まれます。機密性の高い調査では、削除を検討してください。
スキルの構成
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