Agent skill

WebRTC Include Cleaner

by webrtc-sdk in webrtc-sdk/webrtc

Runs the WebRTC include-cleaner tool to add missing and remove unused C++ include directives before uploading a CL or after refactoring.

BSD-3-ClauseAuto-check passedDevelopment

Install WebRTC Include Cleaner

skills CLI
$ npx skills add webrtc-sdk/webrtc --skill include-cleaner -a claude-code

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

GitHub CLI
$ gh skill install webrtc-sdk/webrtc include-cleaner --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/webrtc-sdk/webrtc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/skills/include-cleaner .claude/skills/include-cleaner && 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
include-cleaner
GitHub stars
446
Used in
1 other repo
Token cost
~545 tokens
SKILL.md length
234 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Runs the WebRTC include-cleaner tool to add missing and remove unused C++ include directives before uploading a CL or after refactoring.

  • Works in 3 steps: Check for build errors: The tool might… → Fix GN dependencies: Use… → Format code: Run git cl format to fix…
  • Preparing a WebRTC CL for upload
  • SKILL.md covers When to Use, Basic Usage, Options and Post-Execution Steps, plus 1 more section
  • Calls git

What it does

The skill covers `tools_webrtc/iwyu/apply-include-cleaner`, a replacement for IWYU that makes sure every header used is explicitly included and unused ones are removed. It can run on named files, or with no arguments on every file modified relative to the upstream branch, which suits CL preparation. It is as expensive as a build for each file, so it should be used sparingly. `-p` prints the proposed changes without editing, and `-w` sets the GN work directory, defaulting to `out/Default`.

Afterwards the agent should build to catch the tool's occasional mistakes, run `tools_webrtc/gn_check_autofix.py` to fix GN `deps` issues caused by include changes, and run `git cl format` to tidy the include blocks. The tool generates `compile_commands.json` in the output directory when `out/Default` exists, and `clangd` must be checked out in the `.gclient` file.

When your agent uses it

  • Preparing a WebRTC CL for upload
  • After moving code or changing dependencies in .cc or .h files
  • Fixing include regressions flagged by presubmit or a bot

Example prompts

  • “Run the include cleaner on the files I changed and then fix the GN deps.”
  • “Preview the include changes the cleaner would make to my modified files without editing them.”
  • “My presubmit flagged include problems. Clean them up and format the result.”

Requirements

  • A WebRTC checkout with a GN output directory such as `out/Default`
  • `clangd` checked out through `.gclient`

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Check for build errors: The tool might occasionally make mistakes. Run a
  2. Fix GN dependencies: Use tools_webrtc/gn_check_autofix.py to fix any
  3. Format code: Run git cl format to fix any formatting issues in the

What it can do on your machine

Read from SKILL.md and the folder at commit 67c4578. 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

    Shell commands in SKILL.md call:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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

WebRTC Include Cleaner loads about 545 tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 234 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from webrtc-sdk/webrtc at commit 67c4578, republished under its BSD-3-Clause licence (© webrtc-sdk). 234 words, ~545 tokens.

