mcpField
T
twitter-hand-skill

twitter-hand-skill

github.com/rightnow-aiマーケティング・グロース18.2k93 回インストール24 週間前に更新
リポジトリ

twitter-hand-skill について

twitter-hand-skillは、SNS運用者向けのTwitter/X管理ガイドです。API操作、投稿計画、エンゲージメント、効果測定に加え、ブランドの語調や安全性、投稿前確認も扱います。

主な機能

  1. 01Twitter API v2の投稿・交流ガイド
  2. 02コンテンツの柱とカレンダーの計画
  3. 03ツイートとスレッドの執筆ガイダンス
  4. 04交流状況とコンテンツ指標の分析
  5. 05ブランドの語調とコンテンツ安全指針

活用シーン

  1. 01週ごとのTwitter/X投稿を計画
  2. 02ツイートを書きスレッドを投稿
  3. 03メンションに対応し反応データを評価
  4. 04投稿前にリスクと規約適合性を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rightnow-ai/openfang --skill twitter-hand-skill

インストール後、Claude Code で/twitter-hand-skillを入力して読み込まれたか確認します。

同梱ファイルHAND.toml

詳細

Twitter/X 管理の専門知識

Twitter API v2 リファレンス

認証

Twitter API v2 は、アプリケーションレベルのアクセスに OAuth 2.0 Bearer Token を、ユーザーレベルの操作に OAuth 1.0a を使用します。

Bearer Token(読み取り専用アクセス+ツイートの作成):

Authorization: Bearer $TWITTER_BEARER_TOKEN

環境変数:TWITTER_BEARER_TOKEN

主なエンドポイント

認証済みユーザーの情報を取得:

curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  "https://api.twitter.com/2/users/me"

レスポンス:{"data": {"id": "123", "name": "User", "username": "user"}}

ツイートを投稿:

curl -s -X POST "https://api.twitter.com/2/tweets" \
  -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world!"}'

レスポンス:{"data": {"id": "tweet_id", "text": "Hello world!"}}

返信を投稿:

curl -s -X POST "https://api.twitter.com/2/tweets" \
  -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Great point!", "reply": {"in_reply_to_tweet_id": "PARENT_TWEET_ID"}}'

スレッドを投稿(自分への返信を連ねる):

  1. 最初のツイートを投稿 → tweet_id を取得
  2. reply.in_reply_to_tweet_id を最初の tweet_id に設定して、2つ目のツイートを投稿
  3. スレッド内の各ツイートについて繰り返す

ツイートを削除:

curl -s -X DELETE "https://api.twitter.com/2/tweets/TWEET_ID" \
  -H "Authorization: Bearer $TWITTER_BEARER_TOKEN"

ツイートに「いいね」する:

curl -s -X POST "https://api.twitter.com/2/users/USER_ID/likes" \
  -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tweet_id": "TARGET_TWEET_ID"}'

メンションを取得:

curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  "https://api.twitter.com/2/users/USER_ID/mentions?max_results=10&tweet.fields=public_metrics,created_at,author_id"

最近のツイートを検索:

curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  "https://api.twitter.com/2/tweets/search/recent?query=QUERY&max_results=10&tweet.fields=public_metrics"

ツイートの指標を取得:

curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \
  "https://api.twitter.com/2/tweets?ids=ID1,ID2,ID3&tweet.fields=public_metrics"

レスポンスには retweet_count、reply_count、like_count、quote_count、bookmark_count、impression_count が含まれます。

レート制限
エンドポイント上限期間
POST /tweets300件のツイート3時間
DELETE /tweets50件の削除15分
POST /likes50件の「いいね」15分
GET /mentions180件のリクエスト15分
GET /search/recent180件のリクエスト15分

必ずレスポンスヘッダーを確認してください:

  • x-rate-limit-limit:許可されているリクエストの合計数
  • x-rate-limit-remaining:残りのリクエスト数
  • x-rate-limit-reset:レート制限がリセットされる Unix タイムスタンプ

コンテンツ戦略フレームワーク

コンテンツの柱

すべてのコンテンツの軸となる3〜5個の主要トピック(「柱」)を定義します:

Example for a tech founder:
  Pillar 1: AI & Machine Learning (40% of content)
  Pillar 2: Startup Building (30% of content)
  Pillar 3: Engineering Culture (20% of content)
  Pillar 4: Personal Growth (10% of content)
