superx について
SuperX APIを通じてXの成長施策を管理するコマンドラインスキルです。クリエイターやソーシャルメディア運用者向けに、分析、投稿の下書きと予約、エンゲージメント、リード管理を目的別の手順で扱います。
主な機能
- 01投稿実績とアカウント分析の確認
- 02投稿の作成・編集・予約
- 03連絡先・オーディエンス・リードの管理
- 04下書きとライティング背景の生成
- 05Articles、タグ、エンゲージメントの管理
活用シーン
- 01直近の反応データを基に内容方針を調整
- 021週間分の投稿を下書きして予約
- 03反応したユーザーを整理して返信をフォロー
- 04見込み顧客を探してアウトリーチを準備
MCP 対応
このスキルは、エージェントが目的別にSuperXの操作を行うためのMCPツール手順を提供します。また、superx CLIを使ってSuperX API経由でアカウントやコンテンツを管理します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ superx-so/ superx-agent --skill superxインストール後、Claude Code で/superxを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/commands.mdgrowth-strategy.mdreferences/skills/categories.jsonREADME.mdreferences/skills/audience-export/card.jsonrecipe.mdreferences/skills/cadence-and-queue-audit/card.jsonrecipe.mdreferences/skills/daily-post-ideas/card.jsonrecipe.mdreferences/skills/dm-ready-audience-builder/card.jsonrecipe.mdreferences/skills/find-your-story/card.jsonrecipe.mdreferences/skills/growth-plan-builder/card.jsonrecipe.mdreferences/skills/instant-lead-hunt/card.jsonrecipe.mdreferences/skills/lead-review/card.jsonrecipe.mdreferences/skills/my-content-export/card.jsonrecipe.mdreferences/skills/my-replies-report/card.jsonrecipe.mdreferences/skills/post-post-mortem/card.jsonrecipe.mdreferences/skills/profile-research-briefs/card.jsonrecipe.mdreferences/skills/queue-reshuffle/card.jsonrecipe.md詳細
SuperX CLI が存在しない場合はインストールする
npm install -g superx-cli
npm リリース: https://www.npmjs.com/package/superx-cli superx-agent github: https://github.com/superx-so/superx-agent API ドキュメント: https://docs.superx.so 公式ウェブサイト: https://superx.so
| プロパティ | 値 |
|---|---|
| name | superx |
| description | Twitter/X グロース CLI: SuperX API 経由での投稿、分析、連絡先、連絡先リスト、オーディエンスの返信、シグナルエージェントとそのリード、インスピレーション、タグ、スケジューリング(画像付き)、長文 Articles、Context 設定(AI 執筆バックグラウンド) |
| allowed-tools | Bash(superx:*) |
3 つの厳守事項(最初にお読みください)
ルール 1: 何よりも先に superx status を実行してください。 有効な認証情報がないと、他のすべてのコマンドは失敗します。superx バイナリが存在しない場合は、npm install -g superx-cli でインストールしてください。認証されていない場合は、superx login(対話式)を実行するか、export SUPERX_API_KEY=sxk_... を設定してください(CI および非対話セッション)。キーは https://app.superx.so/account?tab=api で作成します。
ルール 2: コンテンツを作成する前に必ず references/growth-strategy.md を読んでください。 このスキルにはグロース戦略ガイド(references/growth-strategy.md、インストールされた npm パッケージ内にも含まれます)が同梱されています。これは、何を、いつ、なぜ投稿すべきかを示します。アクションの階層、ネットワーク外での発見、エンゲージメントループ、そしてリーチを損なう失敗パターンです。CLI はデータとアクションを提供し、戦略ガイドは判断を提供します。これなしでコンテンツをスケジュールしないでください。ゴールに沿ったタスク(「週次の振り返りをください」、「この投稿に返信した人に DM して」)の場合は、references/skills/ 配下の対応するスキルを開いてください。名前付きの SuperX スキルで、それぞれに正確なコマンドチェーン、MCP ツール名、停止ポイントがあります。
ルール 3: 書き込みの制約を理解してください。 --at なしの scheduled:create は下書き(DRAFT)を作成します(何も公開されません)。--at を付けると、その時刻にスケジュールされます。scheduled:update は渡したフラグのみを変更し、新しい --at だけでは下書きがスケジュールされることはありません。昇格させるには --status scheduled を追加してください。書き込みはメインアカウントまたは任意のリンク済みアカウントで機能します(読み取りに使用したのと同じ --account を渡してください)。他の人から共有されたアカウントは読み取り専用で、タグはワークスペース全体に適用されます。画像は media:upload の後に --media で添付します(JPG/PNG/WEBP は最大 5MB、GIF は最大 15MB、1 投稿につき最大 4 画像または 1 GIF)。投稿は画像のみにすることもできます(--text なしの --media。scheduled:update では --text "" --media KEY を使用してください。更新は投稿全体を置き換えるためです)。動画はサポートされていません。タイムスタンプは明示的な Z またはオフセット付きの UTC ISO-8601 でなければなりません。ナイーブなタイムスタンプは 400 で拒否されます。posts:publish と articles:publish は X に即座に、かつ取り消し不可能に投稿します。公開の場で「公開」を押すのと同じように扱い、ユーザーがすでにテキストを指定していない限り、正確なテキストについて人間の確認を得てください。posts:publish には --idempotency-key も必要で、再試行時にはこれをそのまま再利用します。posts:draft はユーザーの声で投稿テキストを書き、何も保存しません。下書きを提示し、ユーザーに 1 つ選んで編集してもらい、最終的なテキストを自分で scheduled:create に渡してください。下書きごとに AI クレジットを消費するので、ユーザーが実際に希望する数を確認してください。--voice mine は、渡した --account の声(そのアカウント自身の投稿とスタイルガイド)です。共有アカウントは拒否されます。
出力契約
- stdout はすべてのコマンドでクリーンな JSON です(
docs(markdown)を除く)。何でも直接jqにパイプできます。 - 人間向け/ステータス行は stderr に出力され、stdout には決して出力されません。
- 終了コードは成功時に 0、エラー時に 1 です。エラーの詳細(API エラーコードを含む)は stderr に
Error [code] (HTTP status): messageとして出力されます。
POSTS=$(superx posts:list --sort likes --limit 5)
echo "$POSTS" | jq '.data[].text'
コアワークフロー
- 認証を確認:
superx status(キーを検証し、プラン、AI クレジットプール、レート制限の状態を表示します) - アカウントを検出:
superx accounts(メインアカウントが先頭。--account用に id をメモします) - データを読む: トップ投稿、分析、最もエンゲージメントの高いコンタクト
references/growth-strategy.mdを読み、このアカウントですでに成果が出ている内容を踏まえてコンテンツを下書きします- 作成:
superx scheduled:create(迷ったときはまず下書き。スケジュールするには--atを追加します) - 確認:
superx scheduled:listで下書き/キューの状態を表示します
# 1. Auth
superx status
# 2. Accounts
superx accounts
# 3. Read data
superx posts:list --sort likes --limit 10
superx posts:analytics
superx contacts:list --sort engagement --limit 20
# 4. Read references/growth-strategy.md (in this skill's directory), then write content
# 5. Create (draft, review, then schedule)
superx scheduled:create --text "Post text"
superx scheduled:create --text "Post text" --at "2026-08-01T15:00:00Z"
# 6. Verify
superx scheduled:list --status draft,scheduled
コマンドリファレンス
すべてのコマンドファミリーについて、そのフラグと重要な注意点は
references/commands.md にあります。フラグを推測するのではなく、そのファイルを開いて必要なセクションに移動してください。superx <command> --help は、個々のコマンドについての最新の確認方法です。
そこに記載されている順序でのファミリー: 認証、アイデンティティとアカウント、投稿と分析、インスピレーション、ライブ X 検索、インスピレーションメディア、コンタクト、コンタクトリスト、オーディエンス、メンション、データセット、エンゲージ、シグナル、リード検索とアウトリーチ、ライティングヘルパー、ワーカー、スケジューリング、今すぐ公開、一括キュー操作、下書きと予約投稿の編集、高度な投稿設定、DM キャンペーン、タグ、コンテキスト設定、キュー設定、記事、ドキュメント。
一般的なパターン
パターン 1: 書く前に成果が出ているものを研究する
# Top posts by engagement, last 60 days
SINCE=$(date -u -v-60d +"%Y-%m-%dT00:00:00Z" 2>/dev/null || date -u -d "60 days ago" +"%Y-%m-%dT00:00:00Z")
superx posts:list --sort likes --since "$SINCE" --limit 10 | jq '[.data[] | {text, metrics}]'
# What does the trend look like?
superx posts:analytics --since "$SINCE" | jq '.data.totals, .data.followers'
パターン 2: まず下書きし、レビュー後にスケジュールする
DRAFT=$(superx scheduled:create --text "Candidate post text")
DRAFT_ID=$(echo "$DRAFT" | jq -r '.data.id')
# ... surface the draft for human review ...
# To publish it at a time, delete the draft and re-create with --at:
superx scheduled:delete "$DRAFT_ID"
superx scheduled:create --text "Final post text" --at "2026-08-01T15:00:00Z"
パターン 3: 今日エンゲージすべき相手を見つける
# The people already engaging with you (reply to them first)
superx contacts:list --sort engagement --limit 10 | jq '[.data[] | {id, username, name}]'
# What has this person said to you lately?
superx contacts:replies "$CONTACT_ID" --sort recent --limit 5 | jq '.data'
パターン 4: レート制限時はバックオフして再試行する
for attempt in 1 2 3; do
if OUT=$(superx scheduled:create --text "Post" --at "2026-08-01T15:00:00Z" \
--idempotency-key "job-17"); then
echo "$OUT" | jq -r '.data.id'
break
fi
# Exit 1: stderr had "Error [rate_limited] ..." and a Retry-After hint
sleep $((attempt * 30))
done
レート制限はアカウント所有者ごとに適用され、プランに応じてスケールします。読み取り、書き込み、エンリッチメント、フィード取得にはそれぞれ独自の毎分および毎日のウィンドウがあり、メディアアップロードはキーごとに 1 日 100 件までに制限されています。認証済みレスポンスにはすべて X-RateLimit-* ヘッダーが付与されます。superx status は現在のウィンドウと AI クレジットプールを表示します。429 の場合、stderr のメッセージに再試行までの遅延が含まれます。現在の数値: https://docs.superx.so/rate-limits
パターン 5: 1 週間分のコンテンツをバッチ処理する
TIMES=("2026-08-03T15:00:00Z" "2026-08-04T15:00:00Z" "2026-08-05T15:00:00Z")
TEXTS=("Monday post" "Tuesday post" "Wednesday post")
for i in "${!TIMES[@]}"; do
superx scheduled:create --text "${TEXTS[$i]}" --at "${TIMES[$i]}" \
--idempotency-key "week32-$i" | jq -r '.data.id'
done
superx scheduled:list --status scheduled
スキル
すべての SuperX スキルに対するゴール志向のレシピで、それぞれに CLI チェーン、MCP ツールチェーン、そして人に引き継ぐポイントがあります。ゴールから 1 つを選んでその recipe.md を開いてください。すべてのスキルが従う 3 つのルールと --account のスコープ設定については references/skills/README.md にあります。
成長と計画
- Weekly Growth Recap: あなたの 1 週間の振り返り: 成果、パターン、来週のフォーカス。 -> references/skills/weekly-growth-recap/recipe.md
- Growth Plan Builder: 実際の数値に基づいた複数週間の成長プラン。 -> references/skills/growth-plan-builder/recipe.md
- Cadence & Queue Audit: 投稿のリズムを診断し、キューの隙間と滞留を発見します。 -> references/skills/cadence-and-queue-audit/recipe.md
- Find Your Story: 人々があなたをフォローする理由となるストーリーを見つける: 賭け金、苦闘、そしてその行き先。 -> references/skills/find-your-story/recipe.md
コンテンツと投稿
- 毎日の投稿アイデア: 今日何を投稿するか、下書き済みで予約投稿できる状態に。 -> references/skills/daily-post-ideas/recipe.md
- バイラルフォーマットのリミックス: 5,000万件以上の実際の投稿から実証済みのフックと構成を借用します。 -> references/skills/viral-format-remix/recipe.md
- トレンドスキャン: 過去48時間のあなたのニッチで成果の高い投稿。 -> references/skills/trending-now-scan/recipe.md
- スレッドビルダー: アイデアや簡単なメモを、予約投稿できるスレッドに変換します。 -> references/skills/thread-builder/recipe.md
- 1週間分の投稿: 1週間分の下書きを週全体に分散し、それぞれ1回の承認で。 -> references/skills/week-of-posts/recipe.md
- ヒット作の再利用: あなたのベスト投稿を、新鮮な切り口で作り直します。 -> references/skills/repurpose-a-winner/recipe.md
- キューの並べ替え: 頼むだけで予約投稿を移動・書き換えます。 -> references/skills/queue-reshuffle/recipe.md
- ワーカー出力のレビュー: あなたが離席中にワーカーが書いた投稿をトリアージします。 -> references/skills/worker-output-review/recipe.md
- バイラルスコアループ: 下書きを自分の投稿と比較してスコアリングし、スコアが上がらなくなるまで磨き上げます。 -> references/skills/viral-score-iterate/recipe.md
返信とエンゲージメント
- リプライスプリント: あなたの投稿に届いた返信を、送信可能な下書きとともに。 -> references/skills/reply-sprint/recipe.md
- 返信する価値: Jev にあなたのニッチを読ませ、今日返信する価値のある投稿を渡します。 -> references/skills/worth-a-reply/recipe.md
- 任意の投稿に返信: 任意の投稿を貼り付けると、文脈と強力な返信が得られます。 -> references/skills/reply-to-any-post/recipe.md
- 自分の返信レポート: あなたの返信のうち、実際に注目を集めているもの。 -> references/skills/my-replies-report/recipe.md
- この人は誰?: 任意の公開アカウントの素早い読み取りと、その人との履歴。 -> references/skills/who-is-this-person/recipe.md
リードと見込み客開拓
- 最も温度の高いリード: すでにあなたと最も関わっている人々、フォローアップの準備完了。 -> references/skills/your-warmest-leads/recipe.md
- インスタントリードハント: あなたが記述したオーディエンスに一致する人を X でライブ検索し、スコアリングします。 -> references/skills/instant-lead-hunt/recipe.md
- 常駐リードエージェント: あなたが眠っている間も検索を続けるリード発見エージェント。 -> references/skills/standing-lead-agent/recipe.md
- リードレビュー: あなたのエージェントが見つけたリードを優先順位付けし、上位いくつかは活動を確認します。 -> references/skills/lead-review/recipe.md
アウトリーチと DM
- ウォームアウトリーチパイプライン: リストを調査し、パーソナライズされた DM を取得し、キューに入る前にすべてのメッセージを承認します。 -> references/skills/warm-outreach-pipeline/recipe.md
- プロフィールリサーチブリーフ: 任意の人物リストに関する構造化されたブリーフ、CSV としてエクスポート可能。 -> references/skills/profile-research-briefs/recipe.md
- 返信者への DM キャンペーン: あなたの投稿のいずれかに返信した人々に DM を送ります。 -> references/skills/reply-to-dm-campaign/recipe.md
- DM 対応オーディエンスビルダー: 任意の投稿または公開 X リストから、クリーンで DM 可能なオーディエンスを構築します。 -> references/skills/dm-ready-audience-builder/recipe.md
オーディエンスとデータ
- オーディエンスエクスポート: 投稿にエンゲージした全員を、フィルターなしでスプレッドシートとして。 -> references/skills/audience-export/recipe.md
- センチメントスライス: あなたが探していることを言った人だけを残します。 -> references/skills/sentiment-slice/recipe.md
- 自分のコンテンツエクスポート: あなた自身の投稿または返信を、スプレッドシートとして。 -> references/skills/my-content-export/recipe.md
分析とインサイト
- 投稿のポストモーテム: ある投稿がなぜ好調だったか、あるいは不調だったかを、わかりやすい言葉で。 -> references/skills/post-post-mortem/recipe.md
- トップパフォーマーの内訳: あなたのベスト投稿に共通するパターンと、もっと書くべき形。 -> references/skills/top-performers-breakdown/recipe.md
ルールとセットアップ
- SuperX にルールを教える: AI の下書きに対する常設ルールを設定します。 -> references/skills/teach-superx-your-rules/recipe.md
よくある落とし穴
- ナイーブなタイムスタンプは拒否されます(400)。常に
Zまたはオフセットを含めてください:2026-08-01T15:00:00Zであり、2026-08-01T15:00:00ではありません。 - スケジュールの時間枠:
--atは少なくとも 60 秒先の未来であり、18 か月以内でなければなりません。 - 読み取り専用キーでは書き込みできません: 読み取り専用キーで
scheduled:create/scheduled:deleteを実行すると 403insufficient_scopeが返ります。キーのスコープはsuperx meで確認してください。 - 共有アカウントは書き込みに関して読み取り専用です: 書き込みは自分のメインアカウントまたはリンク済みの任意のアカウントで機能します(読み取りに使用したものと同じ
--accountを渡してください)。他の人から共有されたアカウントでは、ポスト、記事、シグナル、連絡先リストメンバーの書き込み、およびposts:draftに対して 403writes_main_account_onlyが返ります。context:*とqueue:setはアカウントごとの設定であり、共有アカウントも受け付けます。 - 画像は先にアップロードが必要です:
--mediaはmedia:uploadのobject_keyを受け取り、ファイルパスや URL は決して受け取りません。不明なキーは 400invalid_mediaを返し、バイトが一度も PUT されなかった presign は 400media_not_uploadedを返します。動画はサポートされていません。 - サイズ上限: スレッドパーツは最大 25 個、合計 25,000 文字まで。
- レート制限(429): stderr に再試行までの遅延とともに
rate_limitedが出力されます。バックオフしてください。連打しないでください。 - 下書きとスケジュール済み:
--atがない場合は下書き(DRAFT)です。下書きが自動で公開されることはありません。 - 異なる本文で Idempotency-Key を再利用すると 409
idempotency_key_reuseが返ります。同じ本文であれば元の結果が"replayed": trueとともに再現されます。 account_not_found(404):--accountの id がキー所有者のアカウントのいずれでもありません。有効な id はsuperx accountsで確認してください。- サブスクリプションのエラー: SuperX のサブスクリプションが失効していると 403 が返ります。アカウント所有者がアプリで再購読する必要があります。
scheduled:list --status draft --from ...は何も返しません: 下書きにはスケジュール時刻がないため、時間の範囲から除外されます。下書きを問い合わせる際は--from/--toを付けないでください。scheduled:update --atだけでは下書きが公開されることはありません: 昇格には明示的な--status scheduledが必要です。将来の時刻を伴わずに--status scheduledを設定すると 400 が返ります。scheduled:update --tagはタグセット全体を置き換えます: ポストが保持すべきすべてのタグを渡すか、--clear-tagsですべて削除してください。- 本文の置き換えはメディアを再指定しない限り消去します:
--mediaを伴わないscheduled:update --text(または--part)はポストの画像を削除します。保持するには現在のobject_keyを再び含めてください。 articles:publishは取り消し不可で、X Premium が必要です: これがないと公開は 403x_premium_requiredで失敗します。タイムアウト時はまずarticles:getを実行してください。公開が完了している可能性があります。- 記事のスケジュールのリードタイムは 2 分です(ポストは 60 秒のみ必要)。それ未満では 400
invalid_parameterが返ります。 articles:coverにはタイトルが必要で(400article_title_required)、日次/月次で上限があります(remaining_day/remaining_monthを伴う 429)。記事ごとに同時に 1 回のみ生成できます(409cover_gen_in_progress)。- 記事の markdown は、サポートされていない構文(コードフェンス、
---)に対して劣化するだけで、失敗はしません。レスポンスのwarningsを確認してください。http(s) 以外の画像またはリンクの URL は 400 で失敗します。 - システムリストはインデックスのみです: システムリストに対する
lists:membersは 400system_list_not_supportedを返し、追加/削除は 400system_list_read_onlyを返します。ユーザーが作成したリストを使用してください。 lists:add-memberは--handleまたは--x-user-idのいずれか一方のみを取ります。不明な handle は 404user_not_foundを返します。- 不明なシグナルエージェントの id は 404
agent_not_foundを返します(signals:leads --agent、signals:pause-agent、signals:resume-agent、signals:delete-agent、および繰り返しの削除でも同様)。 - シグナルエージェントはリードを非同期で見つけます:
signals:create-agentは作成されたエージェントを返し、リードは返しません。リードはその後数分から数日のうちに到着します。signals:leadsで読めます。 - エージェントに対するプランの上限は 403
cap_reachedを返します: プランでは許可されるエージェント数(およびエージェントごとのキーワードシグナル数)に限りがあります。既存のエージェントを一時停止/削除するか、アカウント所有者にアップグレードを依頼してください。 - エージェントの作成は複合的です: 自動的に作成されたリストがある場合、途中で失敗すると空の
Leads: ...連絡先リストが残ることがあります(lists:listで確認でき、アプリで削除できます)。エージェント自体がシグナルなしで残ることはありません。 context:setのリストフラグは保存されたリストを置き換えます:--interestsと--favorite-creatorsは既存の内容を上書きします。ユーザーが保持すべきすべての値を含めてください。文字列フラグに""を指定するとクリアされます(スタイルガイドのオーバーライドはその後、生成されたガイドに戻ります)。これらの設定は将来のすべての AI 出力を左右するため、変更前にユーザーに確認してください。queue:set --slots-jsonはスケジュール全体を置き換え、キューに入っているポストを新しいスロットに再配置します。まずqueue:getで現在のスロットを読み取り、完全なセットを送信してください。'[]'はすべてのスロットをクリアし、キューをすべてカスタムのままにします。reflow.bailed: trueは、設定は保存されたがポストは移動しなかったことを意味します。editor_restricted(403): アカウントがキー所有者と Editor 権限で共有されています。Editor はキューの設定は変更できますが、コンテキスト設定は変更できません。変更できるのはアカウント所有者のみです。lists:add-membersは SuperX がすでに把握している id を取ります: ライブ検索を行わないため、レスポンスのnot_foundにある id は追加されていません。それらはlists:add-member --handle <handle>で 1 つずつ追加してください(この経路はライブで解決し、エンリッチメントユニットを 1 消費します)。contacts:getとcontacts:notes:addは既知の連絡先専用です: これらはエンゲージャー、連絡先リストのメンバー、スコアリングされたシグナルリードを解決し、それ以外の id(SuperX がプロフィールを持っている id を含む)では 404contact_not_foundを返します。id はcontacts:list、lists:members、signals:leadsから取得してください。汎用のプロフィール検索はまだありません。contacts:notes、contacts:notes:update、contacts:notes:deleteは制限されておらず: すでにノートがある任意の id で機能するため、誰かが連絡先から外れてもノートは引き続き参照できます。- API を通じて書かれたノートは、別個の API アイデンティティではなく、操作中のアカウントに帰属します: ノートの
created_byは--accountで指定されたアカウントです(省略時は自分のメインアカウント)。別の連絡先のノート id は 404note_not_foundを返します。 context:products:replaceは製品リスト全体を置き換えます: url が--jsonに含まれていない製品は削除されます。まずcontext:productsを読み取るか、単一製品の編集にはcontext:products:setを使用してください。posts:publishは取り消し不可で、--idempotency-keyが必要です: X に即座に投稿します。まずユーザーと正確なテキストを確認してください。キーがないとコマンドは終了コード 1 で終了します。タイムアウト時は同じキーで再試行してください(409idempotency_in_flightは最初の試行がまだ実行中であることを意味するため、Retry-Afterの遅延を待って、その同じキーで再度再試行してください)。--at、--title、--scratchpadは拒否されます。- 一括コマンドはキューに入ったポストにのみ作用します:
scheduled:bulk-retime、scheduled:bulk-auto-retweet、scheduled:bulk-deleteは下書き、送信済みポスト、エラー行をスキップし、bulk-auto-retweetはすでに自動リツイートがあるポストもスキップします。これらは件数で応答するため、すべての id が適用されたと仮定せず、scheduled:listと比較してください。 replies:listの 1 ページ目にはmetrics_pendingの項目が含まれることがあります: 過去 4 時間以内に SuperX アプリから送信された返信は、X が報告するまでメトリクスがゼロの状態でマージされるため、1 ページ目は--limitより少し多い項目を保持することがあります。以降のページと--since/--untilクエリには決して含まれません。engage:posts --limitはキーワードフィード専用です: リストフィードは 1 回のフェッチにつき約 10~25 件のポストを 1 ページ返すため、より大きな--limitではなく--exclude(すでに持っている id、1 回の呼び出しにつき最大 100 件)でページ送りしてください。各プランには日次のフィードフェッチ許容量(読み取りとは別)があり、メンバーをローテーションするリストフィードは 3 回のフェッチとしてカウントされるため、ポーリングするのではなく 1 日に数回大きなページをフェッチしてください。フェッチが返したポストは既読としてカウントされ、以降のフェッチ(アプリ内でもここでも)で順位が下がります。- 自分が作成したフィードは、アプリが開いているフィードではありません:
engage:feeds:createはフィードを保存しますが、その人のビューを切り替えることはありません。どこで見つけられるかを伝えてください。上限は 8 フィード(409feed_limit_reached)、engage:feeds:updateは一度に 1 つのソースを取ります。開いているフィードを削除すると、そのスロットは残りの最初のフィードに引き継がれます。 - X リストフィードまたはシグナルはエンリッチメントを消費し、公開リストが必要です:
engage:feeds:create --x-list、engage:feeds:update --x-list、signals:add-signal --type list_watchはそれぞれエンリッチメントユニットを 1 消費し、非公開または削除されたリストでは 404x_list_not_foundを返します。キーワードと連絡先リストのソースは何も消費しません。 signals:create-agentは部分的な成功です: 失敗したエントリはcodeとともにwarningsで返り、エージェントは成功したものから作成されます。エージェントが何を監視しているかをユーザーに伝える前にwarningsを読んでください。修正したエントリはsignals:add-signalで再追加してください。signals:feedbackは X ユーザー id ではなく、signals:leadsの数値のリード id を取ります。これはスコアラーを訓練します。判定を推測するのではなく、ユーザーに尋ねてください。別のアカウントの id は 404lead_not_foundを返し、繰り返しのsignals:remove-signalは 404signal_not_foundを返します。articles:cover --style-idと--styleは相互に排他的です(両方送信すると 400)。スタイル id はarticles:cover-stylesから取得します。不明なものは 404cover_style_not_foundを返します。- データセットの行を読み取ったり、エクスポートしたり、リストに追加したりする前に、データセットが
readyである必要があります。datasets:get <id>をstatusがreadyになるまでポーリングしてください。それ以外は 409dataset_not_readyを返し、failedのデータセットは SuperX アプリで再構築する必要があります。データセットは 30 日後に期限切れになり、その後 id は 404 になります。 datasets:add-to-listは人物ごとに重複排除し、X アカウント id のない行をスキップします(リサーチの行には時々 id がないものがあります)。そのためadded + duplicatesはデータセットのrow_countより少なくなることがあります。skipped_without_idは、使用可能な X アカウント id または handle がない行のみをカウントします。同じ人物の重複行(2 回返信した返信者など)は暗黙的に重複排除され、どこにもカウントされません。同じコマンドを再実行しても安全です: すでにリストにいる人はduplicatesで返ってきます。x:*のルックアップは、アプリの Ask SuperX と 300 回/日の許容量を共有します。これはエンリッチメント許容量に加えてです(それぞれ 1 ユニット、x:repliesは 3、x:post --quotesまたは SuperX がこれまでに見たことのない handle は 2)。ユーザーが実際に尋ねたものについて調べてください。アカウントのネットワークを一掃しないでください。429 lookup_quota_exceededは 3 つのケースをカバーし、本文がどれかを示します: 自分の許容量が使い切られた(limitを伴う)、SuperX 全体の許容量が使い切られた(limitなし、自分の予算ではない)、またはカウンターが検証できず、メータリングなしで実行するのではなく呼び出しが拒否された(limitなし、短いretry_after)。真夜中と仮定せずretry_afterに従い、ループで再試行するのではなく報告してください。15 分以内の繰り返しはサーバー側のキャッシュから返され、日次の許容量には影響しません。x:repliesはサンプルであり、すべての返信ではありません: 最大 3 ページの関連度順にランク付けされたページからの、最も「いいね」された直接返信であり、時系列ではなく、それ以上ページ送りできません。また、アプリの同じビューとは異なり、アカウント所有者自身の返信を除外しません。返信した全員が必要な場合は、オーディエンスコレクション(datasets:list)を使用してください。また、x:postのpost_not_foundは、削除されたポストではなく一時的な上流の障害である可能性があるため、なくなったと言う前に一度再試行してください。audience:listはページ番号ではなくカーソルでページングします。pagination.next_cursorを--cursorとしてそのまま渡し直してください。--pageもtotalもありません。リストのサイズについてはmeta.synced_countを引用してかまいませんが、これは完全に走査したときに返る行数を超える可能性があることに注意してください(後で削除されたエッジも依然としてカウントされます)。meta.statusを確認してください。complete以外は SuperX がまだ同期中であることを意味し、フォローリストでmeta.is_capped: trueの場合は、それが全員ではなく直近のスライスであることを意味します。meta.account_idは--accountに渡すアカウント ID です。X のユーザー ID はmeta.x_account_idです。返信者とリポストした人は直近のローリング 90 日分のみを対象とします。engage:mentionsは呼び出しごとに 3 回分のフィード取得を消費し、アプリより多く表示します。engage:postsと同じ 1 日あたりのフィード許容量を使うため、ポーリングするのではなく 1 ページを読んでそこから作業してください。アプリの「メンション」タブが行うスキップ/ブロックのフィルタリングは適用されません(それはアプリ側にあります)。また、デフォルトでは、--include-replied trueを渡さない限り、X 上で既に返信済みのメンションは除外されます。datasets:collectは収集が完了する前に返ることがあります。status: "collecting"は、これまでに 0 行で処理がまだ実行中であることを意味します。--waitを使うか、readyになるまでdatasets:getをポーリングしてください。また、作成結果から行数を断言しないでください。サイズを事前に確定できないコレクションもバックグラウンドで実行されます。アプリの Ask SuperX と共有される 1 日 10 回のコレクションのうち 1 回を消費し、1 アカウントにつき同時に 1 つだけ実行され(409collection_in_progress)、空の結果はデータセットをまったく作成せず(data: nullに加えてnote)、1 日分の枠を返却します。- アウトリーチの連鎖の中で DM を送信するものはありません。
datasets:outreach-draftsはメッセージのテキストをリサーチデータセットに書き込むだけで、そこで止まります。人が SuperX アプリからレビューして送信します。メッセージが送信されたと言ってはいけませんし、送信を申し出てもいけません。ユーザーが明示的に求めた場合は、dm:campaign(1 人につき 1 件の受信者エントリを作成し、それぞれに独自のmessageを持たせる)でキューに入れることができますが、これは依然としてエンキューです。送信するのはアプリです。--formatはユーザーに尋ねてください。勝手に作らないでください。再実行するとすべてのドラフトが上書きされます。genericは個人的な主張を伴わずに書かれたメッセージ数です(そのブリーフには使えるフックがありませんでした)。contaminatedは別の受信者を名指ししたために破棄されたドラフト数です。これらの行を再試行するには、もう一度実行してください。 signals:searchは何も保存せず、datasets:researchはプロフィールごとに課金されます。 検索はエージェントも保存されたリードも作成しないため、そのレスポンスからユーザーが必要とするものは保持してください。リードが届き続けることを望む場合はsignals:create-agentを使ってください。リサーチは、実際にリサーチされたプロフィール 1 件につき一律 1 クレジットです(解決できないハンドルや、最近の投稿がない人はskippedで返り、返金されます)。また、5 プロフィールを超えるとバックグラウンドで実行されます。collectingの結果からブリーフの件数を断言しないでください。datasets:refineもデータセットを作成するため、同じ 1 日 10 回のコレクションのうち 1 回を消費します。ai_action_limitedには 2 つのスコープがあります。 ユーザーに何かを伝える前にerror.scopeを読んでください。"account"はそのアクションに対するユーザーのプラン自体の 1 日あたりの上限であり、"platform"はすべての SuperX アカウントで共有されるライブデータアクションに対するフェアユースの上限です。"platform"の場合、ユーザー自身の許容量は影響を受けないため、クォータ切れとして報告するのではなく、reset_atを待って再試行してください。- ライティング支援は下書きを作成するだけで、決して公開しません。
engage:reply-draft、posts:remix、tools:inline-edit、tools:rephrase、tools:factcheck、posts:viral-scoreはいずれもテキストまたはスコアを返すだけで、そこで止まります。何も投稿、予約、送信されません。posts:draftとは異なり、これらはあなたと共有されたアカウントも受け付けます。出力を表示し、ユーザーに編集させ、ユーザーがそう言ったときにposts:draft、scheduled:create、posts:publishを使ってください。tools:factcheckの判定は、2 つの検索結果を読んだモデルによるものです。確定した事実としてではなく、そのソースとともに報告してください。 - 無料の支援機能はコストがかかりませんが、無制限ではありません。
context:regenerate-style-guideは 1 アカウントにつき 1 時間に 1 回で、手動のスタイルガイド設定を上書きしません。context:scrape-productとsignals:expand-icp --urlは SuperX アプリと共有される 1 日 20 回のページ読み取りを使い、--urlはさらにアプリの 10 分間に 10 回のプリフィルの上限を継承します(これはrate_limitedとして返り、約 1 分で解除されるため、1 日あたりの予算として報告するのではなく再試行してください)。signals:suggest-keywordsとsignals:expand-icp --textには独自の上限がないため、ループさせないでください。それぞれがモデル呼び出しです。これら 5 つはすべてX-Credits-Remainingを送信しますが、何も課金されていないためX-Credits-Chargedは送信しません。4 つのコマンドはいずれも書き込みスコープを持つキーが必要です。これらは POST であり、GET 以外のすべての API ルートにはそれが求められます。 - DM キャンペーンは送信ではなくエンキューです。
dm:campaignはキューに入れたものの件数を返します。SuperX アプリのスケジューラが、アカウントの 1 日および 1 か月あたりの DM 上限内で後から送信するため、そのレスポンスからメッセージが配信されたと報告しないでください。実際に何が送信されたかはdm:campaign-statusとdm:queueに表示されます。まず受信者リストと正確なテキストをユーザーと確認してください。X の自動化ルールの下で、これらのメッセージの責任はユーザーにあります。未送信のものはdm:cancelでキャンセルしてください。すでに送信されたものは取り消せません。
クイックリファレンス
# AUTHENTICATE FIRST
superx status # Check auth + rate limits
superx login # Guided key paste
superx login --key "sxk_..." # Non-interactive
superx logout # Remove credentials
export SUPERX_API_KEY=sxk_... # Env alternative (CI)
# Identity
superx me # Owner, plan, key scopes
superx accounts # Readable accounts + ids
# Reads
superx posts:list --type posts --sort likes --limit 10
superx posts:list --since "2026-06-01T00:00:00Z" --until "2026-07-01T00:00:00Z"
superx posts:analytics --since "2026-06-01T00:00:00Z"
superx replies:list --limit 20
superx inspiration:search "build in public" --sort outlier --limit 10
superx inspiration:media "founder morning routine" --limit 10 # cross-platform media index (--limit up to 120, no paging)
superx contacts:list --sort engagement --limit 20
superx contacts:replies <id> --sort most_liked
superx contacts:get <x-user-id>
superx contacts:notes <x-user-id>
superx replies:received --sort most_liked --limit 20
superx lists:list
superx lists:members <list-id> --q "founder"
superx audience:list followers --limit 100 # system lists: cursor paging, no --page
superx engage:mentions --sort top # live @-mentions (costs 3 feed fetches)
superx signals:search --keywords "..." --icp "..." # live lead search, saves nothing
superx signals:agents
superx signals:leads --agent 3 --deposited false
superx engage:feeds
superx engage:posts <feed-id> --limit 50
superx datasets:list
superx datasets:get <dataset-id>
superx datasets:rows <dataset-id> --limit 50
superx datasets:export <dataset-id> # CSV file here; --out - streams to stdout
superx datasets:collect --source repliers --target <post-url> --wait # build one, poll until ready
superx datasets:refine <dataset-id> --criterion "..." --wait # filter by what each person wrote
superx datasets:research --handles a,b,c --wait # briefs, 1 credit per profile
superx datasets:outreach-drafts <dataset-id> --format "..." # message TEXT only, nothing sent
# Live X lookups (enrichment units + a shared 300/day allowance)
superx x:post <id-or-url> # one public post, live (--quotes for quotes)
superx x:replies <id-or-url> --limit 20 # best-liked direct replies (a sample)
superx x:user <handle> # one public profile, live
superx x:user-posts <handle> --no-reposts # one live page of their latest posts
# Contact writes (main or linked account)
superx contacts:notes:add <x-user-id> --body "..." # Private note, never posted
superx contacts:notes:update <x-user-id> <note-id> --body "..."
superx contacts:notes:delete <x-user-id> <note-id>
# Contact list writes (main or linked account)
superx lists:add-member <list-id> --handle levelsio
superx lists:remove-member <list-id> <member-id>
superx lists:create --name "Founder prospects"
superx lists:rename <list-id> --name "Q4 prospects"
superx lists:delete <list-id> # List + membership; the people stay
superx lists:add-members <list-id> --x-user-ids 44196397,944883311 # <=500, ids SuperX knows
superx lists:remove-members <list-id> --member-ids m1abc,m2def # <=500
superx datasets:add-to-list <dataset-id> --list-id <list-id> # people from a ready dataset
# Engage feed writes (main or linked account)
superx engage:feeds:create --name "AI builders" --keyword "shipping with LLMs"
superx engage:feeds:create --name "Founders" --x-list https://x.com/i/lists/1234567890
superx engage:feeds:update <feed-id> --name "AI builders v2"
superx engage:feeds:delete <feed-id>
# Signal agent writes (main or linked account)
superx signals:create-agent --name "..." --icp "..." --keyword "..." # Lead finder
superx signals:create-agent --name "..." --icp "..." --signal "profile:@naval"
superx signals:update-agent <id> --icp "..." --list-id <contact-list-id>
superx signals:add-signal <id> --type follower_watch --handle naval
superx signals:remove-signal <id> <signal-id>
superx signals:feedback <lead-id> --fit # or --not-fit / --clear
superx signals:pause-agent <id>
superx signals:resume-agent <id>
superx signals:delete-agent <id>
# Writes (main or linked account via --account)
superx scheduled:create --text "Post" # Draft
superx scheduled:create --text "Post" --at "2026-08-01T15:00:00Z" # Scheduled
superx scheduled:create --part "1/" --part "2/" --at "..." # Thread
superx scheduled:create --text "Post" --at "..." --idempotency-key k1 # Safe retry
superx scheduled:create --text "Post" --title "Hook v2" --tag <id> # Organizer fields
superx media:upload ./chart.png # Image -> object_key
superx scheduled:create --text "Post" --media <object_key> --alt-text "..." # With image
superx scheduled:update <id> --title "Better hook" # Edit; only passed flags change
superx scheduled:update <id> --at "..." --status scheduled # Promote a draft
superx scheduled:list --status draft,scheduled
superx scheduled:list --tags <tag-id>
superx scheduled:delete <id>
# Publish NOW (irreversible; key required, reuse it on a retry)
superx posts:publish --text "Post" --idempotency-key k1
# Writing helpers (text in, text out; nothing is posted)
superx engage:reply-draft --post <id> --thoughts "..." --tone concise
superx posts:remix --text "..." --closeness 70
superx tools:inline-edit --text "..." --full "..." --type hook
superx tools:rephrase --type concise --text "..."
superx tools:factcheck --text "..."
superx posts:viral-score --text "..."
# DM campaigns (queued only; the SuperX app sends them)
superx dm:limits
superx dm:campaign --recipients people.json --message "Hey [first], ..."
superx dm:campaign-status <campaign-id>
superx dm:queue --status pending
superx dm:cancel <campaign-id>
# Free helpers (no AI credits)
superx context:regenerate-style-guide
superx context:scrape-product <product-id>
superx signals:suggest-keywords --icp "B2B SaaS founders worried about churn"
superx signals:expand-icp --text "Indie founders building SaaS in public"
superx signals:expand-icp --url superx.so
# Bulk queue operations (queued posts only; answers are counts)
superx scheduled:bulk-retime --moves-json '[{"id":"abc","scheduled_for":"2026-09-08T15:00:00Z"}]'
superx scheduled:bulk-auto-retweet --ids abc,def --auto-retweet 6
superx scheduled:bulk-delete --ids abc,def
# Tags
superx tags:list
superx tags:create "Launch week" --color amber
superx tags:update <id> --name "Launch"
superx tags:delete <id>
# Articles (markdown bodies; publish is live + irreversible)
superx articles:create --title "My article" --file draft.md
superx articles:list --status draft
superx articles:get <id>
superx articles:update <id> --file v2.md
superx articles:schedule <id> --at "2026-08-01T15:00:00Z"
superx articles:unschedule <id>
superx articles:publish <id>
superx articles:cover-styles
superx articles:cover <id> --style "minimal"
superx articles:cover <id> --style-id <style-id>
superx articles:delete <id>
# Context settings (AI writing background)
superx context:get
superx context:set --rules "Never use hashtags."
superx context:set --interests "indie hacking,SaaS" # replaces the list
superx context:products
superx context:products:set --url "https://superx.so" --name "SuperX"
superx context:products:delete <id>
superx context:products:replace --json '[{"url":"https://superx.so"}]' # FULL REPLACE
# Queue settings (posting schedule; 0 = Sunday)
superx queue:get
superx queue:set --slots-json '[{"time":"09:00","days":[1,3,5]}]' # replaces the slots
superx queue:set --timezone "Europe/London" # never moves posts
# Docs and help
superx docs # API quickstart (markdown)
superx --help # All commands
superx scheduled:create --help # Command help
戦略は references/growth-strategy.md にあります。コンテンツを作成する前に読んでください(ルール 2)。目標に沿ったレシピは references/skills/ にあります。ユーザーが求めた内容に合うものを開いてください。