Claude CodeのAppFollowプラグインでレビューとキーワード機会を分析する
AppFollow AI Toolkitは、アプリのレビュー分析、ASOキーワード、競合監査を4つのスキルで回すプラグインです。導入、OAuth、クレジット消費、書き込み系の注意点を扱います。
AppFollow AI Toolkit(appfollow-ai-toolkit)は、アプリストア分析サービスAppFollowのMCPサーバーを、レビュー分析やASO(ストア検索最適化)の手順書つきでClaude Codeから使えるようにするプラグインです。ダッシュボードを組む代わりに、「直近30日のレビューを分析して」と頼むだけでレポートが返ります。
この記事では、4つのスキルの役割、導入とOAuth認証、クレジットの減り方、キーワードを書き換える操作の注意点、つまずきやすい箇所を順に扱います。
4つのスキルは何を分担するか
プラグインには、共通ルールを持つスキルが1つと、作業ごとのスキルが4つ入っています。それぞれにスラッシュコマンドが対応します。
| スキル(コマンド) | 役割 | 書き込み |
|---|---|---|
search(/search) | 役割App Store・Google Playでアプリを探し、AppFollowの追跡に加える | 書き込みあり(追加時) |
feedback-analysis(/feedback-analysis) | 役割レビューのKPI、評価と感情の推移、要望とバグの順位表 | 書き込みなし |
aso-analysis(/aso-analysis) | 役割キーワード順位、効果の高低による仕分け、追加候補、メタデータ案 | 書き込みあり(キーワード追加時) |
competitors(/competitors) | 役割競合の発見、検索結果での占有率、カテゴリ順位、評価の勢い | 書き込みあり(追跡追加時) |
残る1つの using-appfollow は、他のスキルが最初に読む共通ルールです。セッションの開き方、書き込み前の確認手順、エラーの呼び名をここで決めており、直接呼び出す用途ではありません。
どのスキルから入るか
自社アプリがまだ未登録
/searchから始めます。ストア検索で候補を並べ、追跡済みかを照合してから追加します。ユーザーの不満を知りたい
/feedback-analysisです。読み取り専用なので、最初の1本に向きます。検索順位を上げたい
/aso-analysisです。追跡中のキーワードがあるアプリで効果を発揮します。競合を洗い出したい
/competitorsです。国は1か国に絞って指定します。
どのレポートも、そのまま開いて共有できる自己完結のHTMLと、構造化された指摘ファイル(findings.json)の2点で出力されます。課題管理ツールをつなげた別のエージェントがいれば、この指摘ファイルをそのままチケットにできます。プラグイン自体は課題管理ツールに接続しません。
導入からOAuth認証までの流れ
導入には、プラグインとして入れる方法と、スキルだけ入れる方法の2通りがあります。
プラグインとして入れる手順
- 1
マーケットプレイスを追加する
リポジトリを指定して追加します。
claude.com/marketplaceのプラグインページから入る場合は、Claude Codeのボタンがインストールコマンドをコピーします。 - 2
プラグインを入れる
appfollow-ai-toolkitを選びます。セッション内でインストールコマンドを実行すると、プラグインの詳細パネルが開き、スコープをその場で選べます。 - 3
再読み込みする
反映待ちの表示が出たら
/reload-pluginsを実行します。 - 4
OAuthでサインインする
最初にAppFollowのツールが呼ばれたとき、Claude Codeの通常のOAuth画面が開きます。以降の呼び出しは、サインインしたアカウントの権限で動きます。
READMEが示すマーケットプレイスの追加コマンドは次の1行です。
/plugin marketplace add AppFollow/appfollow-ai-toolkitプラグインの種類や入れ先のスコープ(User・Project・Local)の違いは、プラグインとマーケットプレイスの解説にまとめています。
スキルだけ入れる方法では、MCP接続が付いてこない
プラグインを避けたい場合や、スキルをディスクから読むホストでは、npxでスキルだけを入れる方法があります。
npx skills add https://github.com/AppFollow/appfollow-ai-toolkit --yesこの経路で入るのはスキルだけです。プラグインに同梱されている .mcp.json(接続先は https://mcp.appfollow.io/mcp)は入らないため、AppFollowのMCPサーバーを自分で追加する必要があります。README自身が、カスタムコネクターとして足す例を挙げています。Claude Codeの場合は claude mcp add で追加できます。書式はMCP設定ガイドが詳しいです。
スキルだけ入れてMCPを足し忘れると、スキルは動くのにツールが存在しない状態になります。プラグインとして入れたほうが、この食い違いは起きません。
最初の1本は読み取り専用のレビュー分析で試す
初回は /feedback-analysis が安全です。READMEにもスキル本文にも、このスキルが書き込み系のツールを呼ばないと書かれています。
/feedback-analysis <アプリ名またはコレクション名>自然文で「直近30日のフィードバックレポートを作って」と頼んでも起動します。対象は、アプリ1つ、コレクション全体、コレクションから選んだ数本のいずれかです。複数のコレクションをまたぐ集計は、今のところ未対応と書かれています。
レポートの中身は、次のとおりです。
- 直前の同じ長さの期間との差分つきKPI
- 評価、件数、感情の推移
- 異常値の指摘
- ユーザーが実際に挙げているバグと機能要望の順位表
既定の深さは deep で、レビューを最大10ページ分まで取得します。軽くしたいときは quick(2ページ)か standard(5ページ)を、明示的に頼む形です。
Google Playの場合は、テスターがクローズド・オープンのテストトラックに残したフィードバックを、別の集計として出せます。既定ではオフで、頼んだときだけ動きます。
クレジットの減り方を先に見積もる
AppFollowのMCPは、自分のワークスペースのクレジットを消費します。プラグイン側に独自のAPIクライアントや秘密情報はなく、呼び出しはすべてサインインした自分のセッションで課金されます。
リポジトリのコスト表から、主なツールを抜き出します。
| ツール | コスト |
|---|---|
whoami / list_apps / list_collections | コスト0 |
get_reviews | コスト1ページ(100件)あたり12 |
get_reviews_summary | コスト24 |
get_reviews_ai_summary | コスト48 |
reviews_semantic | コスト48(1回で最大100件) |
get_ratings_history | コスト14日ごとに12(最低12) |
list_keywords / get_rankings / aso_search_results | コスト12 |
add_app | コスト1 |
edit_keywords | コスト0 |
ここから、1アプリ・直近30日の既定レポートの上限を試算できます。評価履歴は比較用の期間を含む60日分なので、14日区切りで5回の60。ここにレビュー要約の24、AI要約の48、レビュー本文の10ページ分で120を足すと、合計は最大252クレジットです。この数字は表からの筆者の計算で、実際の請求額ではありません。レビューが少なければページ数が減ります。
ASOレポートは、スキル本文が目安を示しています。1アプリ・1国・1デバイスで、履歴の標本取得とASOレポート込みの深い設定のとき、およそ360クレジットです。国やデバイスを増やすと、その掛け算で増えます。
Freeプランでは、取得できるレビューが直近50件までという制限が表に書かれています。これはコストではなく、プランによるアクセスの差です。
キーワード追加は「置き換え」である
/aso-analysis は、追跡中のキーワード順位に加え、AppFollowが算出する効果スコア(0〜100)で次のように仕分けします。
- 効果が20を超えるもの: 採用候補
- 20以下のもの: 見送り候補
人気度と難易度は参考列として並ぶだけで、仕分けには使われません。スコアの算出式は公開されておらず、レポートにもその旨が書かれます。
スキルはこの危険に備えて、手順を細かく決めています。
- 追加候補を15件以内の表で示し、利用者が明示的に選ぶ(自動追加はしない)
- 国・デバイスごとに現在のキーワード集合を、ページが尽きるまで読む(順位のないキーワードも含める)
- 現在の集合と選択分を重複なしで合わせ、
edit_keywords_previewにapps_idを明示して渡す - 何が置き換わるかを見せ、承認を取る
- 確定の直前に集合を読み直し、変わっていれば作り直す
edit_keywordsを、プレビューと同じ引数と確認トークンで実行する
apps_id を省略すると、アカウントの最初のコレクションが対象になるため、間違ったコレクションに書く危険があります。スキルは必ず明示します。
書き込みは3段階の確認を通る
キーワード編集に限らず、書き込み系のツールにはすべて _preview が対になっています。プレビューが60秒だけ有効な使い捨てのトークンを返し、利用者の承認後に、同じ引数でトークンつきの本実行を呼びます。勝手に確定されることはありません。
こうした作りなので、書き込みを心配して初回の利用をためらう必要は薄いです。それでも不安なら、読み取り専用のツールだけを許可する運用に倒せます。リポジトリは references/read-only-tools.md に、読み取りだけのツール19本を一覧にしています。許可リストの書き方は各ホストの仕様に従います。Claude Code側の許可設定では、実際に表示されるツール名と突き合わせてください。
競合監査と、メタデータ案の位置づけ
/competitors は、1か国を指定して競合を探します。8語ほどの検索語で実際のストア検索結果を掃き、上位に出るアプリを数えます。国を複数同時に指定する使い方は受け付けません。国によって結果が変わるため、混ぜた結果は意味を持たないという理由が書かれています。
追跡中のアプリがあれば、次の監査が出ます。
- 検索結果での占有率
- 追跡していない新顔の競合
- カテゴリ順位
- 直近30日の評価の勢い
カテゴリ順位の項では、順位の空欄を「未集計」でなく「チャート圏外」と読む場合が多いと説明されています。
もう1つ、ASOレポートのメタデータ案(タイトル、サブタイトル、キーワード欄)は提案のみです。メタデータを書き換える機能は存在しません。案はApp Store ConnectやPlay Consoleで自分で反映します。現在のメタデータの取得経路は不安定で、確実なのは利用者の貼り付けだけと、スキル本文に明記されています。
つまずきやすい箇所
落とし穴
ACCESS_DENIEDはプランだけが原因ではない
サインインしていても、呼び出しに使ったコレクションやアプリがアカウントのものでないと ACCESS_DENIED になります。まず list_collections の collectionId を apps_id に、list_apps の extId を ext_id に使っているかを見ます。プランの機能不足でも同じコードになることがあり、FEATURE_DISABLED だけをプラン不足の目印にしないよう、共通ルールが注意しています。
- アプリの追加が失敗する:
searchのコレクション作成は上位プラン(Advanced APIまたはCustom)が必要です。失敗しても検索と重複照合までは読み取りで動き、追加できなかった候補は「未追加」として一覧に残ります。 - Android側の評価差分が出ない: 直近の新規評価だけの平均(差分表示)は、App Storeのみ対応です。Google Playでは累計値だけが出ます。
- テストフィードバックが空になる: Google Play Consoleの接続とプランの機能が必要です。接続がないと、エラーでなく空の結果が返ります。
- 途中でクレジットが尽きる: レポートを丸ごと失敗させず、取れた範囲の部分レポートを出す作りです。ただし
INSUFFICIENT_CREDITSは誤検知することもあると書かれているため、残高はget_creditsで確かめます。 - 追加直後に順位が出ない: キーワード追加の直後は、順位が反映されるまで次の取得サイクルを待ちます。
プラグインの常駐コストが気になる場合は、plugin detailsでコンテキスト消費を測る方法で、導入前後の差を測れます。
使うかどうかの見分け方
向いているのは、App StoreまたはGoogle Playにアプリを出していて、レビューの傾向とキーワードの動きを定期的に見たい人です。AppFollowのアカウントがなければ、このプラグイン単体では何も取れません。接続先はAppFollowのクラウドで、サインインとクレジットが前提になります。
スキルが返すのは分析と提案までです。レポートに載った順位や改善案が、そのまま順位上昇や売上につながるとは限りません。最初の1本は読み取り専用の /feedback-analysis、次に /aso-analysis、キーワードを書く操作は最後、の順にすると、課金と書き込みの両方を抑えて試せます。