mcpField
U
using-appfollow

using-appfollow

github.com/appfollowエージェントワークフロー467 回インストール今日更新
リポジトリ

using-appfollow について

using-appfollowは、ユーザーのOAuth認証済みセッションでAppFollowを操作するエージェントスキルです。安全な読み取りと承認済みの書き込みに加え、レポートやエラー処理の手順を定めています。

主な機能

  1. 01OAuthセッションの開始と本人確認
  2. 02曖昧な依頼範囲の確認
  3. 03書き込み前のプレビューと承認
  4. 04複数アプリの実行と部分レポート
  5. 05MCPエラー処理の指針
  6. 06任意のユーザーフィードバック手順

活用シーン

  1. 01アカウントデータからAppFollowレポートを作成
  2. 02明示的な承認後にAppFollowのデータを変更
  3. 03アプリのコレクションを対象にレポートを実行
  4. 04ツールエラーがあってもレポートの残りを作成

MCP 対応

ユーザーの認証済みセッションを通じて、AppFollow MCPサーバーの公開ツールを利用する手順を示します。get_server_infoを除くツール呼び出しにはセッションIDが必要で、書き込み前にはプレビューと承認を必須とします。

インストール

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

$npx skills add https://github.com/appfollow/appfollow-ai-toolkit --skill using-appfollow

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
costs.md
read-only-tools.md
tool-map.md

詳細

using-appfollow

ユーザー自身のOAuth認証済みセッションで、AppFollow MCP サーバー(mcp__appfollow__* ツール)を操作します。すべてのツール呼び出しで、ユーザー自身のワークスペースのクレジットが消費されます。このツールキットにはAPIクライアントもシークレットもありません。すべてのデータはユーザーのMCPセッションを通じて流れます。

セッションの開始(毎回必ず実施)

  1. session_idを一度だけ生成します。 会話の開始時に高エントロピーの不透明なID(UUIDなど)を生成し、以降のすべてのAppFollowツール呼び出しで引数として渡します。対象はwhoami、get_credits、その他すべてです。submit_feedbackだけではありません。例外はget_server_infoで、引数は一切受け取りません。session_idは絶対に渡さないでください。サーバーはこれを各ツール使用記録に記録するため、添付されたツール使用ログは参照を通じて、この会話に自動的かつ正確にリンクされます。session_idは本人確認用ではありません。ユーザーに尋ねてはいけません。
  2. mcp__appfollow__whoamiを呼び出します。AUTH_REQUIREDエラーが発生した場合は中止し、MCPホストでAppFollowへのサインインを完了してから再試行するようユーザーに伝えます。

確認事項

リクエストが曖昧な場合(対象のアプリ/コレクション、期間、ストア、国、競合他社の範囲、指標など)は、範囲を絞る簡潔な質問を1つだけ尋ね、ユーザーが一言で選べる妥当なデフォルトを提示します。黙って推測してはいけませんが、処理を滞らせてもいけません。関連する指標、競合他社との比較、トレンド期間など、ユーザーが次に必要としそうな有用な手順も提案します。これによりやり取りの負担を軽減できます。なお、これは以下の書き込み手順とは別のものであり、書き込み手順は引き続き必須です。

書き込み:プレビュー → 承認 → 確定(省略禁止)

書き込みツールはすべて、<name>_previewの後に<name>を呼び出すペアです。

  1. <name>_preview(args)を呼び出すと、1回限りで60秒間有効な、引数に紐付いたconfirmation_tokenが返されます(上流の検証は行われないため、IDが誤っていると確定時に失敗します)。
  2. 書き込む内容をそのままユーザーに提示し、明示的な承認を得ます。
  3. <name>(args + confirmation_token)を、同一の引数で呼び出します。CONFIRMATION_REQUIRED(トークンの期限切れまたは不一致)が発生した場合は、再度プレビューします。

自動で確定してはいけません。書き込みのたびにユーザーの承認が必要です。

グループ実行

コレクションまたは複数アプリのリストを処理する場合は、実行前に対象アプリ一式をすべて特定します。黙って一括実行してはいけません。また、アプリ数に上限を設けてはいけません。実行中にINSUFFICIENT_CREDITSが発生した場合は中止し、失敗として処理するのではなく一部のみのレポートを出力します。

MCPエラーコードの用語集(原文どおりに提示し、スキルごとに分岐)