コンテンツの構成(7種類)
種類頻度目的テンプレート
挑発的な意見週2〜3回エンゲージメント「通説とは逆の意見:[通説に反する見解]」
スレッド週1〜2回権威性「Yを調べるのにX時間費やしました。わかったことをご紹介します:」
ヒント/ハウツー週2〜3回価値「[問題]を[N]ステップで解決する方法:」
質問週1〜2回エンゲージメント「[興味深い質問]?まずは私から:」
厳選した共有週1〜2回キュレーション「この[記事/ツール/リポジトリ]は、[対象者]にとって画期的です:」
ストーリー週1回つながり「3年前、私は[共感できる体験]をしました。その後、こうなりました:」
データ/統計週1回権威性「[驚くべき統計]。重要な理由をご紹介します:」
最適な投稿時間(UTC 基準、オーディエンスのタイムゾーンに合わせて調整)
曜日最適な時間理由
月曜日午前8〜10時週の仕事始めで、フィードを確認する時間
火曜日午前10時、午後1時エンゲージメントが最も高い曜日
水曜日午前9時、午後12時週の中頃で、集中しやすい時間
木曜日午前10時、午後2時エンゲージメントが2番目に高い曜日
金曜日午前9〜11時午前のみ。午後はエンゲージメントが低下
土曜日午前10時気軽に閲覧する時間
日曜日午後4〜6時仕事の週が始まる前の計画時間

ツイート作成のベストプラクティス

フック(最初の一文がすべて)

効果的なフック:

  • 通説への反論:「多くの人はXだと思っています。それは間違いです。」
  • 数字:「[対象]を500件分析しました。わかったことをご紹介します:」
  • 質問:「なぜ[対象]の90%は失敗するのでしょうか?」
  • ストーリー:「2019年、私は危うく[大変なこと]をするところでした。」
  • ハウツー:「[よくある悩み]なしで[望ましい結果]を実現する方法:」
  • リスト:「[節目]を迎える前に知っておきたかった[対象]5つ:」
  • 告白:「以前は[よくある考え]を信じていました。その後、学んだのは……」
執筆ルール
  1. 1つのツイートにつき1つのアイデア — すべてを詰め込もうとしない
  2. 価値を冒頭に置く — フックで価値を伝えるか、価値を約束する
  3. 改行を使う — テキストの塊にせず、1行あたり1〜2文にする
  4. 280文字の制限 — すべての言葉に意味を持たせる
  5. 能動態を使う — 「私たちはXをリリースしました」であり、「Xは私たちによってリリースされました」ではない
  6. 具体的に書く — 「3倍速い」であり、「ずっと速い」ではない
  7. 行動喚起で締める — 「賛成ですか?RTしてください」や「何を付け加えますか?」
スレッドの構成
Tweet 1 (HOOK): Compelling opening that makes people click "Show this thread"
  - Must stand alone as a great tweet
  - End with "A thread:" or "Here's what I found:"

Tweet 2-N (BODY): One key point per tweet
  - Number them: "1/" or use emoji bullets
  - Each tweet should add value independently
  - Include specific examples, data, or stories

Tweet N+1 (CLOSING): Summary + call to action
  - Restate the key takeaway
  - Ask for engagement: "Which resonated most?"
  - Self-reference: "If this was useful, follow @handle for more"
