Skip to content

Guide · Agent skill

How to use the rca agent skill for root-cause analysis

Updated · written with AI from the project's own documentation and checked against our catalogue data

The rca skill is a set of instructions that teaches an AI agent to investigate one flagged failure, called an insight, in another AI agent. It is written for developers who use AQuA quality monitoring with the Google ADK ambient quality agent. After this guide you will know what the skill does, how to install it, how to ask for an analysis, and what to check in the answer.

Root-Cause Analysis for Agent Insightsgoogle/adk-recipes · Apache-2.0

Quick start

  1. 1Download the ZIP. Download the rca ZIP from the skill page on this site.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use, or into the project's .claude/skills/ folder for one project.
  3. 3Or upload in the Claude apps. In the Claude apps, go to Settings, then Capabilities, then Skills, and upload the skill.
  4. 4Confirm AQuA access. Make sure your AQuA service and the observed agent's source snapshots are reachable, since the skill needs them.
  5. 5Ask with an insight id. Send a message such as Diagnose insight <id> with the insight's label and ask for the root cause and fix.
  6. 6Review the citations. Check that each path:start-end citation matches the revision named in the answer.
  7. 7Check the record in AQuA. Look at the recorded fix on the dashboard and test any change yourself, since the skill does not verify it.

What an agent skill is and what rca makes the agent do

An agent skill is a folder with a SKILL.md file that tells an AI agent how to handle a particular kind of task. The agent reads these instructions when a request matches the skill's description.

The rca skill covers root-cause analysis of one AQuA insight against the observed agent's own source code. The agent looks up the code revision the failure ran on, searches and reads that source, pulls the full conversations behind the insight, and explains the mechanism with citations in the form path:start-end. It then records a proposed code fix against the insight in AQuA.

  • Reads the developer's goal and memories first, as reference data rather than as the defect itself.
  • Finds the revision the failure ran on and the most recent occurrence of the insight.
  • Searches and reads the source at that revision.
  • Reviews the complete conversations behind the insight, noting any partial or truncated ones.
  • Records the proposed fix in AQuA and writes a reply that explains the mechanism and states that the fix is unverified.

Install the rca skill from the ZIP or the Claude apps

Download the ZIP from the rca page on this site and unzip it. The skill is a folder that contains SKILL.md, so the folder must end up in a skills directory.

For a personal install, unzip it into ~/.claude/skills/. To scope it to one project, unzip it into that project's .claude/skills/ folder instead.

In the Claude apps, you can instead upload the skill under Settings, then Capabilities, then Skills.

  • Personal: ~/.claude/skills/
  • Project only: the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills

Check the requirements before you run it

The skill does not work on its own. It calls specific AQuA ambient quality agent tools, and it needs access to the AQuA service and to the observed agent's source snapshots. If you do not use AQuA or the ADK ambient quality agent, the tools it calls will not be available.

The tools it relies on include get_insight, get_full_trajectories, search_source, read_source_file, record_root_cause and related calls such as list_revisions and list_source_files.

  • Google ADK AQuA ambient quality agent tooling
  • Access to the AQuA service
  • Access to the observed agent's source snapshots
  • Network access, because the skill calls the AQuA service

Trigger the skill with a natural request

The skill is meant to be triggered by a message that names an insight and asks about its cause. The description gives this example: Diagnose insight <id> ("<label>") — what is the root cause, and how would you fix it? You can also ask why the agent behaved a certain way, or ask it to diagnose a failure.

Include the insight id so the agent can call get_insight. The label helps you confirm you are looking at the right insight.

  • Diagnose insight <id> ("<label>") — what is the root cause, and how would you fix it?
  • Why did the agent behave that way for insight <id>?
  • Diagnose the failure in insight <id> and tell me how to fix it.

Read the answer and check its revision and occurrence

