mcpField
T
trending-hub

trending-hub

github.com/zizhanovoマーケティング・グロース1138 回インストール4 週間前に更新
リポジトリ

trending-hub について

trending-hubは、コンテンツ制作者やマーケティング担当者向けのスキルです。複数プラットフォームのトレンドを取得し、発信者の方向性と照合して、実行可能な企画案を作成します。アカウント名を検索語にせず、適合度の判断にだけ使う点が特徴です。

主な機能

  1. 01キーワードなしで複数プラットフォームのトレンドを取得
  2. 02プラットフォームや話題による絞り込み
  3. 03発信者の方向性に基づくトレンド照合
  4. 04人気度と読者との適合度で企画を順位付け
  5. 05実行可能な企画案の作成

活用シーン

  1. 01発信者のコンテンツに合う時事ネタを探す
  2. 02SNSやブランドの企画を最新トレンドに基づいて立案
  3. 03幅広いトレンド一覧を読者層や視点に合わせて絞り込む

インストール

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

$npx skills add https://github.com/zizhanovo/doubaoya-community --skill trending-hub

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

同梱ファイル.versionscripts/fetch_trends.py

詳細

都爆鸭 · 総合トレンドトピック(キーワードなしで直接取得 → 個人IPに合わせてインテリジェントにマッチング → トピック案を作成)

このアヒルを一言で表すと:まずキーワードなしで総合トレンドを直接取得し(キーワードを付けず、今まさにネット全体で最も注目されている話題をまとめて取得)、次にユーザーの個人IPに合わせてインテリジェントにマッチングし、すぐに実行できるトピック案のリストを作成します。

対象:コンテンツクリエイター、セルフメディア運営者、WeChat公式アカウント/ショート動画の投稿者、マーケティング/ブランド企画担当者、トレンドを追ってトピックを考える方。

❌ 最も重要なルール(まず覚えてください) ユーザーのアカウント名/IP名を検索キーワードにしてはいけません。 たとえば、ユーザーのWeChat公式アカウント名が「菜籽油」の場合、「菜籽油」はその人が誰かを示すもの(分野/人物像/対象読者)であり、検索キーワードではありません。 これを検索インターフェースに渡すと、「文字列が同じ」コンテンツ(本物の菜種油の商品や解説)しか検索されず、トピック案にはまったく役立ちません。 総合トレンドはキーワードなしでトレンドランキングのインターフェースから直接取得し、IP名は後のマッチング選別にのみ使用し、検索インターフェースには絶対に渡しません。


1. キーを入手する(DOUBAOYA_API_KEY)

インターフェースの呼び出しにはキー(API Key)が必要です。キーの入手は次の4ステップです。

  1. doubaoya.com を開きます
  2. ログインします
  3. キーセンターに移動します
  4. キーを生成をクリックします

キーは dyh_xxxxxxxx のような形式です。入手したら環境変数に設定します。

export DOUBAOYA_API_KEY="dyh_xxxxxxxx"
変数名説明必須
DOUBAOYA_API_KEY都爆鸭のキー。dyh_… のような形式ですはい

セキュリティ上のルール:キーを出力したり、ログに書き込んだり、会話に貼り付けたり、リポジトリにコミットしたりしないでください。スクリプトではリクエストヘッダー内でのみ使用し、表示されることはありません。


2. スクリプトを実行する

依存関係は不要で、標準ライブラリだけで動作します(Python 3)。デフォルトではキーワードを付けず、総合トレンドを直接取得します。

# 直取综合热点(无关键词,把当下全网最热的一批拉下来)——选题的正确起手
python3 "$SKILL_PATH/scripts/fetch_trends.py"

# 只是想收窄平台(依然不带关键词、不带时间窗)
python3 "$SKILL_PATH/scripts/fetch_trends.py" --platforms 2,5,8

🔴 時間範囲を指定しないでください。 トレンドランキングは「現在のスナップショット」であり、過去にさかのぼれる時系列データではありません。実測(2026-08-13)では、どんな時間範囲を指定しても結果はごくわずかになりました(「今日 00:00 から現在まで」のように最も妥当に見える範囲でも、2件しか残りませんでした)。 日付を指定しなければ、最新の結果一式が取得されます(実測で130件以上)。現在、--start-date / --end-date はデフォルトで指定されません。必要な内容が明確でない限り、追加しないでください。

