MCPInstall

qodo-codebase-wisdom

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".

Installs
79
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/qodo-ai/qodo-skills --skill qodo-codebase-wisdom
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads qodo-codebase-wisdom automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Codebase Wisdom

Description

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.

Prerequisites

  • The required tools are available through a connected QAR managed-tools MCP server or the Qodo CLI.
  • The workspace exposes the required read-only Codebase, pull-request, or cross-repo tools.
  • The current provider-owned Qodo skill package is loaded in this agent session.

Instructions

Choose the execution path

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:

  • Use Qodo to discover unfamiliar code, prior solutions, historical rationale, and relationships across repositories, even when the repositories are available locally.
  • Use local tools for exact branch/worktree state, uncommitted changes, edits, and tests.
  • Reuse an earlier investigation when it covers the current scope and revisions. Briefly name the evidence being reused; refresh the relevant context when scope, dependencies, or evidence changes. Do not repeat remote reads solely to demonstrate skill use.

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.

Handle a skill update notice

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.

Execution

  • MCP: use live schema arguments; skip CLI shell steps.
  • CLI: use complete UTF-8 files without a BOM (--args-file for tools, --context-file for reviews); examples are POSIX.
  • Windows CLI: read shell guidance before the first call; launcher recovery only if invocation fails. Reuse the resolved invocation.

Runtime compatibility gate

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 2.0.0 or newer. On Windows, in PowerShell or Git Bash, first read Windows shells.

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. Automatic updates stay within a major version; ask once before an explicit 2.x installation using a checksum-pinned installer supplied by Qodo or the organization. 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.

Quick start

qodo --version                                             # compatibility probe — run this FIRST
qodo read whoami --json --skill qodo-codebase-wisdom --skill-version 1.1.7 --distribution skills-sh
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.

Preflight

  1. Auth and catalog. Run 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.
  2. Resolve the repo. Named repo → --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.

Route to a tool group

The task needs…GroupRepresentative tools (verify via qodo read tools)
Current code — where/what/how it works nowqodo read codebasesearch-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 feedbackqodo read pull-requeststats, similar, by-file, details, patch
Impact / coupling — what a change affects, which repos depend on thisqodo read cross-repooverview, relations

Real tasks span groups — see Examples.

Narrow, then fetch

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).

Examples

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.

Deliver

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:

  • “I checked [related components] with Qodo and found [relationship].”
  • “The [discussion/change] I found through Qodo explains why [decision].”
  • “[Answer]. This matches [implementation/history] I retrieved through Qodo.”

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.

  • Keep the answer understandable to a non-engineering reader; put technical detail below it.
  • Cite everything — repo, 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.
  • Source scope when sources disagree: compare repository, branch and revision first. Local files establish the current worktree, including uncommitted edits; remote 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.
  • Empty or truncated: true → narrow once and retry (tighter query / path / repo) before concluding. Still empty → report "not found in <scope>", don't overclaim.
  • Freshness caveats: pull-request = merged PRs only (no open/draft); cross-repo edges may be pending (analysis running) or not_found (checked, no coupling).

Configuration

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.

Error Handling

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.

Guardrails

  • On CLI, call reads through the fail-closed 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.)
  • Don't guess slugs, paths, PR numbers, or SHAs — resolve them first.
  • For work spanning repositories, retrieve the missing relationship or history through Qodo, or explicitly reuse prior evidence that still covers it. Local availability alone is not coverage.
  • An 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.

FAQ

What does the qodo-codebase-wisdom skill do?

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".

How do I install qodo-codebase-wisdom?

Run npx skills add https://github.com/qodo-ai/qodo-skills --skill qodo-codebase-wisdom in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/qodo-codebase-wisdom/ (personal) or .claude/skills/qodo-codebase-wisdom/ (project).

Which AI agents can use qodo-codebase-wisdom?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is qodo-codebase-wisdom safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains qodo-codebase-wisdom?

It is published by qodo-ai in qodo-ai/qodo-skills. It has 79 recorded installs.

More from qodo-ai/qodo-skills

View all →

qodo-get-rules

qodo-ai/qodo-skills

Retrieve and apply Qodo coding rules relevant to implementation, planning, refactoring, or code review. Use on "get rules", "load qodo rules", or "relevant standards" and when starting a concrete coding task. Reuse rules already retrieved for the same workspace, repository, and task scope; refresh when that scope changes.

qodo-pr-resolver

qodo-ai/qodo-skills

Compatibility alias for explicit qodo-pr-resolver requests. Follow the complete Qodo PR review workflow embedded here and use qodo-review-resolver for new invocations; lifecycle update provenance intentionally uses the canonical qodo-review-resolver release-index identity.

qodo-review

qodo-ai/qodo-skills

Review local changes with Qodo during substantive coding milestones and before a PR or completed-work handoff. Use light background checkpoints while coding, collect and assess findings with session context, and run a final review before handing off. Also use for "review my local diff", "pre-PR review", or "run qodo review". Use qodo-review-resolver for findings already posted on a PR.

qodo-review-resolver

qodo-ai/qodo-skills

Read or resolve a pull request's Qodo review using Qodo managed tools through MCP or the CLI — fetch structured status, reviewed commit SHA, and findings for ANY PR as JSON, with optional extended details and citation evidence for audits, then optionally resolve open findings and record outcomes, once or until clean. Use this — never gh/curl scraping of review comments — for "is the review clean on PR

qodo-setup

qodo-ai/qodo-skills

Set up Qodo in a coding agent — install the CLI, sign in, and verify tools. Use after plugin installation, on setup requests, or when a Qodo skill finds a missing CLI or login.

81 installs

qodo-manage-standards

qodo-ai/qodo-skills

Discover, configure, and manage Qodo Review Standards using managed tools through MCP or the CLI. Use to set up a skills/plugin repository for reviews, map review skills to target repositories, change skill scope or rules/steering mode, capture a convention as a rule, edit or deactivate rules, or triage suggestions. For reading and applying rules use qodo-get-rules; installing local coding-agent skills uses qodo-setup.

AI & Agents57 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.