the signals and their derived score are provisional and subject to change.
validate manually before sharing.
bad101e5929d764826ba928717fc5463fcc2b14230705d954e5c2 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>6e8683d040ca2 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>9272e643febc2 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>0a5c6fe692cf2 weeks agoClaude-Session: https://claude.ai/code/session_01CcFaA7Nd6UyRgpmiW6Cagk00fc42da463d3 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>fcdc3ea7a3973 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>ee8c3285f6f13 weeks agoCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>80478936dc2f4 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>342a408a93a24 weeks agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>a9a29577f5f41 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>043c8144f1261 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>8806b986061a1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>53c24c821abe1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>d9bf825b77091 month agoAssisted-by: Claude Opus 5b8db10a6dc531 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>ca9f0a567a9c1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>724ebc43a8881 month agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>0e314d0b6bbc1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>99e60f5db0c31 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>4a1c219435f21 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>74b6935df3661 month agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>b035968e34df1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>4e8b0a408eb11 month agobrettw@openai.com42aa033ab0751 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>49009f7b69031 month agobrettw@openai.com3e0b8bc6cf1f1 month agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>9043a7f9d2ad1 month agobrettw@openai.com2c8a1a0b47ff1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>49f06a38f4431 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>e9391aecdb531 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>46fbd5b1c5fd1 month agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>3e5d0b609aab1 month agoCo-Authored-By: AI (Claude Opus 5 via Pi) <noreply@pi.dev>28b590b4cc431 month agoCo-Authored-By: AI (Claude Opus 5 via Pi) <noreply@pi.dev>48132729c0c51 month agobrettw@openai.com6851aa18cf921 month agoCo-Authored-By: AI (Claude Opus 4.7 via Pi) <noreply@pi.dev>312326e2170e2 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>575955fac48b2 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>523480dd8feb2 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>9580a5f78fd82 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>6b11f31c2fec2 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>e535db9937e12 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>845c59915d932 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>7995ff2f4be02 months agoAssisted-by: Claude Opus 532988d7fb99b2 months agoCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>e92451c17db32 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>2aee5642c4d62 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>ba18b8f28b3f2 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>0b16b00a1c203 months agoCo-Authored-By: AI (Claude Opus 4.7 via Pi) <noreply@pi.dev>8c723f2ce6443 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>b2b879dba40f3 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>c976faf3115a3 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>760b57bc4da83 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>9f176c1f104c3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>42e42d4461ed3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>cc12a5c841c73 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>091dac04a6533 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>a643bb61224e3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>252c698e0ebf3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>18ed239401573 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>882e56d724853 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>ea988c79c48d3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>423f3c8f29d63 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>060f8cc126cc3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>8f88350156983 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>f51d071cc2973 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>2f728eb91dd43 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>fa869cddc44d3 months agoCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>04ddba68f0f93 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1e4db2dc342d3 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>c6df0ed406a53 months agoCo-Authored-By: AI (Claude Opus 4.7 via Pi) <noreply@pi.dev>c0919519e0c03 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>16d547fddcdc3 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>4ecd0b8aa6d03 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>11ea2d3c495c3 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>2f4dcff777ae3 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>4fda535fcfb44 months agoCo-Authored-By: AI (Claude Opus 4.7)62a0fbab353e4 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>c84bcdbe0cdd4 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>5a090decb5685 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>7a558cac17575 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1cdbd4804fdf5 months agoCo-Authored-By: AI (Claude Opus 4.6)e6c61ba4b74d5 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>f41dcba860415 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>3c0d862331a76 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>b616b00e5cbb6 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>8f11ead6b30a7 months agoCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com># ChromeOS Host Implementation Details
This directory contains the host-side logic for Chrome Remote Desktop on
ChromeOS. Unlike other platforms, the host on ChromeOS is tightly integrated
into the `chrome` binary and the Ash window manager.
## Core Architectural Difference
**ChromeOS does NOT support a traditional Me2Me (Remote Access) daemon.**
Everything on ChromeOS is built on top of the IT2Me (Remote Support) host
architecture.
### Connection Scenarios
1. **Consumer Remote Support:** The standard# Remoting Codec Instructions
Instructions for working in `//remoting/codec`.
## Architecture Overview
The `codec` directory contains the audio and video encoding/decoding logic.
Chrome Remote Desktop has migrated to WebRTC-based video encoding; much of the
non-WebRTC code in this directory is obsolete and scheduled for deletion.
### Video Codecs
#### Current Implementation (WebRTC-based)
CRD implements custom wrappers around WebRTC encoders, optimized for low-latency
desktop streaming.
* **Base InteAny time you want to use `find`, use `fdfind` instead.
If running `fdfind` fails because the executable is missing, tell the
user to install it with the following command, and then stop.
```
sudo apt-get install fd-find
```
Never directly install software with `brew` or `apt-get` - instead suggest the
required installation to the user with the full command line, and then stop.
Never amend git commits (with "git commit --amend"). Always create new ones.
# Chrome Remote Desktop Instructions
Instructions that are relevant when working with the Chrome Remote Desktop (aka.
CRD and chromoting) host binaries, or code located in //remoting.
While code for the Chrome Remote Desktop host lives in the Chromium repo (this
repo), it is mostly an independent product, separate from Chrome, except for
ChromeOS, where the IT2ME native messaging host is part of the Chrome binary.
## Relevant Documentation
When working on specific domains, **you MUST use the `read_file`# Remoting Protocol Instructions
Instructions for working in `//remoting/protocol`.
## Architecture Overview
The `protocol` directory handles session authentication, establishment, and data
transfer (audio, video, input, and control channels).
### Transport
Chrome Remote Desktop uses WebRTC for all data transport (P2P connections).
* `WebrtcConnectionToClient` / `WebrtcConnectionToHost`
* `WebrtcTransport`
### Authentication
Remoting supports several authentication mechanisms, coordinated by the
# Android Tab Implementation (`chrome/android/java/src/org/chromium/chrome/browser/tab/`)
**Central Documentation Hub:** [`//chrome/browser/tab/GEMINI.md`](/chrome/browser/tab/GEMINI.md)
Read [`/chrome/browser/tab/GEMINI.md`](/chrome/browser/tab/GEMINI.md) before modifying classes in this directory, and update it if any architectural behavior, lifecycle rule, or directory structure changes.
# D-Bus Interface Header Generation
This directory contains C++ headers generated from D-Bus interface definitions.
If you find that a required D-Bus interface header is missing, you can generate
it using the following steps.
## 1. Build the generator tool
The `gen_dbus_interface` tool is used to convert D-Bus XML introspection data
into C++ headers.
```bash
autoninja -C out/debug gen_dbus_interface
```
## 2. Introspect the D-Bus interface
Use `busctl` to obtain the XML definition of the interface. Yo**Role and Goal:** You are a C++ coding assistant for the Annotated Page
Content (APC) project, specialized in helping with writing, debugging, and
explaining C++ code.
**Project Overview:** See @readme.md.
**Critical Code Freshness Instructions:**
* Your training data is outdated. MUST prioritize @ path attachments
representing current workspace state.
* **Main Objectives:**
* **Completeness**: Capture all relevant page information (text, images,
forms, tables, structural elements), including conten# Remoting Signaling Instructions
Instructions for working in `//remoting/signaling`.
## Architecture Overview
Remoting signaling handles the initial connection setup (handshake) between a
client and a host. It uses Jingle (XMPP-based) concepts for session negotiation,
though the actual transport mechanisms have evolved.
### SignalStrategy & Transports
The `SignalStrategy` interface is the core of signaling. We currently support
two primary transport backends:
1. **FTL (Faster Than Light)**
* T# Windows Host Implementation Details
This directory contains Windows-specific implementations for the CRD host. It
is characterized by deep integration with Windows services, COM, and WTS
(Windows Terminal Services).
## Key Components
* **Daemon Process (Windows Service):** `remoting/host/win/host_service.cc`
* This is the entry point when running as a Windows service.
* It manages the lifecycle of the `Network` and `Desktop` processes.
* **Host Process Executables & Roles:**
* `re# Remoting Host Mojo Interfaces
This directory defines the Mojo interfaces for IPC between CRD host processes.
## Process Communication Map
Understanding which processes use which interfaces is key to navigating the host
architecture.
* **`remoting_host.mojom`**
* *Users:* `Network` <-> `Daemon`
* *Role:* High-level host control and status.
* **`desktop_session.mojom`**
* *Users:* `Network` <-> `Desktop`
* *Role:* Screen capture, input injection, and session lifecycle.
* **Do not use the `upload_change_list` tool from the `depot_tools` extension.
Do not use `git cl upload`.
Do not use `git push`.
# Remoting Base Instructions
Instructions for working in `//remoting/base`.
## Architecture Overview
The `base` directory contains foundational utilities, common data structures,
and abstractions used across all of Chrome Remote Desktop (CRD). Code here
should **not** depend on higher-level components like `host` or `client`.
### Core Components
* **Authentication & OAuth:**
* Contains implementations for retrieving and managing OAuth tokens
(`OAuthTokenGetter`, `GaiaOAuthClient`) and h# Chrome Remote Desktop Host Architecture
This directory contains the host-side logic for Chrome Remote Desktop. The host
is a multi-process system with platform-specific implementations and complex
Mojo IPC orchestration.
## Host Modes: Me2Me vs. It2Me
The host codebase serves two distinct feature modes:
1. **Me2Me (Remote Access):**
* *Persistent:* Runs as an OS daemon/service.
* *Auto-Start:* Can start before a user logs in.
* *Architecture:* Multi-process (Daemon, Network, DesktopAGENTS.md# Remoting Client Instructions
Instructions for working in `//remoting/client`.
## Architecture Overview
The `client` directory contains the native client implementation for Chrome
Remote Desktop.
### Usage and Platform Constraints
* **Target Platform:** The native client code is exclusively built for
**ChromeOS**.
* **Primary Consumer:** This implementation is primarily used by the **Boca**
project which lives in `//chromeos/ash/components/boca/spotlight`.
* **Android/iOS/Web:** No implem# Chrome Remote Desktop Linux Host
This directory contains the implementation of the Chrome Remote Desktop host for
Linux.
## GVariant Library Usage
A set of C++ wrappers for GLib's `GVariant` is used extensively in this
directory for type-safe D-Bus communication and data handling. It is highly
recommended to be familiar with the
[GVariant type system](https://docs.gtk.org/glib/struct.VariantType.html) before
working with this code.
### Key Components
* **`gvariant_type.h`**: Defines the `Type` clas# IT2Me (Remote Support) Implementation
This directory contains the host-side logic for "Remote Support" (IT2Me), which
is architecturally distinct from the persistent "Remote Access" (Me2Me) host.
## Key Differences from Me2Me
* **Browser-Driven Lifecycle:** IT2Me is NOT a persistent service. It is a
"Native Messaging Host" (NMH) launched by the browser on demand.
* **Security Context:** It runs in the user's session without privileged
access to the system.
* **User Invitation:** Requires # Android Tab Architecture & Persistence (`chrome/browser/tab/`)
> **Maintenance Notice:** This file is the central documentation hub for `chrome/browser/tab/`, `chrome/android/java/src/org/chromium/chrome/browser/tab/` ([`GEMINI.md`](/chrome/android/java/src/org/chromium/chrome/browser/tab/GEMINI.md)), and `chrome/browser/android/tab_*`. Update this file whenever any documented behavior, contract, or directory structure changes.
---
## 1. Ecosystem & Directory Structure
The Android Tab subsystem is spl# Omnibox Developer & Agent Guidelines
This document outlines the architectural patterns, coding standards, and testing guidelines for the Omnibox component in Chrome on Android.
## Maintaining These Guidelines
Agents working within or modifying the Omnibox codebase are expected to actively maintain this file:
- **Keep Guidance Accurate & Current**: When any instruction, architectural pattern, or code reference in this document becomes outdated—either as a direct result of a change or in relation to iremoting/GEMINI.md
v8/GEMINI.md
.jj/
!.gemini/plans/
# TODO(crbug.com/423945285): figure out less restricted blockage for
# Chromium third_party/
third_party/*
!third_party/angle
!third_party/blink
!third_party/catapult
!third_party/dawn
# No AI features or AI indexing is needed for out/ dir
out/
---
name: disable-test
description: >-
Guide for disabling Chromium tests (C++, Android Java, or WebUI).
Use this skill when you need to disable a failing or flaky test case.
---
# Disabling Chromium Tests
This guide provides instructions on how to disable test cases in Chromium,
covering C++ tests, WebUI tests, and Android Java tests.
## C++ and WebUI Tests
### Step 1: Confirm Disabling Scope
Before disabling a test, determine the scope:
1. **All Platforms:** The test fails everywhere.
2. **Platf---
name: network-traffic-annotations
description: Guide for writing and managing Network Traffic Annotations in Chromium. Use this skill when adding or updating code that makes network requests.
---
# Network Traffic Annotations
Network traffic annotations provide transparency into Chrome’s network
communication by documenting the intent, payload, and control mechanisms of each
network request.
## Where to add
Add annotations at the most rational point of origin for a request. This is
typically where---
name: gn-deps-debugging
description: >-
Diagnose Chromium GN dependency and include-visibility failures, including
BUILD.gn deps/public_deps, DEPS include rules, private headers, and circular
dependencies. Use for build or gn check dependency errors, not
C++/link/runtime/test failures.
---
# GN Dependency Debugging
Fix Chromium GN dependency metadata, include visibility, and DEPS rule failures
by correcting the dependency graph accurately, not by adding broad dependencies
that only make errors---
name: fix-outdated-javadocs
description: Audit and fix outdated or mismatched Javadoc comments by updating parameter names, adding missing @param tags, removing stale tags, converting return-only tags, and replacing pipe syntax per the Java style guide.
---
# Code Health: Fix Outdated Javadocs
Audit and fix outdated or mismatched Javadoc comments in Java files to align
with current method signatures and the Google Java Style Guide.
## Overview
Method signatures evolve as parameters are added, rename---
name: browser-window-feature-refactor
description: >-
Refactor Chrome desktop `Browser`-scoped logic, such as `Browser` and
`BrowserWindow` methods and state, into encapsulated feature controllers
owned by `BrowserWindowFeatures`.
---
# Browser Window Feature Refactor
Use this skill for Project Bedrock refactors that modularize desktop Chrome
browser-window logic by moving ownership, methods, or initialization into
`BrowserWindowFeatures` (BWF) and its feature controllers.
## Core Constraints
---
name: iterative-latency-investigation
description: >-
Iteratively investigate the source of latency in a Chrome build or in an experiment.
Coordinates the multi-agent swarm (Capture, SQL Analysis, Trace Injection) to run
automated browser scenarios, capture traces, analyze them using Perfetto SQL, and
surgically inject trace macros to recursively break down "black box" latency gaps.
---
# Navigation Latency Orchestration Workflow (Swarm Orchestrator)
This skill defines the main coordination pr---
name: harness-doc-writer
description: >-
Workflow for authoring Technical Design Documents and Execution Plans with
automated adversarial review. Use when asked to "write a design", "author an
execution plan", or create documentation in any component harness.
---
# Harness Document Writer
## Overview
This skill guides the primary project agent (e.g. `webapps_agent`) to author
high-quality Technical Design Documents (Designs) and Execution Plans (Plans)
and refine them via automated adversarial ---
name: histogram-cleanup
description: Identify and safely remove expired Chromium histograms (dead metrics/technical debt). Use this skill when a contributor asks to clean up metrics, fix code health issues related to histograms, remove obsolete code, or work on a histogram cleanup task.
---
# Code Health: Histogram Cleanup
Identify and safely remove "dead code" associated with expired histograms. This
includes removing the recording calls in C++/Java, cleaning up the metadata in
`histograms.xml`, and ---
name: create-web-applications-unittest
description: Instructions for creating a unit test in the chrome/browser/web_applications and chrome/browser/ui/web_applications directories.
---
# Creating Web Applications Unittests
This skill guides the process of creating a unit test in the
`chrome/browser/web_applications` directory. Read
[the testing documentation](../../testing.md) for information about testing
infrastructure in the [WebAppProvider](../../../README.md) system.
## 1. Test Base Class & Syst---
name: figma-context
description: Use this skill when you need to extract design context, metadata, tokens, and component mappings from a Figma design URL or node ID.
metadata:
author: Chrome Design System Team
compatibility: Requires Figma MCP Server to be running
---
# Figma Context: Discovery & Retrieval
When given a Figma design URL (e.g.,
`https://www.figma.com/design/:fileKey/:fileName?node-id=:nodeId`):
1. **Extract Parameters**: Extract the `fileKey` and the `nodeId` (replace
hyphens with---
name: figma-to-webui
description: Recreate Figma design frames as production-level Chromium WebUI code following Chrome's Lit-element architecture and styling guidelines. Use when asked to create WebUI code from a Figma frame URL.
metadata:
author: Chrome Design System Team
---
# Figma to WebUI: Code Generation
## Prerequisites
- **Figma MCP Server**: Must be active and configured in the workspace context
to fetch designs and metadata.
- **Chromium Repository**: This skill should be executed from---
name: experimental-ci-only-validator
description: >-
Checks if a Chromium test suite is barred by `ci_only = True` configuration
on coverage trybots, which prevents the test suite from running automatically
on Gerrit CQ runs and can cause underreported code coverage.
---
# CI-Only Validator Skill
This skill provides a quick way to check if a test suite has been configured as
`ci_only = True` on the code coverage trybots.
______________________________________________________________________
##---
name: trace-analysis
description: Skill for analyzing trace files and finding hard causal links across threads and processes (using waker_utid).
---
## Skill: Trace Analysis for Blocked Threads
When analyzing traces for UI jank or blocked threads (e.g., monitor contention
on main thread):
1. **Don't just look at the ancestors of a slice**: Looking at ancestors only
shows the calling hierarchy on that thread. It might lead to dead ends or
vague links if the callback was posted or triggered by an---
name: test-conversion-reviewer
description: Reviewer for converting unit tests to browser tests for Project Bedrock. Invoke this when the user needs to review their work while removing complex Browser dependencies from tests.
---
# Role
You are the **Reviewer** for Project Bedrock — eliminating Browser\*
dependencies from tests.
## Your Job
Review CLs that eliminates Browser\* dependency from a unit test. You must use
`jj log` and `jj diff` to inspect the commit history and diffs directly. Please
---
name: sync-new-data-type
description: >-
Adds scaffolding for a new Sync data type in Chromium across protocol buffers,
DataType definitions, feature flags, controller builders, unit tests, and
metrics.
---
# Add New Sync Data Type
This skill provides step-by-step guidance for adding the initial scaffold (CL
#1) for a new Sync data type in Chromium.
## Overview
Introducing a new Sync data type involves wiring up protocol buffers, enum
definitions, type info tables, feature flags, controller bu---
name: multi-agent-engineering-workflow
description: >-
Enforce engineering rigor and verification loop for
coding tasks using multi-agent debate and TDD.
---
# Multi-Agent Engineering Workflow
This skill acts as the high-level Orchestrator for the workflow protocol, a
consensus-driven multi-agent framework designed to resolve complex software
engineering problems. It coordinates scoping, TDD implementation, consensus
reviews, and deployment by aggregating specialized sub-skills.
## The Two-Path M---
name: apply-fix-from-crbug-with-diff
description: Automates applying a bug fix from a bug report containing a diff and CL description. Supports processing multiple bugs in parallel using subagents.
---
# Apply Bug Fix Skill
This skill provides a structured workflow for applying bug fixes that contain a
diff and a suggested CL description within the bug comments.
## Workflow Instructions
When asked to apply one or more bug fixes, strictly follow these steps:
### 1. Parallelization
- If you are aske---
name: jni-type-conversion
description: How to use @JniType annotations for ergonomic JNI. Relevant for Java files that use @NativeMethods or @CalledByNative.
---
# JNI Type Conversion
This skill guides the process of replacing explicit JNI conversion logic (like
`ConvertJavaStringToUTF8`) with `@JniType` annotations in Java and corresponding
native types in C++.
You must first read the prerequisite skill:
`//third_party/jni_zero/skills/jni-zero`.
## Workflow
1. **Identify Candidates**: Look for JNI---
name: chrome-tokens
description: Use this skill when you need to reference Chrome Design System token data or generate a token map.
---
# Chrome Tokens
## Token map
Token information is contained in the token map
([references/tokens.md](./references/tokens.md)), which maps Figma variables to
equivalent variables/constants in code across platforms. Reference this to help
with cross-platform translation, such as to find out what CSS variable
corresponds to a specific variable in Figma.
## Generating a---
name: harness-updater
description: >-
Maintains an AI Agent Harness (`_agents/` directory and `AGENTS.md` files):
repairs links and manifests, and routes new rules or procedures to the
correct file. Guides where to put requested additions in the harness.
---
# Harness Updater
Maintain an AI Agent Harness: the `_agents/` tree and the `AGENTS.md` files
scattered through a product area.
See [the README.md](../../README.md) file for the general intention / goals /
non-goals of this harness framewor---
name: experimental-read-code-coverage-metrics
description: >-
Retrieves and analyzes Chromium per-CL code coverage data from the Findit API.
Records per-CL coverage metrics for all modified source files and extracts unexecuted code lines.
---
# Read Code Coverage Metrics
This skill fetches and processes code coverage data for a given Gerrit CL and
patchset. It uses the live Findit API to retrieve coverage percentages and
line-by-line details, records coverage metrics for all modified source files,---
name: experimental-code-coverage-installer
description: >-
Verifies and initializes the Chromium development environment and dependencies
required for running code coverage tools and services.
---
# Code Coverage Installer Skill
This skill guides the verification and initialization of the development
environment.
______________________________________________________________________
## When to Use This Skill
Use this skill when:
- Preparing the workspace for running code coverage pipelines, lo---
name: webapps-dev
description: >-
How to develop, build, and test WebApps / PWA features across Desktop and
Android. This includes installation & related features, TWAs, WebAPKs,
etc.
---
# WebApps Development
Supplementary engineering information for the WebApps/PWA product area.
[Central Hub & Directory Map](/components/webapps/AGENTS.md)
## Development Procedures & Gotchas
- Always use the `cl-description` when uploading a patch to gerrit, as it has
useful guidance and tools.
## Testing---
name: modularize-chrome-browser
description: Modularize a chrome/browser/ subfolder by splitting its sources out of the monolithic //chrome/browser:browser target into dedicated source_set targets in the subfolder's own BUILD.gn. Use when the user asks to modularize, extract, or create BUILD targets for a chrome/browser/ subfolder, or mentions "Project Bedrock", "//chrome/browser modularization", or wants to split a subfolder into header/impl/test targets. Also use when the user says "modularize chrome/---
name: jni-zero
description: Guidance for working with JNI Zero to call between C++ and Java.
---
# JNI Zero Guidance
JNI Zero is a code generator that lives at `//third_party/jni_zero`. It's
written in Python and has both C++ and Java APIs. The main reference is in
`//third_party/jni_zero/README.md`.
## Guidance for GN
- Use `_jni` as a suffix for all `generate_jni()` and `generate_jar_jni()`
targets.
- `generate_jni()` targets should be in the same `BUILD.gn` as the
`android_library()` that own---
name: chrome-components
description: Use this skill when you need to map components across platforms, reference Chrome Design System component data, or generate a component spec.
---
# Chrome Components
Chrome components are the basic building blocks that make up the Chrome UI.
## Component map
The component map ([components.md](./references/components.md)) lists all
supported Chrome Design System components, each mapped to equivalent components
across all Chrome platforms.
For example, to find wha---
name: lint-sync
description: Add missing LINT.IfChange(...) / LINT.ThenChange(...) guards to enums in C++/Java and XML to keep them in sync. Trigger this skill ONLY when a contributor explicitly asks to add lint guards or synchronize enums using LINT guards.
---
# Code Health: Lint Sync Guards
Identify enums in the codebase that are persisted to logs (e.g., recorded in
`enums.xml`) but are missing the `LINT.IfChange(...)` and `LINT.ThenChange(...)`
guards that enforce synchronization between the sourc---
name: feature-flag-removal
description: Use when removing a `base::Feature` and its associated code
---
Your task is to clean up a `base::Feature` flag and its associated code.
<checklist>
01. **Determine flag's default state**:
- Search for the `BASE_FEATURE` that defines the flag's default state
(either `ENABLED_BY_DEFAULT` or `DISABLED_BY_DEFAULT`).
- If the default is platform-specific (i.e., guarded by `#if BUILDFLAG()`),
ask the user to clarify which should be considered th---
name: histogram-extension
description: Extension pipeline to bump expiration dates of Chromium UMA histograms.
---
# histogram-extension
## Overview
This skill outlines how you (the agent) should automatically locate and extend the expiration dates of UMA histograms in Chromium that have expired or are nearing expiration.
## Workflow
### 1. Discovery & Locate (Delegated)
- **AI-Led Discovery:** Delegate to the **`generalist`** sub-agent to find histograms that are nearing expiration if none are provided---
name: android-test-batching
description: >-
Guide for auditing and applying batching annotations (@Batch) and AutoReset rules
(AutoResetCtaTransitTestRule) to Android javatests in Chromium. Use this skill when
optimizing Java instrumentation test runtimes, resolving test state leaks, or migrating tests to batched execution.
---
# Android Instrumentation Test Batching Guide
This skill provides step-by-step instructions for auditing, batching, and
migrating Chromium Android instrumentation tests (---
name: multi-agent-skill-trainer
description: Updates checklists and personas for multi-agent skills.
---
# Multi-Agent Skill Trainer Protocol
This skill is responsible for capturing knowledge gaps and updating the personas
and checklists of other multi-agent skills (e.g., code review, TDD
implementation) based on execution feedback, constraints, or historical code
reviews.
## The Three-Path Model
The Trainer MUST select an execution path based on the inputs provided in
`project.workflow.json`:
1. *---
name: policy-creation
description: >
Guide for adding new enterprise policies to Chromium. Complete guide for
policy definitions, pref mapping, and writing tests.
---
# Chrome Enterprise Policy Development
This skill provides guidance for adding and testing new enterprise policies
within the Chromium codebase.
## 0. Gather Information
Before you start writing the policy, make sure you have the information needed
to completely write the policy YAML. Do not make assumptions.
- The current Chr---
name: remove-unused-includes
description: Look through a given folder to find and safely remove unused includes specifically for Clang-compiled code (using clang-include-cleaner), verifying that referencing targets compile.
---
# 🧹 Remove Unused Includes Skill
This skill provides a workflow and script to look through a given folder,
identify unused includes using `clang-include-cleaner`, and safely remove them
only if the affected targets continue to compile successfully.
## Prerequisites
1. **Co---
name: chrome-releases
description: >-
Queries Chrome commit, version, release, and milestone metadata. Use when
finding the first landed Chrome version of a commit, checking channel releases
across platforms, inspecting milestone schedules and branch refs, or checking
version containment.
---
# Chrome Releases & Commit Tracker
Queries relationships between Chrome commits, versions, releases, and milestones
using the Developer Graph API via `chrome_releases.py`.
## Capabilities & Commands
###---
name: android-do-not-mock
description: >-
How to write (or fix) Chromium Java unit tests (Robolectric / JUnit) without
mocking or spying android.view.View, android.app.Activity, or their
subclasses. Use when removing @SuppressWarnings("DoNotMock"), fixing a
"DoNotMock" Error Prone error, replacing Mockito.mock(View.class) /
@Mock Activity / spy(view), or when a test introduces a custom TestView /
TestRecyclerView / TestActivity subclass.
---
# Writing Tests Without Mocking View / Activity
---
name: multi-agent-code-review
description: >-
Multi-agent consensus-driven code review. Audits changes using security,
performance, and style checkers.
---
# Multi-Agent Code Review Protocol
This skill implements a consensus-driven multi-agent review loop to audit code
changes against specialized checklists (Security, Performance, Style).
## Stages Overview
- **Stage 0: Environment Grounding & Safety Verification**
- **Stage 1: Parallel Audits (Review)**
- **Stage 2: Feedback Consolidation (Cons---
name: enable-check-includes-strict
description: >-
Enable and migrate Chromium targets and directories to check_includes_strict =
true, diagnosing and resolving header include violations as part of the
check_includes_strict LSC. Use when adding directories to the allowlist,
enabling strict header checks on targets, or resolving
CHECK_INCLUDES_STRICT_UNTRIAGED targets.
---
# Enable `check_includes_strict`
This skill guides the process of enabling `check_includes_strict = true` across
Chromium---
name: keep-sorted
description: Automatically detects misordered lists in code (like Android XMLs), injects go/keep-sorted tags, sorts them, and creates CLs.
---
# 🧹 Keep-Sorted Finder & Fixer
This skill empowers AI agents to proactively maintain Chromium's code health by
identifying lists that should be alphabetically sorted, injecting
`go/keep-sorted` presubmit directives, and automatically fixing the order of
elements.
## 🎯 When to Use This Skill
- **Code Reviews:** When you notice unsorted ---
name: android-unit-test
description: >-
Guide for writing and converting Chromium Android unit tests across host Robolectric (chrome_junit_tests) and on-device (chrome_public_unit_test_apk) suites.
---
# Android Unit Testing Guide
This skill provides comprehensive guidance on choosing, writing, running, and
migrating Android test cases across Chromium's three major Java test tiers
(`chrome_junit_tests`, `chrome_public_unit_test_apk`, and
`chrome_public_test_apk`).
## 1. Test Tier Hierarchy & Choosi---
name: experimental-code-coverage-swarming-output-validator
description: >-
Validates code coverage Swarming execution logs, CAS input/output profile
artifacts, and profile generation environments to isolate remote trybot code
coverage failures.
---
# Code Coverage Swarming Output Validator
Use this skill exclusively to audit remote Swarming bot executions for code
coverage on Chromium tryjobs. It validates whether code coverage profile
artifacts (`.profraw`) were generated and returned to Conten---
name: chromium-code-link-formatting
description: >-
Use this skill when you need to link to files or specific lines in the Chromium codebase within a document intended for external sharing (e.g., Google Docs, Buganizer). This skill ensures links use the stable `source.chromium.org` format with line numbers and commit hashes for accessibility, even if the user doesn't explicitly specify the format. Do not use for internal or purely local notes where file:/// links are preferred.
---
# Chromium Source ---
name: bisect
description: >-
Bisect regressions or broken builds in the Chromium repository using deterministic
binary search, checking out midpoint commits, syncing dependencies with gclient sync,
compiling the target with autoninja, and querying the user for test results until the
culprit commit is isolated.
---
# Chromium Bisect
This skill guides the agent through bisecting a regression or broken build in
the Chromium repository using a deterministic binary search across git commits.
## 1.---
name: figma-to-views-json
description: Recreate Figma design frames as prototype-ready Chromium Views JSON script following Chrome's native Views architecture, component guidelines, and color/shape token mappings. Use when asked to create C++ Views Prototype JSON script from a Figma frame URL.
---
# Figma to Views JSON: Code Generation
## Prerequisites
- **Figma MCP Server**: Must be active and configured in the workspace context
to fetch designs and metadata.
- **Chromium Repository**: This skill ---
name: experimental-code-coverage-verification-prep
description: >-
Prepares a Gerrit CL for code coverage verification try jobs. Adds dummy
comments to trigger builds, optimizes builder configs by isolating test
suites, and commits all changes.
---
# Prep Verification Build
This skill modifies workspace files to ensure LUCI builders run, isolates target
test suites in builder Starlark files for speed, and uploads a Work-In-Progress
(WIP) Gerrit CL. It is used to prepare both experimental branche---
name: chromevox-debugging-on-chromebook
description: >-
Toggle ChromeVox screen reader on ChromeOS devices and send raw keyboard input events.
Use when debugging accessibility features on an external ChromeOS device, needing to enable
or disable ChromeVox, or sending specific keys to the system via SSH.
---
# ChromeVox Debugging on Chromebook
This skill provides instructions and scripts for toggling ChromeVox and
injecting key events into standard ChromeOS devices over SSH.
## 1. Toggling Chrom---
name: automated-tracing
description: >-
Automated Tracing & Performance Telemetry in Chromium using Perfetto and
Telemetry benchmarks. Use when you need to launch the browser binary,
execute a specific scenario/story, and collect Perfetto traces. Don't use
for trace analysis (use analyzing-sql-traces).
---
# Automated Tracing & Performance Telemetry
This skill guides the agent through the process of automated tracing in Chromium
to capture performance profiles on Desktop or Android Device/Emul---
name: test-conversion
description: Workflow for converting unit tests to browser tests for Project Bedrock. Invoke this when the user wants to remove complex Browser dependencies from tests.
---
# Role
You are an Elite Chromium Architecture Expert. Your objective is to orchestrate
a workflow to remove a Browser\* dependency from a unit test file. You will use
subagents for planning and review, but you will perform the implementation
yourself.
# Workspace Context
You are operating in the root directo---
name: basic-process-deep-dive
description: >-
Create focused Chromium Basic Process Windows API deep-dive reports from
existing audit data or a fresh test run, with symbolized call stacks, fuzzy
owner attribution, and prioritized remediation.
---
# Basic Process deep-dive reports
Use this skill for focused reports derived from the Basic Process Windows API
audit data.
## Select the input data
Choose one of two workflows:
- **Analyze existing data:** use the raw logs or symbolized CSV explicit---
name: remove-circular-includes
description: >-
Systematically eliminate allow_circular_includes_from declarations in Chromium
GN build files while preserving build graph equivalence and ensuring
multi-platform build and header-check correctness.
---
# Eliminating `allow_circular_includes_from` in Chromium
Guide for safely removing `allow_circular_includes_from` declarations across the
Chromium codebase, following the [Remove Circular Includes LSC][lsc-doc]
([go/remove-circular-includes-lsc](http---
name: screen-recording-on-chromebook
description: >-
Records screen video on ChromeOS devices, Chromebooks, and CrOS DUTs over SSH using ffmpeg KMS grab, and transcodes the video to MP4 on the host workstation. Use when recording the screen of a Chromebook, ChromeOS device, cros DUT, or CrOS test hardware, capturing visual bug reproductions or feature demonstrations on ChromeOS/cros, starting/stopping background screen capture on a Chromebook or ChromeOS DUT, checking recording status on a cros device---
name: create-web-applications-browsertest
description: Instructions for creating a browser test in the chrome/browser/web_applications and chrome/browser/ui/web_applications directories.
---
# Creating Web Applications Browsertests
This skill guides the process of creating a browsertest in the
`chrome/browser/web_applications` directory. Read
[the testing documentation](../../testing.md) for information about testing
infrastructure in the [WebAppProvider](../../../README.md) system.
## 1. Test Base C---
name: multi-agent-tdd-implementation
description: >-
Multi-agent Test-Driven Development workflow. Scaffolds APIs, writes failing
tests, synthesizes implementation, and verifies compilation and test runs.
---
# Multi-Agent TDD Implementation Protocol
This skill enforces Test-Driven Development (TDD) using specialized agents to
scaffold APIs, write tests, implement code, and merge changes.
## Stages Overview
- **Stage 0: Environment Grounding & Safety Verification**
- **Stage 1: API Scaffolding (---
name: views-code
description: Use this skill when generating or reviewing C++ Views code. This skill contains knowledge on C++ Views code following Chrome's native Views architecture and component guidelines.
metadata:
author: Chrome Design System Team
---
# Views: Code Guidelines
## General Views Guidelines
- Adhere to the official
[Chromium Views documentation](//src/docs/ui/views/overview.md).
- Adhering to the Chrome Design System. Reference component specs for relevant
components using the---
name: java-memory-leaks
description: How to identify and fix Java memory leaks in Android Chrome using LeakCanary traces.
---
# Fixing Java Memory Leaks in Android Chrome
This skill guides the process of identifying, debugging, and fixing Java memory
leaks in Android Chrome, typically identified by LeakCanary in instrumentation
tests.
## Workflow
1. **Confirm the Leak**:
- If you suspect a leak, confirm it by adding or running an instrumentation
test that exercises the component.
- If th---
name: figma-to-views
description: Recreate Figma design frames as production-ready Chromium C++ Views code following Chrome's native Views architecture, component guidelines, and color/shape token mappings. Use when asked to create C++ Views code from a Figma frame URL.
---
# Figma to Views: Code Generation
## Prerequisites
- **Figma MCP Server**: Must be active and configured in the workspace context
to fetch designs and metadata.
- **Chromium Repository**: This skill should be executed from insid---
name: physical-chromebook-debugging
description: >-
Build and deploy Chrome to a physical ChromeOS device, monitor logs, and take screenshots over SSH.
Use when working with remote Chromebook testing hardware, deploying new builds
of Chrome or ChromeOS, reading specific log files via SSH, or taking
screenshots of a connected test endpoint.
---
# Physical Chromebook Debugging Skills
This skill outlines how to perform standard tasks on a remote or local ChromeOS
debugging device over SSH.
## 1.---
name: experimental-code-coverage-orchestrator
description: >-
Triages Chrome code coverage bugs, initializes the environment, and
delegates to the appropriate debugging sub-agent (CQ or CI) using a shared
state file.
---
# Chrome Code Coverage Triage Orchestrator
You are the entry point for triaging Chrome code coverage bugs. Your job is to:
1. Gather initial information from the bug.
2. Set up the debugging environment.
3. Determine if the issue is for the Commit Queue (CQ) or Continuous
In---
name: analyzing-sql-traces
description: >-
Extracts raw trace data from Perfetto traces, runs arbitrary SQL queries for
custom follow-up analysis, and applies expert cognitive principles (Tiered Flow
Analysis, Semantic Mismatch, Redundancy) to identify performance bottlenecks,
structural redundancies, and tracer gaps. Use when you need to analyze a trace
under a specific focus/entrypoint slice, identify uninstrumented 'black boxes',
or execute arbitrary SQL queries on trace databases directl---
name: multi-agent-release-manager
description: >-
Cleans up the workspace, formats code, runs presubmit checks, and uploads CLs
to Gerrit.
---
# Multi-Agent Release Manager Protocol
This skill is a single-agent utility designed to handle workspace hygiene, code
formatting, final validation, and CL deployment for both Jujutsu (JJ) and Git
environments.
## Stage 0: Grounding & Validation
1. **Discover Environment:** Read `project.workflow.json` to ground the VCS
(`GIT` or `JJ`), repo type (`CHR---
name: experimental-code-coverage-local-debugger
description: >-
Runs code coverage locally via Universal Test Runner (UTR) or helper scripts,
mimicking LUCI trybots. Activate when CQ tryjobs fail or underreport coverage,
to test local GN/recipe repairs before uploading, or to debug hermetic
crashes.
---
# Code Coverage Local Debugger
Use this skill to generate code coverage data on a local workstation using
Chromium's Universal Test Runner (`tools/utr`). It wraps the exact recipe logic
used by---
name: java-inline-fqn-cleanup
description: Identify and clean up inline fully qualified Java names (FQNs) in first-party code, replacing them with standard imports.
---
# Code Health: Java Inline FQN Cleanup
Clean up inline fully qualified names (FQNs) in Java code by replacing them with
proper import statements at the top of the file, and then formatting/optimizing
the import order.
## Overview
Using fully qualified class names inline (e.g. `android.view.View view = ...`)
instead of importing them ---
name: experimental-code-coverage-config-validator
description: >-
Validates Chromium generated builder configurations (gn-args.json) for
code coverage correctness based on language context.
---
# Code Coverage Config Validator
Use this skill to verify if a Chromium builder is correctly configured in its
generated GN arguments (`gn-args.json`) to produce code coverage data.
______________________________________________________________________
## Inputs
When invoking this skill, the caller MUST ---
name: replace-anonymous-runnables
description: Replace anonymous classes with lambdas where applicable (SAM interfaces)
---
# Code Health: Replace Anonymous Runnables
Replace Java anonymous classes implementing Single Abstract Method (SAM) interfaces with lambdas to leverage Lambda Grouping and reduce binary size.
**Goal:** Clean up all occurrences of this pattern in the codebase.
## Relevant Resources & Style Guides
- **Optimization Advice:** [optimization_advice.md](https://source.chromium.org/ch---
name: experimental-code-coverage-build-invoker
description: >-
Triggers LUCI try jobs to generate code coverage data. Supports Mode 1
(standard git cl try for source CLs) and Mode 2 (led for custom builds).
---
# Code Coverage Build Invoker
This skill schedules LUCI try jobs to generate code coverage data. It provides
two distinct operational modes based on what is being tested.
## When to Use This Skill
Activate this skill when:
- Triggering verification try jobs on a pending Gerrit CL (`git c---
name: experimental-code-coverage-cq-debugger
description: >-
Executes the phased, multi-skill code coverage debugging playbook for triaging
underreported code coverage in the Gerrit Commit Queue (CQ).
---
## State Management
Throughout the triage process, maintain a state file at
`scratch/triage_state.json`. In **Step 1**, you MUST load the existing state
file (initialized by the orchestrator) and initialize ALL variables defined in
[templates/triage_state_template.json](templates/triage_state_tem---
name: latency-instrumentation
description: >-
Surgically injects trace macros (TRACE_EVENT) into Chromium C++ files to
expose "black box" latency gaps, resolves headers, and compiles the browser
using a self-healing loop. Strictly no performance optimizations or refactoring.
---
# Latency Instrumentation & Self-Healing Compile Loop
This skill guides the agent through surgically injecting `TRACE_EVENT` macros
into Chromium C++ files to break down uninstrumented main-thread blocking gaps
("black b---
name: multi-agent-skill-creator
description: Guide and tools for creating coordinated multi-agent workflows (skills) from first principles.
---
# Multi-Agent Skill Creator Protocol
This skill guides the design, implementation, and verification of a multi-agent
coordinated workflow (a "multi-agent skill") for a specific, repeatable task.
It operates under a **Cold Logic** mandate: it must be respectful, honest,
objective, and data-driven. It should actively help the user optimize their
workflow by pro---
name: nullaway
description: |-
Guide for resolving NullAway static analysis errors.
Best practices for:
- Passing ObservableSupplier/Supplier<@Nullable T>
- Dereferencing potentially @Nullable values
- Adding @NullMarked to Java code
---
## Core Principles
### 1. Migration to `@NullMarked` vs New Code
The approach differs significantly depending on whether you are migrating
existing code to `@NullMarked` or writing new code in an already `@NullMarked`
context:
- **Migration to `@NullMarked---
name: fuzzing
description: Implements, registers, and verifies fuzz tests in Chromium. Use when the user asks to add or write fuzzers in C++, or mentions fuzz testing or FUZZ_TEST.
---
# Fuzzing (Chromium)
## 1. Setup
Ensure the output directory is configured:
```bash
gn gen out/fuzz --args='enable_fuzztest_fuzz=true is_debug=false is_asan=true \
is_component_build=false use_remoteexec=true'
```
### 2. Implement the FUZZ_TEST
Add to `*_unittest.cc` alongside existing tests:
```cpp
#include "third---
name: test-conversion-researcher
description: Researcher for converting unit tests to browser tests for Project Bedrock. Invoke this when the user needs to understand the current codebase behavior while removing complex Browser dependencies from tests.
---
# Role
You are a **General Purpose Researcher** for Chromium. Your goal is to analyze a
coding problem, perform code search, and read the filesystem to figure out a
good approach or solution.
## Goal
Your job is to research a given problem by sear---
name: experimental-code-coverage-build-inspector
description: >-
Inspects LUCI build details using the inspect_coverage_build.py script to
validate code coverage configurations, test execution, and target file
coverage.
---
# Code Coverage Build Inspector
This skill inspects LUCI builds to validate instrumentation configuration,
coverage pipeline execution, recipe skip/error messages, and target file
coverage metrics.
> [!IMPORTANT] **Mandatory Diagnostic Script**: You MUST use the automated
> ---
name: preference-deprecation
description: >-
Safely deprecate, clean up, or migrate Chrome browser and local state
preferences following Chromium Prefs owners' guidelines across Desktop,
Android, and iOS. Use when removing, deprecating, or migrating an obsolete
Chromium preference.
---
# Preference Deprecation and Cleanup Workflow
Use this skill when asked to deprecate, clean up, remove, or migrate an obsolete
Chromium preference (Profile Pref or Local State Pref).
## Core Principles & Overvi---
name: hub
description: Orchestrator for the "Code Health Hub" framework. Trigger only when the user refers to the Hub or asks to see "available cleanup tasks" within the Chromium technical debt reduction system.
---
# 🛠️ Chrome Code Health Hub
Act as the Orchestrator for Chrome/Clank Code Healths. The goal is to make it
frictionless for engineers to contribute outside their immediate area.
## 🧠 Strategic Delegation (Efficiency & Context Management)
To maintain a fast and efficient session, M---
name: chromium-docs
description: >-
Search and reference Chromium documentation from the local docs index,
including design docs, APIs, and development guides. Use when the user asks
to find, locate, browse, or learn from Chromium docs about architecture,
APIs, testing, GPU, networking, or other Chromium topics.
---
# Chromium Documentation Search
## When to activate
Activate this skill when the user:
- Asks to **find or locate** Chromium documentation (e.g. "where are the Mojo
docs?", "fi---
name: chrome-performance-optimizer
description: >-
Autonomous multi-agent performance optimization loop for Chromium and V8.
Supports profile-seeded mode (analyzing Speedometer 3 / JetStream profiles via
pprof or Sagacity MCP) and pattern-driven discovery mode (fan-out exploration of
Blink and V8 macro-patterns grounded in historical wins and past rejected CLs).
Dispatches isolated implementations in git worktrees, verifies local tests, uploads
CLs, triggers 150-iteration Pinpoint try jobs o---
name: cl-link-from-hash
description: >-
Use this skill to get a link to a Gerrit Changelist (CL) from a given commit hash in the Chromium repository. Use when you need to find the review discussion, comments, or related issues for a specific commit. Don't use for linking to files or code lines.
---
# Getting CL Link from Commit Hash
## Method 1: Using `git log` (Fastest for landed commits)
If the commit has been merged into the main repository, the commit message
usually contains a `Reviewed-on:` f---
name: accessibility-cleanup
description: Finds common violations of the Android accessibility API in the Clank App Java code and attempts to address them (e.g. hardcoded state change announcements, missing events, focus moving, assertive live regions, etc).
---
# Code Health: Accessibility Cleanup
Identify and fix accessibility bugs in Android Java files where developers are
inadvertently violating the expected contract of the Android accessibility API.
## Overview
The Android Accessibility API has ---
name: style-guide
description: >-
Expert in Chromium code editing following project style guides and best
practices
---
# Chromium coding style
When writing, editing, or reviewing code in a given programming language,
use the corresponding style guide if one exists.
You MUST read [styleguide/styleguide.md](../../../styleguide/styleguide.md) to
discover the applicable style guides.
After making any major code changes, run "git cl presubmit". If there are any
reported style violations, fix them.---
name: histograms
description: Manage Chromium histograms and enums metadata. Use this skill when adding code that logs a histogram or when updating metadata in histograms.xml or enums.xml.
---
# Histograms
This skill provides guidance and workflows for logging histograms and managing
their metadata in the Chromium codebase.
## Overview
When adding code that logs a histogram, you must also add metadata about that
histogram and any associated enums to ensure they are properly tracked and
interpreted.
---
name: webui-code
description: Use this skill when generating or reviewing WebUI code. This skill contains knowledge on WebUI code following Chrome's Lit-element architecture and styling guidelines.
metadata:
author: Chrome Design System Team
---
# WebUI: Coding Guidelines
## General WebUI Guidelines
- Adhere to the official Chromium WebUI documentation. Read and follow the
guidelines in these files:
- For core architecture, Lit implementation details, and migration guides:
[docs/webui/webui---
name: crossbench-runner
description: >-
Assists developers in configuring, executing, and analyzing Crossbench
benchmarks (native commands and web-tests) in Chromium.
trigger: >-
Load this when the user asks how to run Crossbench, browser_startup,
web-tests, or where to find trace/CSV performance results.
---
# Crossbench Benchmark Runner
Use this skill when a developer asks for help running a Crossbench benchmark or
finding its results.
### 1. Determining the Runner Type
Crossbench tests in---
name: webui-lit-migration
description: >-
Guide for migrating Chromium WebUI components from Polymer to Lit.
Activate this skill if the user asks to migrate a file or component to Lit.
---
# Chromium WebUI Lit Migration
## Step 1: Run scripts/run_codemod_script.sh
IMPORTANT: Always do this first, as it automates trivial migration steps.
Run the script in this skill's scripts directory. Pass the path to the Polymer
based element's TS class definition file as the parameter. Example:
./webui-lit-mi---
name: figma-design-review
description: Critique and review Figma designs to ensure alignment with Chromium codebase components, tokens, and structure. Use when the user asks to critique, review, or audit a design, check alignment with code, or compare a Figma node against component specifications or coding standards.
metadata:
author: Chrome Design System Team
---
# Figma Design Review
This skill provides a structured workflow for reviewing a Figma design (node or
page) and critiquing its alignment ---
name: remove-unused-object-overrides
description: Identify and safely remove unreferenced Java Object overrides (equals, hashCode, toString) in Clank to eliminate dead virtual methods from release DEX bytecode while strictly preserving equals/hashCode symmetry.
---
# Code Health: Remove Unused Object Overrides
Identify and safely remove unreferenced Java `Object` overrides (`equals`,
`hashCode`, `toString`) in Clank to eliminate dead virtual methods from release
DEX bytecode while strictly preserving ---
name: loadline
description: Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench. Use when you need to measure page loading performance, evaluate performance-related changes in Chrome, or collect Perfetto traces with realistic Chrome workload.
---
# LoadLine Benchmark
This skill guides the usage of LoadLine benchmarks to measure browser page
loading performance by simulating real-world user journeys (loading a web page).
## Quick Start
Read `third_party/crossbench/config/ben---
name: spanify-buffers
description: >-
Find and fix unsafe buffer operations in a C++ file by removing UNSAFE_TODO markers and replacing unsafe raw pointers/C-style functions with base::span and standard safe containers. Use when the user asks to fix unsafe buffer warnings or `-Wunsafe-buffer-usage` errors. Don't use for other types of memory safety bugs like Use-After-Free, locking, or data races.
---
# LLM Prompt: Fix Unsafe Buffer Usage in Chromium
**Role:** You are an expert C++ developer, spe---
name: 3pp
description: |-
Guide for authoring and debugging 3pp (third-party package) recipes under
`//third_party/**/3pp/`. Covers `3pp.pb` schema, `install.py` platform traps,
metadata validation, and driving the `3pp-*-packager` trybots.
---
# Authoring 3pp Packages
3pp recipes build or repackage third-party tools into CIPD packages. A recipe
lives in `<pkg_dir>/3pp/` alongside `<pkg_dir>/README.chromium` and
`<pkg_dir>/LICENSE`.
**Prefer `//build/3pp_common` whenever it fits.** Chromium has# Signed Web Bundles (`components/web_package/signed_web_bundles`)
**Parent:** [Web Packaging Guidelines](/components/web_package/AGENTS.md) · [WebApps Guidelines](/components/webapps/AGENTS.md)
Cryptographic identity, Integrity Block v2 parsing, and multi-signature
verification (Ed25519 and ECDSA P-256 SHA-256) for Signed Web Bundles (`.swbn`).
## Canonical Docs
- [Signed Web Bundles Overview](README.md)
- [Web Packaging Component README](/components/web_package/README.md)
- [Core IWA Component Guidel# Blink Manifest Common (`third_party/blink/public/common/manifest`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Canonical Web App Manifest Mojo struct traits and cross-platform manifest
utilities.
# Android Webapps & WebAPKs (`chrome/android/java/.../webapps`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Java activity lifecycles, WebAPK coordinators, and update schedulers for Web
Applications on Android.
## Canonical Docs
- [README.md](README.md)
# Isolated Web Apps Views UI (`chrome/browser/ui/views/web_apps/isolated_web_apps`)
**Parent:**
[Desktop Web Apps Views UI](/chrome/browser/ui/views/web_apps/AGENTS.md) ·
[WebApps Guidelines](/components/webapps/AGENTS.md)
Views-based user installation wizard (`IsolatedWebAppInstallerCoordinator`,
`IsolatedWebAppInstallerViewController`, `IsolatedWebAppInstallerViewImpl`),
bundle installability verification UI, and multi-capture notification details
dialogs for Isolated Web Apps on Desktop and ChromeOS.
# Content Manifest Host (`content/browser/manifest`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Content layer browser-process coordinator for requesting, fetching, and
downloading manifests and app icons from renderer frames over Mojo.
## Canonical Docs
- [README.md](README.md)
# TTC WebUI Testing Constraints (`AGENTS.md`)
Rules in this file prevent brittle test doubles and compiler breaks when writing Mocha (`*test.ts`) tests.
## 1. Public-API Testing Only (No `any` Casts)
* **Never access private members via `any` (`(session as any).socket`) or invoke private methods (`session._sendSetup()`).**
* When a production class manages network, WebSocket, or audio connections (`WebSocket`, `AudioContext`, `SpeechRecognition`), use its dependency-injection factory hook (`webSocketFact# Isolated Web Apps Core Component (`components/webapps/isolated_web_apps`)
**Parent:** [WebApps Guidelines](/components/webapps/AGENTS.md)
Browser-agnostic building blocks for Isolated Web Apps (IWAs): Signed Web Bundle
(`.swbn`) reading and caching, `isolated-app://` URL loading, cryptographic
identity verification, IWA key distribution, and core domain types.
## Canonical Docs
- [Component Overview & Subdirectory Map](README.md)
- [Desktop Browser IWA Engine](/chrome/browser/web_applications/isolated# Gemini Context
This file provides context for the Gemini AI code assistant.
## Important Directories
- `src`: Main source code.
- `tests`: E2E tests.
- `lib`: Generated files (do not edit).
## Git Workflow
- Do not commit, pull, or push unless explicitly asked.
## Common Commands
All commands below are intended to be run from `third_party/chromium-bidi` directory unless specified otherwise.
### Fix
To restore the project to a known good state, run the following commands in order:
1. **Build:** `# Android WebAPK Browser Native (`chrome/browser/android/webapk`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
C++ browser-process components bridging Java WebAPK UI/coordinators and the
WebAPK minting server.
## Canonical Docs
- [README.md](README.md)
# Blink DevTools Protocol / Inspector (`third_party/blink/renderer/core/inspector`)
This directory contains the Blink renderer-side implementation of Chrome DevTools Protocol (CDP) domains and agents (e.g., `InspectorPageAgent`, `InspectorDOMAgent`, `InspectorNetworkAgent`).
## Canonical Guidelines
For comprehensive CDP testing guidelines, see the canonical guide:
- **[`/content/browser/devtools/protocol/AGENTS.md`](/content/browser/devtools/protocol/AGENTS.md)**
## Testing Summary
- **Inspector Protoc# Content DevTools Protocol (`content/browser/devtools/protocol`)
This directory contains the browser-side implementation of Chrome DevTools Protocol (CDP) domains in the `content` layer.
This document serves as the canonical guide for CDP testing conventions across Content, Blink, and Chrome protocol implementations.
## Testing Guidelines
### Prefer JavaScript Inspector Protocol Tests
Do **NOT** add new Inspector Protocol tests in C++ (such as in `devtools_protocol_browsertest.cc`).
Inspector Protoco# Web Packaging Component (`components/web_package`)
**Parent:** [WebApps Guidelines](/components/webapps/AGENTS.md)
Shared implementation for parsing, serializing, and verifying Web Bundles
(`.wbn`) and Signed Web Bundles (`.swbn`), used across the `data_decoder`
utility service, Blink, and Isolated Web Apps.
## Canonical Docs
- [Component Overview](README.md)
- [Signed Web Bundles Guidelines](signed_web_bundles/AGENTS.md)
- [Signed Web Bundles README](signed_web_bundles/README.md)
- [Core IWA Componen# Web Applications Central Hub (components/webapps)
Central Hub for Progressive Web Apps (PWAs), WebAPKs, Isolated Web Apps (IWAs),
and Web App Manifest processing in Chromium.
## Gotchas & Invariants
- **App Service Decoupling:** Do NOT add new dependencies on
`//components/services/app_service` or `apps::` types. Always define or use
`webapps::` types.
- **Downward Layering:** Architecture flows strictly downward: Embedders
(`chrome/browser/web_applications/`, `chrome/android/`) depend on Shared
# Chrome DevTools (`chrome/browser/devtools`)
This directory contains Chrome-layer DevTools integration (such as DevTools window management, UI bindings, and remote debugging) as well as Chrome-specific Chrome DevTools Protocol (CDP) domain handlers in `chrome/browser/devtools/protocol/` (e.g., `Autofill`, `Browser`, `Extensions`, `PWA`, `Target`, and Chrome-specific `Page` commands).
## CDP Testing Guidelines
For general CDP testing principles, see the canonical guide:
- **[`/content/browser/devtools/pr# Desktop Web Applications (`chrome/browser/web_applications`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Core desktop Progressive Web App (PWA) backend centered around the per-profile
`WebAppProvider` system: async command execution, fine-grained locking, LevelDB
storage, sync, and OS integration.
## Canonical Docs
- [Security Notes](SECURITY.md)
- [Commands Architecture](commands/README.md)
- [Lock System](locks/README.md)
- [Jobs](jobs/README.md)
- [Desktop Testing Guide](docs/t# Blink renderer/core Development Guidelines for AI Agents
This document provides essential instructions and best practices for developing in the `third_party/blink/renderer/core` tree. Adhere to these guidelines to ensure consistency and quality.
## Building and Running tests
- General
- In subsequent instructions, a build output directory of `out/Default` is assumed. Replace `out/Default` with the local output dir, as appropriate.
- Chromium
- To build Chromium, you should use: `autoninja -C out# AI Tool Definition Rules & Constraints (`AGENTS.md`)
This file governs all changes to `tools.mojom`, tool schemas, and assistant tool definitions in Chrome.
## 1. Tool Definitions are Pure API Contracts (Model-Agnostic)
* **Single-Tool Isolation:** Describe only what this specific tool does, its parameters, units/coordinate frames, and return values.
* **No Negative Peer Routing:** NEVER add negative routing constraints (e.g., *"Do not use this tool for X, use Tool Y instead"*).
* **Prompt-Agnostic Para# Isolated Web Apps Browser Engine (`chrome/browser/web_applications/isolated_web_apps`)
**Parent:**
[Desktop Web Applications](/chrome/browser/web_applications/AGENTS.md) ·
[WebApps Guidelines](/components/webapps/AGENTS.md)
Chrome browser-process implementation of Isolated Web Apps (IWAs) integrated
with `WebAppProvider`: installation, two-phase atomic updates, enterprise policy
force-installs, ChromeOS bundle caching (MGS/Kiosk), Controlled Frame
permissions, and `isolated-app://` navigation/URLLoader# GN2BP Agent Documentation
## Overview
`gn2bp` is the toolchain used to bridge Chromium's GN build system with Android's Soong build system (`Android.bp`). Its primary goal is to take a set of target GN labels (such as Cronet), parse their descriptions, and translate them into Android.bp modules. Finally, it uses Copybara to automatically import the Chromium code and the generated `Android.bp` files into the Android repository.
This tool is especially tailored for Cronet's import into Android, meaning i# DevTools Protocol Definitions (`third_party/blink/public/devtools_protocol`)
This directory defines the Chrome DevTools Protocol (CDP) API via PDL files (`browser_protocol.pdl` and `domains/*.pdl`).
## Canonical Guidelines
For complete CDP testing guidelines, see the canonical guide:
- **[`/content/browser/devtools/protocol/AGENTS.md`](/content/browser/devtools/protocol/AGENTS.md)**
## Testing Summary
- **Inspector Protocol tests in JavaScript:** When adding or modifying protocol domain definitions, <!-- Copyright 2025 The Fuchsia Authors
Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
<LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
This file may not be copied, modified, or distributed except according to
those terms. -->
# Instructions for AI Agents
## Agent Persona & Role
You are an expert Rust systems programmer contributing to **zerocopy**, a
library for zero-c# Views Examples & JSON View Builder Rules
- When modifying `json_view_builder.h` or `json_view_builder.cc` to add, change, or remove supported components, layout managers, or properties:
- Always update the JSON Schema documentation in `json_view_builder_schema.md` to maintain full congruency.
- Add or update corresponding unit tests in `json_view_builder_unittest.cc`.
# Inspector Protocol Tests (`third_party/blink/web_tests/inspector-protocol`)
This directory contains JavaScript Inspector Protocol tests for the Chrome DevTools Protocol (CDP).
## Test Directory Locations
- **Standard tests (no web server needed):**
`third_party/blink/web_tests/inspector-protocol/<domain>/<test-name>.js`
- **Tests requiring an HTTP server (e.g., cookies, cross-origin navigations, network headers):**
`third_party/blink/web_tests/http/tests/inspector-protocol/<domain>/<test-name>.js`
# Desktop Web Applications UI (`chrome/browser/ui/web_applications`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Desktop PWA UI controllers bridging the backend `WebAppProvider` with Chrome
browser windows, tabs, omnibox install actions, navigation capturing, and Mac
App Shims.
## Canonical Docs
- [README.md](README.md)
# Blink Web App Manifest Parser (`third_party/blink/renderer/modules/manifest`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Blink renderer-side parser converting JSON web app manifests into strongly typed
`blink.mojom.Manifest` structs for browser-process consumers.
## Canonical Docs
- [README.md](README.md)
# Desktop Web Apps Views UI (`chrome/browser/ui/views/web_apps`)
**Parent:** [WebApps Central Hub](/components/webapps/AGENTS.md)
Views-based UI dialogs (install bubbles, permission prompts, update reviews),
custom app frame toolbars, and the cross-platform integration test driver.
## Canonical Docs
- [README.md](README.md)
- [Isolated Web Apps Installer](isolated_web_apps/README.md) ·
[IWA Rules](isolated_web_apps/AGENTS.md)
- [Sub Apps Install Dialog](sub_apps/README.md)
# Cronet Project Overview
**Cronet** is the networking stack of Chromium extracted into a library for use
on Android. It is the same networking stack used in the Chrome browser and
provides an easy-to-use, high-performance, standards-compliant, and secure way
to perform HTTP requests. The project utilizes a mix of C++ for the core
networking functionality and Java for Android integration and API exposure. It
also supports QUIC natively.
## Architecture
Cronet's architecture is a layered design that bridgthird_party/blink/renderer/modules/.gitignorezed*.rulesthird_party/blink/renderer/bindings/.gitignorezed*.rulesthird_party/chromium-bidi/.gitignoreunspecified.agent/.gitignorezed*.rules