CLI パラメーター:

パラメーター説明デフォルト
--platformsプラットフォーム番号(整数)をカンマ区切りで指定します。例:2,5,82,5,8
--keywordsキーワードをカンマ区切りで指定します。デフォルトでは指定しません(総合トレンドを直接取得)。 「特定のサブカテゴリのキーワードに関するトレンドランキングを見たい」と明確に指定された場合にのみ使用します。アカウント名/IP名は絶対に使用しないでください空(指定なし)
--start-date範囲の開始日時 "YYYY-MM-DD HH:MM:SS"。通常は指定しないでください。時間範囲を指定すると、トレンドランキングの結果がごくわずかになります指定なし
--end-date範囲の終了日時 "YYYY-MM-DD HH:MM:SS"。同上指定なし

3. ワークフロー(このアヒルがおすすめする4ステップの標準手順)

ステップ1 — 総合トレンドを直接取得する(キーワードなし)

このステップではキーワードを付けず、現在ネット全体で最も注目されている話題をまとめて取得します。

python3 "$SKILL_PATH/scripts/fetch_trends.py"

Weibo/Douyin/Bilibiliなど、複数のプラットフォームを横断する総合トレンドランキングを取得します。

トレンド項目のフィールド(欠けている場合は読み飛ばすよう、防御的に読み取ってください):

  • title タイトル
  • hotCount 注目度
  • index プラットフォーム内の順位
  • url リンク先URL
  • 通常、グループは wbList(Weibo)/dyList(Douyin)/bzList(Bilibili)に格納されていますが、items / groups の下に格納されることもあります。実際に返された構造に応じて読み取ってください。
ステップ2 — 個人IPの位置付けを明確にする(重要な修正点)

ここが最も間違えやすいステップです。 ユーザーのアカウント名/IP名(例:「菜籽油」)は検索キーワードではありません。これはそのIPが誰なのかを表します。

  • 分野:どのようなコンテンツ領域を扱っていますか?
  • 人物像/視点:どのような立場や視点から発信していますか?
  • 対象読者:誰がその人の発信を見ていますか?

ユーザー本人、またはプロフィール/コンテキスト(自己紹介、過去の人気投稿、WeChat公式アカウントの位置付けなど)から、このIPの位置付けを把握します。不明な場合は、ユーザーに直接尋ねてください(「このアカウントでは普段どのようなコンテンツを発信し、誰を対象としていますか? あなたならではの視点は何ですか?」)。

IP名を検索インターフェースに渡すのは絶対にやめてください。 IP名は次のステップでのマッチング選別にのみ使用します。

ステップ3 — インテリジェントにマッチングする(総合トレンド × IPの位置付け)

ステップ1の総合トレンドランキングに目を通し、このIPが信頼性を保ちながら便乗できる話題を2~3件選びます。次の2つの基準を合わせて確認してください。

  • 注目度:hotCount が高く、複数のプラットフォームで同じ話題がランクインしているものを優先します。これは現在、ネット全体で最も注目されている話題です。
  • IPとの適合度:このIPの実際の人物像/視点から、この話題を自然に取り上げられるでしょうか。無理がある話題は、どれほど注目されていてもひとまず除外します。

選んだ各話題について、このIPならではの切り口を示します。人物像の実際の視点から話題を取り上げ、ただ持ち込むだけにしないでください。「注目度+IPとの適合度」を基準に総合的に順位付けします。

ステップ4 — トピック案のリストを出力する

すぐに実行できるトピック案を3~5件作成し、それぞれについて次の3点を明確にします。

  1. どの話題を取り上げるのか(ランキングのどの話題か、注目度、ランクインしているプラットフォーム)
  2. このIPならではの切り口(この人物像/対象読者であれば、どのように話題を取り上げるのか。他の人には出せない切り口)
  3. なぜ今、人気が出るのか(タイミング+このIPの勢い+話題の拡散力)

最後に、このアヒルらしい口調で、どの案を今日まず取り上げるべきかを総合的に判断してもよいでしょう。