Download SKILL.mdSave it as .claude/skills/include-cleaner/SKILL.md (or your agent's skills folder).
name
include-cleaner
description
Runs the WebRTC include-cleaner tool (IWYU replacement) to fix headers in C++ files. Use when preparing a CL for upload, after modifying .cc or .h files, or when instructed to fix include regressions.

WebRTC Include Cleaner

This skill provides instructions for using tools_webrtc/iwyu/apply-include-cleaner, a tool that automatically manages C++ #include directives in the WebRTC codebase. It ensures that every header used is explicitly included and that unused headers are removed.

When to Use

  • Pre-upload: Run this tool before uploading a CL to ensure clean includes.
  • After refactoring: When moving code or changing dependencies, use this to update #include blocks.
  • Fixing regressions: Use this if a presubmit or bot identifies include-related issues.

Basic Usage

To run the include cleaner on specific files:

bash
tools_webrtc/iwyu/apply-include-cleaner path/to/file.cc path/to/file.h

To run it on all modified files relative to the upstream branch (ideal for CL preparation):

bash
tools_webrtc/iwyu/apply-include-cleaner

Note: This is as expensive as a build for each file, so use it sparingly.

Options

  • -p, --print: Don't modify the files, just print the proposed changes.
  • -w WORK_DIR, --work-dir WORK_DIR: Specify the GN work directory (default: out/Default).

Post-Execution Steps

After running the include cleaner, it is recommended to perform the following steps to ensure build and style consistency:

  1. Check for build errors: The tool might occasionally make mistakes. Run a build to verify.
  2. Fix GN dependencies: Use tools_webrtc/gn_check_autofix.py to fix any deps issues caused by include changes.
    bash
    tools_webrtc/gn_check_autofix.py -C out/Default
  3. Format code: Run git cl format to fix any formatting issues in the #include blocks.
    bash
    git cl format

Prerequisites

  • The tool automatically generates compile_commands.json in the output directory if out/Default exists.
  • clangd must be checked out in your .gclient file ("checkout_clangd": True).

© webrtc-sdk, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in agents/skills/include-cleaner of webrtc-sdk/webrtc.

Open the folder on GitHubat commit 67c4578

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in webrtc-sdk/webrtc, which our catalogue first saw on October 7, 2026.

Compare with similar skills

WebRTC Include Cleaner 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.

WebRTC Include Cleaner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
WebRTC Include Cleaner this skillwebrtc-sdk/webrtc4461 repos~545Automated safety check: PassBSD-3-Clause
Qt C++ Code Reviewx-tools-author/x-tools1.1k2 repos~4.3kAutomated safety check: PassBSD-3-Clause
Qt Cpp ReviewSerial-Studio/Serial-Studio7.2k—~4.3kAutomated safety check: PassCustom licence
Validate Agent Workkryptamine/herdr-auto-title237—~605Automated safety check: PassMIT
ONNX Runtime Lintmicrosoft/onnxruntime22k—~392Automated safety check: PassMIT
Tilelang Reviewtile-ai/tilelang-ascend400—~2.8kAutomated safety check: NotesMIT

Similar skills

  • Qt C++ Code Review

    x-tools-author/x-tools

    Read-only review of Qt6 C++ code that combines a deterministic lint script with six parallel analysis agents and reports only high-confidence issues.

    1.1k GitHub starsUsed in 2 repos~4.3k tokens
    DevelopmentAuto-check passed
  • Qt Cpp Review

    Serial-Studio/Serial-Studio

    Qt6/C++ deep code review for Serial Studio. An agent skill from Serial-Studio/Serial-Studio.

    7.2k GitHub stars~4.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Validate Agent Work

    kryptamine/herdr-auto-title

    Final checklist before handing work back in the herdr-auto-title repo: review the diff, run make check, apply the comment and AGENTS.md rules, then report.

    237 GitHub stars~605 tokensUpdated today
    DevelopmentAuto-check passed
  • ONNX Runtime Lint

    microsoft/onnxruntime

    Official

    Lints and formats C++ and Python code in the ONNX Runtime repository with lintrunner, clang-format and ruff, preferring a pass over only the changed files.

    22k GitHub stars~392 tokensUpdated today
    DevelopmentAuto-check passed
  • Tilelang Review

    tile-ai/tilelang-ascend

    检查代码格式是否符合 CI 规则。自动检测并安装缺失工具(ruff、clang-format),先运行检查生成报告,使用醒目方式询问用户后,仅在用户同意时执行修复。工作流程:检测环境→自动安装缺失工具→运行检查→生成报告→醒目询问→用户确认→执行修复。使用此技能当:用户要求"格式检查"、"格式化代码"、"代码格式化"、"检查代码格式"、"代码…

    400 GitHub stars~2.8k tokensUpdated 7 days ago
    DevelopmentAuto-check: notes
  • Git Hooks Automation

    sickn33/agentic-awesome-skills

    Master Git hooks setup with Husky, lint-staged, pre-commit framework, and commitlint.

    47k GitHub starsUsed in 2 repos~3k tokens
    DevelopmentAuto-check passed

More from webrtc-sdk/webrtc

  • GN Check Autofix

    webrtc-sdk/webrtc

    Fixes GN dependency errors in WebRTC BUILD.gn files with the gn_check_autofix.py script, including missing deps and misused rtc_source_set targets.

    446 GitHub starsUsed in 1 repo~605 tokens
    Auto-check passed
  • Runs Google Test binaries in parallel with gtest-parallel to speed up single-threaded tests, repeat flaky ones and filter specific tests.

    446 GitHub starsUsed in 1 repo~432 tokens
    Auto-check passed
  • Reviews WebRTC changes through one senior engineer's lens: process hygiene, API stability, spec compliance, thread safety and modern C++, with feedback tuned to internal or external authors.

    446 GitHub starsUsed in 1 repo~754 tokens
    Auto-check passed
  • Builds a categorized HTML changelog for a WebRTC release from the git log between two branch heads, with a summary and commit and review links.

    446 GitHub starsUsed in 1 repo~485 tokens
    Auto-check passed
  • Git CL for Gerrit

    webrtc-sdk/webrtc

    Provides commands for interacting with Gerrit CLs using git cl, including issue management and non-interactive uploads.

    446 GitHub starsUsed in 1 repo~146 tokens
    Auto-check passed

Works with

Categories

Questions about WebRTC Include Cleaner

What does WebRTC Include Cleaner do?

Runs the WebRTC include-cleaner tool to add missing and remove unused C++ include directives before uploading a CL or after refactoring. The skill covers `tools_webrtc/iwyu/apply-include-cleaner`, a replacement for IWYU that makes sure every header used is explicitly included and unused ones are removed. It can run on named files, or with no arguments on every file modified relative to the upstream branch, which suits CL preparation.

When should I use WebRTC Include Cleaner?

WebRTC Include Cleaner fits situations like: preparing a WebRTC CL for upload; after moving code or changing dependencies in .cc or .h files; fixing include regressions flagged by presubmit or a bot.

How do I install WebRTC Include Cleaner in Claude Code?

Run `npx skills add webrtc-sdk/webrtc --skill include-cleaner -a claude-code`. Or copy the skill folder (agents/skills/include-cleaner in webrtc-sdk/webrtc) into .claude/skills/include-cleaner in your project. Claude Code loads it when a task matches its description.

How do I install WebRTC Include Cleaner in Codex?

Run `npx skills add webrtc-sdk/webrtc --skill include-cleaner -a codex`. Or copy the skill folder (agents/skills/include-cleaner in webrtc-sdk/webrtc) into .agents/skills/include-cleaner in your project. Codex loads it when a task matches its description.

Can I use WebRTC Include Cleaner 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 webrtc-sdk/webrtc --skill include-cleaner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/include-cleaner, .gemini/skills/include-cleaner, .github/skills/include-cleaner and .opencode/skills/include-cleaner in your project.

What does WebRTC Include Cleaner need to run?

Going by SKILL.md and its folder, WebRTC Include Cleaner needs the command-line tools its instructions call (git). Our summary lists: A WebRTC checkout with a GN output directory such as `out/Default`; `clangd` checked out through `.gclient`.

Does WebRTC Include Cleaner access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is WebRTC Include Cleaner 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. Review the folder before installing.

What licence does WebRTC Include Cleaner use?

WebRTC Include Cleaner is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does WebRTC Include Cleaner use?

About 545 tokens (SKILL.md is roughly 2.2k 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 WebRTC Include Cleaner?

Skills that share tags, products or a category with WebRTC Include Cleaner: Qt C++ Code Review (x-tools-author/x-tools, 1.1k stars), Qt Cpp Review (Serial-Studio/Serial-Studio, 7.2k stars), Validate Agent Work (kryptamine/herdr-auto-title, 237 stars) and ONNX Runtime Lint (microsoft/onnxruntime, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains WebRTC Include Cleaner?

webrtc-sdk (a GitHub organization) maintains it in webrtc-sdk/webrtc, which has 446 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 6, 2026.

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