Agent skill

Gn Deps Debugging

by nwjs in nwjs/chromium.src

Diagnose Chromium GN dependency and include-visibility failures, including BUILD.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies.

BSD-3-ClauseAuto-check passedDevelopment

Install Gn Deps Debugging

skills CLI
$ npx skills add nwjs/chromium.src --skill gn-deps-debugging -a claude-code

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

GitHub CLI
$ gh skill install nwjs/chromium.src gn-deps-debugging --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/nwjs/chromium.src.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/skills/gn-deps-debugging .claude/skills/gn-deps-debugging && 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
gn-deps-debugging
GitHub stars
160
Token cost
~1.5k tokens
SKILL.md length
779 words
Files
3 (incl. references)
Skills in repo
64
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Diagnose Chromium GN dependency and include-visibility failures, including BUILD.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies.

  • Works in 9 steps: Read the exact error first. Identify the… → Find both owning targets. Determine… → Prefer the narrowest dependency. Add the… → …
  • Gn check dependency errors
  • SKILL.md covers Core principles, Workflow, Common anti-patterns and Reporting
  • Calls git

What it does

Gn Deps Debugging is an agent skill from nwjs/chromium.src. Diagnose Chromium GN dependency and include-visibility failures, including BUILD.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies. Use for build or gn check dependency errors, not C++/link/runtime/test failures.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/common-errors.md` and `references/dependency-patterns.md`).

It sits in Development, covering Failing and flaky tests and Debugging. It works with C++. The repository describes itself as: Chromium codebase with NW.js modifications. Based on https://chromium.googlesource.com/chromium/src.git. The licence is BSD-3-Clause.

When your agent uses it

  • Gn check dependency errors
  • Not C++/link/runtime/test failures

Example prompts

  • “/gn-deps-debugging”

Workflow steps

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

  1. Read the exact error first. Identify the including source file, the
  2. Find both owning targets. Determine which GN target owns the including
  3. Prefer the narrowest dependency. Add the dependency to the smallest
  4. Preserve platform conditions. If the failing include is in a
  5. Use deps for implementation-only dependencies. If a symbol is used only
  6. Use public_deps only for public API exposure. If a public header
  7. Prefer forward declarations in headers. If a header only needs a pointer,
  8. Do not paper over architecture issues. Circular dependencies usually
  9. Avoid // nogncheck. Use it only for known GN limitations with

What it can do on your machine

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

Gn Deps Debugging loads about 1.5k tokens when it runs, and up to ~3.2k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 779 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.2k

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 nwjs/chromium.src at commit a9e8946, republished under its BSD-3-Clause licence (© nwjs). 779 words, ~1,480 tokens.

Download SKILL.mdSave it as .claude/skills/gn-deps-debugging/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
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 disappear.

Core principles

  1. Read the exact error first. Identify the including source file, the included header, the failing target, and the diagnostic category before editing.
  2. Find both owning targets. Determine which GN target owns the including file and which GN target owns the included header.
  3. Prefer the narrowest dependency. Add the dependency to the smallest target that needs it, not a parent or aggregate target.
  4. Preserve platform conditions. If the failing include is in a platform-specific file such as *_win.cc, add the dependency inside the matching platform block such as if (is_win).
  5. Use deps for implementation-only dependencies. If a symbol is used only in .cc files, keep the dependency private.
  6. Use public_deps only for public API exposure. If a public header exposes a type from another target in its declarations or inline code, downstream consumers may need that dependency transitively.
  7. Prefer forward declarations in headers. If a header only needs a pointer, reference, or return type declaration, forward declare and move the include to the .cc file when possible.
  8. Do not paper over architecture issues. Circular dependencies usually indicate the need to split an interface target, move shared abstractions, or invert dependencies.
  9. Avoid // nogncheck. Use it only for known GN limitations with conditional includes, and include the required bug reference if the local codebase already documents one.

Workflow

  1. Capture the failing command and output.

    • If the user provided a truncated error, ask for or rerun the relevant gn check or build command when an output directory and target are known.
    • Do not start a broad build just to reproduce unless the output directory and target are established.
  2. Classify the failure.

    • Read common-errors.md and map the diagnostic to one of the supported categories.
    • Extract the including file, included header, and target names from the diagnostic.
  3. Find the target that owns the including file.

    • Inspect nearby BUILD.gn files first.
    • Use GN queries when an output directory is known:
      bash
      gn refs out/Default //path/to/file.cc --all
    • Prefer the most specific non-aggregate target that directly lists the file or owns the source set containing it.
    • Check whether the file is platform-specific, such as *_win.cc, *_mac.mm, *_linux.cc, *_android.cc, or *_ios.mm. Platform-specific files usually require platform-specific dependencies.
  4. Find the target that owns the included header.

    • Search for the header in BUILD.gn sources lists.
    • If several targets list it, prefer the public/interface target intended for consumers.
    • Check whether the header belongs to a generated target, a public variable, or a private implementation target.
  5. Choose the correct fix.

    • Read dependency-patterns.md for deps vs public_deps, forward declaration, DEPS, and cycle handling rules.
    • If the include appears only in .cc, add a private deps entry.
    • If the include appears only in a platform-specific source file, add the private deps entry inside the matching platform condition, for example if (is_win).
    • If the include appears in a public header, first try to remove the include using a forward declaration. If the header must expose the dependency, add or promote the dependency to public_deps.
    • If a DEPS file blocks the include, verify whether the dependency direction is allowed by the architecture before adding include rules.
    • If adding the dependency creates a cycle, stop and redesign the dependency boundary instead of adding broader deps. When an output directory is known, use gn path <out_dir> //target_a //target_b to inspect the dependency chain that connects the targets.
  6. Validate the narrow change.

    • Run git cl format if BUILD.gn or DEPS files were edited.
    • Re-run the smallest relevant gn check or build command that reproduced the issue.
    • If the first fix reveals additional dependency errors, repeat the workflow one error at a time.
Show full SKILL.md (141 more words)Show less

Common anti-patterns

  • Adding dependencies to //chrome/browser:browser or another aggregate target when a smaller target owns the failing file.
  • Adding a Windows-only, macOS-only, Android-only, or iOS-only dependency unconditionally when the include is only used by a platform-specific source file.
  • Adding a dependency to public_deps because it makes the build pass, without proving the type is part of a public header API.
  • Adding // nogncheck instead of fixing the dependency graph.
  • Adding broad DEPS allow rules without checking the intended layering.
  • Fixing only the first error while leaving the target's public/private boundary inconsistent.

Reporting

When presenting a fix, state:

  • The failing include and source file.
  • The target that owns the source file.
  • The target that owns the included header.
  • Why the selected fix is deps, public_deps, forward declaration, DEPS, or target split.
  • The validation command that passed, or why validation could not be run.

© nwjs, 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

SKILL.md and 2 other files (references) in agents/skills/gn-deps-debugging of nwjs/chromium.src.

  • SKILL.md
  • references/common-errors.md
  • references/dependency-patterns.md

Open the folder on GitHubat commit a9e8946

Compare with similar skills

Gn Deps Debugging 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.

Gn Deps Debugging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gn Deps Debugging this skillnwjs/chromium.src160—~1.5kAutomated safety check: PassBSD-3-Clause
MCP Debuggerdebugmcp/mcp-debugger171—~3.8kAutomated safety check: PassMIT
Dbgtheodo-group/debug-that158—~2.2kAutomated safety check: PassMIT
Failure Oriented InstrumentationArabelaTso/Skills-4-SE253—~2.1kAutomated safety check: PassApache-2.0
Replay Oriented InstrumentationArabelaTso/Skills-4-SE253—~2.5kAutomated safety check: PassApache-2.0
Qualcomm QNN Backend Developmentpytorch/executorch5.1k—~1.8kAutomated safety check: PassCustom licence

Similar skills

  • MCP Debugger

    debugmcp/mcp-debugger

    A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…

    171 GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Dbg

    theodo-group/debug-that

    Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.

    158 GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Failure Oriented Instrumentation

    ArabelaTso/Skills-4-SE

    Selectively instruments code to capture runtime data for debugging failures and bugs.

    253 GitHub stars~2.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Replay Oriented Instrumentation

    ArabelaTso/Skills-4-SE

    Instruments programs to record execution information for deterministic replay debugging.

    253 GitHub stars~2.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Helps build, test and extend the Qualcomm AI Engine Direct (QNN) backend in ExecuTorch, with routes for new ops, model export, Buck-vs-CMake parity fixes and per-layer accuracy debugging.

    5.1k GitHub stars~1.8k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Systematic Debugging

    ultralisp/ultralisp

    A skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes

    258 GitHub starsUsed in 51 repos~2.4k tokens
    DevelopmentAuto-check passed

More from nwjs/chromium.src

All 64 skills in this repo
  • Analyzing SQL Traces

    nwjs/chromium.src

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

    160 GitHub stars~2.9k tokensUpdated 4 days ago
    Auto-check passed
  • Autonomous multi-agent performance optimization loop for Chromium and V8.

    160 GitHub stars~4.2k tokensUpdated 4 days ago
    Auto-check passed
  • Automated Tracing

    nwjs/chromium.src

    Automated Tracing & Performance Telemetry in Chromium using Perfetto and Telemetry benchmarks.

    160 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed
  • Chrome Releases

    nwjs/chromium.src

    Queries Chrome commit, version, release, and milestone metadata.

    160 GitHub stars~1.3k tokensUpdated 4 days ago
    Auto-check passed
  • Chromium Docs

    nwjs/chromium.src

    Search and reference Chromium documentation from the local docs index, including design docs, APIs, and development guides.

    160 GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed
  • Histogram Extension

    nwjs/chromium.src

    Extension pipeline to bump expiration dates of Chromium UMA histograms.

    160 GitHub stars~503 tokensUpdated 4 days ago
    Auto-check passed

Works with

Categories

Questions about Gn Deps Debugging

What does Gn Deps Debugging do?

Diagnose Chromium GN dependency and include-visibility failures, including BUILD.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies. src.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies.

When should I use Gn Deps Debugging?

Gn Deps Debugging fits situations like: gn check dependency errors; not C++/link/runtime/test failures.

How do I install Gn Deps Debugging in Claude Code?

Run `npx skills add nwjs/chromium.src --skill gn-deps-debugging -a claude-code`. Or copy the skill folder (agents/skills/gn-deps-debugging in nwjs/chromium.src) into .claude/skills/gn-deps-debugging in your project. Claude Code loads it when a task matches its description.

How do I install Gn Deps Debugging in Codex?

Run `npx skills add nwjs/chromium.src --skill gn-deps-debugging -a codex`. Or copy the skill folder (agents/skills/gn-deps-debugging in nwjs/chromium.src) into .agents/skills/gn-deps-debugging in your project. Codex loads it when a task matches its description.

Can I use Gn Deps Debugging 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 nwjs/chromium.src --skill gn-deps-debugging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gn-deps-debugging, .gemini/skills/gn-deps-debugging, .github/skills/gn-deps-debugging and .opencode/skills/gn-deps-debugging in your project.

What does Gn Deps Debugging need to run?

Going by SKILL.md and its folder, Gn Deps Debugging needs the command-line tools its instructions call (git).

Does Gn Deps Debugging 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 Gn Deps Debugging 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 Gn Deps Debugging use?

Gn Deps Debugging 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 Gn Deps Debugging 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. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Gn Deps Debugging?

Skills that share tags, products or a category with Gn Deps Debugging: MCP Debugger (debugmcp/mcp-debugger, 171 stars), Dbg (theodo-group/debug-that, 158 stars), Failure Oriented Instrumentation (ArabelaTso/Skills-4-SE, 253 stars) and Replay Oriented Instrumentation (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gn Deps Debugging?

nwjs (a GitHub organization) maintains it in nwjs/chromium.src, which has 160 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 3, 2026.

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