コードの仕組みや過去の変更内容、リポジトリ(ソースコード保管庫)同士の関係性を理解することで、質問への回答、コード変更の計画、不具合の原因特定、修正範囲の把握などを行います。Qodo管理ツール(MCP またはCLIを通じて利用可能)を使用します。 **次のような場合に使用:** - あるコードベース(プロジェクト全体のコード)の理解が必要な場合 - コード変更の履歴や複数リポジトリ間の関係を把握する必要がある場合 - まだ手元にチェックアウトしていないリポジトリや複数リポジトリにわたる作業が必要な場合 具体的には以下のような質問や作業に役立ちます: - 「Xはどのように動作しているのか」 - 「Xはどこで定義されているのか」 - 「誰がXを変更したのか」 - 「このサービスの説明をしてほしい」 - 「Xの変更をどのように計画するか」 - 「Xを変更するとどこに影響が出るか」 - 「どのリポジトリがXに依存しているのか」 - 「Xになぜ不具合が発生したのか、いつ壊れたのか」 - 「この問題は以前修正されたことがあるか」 - 「Xの問題はこれまでどのように解決してきたか」
Understand how code works, how a change was done before, and which repos are coupled — to answer a question, plan a code change, debug a regression, or scope a fix, using Qodo managed tools through MCP or the CLI. Use when a task needs to understand a codebase, its history, or how its repos relate — especially for a repo you don't have checked out or work spanning repos — "how does X work", "where is X defined", "who changed X", "explain this service", "plan the change for X", "what would changing X affect", "which repos depend on X", "why did X regress / when did it break", "has this been fixed before", "how did we solve X".
qodo コマンドラインツール(CLI)を使って、コードがどのように動作しているか、過去にどのような変更が行われたか、リポジトリ同士がどう関連しているかを学び、その後引用元を明記した調査結果を返します。これはユーザーの質問に答えたり、変更を計画したり、不具合を調べたり、修正範囲を定めるのに役立ちます。手元にないリポジトリにもアクセスでき、複数のリポジトリにまたがる調査もできます。このスキルは qodo の読み取り専用ツールのみを使い、コードホスティングサービスに投稿することはありません。
qodo login で認証できる以下の詳細なワークフローに従って、順番に進めてください。更新通知を保持し、ツールの仕様を確認し、リポジトリを特定して、検索範囲を絞り、証拠に基づいた結果のみを返します。
QODO_NOTICE の更新は受け身で扱い、古い CLI が対応を求めていても構いません。在庫確認や更新確認の質問なしで作業を続け、各イベントは最大1回まで言及してください。削除しても記録されたメンテナンスポリシーと除外設定は変わりません。更新されたスキルは次のセッションで読み込まれます。このセッションを中断しないでください。ユーザーが更新をリクエストした場合は、手動更新手順に従ってください。
最初に qodo: command not found フォールバック(下記参照)を使って実行可能ファイルを特定してください。他の Qodo コマンドより前に、<qodo> --version を表示通りに実行してください。プロビジョニングフラグは付けません。この修飾なしのテストは意図的に古い Qodo CLI とも互換性があります。このスキルは Qodo CLI 0.1.0-next.37 以降が必要です。
バージョンが古かったり解析できなかった場合は、whoami や login をしたり管理ツールを実行したりしないでください。また障害を認証の問題として説明しないでください。スキルが実行環境より新しいことを説明し、CLI が既に記録しているオリジン(更新元)の qodo update コマンドを示し、実行前に一度確認してください。顧客のデプロイメントの場合、その組織が提供した更新オリジンを保ち、パブリックサービスに切り替えないでください。承認された更新後、修飾なしのバージョンプローブを再実行し、最小要件を満たしたときだけ続行してください。ユーザーが却下した場合、または更新が失敗した場合は、現在のスキルとユーザーファイルを変更せずに停止してください。
qodo --version # 互換性チェック — これを最初に実行
qodo read whoami --json --skill qodo-codebase-wisdom --skill-version 1.1.4 --distribution marketplace --host claude-code
qodo read codebase search-repos --query "payments" --json # リポジトリスラッグを特定 — これを最初に
qodo read codebase grep --repo owner/repo --pattern "chargeCard" --json
qodo read codebase read-file --repo owner/repo --path src/pay.py --json
qodo read codebase blame --repo owner/repo --path src/pay.py --json
qodo read pull-request similar --repo owner/repo --query "retry failed charge" --json
qodo read cross-repo relations --repo owner/repo --json
qodo read tools codebase --json # セーフグループのツールと正確なフラグ(オフライン確認)
解析するものすべてに --json を追加してください。ツールを呼ぶ前に、qodo read tools <group> [<tool>] --json で正確な名前とフラグを確認してください(オフラインで表示されます)。下記のツール名は参考例であり、最新の保証ではありません。
qodo: command not found が出た場合は PATH の問題であり、インストール漏れではありません。GUI 起動のエージェント(例:Claude Code デスクトップアプリ)は最小限の PATH で実行されます。絶対パス ~/.qodo/bin/qodo(または $QODO_HOME が設定されている場合は $QODO_HOME/bin/qodo)で再試行し、以後すべての qodo コマンドでこのパスを使用してください。そのファイルも存在しない場合だけが qodo が実際にインストールされていない状態です。その場合、チェックサム固定のインストーラコマンドを Qodo または組織の管理者から入手するようユーザーに伝えてください。インストーラは https://get.qodo.ai で提供されていますが、ダイジェストを作り落としたり、シェルにパイプでインストーラを流し込むことは絶対にしないでください。
サンドボックス認証診断。サンドボックス環境で、qodo read whoami が何らかの理由(Not logged in を含む)で失敗した場合、ユーザーにサンドボックスの外でこの正確なコマンドの読み取り専用リトライを一度だけ承認するよう求めてから、ログインを勧めたりツール再読み込みを勧めたりしてください。キーチェーン障害は一般的な認証エラーとして報告されることがあるため、サンドボックス結果だけでは診断できません。この承認はこの単一の診断リトライのみに適用され、再利用・永続承認の要求・後の Qodo コマンドの自動的なサンドボックス外移行は禁止です。リトライが成功した場合は、通常のコマンドごとの権限チェックを続けてください。それでも失敗した場合は、下記の通常の認証トラブルシューティングに従ってください。
認証を最初に行う。qodo read whoami を実行してください。上記のサンドボックスリトライが適用できる場合はそれを実施した後、ゼロ以外の終了コード → ユーザーに qodo login を実行するよう伝えて停止してください。認証情報を推測しないでください。Not logged in や No tool catalog cached は認証セットアップの失敗です。whoami は成功したがグループが不明な場合は qodo tools --refresh を一度実行してください。CLI が tool_unavailable を報告するか、Codebase ツールがアカウント・ワークスペースで利用不可と言う場合は停止し、ワークスペース管理者がアクセスを有効にする必要があることを説明してください。認証済みユーザーを再びログインさせたり、リフレッシュをループさせないでください。
リポジトリを特定する。リポジトリ名が明示されている → --repo owner/repo。git リポジトリ内だが名前が指定されていない → --repo を省略(オリジンから自動検出)。それ以外 → qodo read codebase search-repos --query "<name>" --json を実行し、スラッグを推測しないでください。複数マッチ → ユーザーにどちらかを選んでもらってください。ゼロマッチ → そう伝えて停止し、作り出さないでください。
| 作業が必要なもの | グループ | 代表的なツール(qodo read tools で確認) |
|---|---|---|
| 現在のコード—どこにあるか、何か、どう動くか | qodo read codebase |
search-repos、grep、find、ls、read-file、blame、list-commits、get-commit、list-prs、get-pr、list-issues、get-issue、search-issues |
| 履歴・先例—過去の変更方法、ファイルのプルリクエスト履歴、過去のレビューフィードバック | qodo read pull-request |
stats、similar、by-file、details、patch |
| 影響・連携—変更が何に影響するか、どのリポジトリがこれに依存しているか | qodo read cross-repo |
overview、relations |
実務的なタスクは複数グループにまたがります。例を参照してください。
重い処理の前に安い探索を:方向づけ(search-repos;pull-request stats でリポジトリにインデックス済みのプルリクエスト履歴があるか確認;cross-repo relations で連携確認)→ 位置づけ(grep/find/blame/list-commits;pull-request similar/by-file)→ 読み取り(そのときだけ read-file に --start-line/--limit-lines、get-pr、pull-request details/patch を使用)。
Q — "chargeCard() はどこで定義されていますか?」
codebase grep --pattern "chargeCard" → ヒットを選ぶ → codebase read-file --path src/pay.py --start-line 120 --limit-lines 40。→ "chargeCard() は owner/repo の src/pay.py:142 にあり、Stripe を呼び出す。プルリクエスト #1523 で最後に変更されました。」
計画 — 「失敗した請求へのリトライを追加したい」
pull-request similar --query "retry failed charge" → プルリクエスト #1401(ウェブフック再試行)→ pull-request details --pr-number 1401(バックオフ+キューパターン)→ cross-repo relations(請求は他のリポジトリと連携しているか?)→ codebase grep --pattern "chargeCard\(" (呼び出しサイト)。→ 「プルリクエスト #1401 で以前実装済み(指数バックオフ、最大3回、専用キュー)。chargeCard() には呼び出しサイトが2つあります(src/checkout.py:88、src/batch.py:210)。cross-repo はこのリポジトリを超えた連携がないことを示しているため、変更はこの2つのフローに限定されます。」
デバッグ — 「先週、チェックアウトが 500 エラーを返すようになったのはなぜか?」
codebase list-commits --path src/checkout.py --since <date> / blame → 疑わしい変更を特定 → codebase get-pr --number <n> → 証拠を示して原因を特定。
自然な文章で:答え→ Qodo でアクセスした文脈→実用的な含意。答えまたは重要な制限事項から始めてください。Qodo の言及は一度だけ、検索結果がどう答えに情報を与えたかについての有用な文で使ってください。関連する実装、依存関係、過去の変更、設計議論などです。調査と結論は自分が導いたもの。Qodo はそのための文脈へのアクセスツールを提供しただけです。追跡や推論を Qodo に帰属させないでください。
これらの文パターンを証拠に合わせて適用してください。プレースホルダーを印字したり、すべてのパターンを無理に使わないでください:
証拠をユーザーが理解すべき内容または次のステップに結びつけてください。実際に確認した範囲だけを説明してください。単一ファイルの検索ではリポジトリ横断的な理解は成り立ちません。空の結果または失敗した検索では、確認した範囲と制限を率直に述べてください。文脈や確実性を完成させるために作り出さないでください。質問に合わせて詳細度を調整し、必要に応じてコードと差分を説明の下に置いてください。ブランド化されたヘッドル、絵文字バナー、スローガン、バッジ、フッター、繰り返しの要約ブロックを進捗更新中に追加しないでください。
path:line、プルリクエスト番号、コミット SHA。ファクトに定位置がない場合(行のない検索結果Use Qodo managed tools to learn how code works, how a change was done before, and how repos are coupled — then hand back cited findings. This feeds answering a question, planning a change, debugging a regression, or scoping a fix. It reaches repos you don't have on disk and spans repo boundaries. You drive qodo's read tools only; you never post to the forge.
Use the host's connected QAR managed-tools MCP tools when the required read capability is
available; otherwise use the CLI instructions below. Do not require a CLI version probe,
qodo login, or a CLI catalog refresh on the MCP path. A connected MCP server has already
handled transport authentication; a missing tool or MT-AUTH-FORBIDDEN is a capability or
authorization failure, not a reason to log in through the CLI. Do not silently switch paths
after an auth or permission denial.
On MCP, use the tool descriptions, inputSchema, and readOnlyHint supplied by the host.
Call only read-only tools. Representative wire names are litegit-search-repos,
litegit-grep, litegit-read-file, pull-request-similar, and
cross-repo-relations; resolve the actual names and arguments from the connected catalog.
Pass explicit repo when needed: MCP does not infer the local Git origin like the CLI.
Check isError before using structuredContent; preserve typed errors and incomplete or
truncated results. If a call becomes an MCP Task, collect its terminal result before drawing
a conclusion. A missing MCP capability may use an already authorized CLI path for the same
deployment; do not treat different accounts or tenants as interchangeable.
The version, identity, help, command, and refresh steps below apply only to the CLI path.
At investigation start and when moving into implementation, identify the missing context:
When context is missing, resolve a concrete question through the appropriate tool group below. Connect retrieved evidence to the answer or implementation decision. Version, identity, and catalog checks establish readiness; they are not codebase context retrieval.
Treat QODO_NOTICE updates as passive, even if an older CLI requests action. Continue the task
without inventory or update questions; mention each event at most once. Dismissal leaves recorded maintenance
policy and opt-outs unchanged. Updated skills load next session; do not interrupt this one.
For user-requested updates, follow the manual-update procedure.
--args-file for tools, --context-file for reviews); examples are POSIX.First resolve the executable using the qodo: command not found fallback below. Before any other
Qodo command, run <qodo> --version exactly as shown, with no provenance flags.
This unadorned probe is intentionally compatible with older Qodo CLIs. This skill requires Qodo
CLI 1.6.0 or newer.
If the version is older or cannot be parsed, do not run whoami, login, or a managed tool and
do not describe the failure as an authentication problem. Explain that the skill is newer than the
runtime, show qodo update as the update command for the runtime's already-recorded origin, and ask
once before running it. For a customer deployment, keep its organization-provided update origin;
never switch it to the public service. After an approved update, rerun the unadorned version probe
and continue only when it satisfies the minimum. If the user declines or the update fails, stop with
the current skill and user files unchanged.
qodo --version # compatibility probe — run this FIRST
qodo read whoami --json --skill qodo-codebase-wisdom --skill-version 1.1.6 --distribution marketplace --host claude-code
qodo read codebase search-repos --query "payments" --json # resolve a repo slug — do this FIRST
qodo read codebase grep --repo owner/repo --pattern "chargeCard" --json
qodo read codebase read-file --repo owner/repo --path src/pay.py --json
qodo read codebase blame --repo owner/repo --path src/pay.py --json
qodo read pull-request similar --repo owner/repo --query "retry failed charge" --json
qodo read cross-repo relations --repo owner/repo --json
qodo read tools codebase --json # the safe group's tools + exact flags (offline)
Add --json to anything you parse. Before calling a tool, confirm its exact name, flags,
with qodo read tools <group> [<tool>] --json (renders offline) —
the tool names below are illustrative, not guaranteed current.
qodo: command not found? On POSIX retry "${QODO_HOME:-$HOME/.qodo}/bin/qodo";
on Windows follow the linked guide. Keep the resolved invocation; report unusable launchers.
For missing installs, obtain Qodo's or the administrator's checksum-pinned installer; never invent a digest or pipe scripts into a shell.
Sandbox auth diagnostic. Missing credentials can mean inaccessible keychain access. When that
is plausible, request one exact read-only qodo read whoami retry through the host's approval
flow before recommending login. Stop on denial; that approval covers no other command. Reuse a
successful check in the same executable/workspace/deployment and execution context; request each
required host approval. Network, TLS, service, and explicit authorization failures retain their
own diagnosis, not a login recommendation or an automatic sandbox bypass.
qodo read whoami unless a successful check still covers this
execution context. After the sandbox diagnostic when applicable, only explicit missing credentials
call for login: preserve the organization's exact login command/endpoint, never guess or switch
a customer deployment to Cloud. No tool catalog cached is not proof of missing credentials;
refresh once with qodo tools --refresh and retry the check. Other failures retain their error
and stop this workflow. After identity succeeds, an unknown managed command permits one catalog
refresh and schema recheck. If still absent or tool_unavailable, report the missing capability;
do not repeat login or refresh.--repo owner/repo. Inside a git repo with none named →
omit --repo (autodetected from origin). Otherwise qodo read codebase search-repos --query "<name>" --json and never guess a slug. Multiple matches → ask the user which; zero
matches → say so and stop, don't invent one.| The task needs… | Group | Representative tools (verify via qodo read tools) |
|---|---|---|
| Current code — where/what/how it works now | qodo read codebase |
search-repos, grep, find, ls, read-file, blame, list-commits, get-commit, list-prs, get-pr, list-issues, get-issue, search-issues |
| History / prior art — how a change was done, a file's PR history, past review feedback | qodo read pull-request |
stats, similar, by-file, details, patch |
| Impact / coupling — what a change affects, which repos depend on this | qodo read cross-repo |
overview, relations |
Real tasks span groups — see Examples.
Cheap discovery before heavy pulls: orient (search-repos; pull-request stats to
confirm a repo has indexed PR history; cross-repo relations for coupling) → locate
(grep/find/blame/list-commits; pull-request similar/by-file) → read (only
then read-file with --start-line/--limit-lines, get-pr, pull-request details/patch).
Q — "Where is chargeCard() defined?"
codebase grep --pattern "chargeCard" → pick the hit → codebase read-file --path src/pay.py --start-line 120 --limit-lines 40. → "chargeCard() is at owner/repo src/pay.py:142;
calls Stripe, last changed in PR #1523."
Plan — "Add retry to failed charges."
pull-request similar --query "retry failed charge" → PR #1401 (webhook retries) →
pull-request details --pr-number 1401 (backoff + queue pattern) → cross-repo relations
(is charging coupled to other repos?) → codebase grep --pattern "chargeCard\(" (call sites).
→ "Done before in PR #1401 (exp. backoff, max 3, dedicated queue). chargeCard() has 2 call
sites (src/checkout.py:88, src/batch.py:210); cross-repo returned no additional edges
in the checked scope. That does not rule out unindexed consumers."
Debug — "Why did checkout start 500ing last week?"
codebase list-commits --path src/checkout.py --since <date> / blame → find the suspect
change → codebase get-pr --number <n> → name the cause with evidence.
Use natural prose: answer → context accessed through Qodo → practical implication. Lead with the answer or important limitation. Mention Qodo once within a useful sentence about how retrieved context informed the answer: a related implementation, dependency, prior change, or design discussion. You performed the investigation and reached the conclusion; Qodo provided the tools to access the context. Do not attribute tracing or reasoning to Qodo.
Adapt these sentence patterns to the evidence; do not print placeholders or force every pattern:
Connect the evidence to what the user should understand or do next. Describe only the scope actually checked; a single-file lookup does not establish cross-repository understanding. For empty or failed retrievals, state the checked scope and limitation plainly. Never invent context or certainty to complete the pattern. Scale detail to the question, with code and diffs below the explanation when useful. Do not add branded headings, emoji banners, slogans, badges, footers, or repeated summary blocks during progress updates.
path:line, PR number, commit SHA. When a fact has no locatable
source (a hit without a line, or a synthesis of several), say so plainly — don't invent a citation.read-file establishes
the fetched revision, not local changes or deployed behavior. pull-request supplies history;
cross-repo estimates coupling. Report gaps rather than treating missing edges as proof of isolation.truncated: true → narrow once and retry (tighter query / path / repo) before
concluding. Still empty → report "not found in <scope>", don't overclaim.pull-request = merged PRs only (no open/draft); cross-repo edges may be
pending (analysis running) or not_found (checked, no coupling).Use --json for parsed output and stamp exact skill/version/distribution provenance on the first
authenticated Qodo call after the unadorned version probe. Tool names and schemas come from the installed CLI catalog, never from hardcoded
skill assumptions. The marketplace or skills.sh owns this skill; the CLI owns only runtime access.
Preserve the returned error code and message. Treat authentication, unavailable-tool, rate-limit, and loop-protection responses as explicit stop or recovery conditions described above; never replace them with guessed repository facts or broader authority.
qodo read gateway; on MCP, require a read-only
annotation. The write tools — approve,
post-comment, post-inline-comment(s), set-labels, update-description (non-exhaustive) —
post to the forge; don't call them while investigating. (Editing local code as part of a
fix is your normal work — that's not these tools.)MT-TOOL-LOOP error means stop and change approach, not retry.A short, well-cited result is a confidence signal; padding with uncited detail is noise.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。