ハッシュタグ戦略
  • 1 件のツイートにつきハッシュタグは 0~2 個(多すぎるとスパムのように見えます)
  • ハッシュタグは装飾ではなく、見つけてもらうために使います
  • 幅広いもの(#AI)と具体的なもの(#LangChain)を組み合わせます
  • スレッドではハッシュタグを使いません(最初のツイートで使う場合を除きます)
  • 使う前に、自分のニッチ分野でトレンドになっているハッシュタグを調べます

エンゲージメントの手引き

メンションへの返信

ルール:

  1. エンゲージメント時間中は、2 時間以内に返信します
  2. 価値を加えます。「ありがとう!」と言うだけでなく、相手の意見を掘り下げます
  3. 追加の質問をします。会話が続きやすくなります
  4. 誠実に対応します。相手の熱量や口調に合わせます
  5. 決して言い争いません。攻撃的な相手は無視するか、ブロックします

返信テンプレート:

  • 賛同:「素晴らしい指摘です![関連する見解]も付け加えたいです」
  • 質問:「興味深い質問です。簡単に言えば[X]ですが、[補足]です」
  • 反対意見:「私は少し違う見方をしています。[敬意ある反論]。あなたの経験はいかがですか?」
  • 感謝:「共有してくださってありがとうございます![ツイートの具体的に気に入った点]」
エンゲージメントを避けるべき場合
  • 荒らしや、明らかに悪意のある議論
  • 政治的な炎上(自分のコンテンツの柱である場合を除きます)
  • 個人攻撃(すぐにブロックします)
  • スパムまたはボットアカウント
  • 法的責任につながるおそれのあるツイート
自動いいね戦略

次の人のツイートに「いいね」します:

  1. あなたのコンテンツに定期的に反応してくれる人(相互交流)
  2. 自分のニッチ分野のインフルエンサー(認知度向上)
  3. 自分のコンテンツの柱に関連する、考えさせられるコンテンツ(キュレーションの姿勢を示す)
  4. 自分のツイートへの返信(返信を促す)

次の内容には自動で「いいね」しないでください:

  • 物議を醸す内容や政治的な内容
  • 実際に読んでいない内容
  • スパムや質の低いスレッド
  • 競合への批判(器が小さく見えます)

コンテンツカレンダーのテンプレート

WEEK OF [DATE]

Monday:
  - 8 AM: [Tip/How-to] about [Pillar 1]
  - 12 PM: [Curated share] related to [Pillar 2]

Tuesday:
  - 10 AM: [Thread] deep dive on [Pillar 1]
  - 2 PM: [Hot take] about [trending topic]

Wednesday:
  - 9 AM: [Question] to audience about [Pillar 3]
  - 1 PM: [Data/Stat] about [Pillar 2]

Thursday:
  - 10 AM: [Story] about [personal experience in Pillar 3]
  - 3 PM: [Tip/How-to] about [Pillar 1]

Friday:
  - 9 AM: [Hot take] about [week's trending topic]
  - 11 AM: [Curated share] — best thing I read this week

パフォーマンス指標

主な指標
指標測定内容目安
インプレッションツイートを見た人数フォロワー数によって異なります
エンゲージメント率(いいね+RT+返信)/インプレッション2%超は良好、5%超は非常に良好です
返信率返信/インプレッション0.5%超は良好です
リツイート率RT/インプレッション1%超は良好です
プロフィールへのアクセスツイート後にプロフィールを確認した人の数推移を追跡します
フォロワー増加数期間中の純増フォロワー数推移を追跡します
エンゲージメント率の計算式
engagement_rate = (likes + retweets + replies + quotes) / impressions * 100

Example:
  50 likes + 10 RTs + 5 replies + 2 quotes = 67 engagements
  67 / 2000 impressions = 3.35% engagement rate
コンテンツのパフォーマンス分析

どのコンテンツの種類やトピックが最も効果的かを追跡します:

| Content Type | Avg Impressions | Avg Engagement Rate | Best Performing |
|-------------|-----------------|--------------------|--------------------|
| Hot take | 2500 | 4.2% | "Unpopular opinion: ..." |
| Thread | 5000 | 3.1% | "I analyzed 500 ..." |
| Tip | 1800 | 5.5% | "How to ... in 3 steps" |

このデータを使って、今後のコンテンツ構成を最適化します。


ブランドボイスガイド

口調の方向性
項目範囲説明
フォーマル ↔ カジュアル1-51=企業的、5=友人とのメッセージのよう
真面目 ↔ ユーモラス1-51=仕事一筋、5=コメディアカウント
控えめ ↔ 大胆1-51=外交的、5=遠慮なし
一般向け ↔ 技術的1-51=誰でも理解できる、5=深い専門知識がある
一貫性を保つルール
  • どのツイートでも(強い意見やハウツーを含めて)同じ口調を使います
  • 自然に繰り返し使える「定番フレーズ」を3~5 個用意します
  • ブランドボイスを「カジュアル」としているなら、突然フォーマルなスレッドを書かないでください
  • ツイートを声に出して読み、同じ人が書いたように聞こえるか確認します

安全性とコンプライアンス

コンテンツガイドライン

次の内容は絶対に投稿しないでください:

  • 差別的な内容(人種、性別、宗教、性的指向、障害)
  • 実在の人物や企業についての名誉毀損にあたる主張
  • 個人情報や機密情報
  • 脅迫、嫌がらせ、暴力の扇動
  • 他のアカウントへのなりすまし
  • 事実として提示する誤解を招く主張
  • Twitter 利用規約に違反する内容
承認モードのキュー形式
[
  {
    "id": "q_001",
    "content": "Tweet text here",
    "type": "hot_take",
    "pillar": "AI",
    "scheduled_for": "2025-01-15T10:00:00Z",
    "created": "2025-01-14T20:00:00Z",
    "status": "pending",
    "notes": "Based on trending discussion about LLM pricing"
  }
]

人による確認用のプレビューファイル:

# Tweet Queue Preview
Generated: YYYY-MM-DD

## Pending Tweets (N total)

### 1. [Hot Take] — Scheduled: Mon 10 AM
> Tweet text here

**Notes**: Based on trending discussion about LLM pricing
**Pillar**: AI | **Status**: Pending approval

---

### 2. [Thread] — Scheduled: Tue 10 AM
> Tweet 1/5: Hook text here
> Tweet 2/5: Point one
> ...

**Notes**: Deep dive on new benchmark results
**Pillar**: AI | **Status**: Pending approval
リスク評価

投稿する前に、各ツイートを評価します:

  • 誤解されるおそれはありますか? → 明確になるように言い換えます
  • 誰かをおとしめる内容ですか? → 投稿しません
  • ユーザー名が付いた状態で、ニュース記事に掲載されても問題ありませんか? → 問題があるなら投稿しません
  • 検証可能な事実ですか? → 確信が持てない場合は、断定を避ける表現を加えるか、投稿しません

コメント