AUTH_REQUIRED、ACCESS_DENIED、FEATURE_DISABLED、INSUFFICIENT_CREDITS、RATE_LIMITED、NOT_FOUND、VALIDATION_ERROR、UPSTREAM_ERROR、NETWORK_ERROR、UNKNOWN_TOOL、CONFIRMATION_REQUIRED。ACCESS_DENIEDは、セッションへのサインインは済んでいるものの、このアカウントでは呼び出しが拒否されたことを意味します。多くの場合、呼び出しで指定したコレクションまたはアプリがアカウントに属していません。apps_idはlist_collectionsから、ext_idはlist_appsから取得してください。また、必要なプラン機能がない場合にも発生することがあります(以下の最初の注意点を参照)。

注意すべき点は2つあります。

  • FEATURE_DISABLEDはプラン制限の判定として信頼できません。 reviews_semanticでSemantic Analysis機能がない場合など、一部のプラン制限は代わりにACCESS_DENIEDとして通知されます。FEATURE_DISABLEDだけを根拠に処理を縮退する分岐を設けてはいけません。
  • INSUFFICIENT_CREDITSは誤検知の可能性があります(上流のレスポンス本文に「credits」が含まれていると、どのような場合でもこのエラーになります)。他のツールエラーと同様に扱ってください。以下の共通ルールが適用されます。

共通ルール:スキルは、単一のツールエラーを理由にレポート全体の処理を中止してはいけません。 該当するセクションをスキップしてその旨を記載し、処理を続けます。

公開ツールのみ

使用できるのはreferences/tool-map.mdに記載されたツールのみです。内部ツール名、内部ホスト、内部APIパスを捏造または参照してはいけません。

調査結果の引き渡し

レポートスキルは、appfollow.toolkit.findings/v1形式のfindings.jsonを出力します。このツールキットはトラッカーとは連携しません。調査結果の登録は、ユーザーが接続しているトラッカーエージェントが行えます。

フィードバックについて(任意・無料)

ユーザーのための意味のある作業単位(レポートの完成、複数ステップのタスクの完了、依頼の解決など)が終わった後、簡単な満足度確認を行ってもかまいません。このセッションで submit_feedback が利用可能なツールに含まれている場合に限り行ってください。そうでない場合は、フィードバックに関する手順を一切行わずに省略してください。

  • セッションの評価を1(不満)から4(満足)で尋ねます。会話ごとに最大1~2回までとし、しつこく尋ねないでください。ユーザーが断ったり、回答しなかったりした場合は、それ以上尋ねないでください。
  • 評価を受け取ったら、それに応じた質問をします。ただし、評価の数字だけの回答でも受け付けてください。コメントは常に任意とし、テキストを強要しないでください。
    • 評価が1~3の場合 → 何が期待に届かなかったかを尋ねます。
    • 評価が4の場合 → 良かった点と、追加するとよい点を尋ねます。
  • 評価とコメント(ある場合)を指定して submit_feedback を呼び出します。セッション開始時に発行し、すべてのツール呼び出しで送信しているものと同じ session_id を使用してください。本人確認情報とタイミングはセッションから自動的に紐付けられます。個人情報を尋ねたり、送信したりしないでください。
  • 3種類の添付は、ユーザーがそれぞれ個別に明示的に同意しない限り無効です。次のように扱ってください。 (a) このセッションのツール使用ログ。許可された場合は consent_attach_tool_log: true を設定します。許可されなかった場合は省略するか、false に設定します。 (b) 作成した短いセッション要約。まずユーザーに提示してから、llm_session_summary として渡します。 (c) このエージェントセッションの完全な会話記録。エージェントの種類(Claude、ChatGPT、Codex など)を問わず利用できる、セッションに依存しないプレーンテキストで、元のまま一字一句そのまま保存されます。許可された場合は session_transcript に貼り付けます。ユーザーが許可したものだけを添付してください。
  • フィードバックのコメントや会話記録には、秘密情報、トークン、認証情報を貼り付けないでください。自由記述や会話記録はそのまま保存されることも、ユーザーに伝えてください。
  • submit_feedback が ALREADY_COLLECTED を返した場合、このセッションのフィードバックはすでに記録されています。ユーザーにお礼を伝え、再度尋ねないでください。UNKNOWN_TOOL が返された場合は、ツールを利用できないものとして、フィードバックの手順を省略してください。submit_feedback は無料で、クレジットを消費しません。

コメント