A good answer has two parts. The first explains the mechanism, cites the code with path:start-end, and states the revision the code was read at. The second says that the fix is unverified, because nothing in the analysis ran or tested it. The reply names the revision and the occurrence together.

The proposed fix itself is stored as a record in AQuA, shown above the reply on the dashboard. The reply should point to that record rather than repeat the edit. If the record was refused, the reply should give the fix in prose and say it was not saved.

If the revision has no snapshot, or the sighting names no deployment, the reply should say which code it read instead and that the file may have changed since.

  • Mechanism with path:start-end citations at a named revision
  • A sentence stating the fix is unverified
  • Notes on partial, truncated or not_archived conversations
  • No pasted patch, diff or replacement text

Safety: read-only, no scripts, network use

The skill is designed to be read-only. Its procedure forbids writing to the observed agent's source, opening a change list, or opening a pull request. Its only write action is recording the proposed fix in AQuA.

The skill runs no scripts. It does use the network, because its tool calls reach the AQuA service. It also tells the agent not to call remember on its own initiative, so it does not save new memories unless you ask.

  • Never edits the observed agent's source code
  • Never opens a CL or a pull request
  • Runs no scripts
  • Uses the network to reach AQuA

Tips for getting a useful diagnosis

Give the insight id and ask a specific question. The skill reads the conversations as evidence, so a single sighting may not be enough. If it is not, ask the agent to look at more of the insight's recent sightings.

Keep the goal and memories in AQuA up to date. The skill uses them to find files, but checks them against the snapshot because they can be out of date.

  • Ask for the root cause and the fix in one request, as in the example.
  • If the answer says the evidence is partial, ask for more recent sightings.
  • Treat the fix as a starting point to test yourself, since the skill does not test it.
  • Expect prompt or instruction wording to be the most common cause.

What people use it for

  • Finding why an agent's prompt wording caused a flagged behavior, with the exact lines cited.
  • Explaining an insight from AQuA quality monitoring by reading the conversations it was clustered from.
  • Reviewing a proposed instruction change before you make it yourself in your own repository.
  • Checking whether a flagged failure matches a specific tool name or error string in the agent's code.

Frequently asked questions

Is the rca skill free to use?

The source does not state a price or licence terms for the skill beyond the listed licence, Apache-2.0. Check the licence file in the repository for the exact terms. Using the skill also requires access to the AQuA service, which the source does not describe as free or paid.

What do I need to install the rca skill?

Download the ZIP from the skill page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings, then Capabilities, then Skills. The skill also needs the AQuA tools and access to the agent's source snapshots.

Does rca change my agent's code?

No. The skill is designed to be read-only. It never writes to the observed agent's source, never opens a change list, and never opens a pull request. It only records a proposed fix against the insight in AQuA.

Does rca work without AQuA?

No. The skill is specific to AQuA and the ADK ambient quality agent. The tools it calls, such as get_insight and record_root_cause, belong to that system, so projects that do not use AQuA are not a good fit.

Why does the answer say the fix is unverified?

Nothing in the analysis runs or tests the fix. Most of these defects are prompt or instruction wording, and a passing test suite would not show that the behavior changed. The skill states this every time so you do not mistake the proposal for a confirmed fix.

What if the skill cannot find the code for the failure?

If the sighting names no deployment, the skill reads the newest snapshot and says the code may not be what failed. If a revision has no snapshot, it says which revision it read instead. Check those notes before relying on the citations.

How is rca different from asking a general chatbot to debug my agent?

The skill follows a fixed procedure tied to an AQuA insight. It pulls the revision the failure ran on, reads the source at that revision, and reviews the real conversations, then cites exact lines. A general chat answer usually has no access to those revisions or conversations, so it is more likely to be a guess.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use the rca skill if you debug an agent flagged by AQuA quality monitoring and want explanations backed by file and line citations and conversation evidence. Pick something else if you do not use AQuA or the ADK ambient quality agent, or if you need a verified, automatically applied fix, since this skill does neither.

Download the skill