Agent skill

Cxas Loss Analysis

by GoogleCloudPlatform in GoogleCloudPlatform/cxas-scrapi

Retrieves non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common failure patterns, and generates a markdown report.

Apache-2.0Auto-check passedDocuments & Office

Install Cxas Loss Analysis

skills CLI
$ npx skills add GoogleCloudPlatform/cxas-scrapi --skill cxas-loss-analysis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GoogleCloudPlatform/cxas-scrapi cxas-loss-analysis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GoogleCloudPlatform/cxas-scrapi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cxas-loss-analysis .claude/skills/cxas-loss-analysis && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cxas-loss-analysis
GitHub stars
107
Token cost
~1.5k tokens
SKILL.md length
558 words
Files
2 (incl. scripts)
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

Retrieves non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common failure patterns, and generates a markdown report.

  • Works in 7 steps: Parameter Verification → Extract Loss Transcripts → Read Transcripts & Summarize Escalations → …
  • You need to analyze failure patterns and build targeted regression/evaluation reports
  • Runs Python scripts from its folder; calls python3 and python
  • Tasks that involve Markdown

What it does

Cxas Loss Analysis is an agent skill from GoogleCloudPlatform/cxas-scrapi. Retrieves non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common failure patterns, and generates a markdown report. Use when you need to analyze failure patterns and build targeted regression/evaluation reports.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/fetch_losses.py`).

It sits in Documents & Office, covering Markdown. It works with Google Cloud. The repository describes itself as: A powerful Python API, CLI, and set of Agent Skills for CX Agent Studio to automate, evaluate, and scale your agents with ease. The licence is Apache-2.0.

When your agent uses it

  • You need to analyze failure patterns and build targeted regression/evaluation reports
  • Tasks that involve Markdown

Example prompts

  • “Use the cxas-loss-analysis skill to retrieve non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common…”
  • “/cxas-loss-analysis”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Parameter Verification
  2. Extract Loss Transcripts
  3. Read Transcripts & Summarize Escalations
  4. Cluster Failures into Loss Patterns
  5. Categorize All Sessions
  6. Write the Markdown Report
  7. Present Summary to User

What it can do on your machine

Read from SKILL.md and the folder at commit ffba639. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cxas Loss Analysis loads about 1.5k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 558 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from GoogleCloudPlatform/cxas-scrapi at commit ffba639, republished under its Apache-2.0 licence (© GoogleCloudPlatform). 558 words, ~1,474 tokens.

Download SKILL.mdSave it as .claude/skills/cxas-loss-analysis/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
cxas-loss-analysis
description
Retrieves non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common failure patterns, and generates a markdown report. Use when you need to analyze failure patterns and build targeted regression/evaluation reports.

Insights Loss Analysis & Report Generator

This skill instructs you (the AI Agent) to retrieve recent conversations from CCAI Insights, isolate escalated/non-contained sessions (losses), analyze their root causes to group them into failure patterns, and write a professional Markdown report.


Execution Routine

Follow these steps in exact sequence:

Step 1: Parameter Verification

Verify that the user has provided the following required parameters:

  • project_id: GCP Project ID hosting Insights.
  • location: Insights location (e.g., us).
  • app_id: Target CXAS App ID (e.g., db9ee866-28db-458b-b835-78137c974779).
  • output_dir: Directory where the final report and test cases will be saved.

And the following optional parameters if they wish to scope the analysis:

  • start_time: RFC 3339 timestamp for start of time period (e.g., 2026-05-20T00:00:00Z).
  • end_time: RFC 3339 timestamp for end of time period (e.g., 2026-05-26T23:59:59Z).
  • filter: Custom API filter string to apply (overrides the default loss filter -labels.sessionContained="true").
  • limit: Maximum conversations to retrieve and process (default: 500).
Step 2: Extract Loss Transcripts

Run the lightweight data-extraction script to dump the loss transcripts into chunked JSON files in your workspace.

Command Template:

bash
python3 -P .agents/skills/cxas-loss-analysis/scripts/fetch_losses.py \
  --project-id "{project_id}" \
  --location "{location}" \
  --app-id "{app_id}" \
  --limit {limit} \
  --output-file "{output_dir}/raw_losses.json" \
  [--start-time "{start_time}"] \
  [--end-time "{end_time}"] \
  [--filter "{filter}"]

Note: Always run python using the virtual environment's executable with the -P flag (e.g., .venv/bin/python -P) to avoid path pollution.

Step 3: Read Transcripts & Summarize Escalations

Use the view_file or other file-reading tools to read the generated {output_dir}/raw_losses.json file. Extract the list of chunks (which contains paths to the chunked JSON files).

For each chunk file in the chunks list:

  1. Read the chunk file to load the batch of transcripts.
  2. For each conversation transcript: a. Analyze the conversation between the customer (user) and the virtual agent (agent). b. Identify if the user displayed "AI aversion":
    • Definition: Sessions where the user did not meaningfully engage with the agent or expressed a strong preference for a human agent (e.g., immediately asking for "human", "agent", "representative" in the first 1-2 turns without describing their issue, or explicitly stating they do not want to talk to an AI/robot).
    • If "AI aversion" is detected, mark this session as ignored from the core loss analysis. Note the reason (e.g., "AI aversion: User demanded human agent immediately"). c. For non-ignored genuine losses:
    • Identify why the conversation escalated or was not contained.
    • Formulate a concise, 1-sentence primary reason for failure/escalation (max 20 words). E.g., "Virtual agent failed to authenticate the user due to repeated pin entry errors."
Show full SKILL.md (176 more words)Show less
Step 4: Cluster Failures into Loss Patterns

Review the complete list of genuine (non-ignored) failure reasons you generated in Step 3. Using your analytical capabilities, group these failure reasons into 8 to 10 distinct, mutually exclusive failure patterns to provide granular insights.

For each pattern, define:

  1. Pattern ID: A simple key (e.g., pattern_1, pattern_2, ...).
  2. Name: A short, descriptive name (e.g., "Authentication Loop", "Unsupported Customer Intent", "Agent Transfer on Disambiguation").
  3. Description: A clear 1-2 sentence description explaining the pattern and what triggers it.
Step 5: Categorize All Sessions

Map every analyzed conversation_id to either:

  • One of the 8 to 10 defined failure patterns.
  • ignored_ai_aversion if the user displayed AI aversion.

Keep track of this mapping for the final report.

Step 6: Write the Markdown Report

Compile your analysis into a structured Markdown report and write it to {output_dir}/loss_patterns_report.md. Use the following structure:

markdown
# Loss Patterns Analysis Report

**Project**: `{project_id}`
**App ID**: `{app_id}`

## Executive Summary

A sample of up to {limit} conversations matching the filter was selected for detailed manual analysis and clustering to identify key patterns.

## Loss Patterns Distribution

| Pattern ID | Name | Count | Percentage of Genuine Losses |
| --- | --- | --- | --- |
| `pattern_1` | Pattern Name | Count | Pct% |
| ... | ... | ... | ... |

*Note: Ignored AI aversion sessions are excluded from the pattern distribution.*

## Detailed Patterns Breakdown

### `pattern_1`: Pattern Name

**Description**: Pattern description.
**Total Conversations**: Count

#### Examples & Failure Reasons:
- **Session `{conversation_id_1}`**: Failure reason from Step 3.
- **Session `{conversation_id_2}`**: Failure reason from Step 3.

---

## Appendix: Ignored Sessions (AI Aversion)
The following sessions were ignored from the pattern analysis because the user displayed AI aversion:
- **Session `{conversation_id_3}`**: AI aversion reason (e.g., *"User demanded human agent immediately"*).
- **Session `{conversation_id_4}`**: AI aversion reason.
Step 7: Present Summary to User

Present a clear summary of your findings directly in the chat, pointing the user to {output_dir}/loss_patterns_report.md and highlighting the key patterns and the adjusted containment rate.

© GoogleCloudPlatform, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .agents/skills/cxas-loss-analysis of GoogleCloudPlatform/cxas-scrapi.

  • SKILL.md
  • scripts/fetch_losses.py

Open the folder on GitHubat commit ffba639

Compare with similar skills

Cxas Loss Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cxas Loss Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cxas Loss Analysis this skillGoogleCloudPlatform/cxas-scrapi107—~1.5kAutomated safety check: PassApache-2.0
Markdown Article FormatterJimLiu/baoyu-skills26k7 repos~3.5kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0
Crosspostingwasp-lang/wasp19k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    26k GitHub starsUsed in 7 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Crossposting

    wasp-lang/wasp

    Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.

    19k GitHub stars~1.1k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Review The Docs

    supabase/supabase

    Official

    Review Supabase docs changes locally in your supabase/supabase checkout — either an open PR (triage, classify, verify) or your own branch before opening a PR (local self-review).

    111k GitHub stars~4.6k tokensUpdated today
    Documents & OfficeAuto-check passed

More from GoogleCloudPlatform/cxas-scrapi

All 14 skills in this repo
  • Cxas Agent Foundry

    GoogleCloudPlatform/cxas-scrapi

    End-to-end GECX/CXAS/CES conversational agent lifecycle -- build agents from requirements (PRD-to-agent), create and run evals (goldens, simulations, tool tests, callback tests), debug failures, and…

    107 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Cxas Autolabel Rules

    GoogleCloudPlatform/cxas-scrapi

    Author, validate, and manage Contact Center AI (CCAI) Insights Autolabeling Rules.

    107 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Cxas Configurable Dashboards

    GoogleCloudPlatform/cxas-scrapi

    Author, validate, and manage Contact Center AI (CCAI) Insights Configurable Dashboards.

    107 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Cxas Dfcx Migration

    GoogleCloudPlatform/cxas-scrapi

    Migrate Dialogflow CX (DFCX) agents to CXAS (Customer Experience Agent Studio) agents.

    107 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Cxas Sim Eval

    GoogleCloudPlatform/cxas-scrapi

    Converts CXAS golden evaluations to SCRAPI SimulationEvals test cases.

    107 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Cxas Composite Voice Agent Optimizer

    GoogleCloudPlatform/cxas-scrapi

    Audits, optimizes, and remediates CXAS agent configurations for Gemini Composite V1 voice naturalness, persona styling, and multi-language coverage directly in local workspaces with cxas-scrapi.

    107 GitHub stars~10k tokensUpdated today
    Auto-check passed

Works with

Questions about Cxas Loss Analysis

What does Cxas Loss Analysis do?

Retrieves non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common failure patterns, and generates a markdown report. Cxas Loss Analysis is an agent skill from GoogleCloudPlatform/cxas-scrapi. Retrieves non-contained CCAI Insights conversations (losses), uses agent intelligence to cluster them into common failure patterns, and generates a markdown report.

When should I use Cxas Loss Analysis?

Cxas Loss Analysis fits situations like: you need to analyze failure patterns and build targeted regression/evaluation reports; tasks that involve Markdown.

How do I install Cxas Loss Analysis in Claude Code?

Run `npx skills add GoogleCloudPlatform/cxas-scrapi --skill cxas-loss-analysis -a claude-code`. Or copy the skill folder (.agents/skills/cxas-loss-analysis in GoogleCloudPlatform/cxas-scrapi) into .claude/skills/cxas-loss-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Cxas Loss Analysis in Codex?

Run `npx skills add GoogleCloudPlatform/cxas-scrapi --skill cxas-loss-analysis -a codex`. Or copy the skill folder (.agents/skills/cxas-loss-analysis in GoogleCloudPlatform/cxas-scrapi) into .agents/skills/cxas-loss-analysis in your project. Codex loads it when a task matches its description.

Can I use Cxas Loss Analysis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GoogleCloudPlatform/cxas-scrapi --skill cxas-loss-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cxas-loss-analysis, .gemini/skills/cxas-loss-analysis, .github/skills/cxas-loss-analysis and .opencode/skills/cxas-loss-analysis in your project.

What does Cxas Loss Analysis need to run?

Going by SKILL.md and its folder, Cxas Loss Analysis needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and python). Our summary lists: Python 3.

Does Cxas Loss Analysis access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cxas Loss Analysis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Cxas Loss Analysis use?

Cxas Loss Analysis is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cxas Loss Analysis use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cxas Loss Analysis?

Skills that share tags, products or a category with Cxas Loss Analysis: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 781 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and Gzh Design (isjiamu/gzh-design-skill, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cxas Loss Analysis?

GoogleCloudPlatform (a GitHub organization) maintains it in GoogleCloudPlatform/cxas-scrapi, which has 107 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 8, 2026.

Source: GoogleCloudPlatform/cxas-scrapi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.