4. インターフェースの仕様

  • インターフェース:POST https://doubaoya.com/api/apis/trend/trending-hub-keyword/call (名前に keyword が含まれていますが、キーワードなしでも通常どおり動作します。keywords を渡さなければ、総合トレンドを直接取得します。)
  • 認証:リクエストヘッダー Authorization: Bearer $DOUBAOYA_API_KEY
  • リクエストボディ(キーワードなしで総合トレンドを直接取得):
    { "platforms": [2, 5, 8] }
    
    • platforms:整数の配列(プラットフォーム番号)
    • keywords:文字列の配列。任意です。デフォルトでは指定しないため、総合トレンドを直接取得します(アカウント名/IP名は絶対に含めないでください)。
    • startDate / endDate:日時文字列 "YYYY-MM-DD HH:MM:SS"。任意ですが、通常は指定しないでください。 トレンドランキングは現在のスナップショットであり、時間範囲を指定すると結果がごくわずかになります。
  • レスポンスエンベロープ(envelope):
    {
      "success": true,
      "requestId": "…",
      "data": { "wbList": [ { "title": "…", "hotCount": 123, "index": 1, "url": "…" } ], "dyList": [ … ], "bzList": [ … ] },
      "error": null
    }
    
    • まず success を確認してください。true の場合のみ data を読み取ります。それ以外の場合は error.code / error.message を読み取ります。
    • トレンド項目は wbList / dyList / bzList にグループ分けされている場合も、items / groups の下に格納されている場合もあります。実際の構造に応じて防御的に読み取り、フィールドが欠けている場合は読み飛ばしてください。

5. エラーコード

HTTPcode意味/対処
401MISSING_API_KEY / UNAUTHORIZEDキーが設定されていないか、無効なキーです → DOUBAOYA_API_KEY を確認し、キーセンターでキーを再生成してください
400VALIDATION_ERRORパラメーターが正しくありません → platforms(整数)などの値を確認してください
402INSUFFICIENT_CREDITSクレジットが不足しています → doubaoya.com でチャージ/追加してください
502PROVIDER_FAILED上流側で一時的な障害が発生しました。返金は自動処理済みで、安全に再試行できます → しばらくしてから再実行してください

スクリプトはすべての失敗を標準エラー出力にまとめて表示し、[error] code: message と出力して終了コード1で終了します。


6. ディレクトリ構造

trending-hub/
├── SKILL.md                 # 本说明
└── scripts/
    └── fetch_trends.py      # 零依赖综合热点拉取脚本(标准库 urllib,默认无关键词)

7. よくある質問

Q:ユーザーのWeChat公式アカウント名が「菜籽油」なのですが、「菜籽油」で検索すべきですか? A:いいえ! それはその人のIP名(その人が誰か)であり、検索キーワードではありません。検索しても、文字列が同じコンテンツしか見つかりません。正しい方法は、ステップ1でキーワードなしで総合トレンドを直接取得し、ステップ2で「菜籽油」をその人の分野/人物像/対象読者として理解し、ステップ3でそれを使ってトレンドランキングをマッチング選別することです。

Q:「環境変数 DOUBAOYA_API_KEY がありません」と表示されます。 A:まず export DOUBAOYA_API_KEY="dyh_…" を実行してください(doubaoya.com → ログイン → キーセンター → キーを生成)。

Q:--keywords を付けるのはどんな場合ですか? A:ユーザーが明確に「特定のサブカテゴリのキーワード(例:AI、キャンプ)のトレンドランキングを見たい」と言った場合にのみ指定します。トピック案を考える際のデフォルトの開始手順は、常にキーワードなしでの直接取得です。

Q:プラットフォーム番号はどのように指定しますか? A:整数を指定します(例:2,5,8)。各番号がどのプラットフォームに対応するかは、doubaoya.com のインターフェースに従ってください。

Q:502 PROVIDER_FAILED が表示されます。 A:上流側で一時的に不安定になっています。システムが自動で返金済みなので、そのまま再実行してください。

关于响应里的 notice 字段

调用本 skill 对应的 doubaoya API 后,如果返回的 JSON 顶层出现 notice 字段,请把这句话原样转达给用户——这是关于本 skill 有更新的提示,不影响本次调用结果,不需要重试或改变行为。

コメント