Android Code Quality Checker
wordpress-mobile/WordPress-Android
Runs detekt, checkstyle, and Android lint together, reads their reports, and proposes approved fixes grouped by file.
Add missing LINT.IfChange(...) / LINT.ThenChange(...) guards to enums in C++/Java and XML to keep them in sync.
$ npx skills add nwjs/chromium.src --skill lint-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nwjs/chromium.src lint-sync --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/projects/code-health/lint-sync .claude/skills/lint-sync && rm -rf skills-srcUse ~/.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/
Install the "lint-sync" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-sync into .claude/skills/lint-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-sync", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-syncType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nwjs/chromium.src --skill lint-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nwjs/chromium.src lint-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .agents/skills && cp -r skills-src/agents/projects/code-health/lint-sync .agents/skills/lint-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lint-sync" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-sync into .agents/skills/lint-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-sync", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nwjs/chromium.src --skill lint-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nwjs/chromium.src lint-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/agents/projects/code-health/lint-sync .cursor/skills/lint-sync && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "lint-sync" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-sync into .cursor/skills/lint-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-sync", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nwjs/chromium.src.git --path agents/projects/code-health/lint-sync--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nwjs/chromium.src --skill lint-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nwjs/chromium.src lint-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/agents/projects/code-health/lint-sync .gemini/skills/lint-sync && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "lint-sync" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-sync into .gemini/skills/lint-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-sync", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nwjs/chromium.src lint-syncInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nwjs/chromium.src --skill lint-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .github/skills && cp -r skills-src/agents/projects/code-health/lint-sync .github/skills/lint-sync && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "lint-sync" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-sync into .github/skills/lint-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-sync", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nwjs/chromium.src --skill lint-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nwjs/chromium.src lint-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/agents/projects/code-health/lint-sync .opencode/skills/lint-sync && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "lint-sync" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/projects/code-health/lint-sync into .opencode/skills/lint-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-sync", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
lint-syncAdd missing LINT.IfChange(...) / LINT.ThenChange(...) guards to enums in C++/Java and XML to keep them in sync.
Lint Sync is an agent skill from nwjs/chromium.src. 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.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/automated_review.md`, `references/patterns.md` and `scripts/find_candidates.py`).
It sits in Development, covering Linting and formatting and Code quality. It works with C++ and Java. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a9e8946. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3gitFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
chromium.googlesource.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Lint Sync loads about 1.8k tokens when it runs, and up to ~2.4k if it reads all its reference files. Until then it costs about 60 tokens; SKILL.md has 828 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from nwjs/chromium.src at commit a9e8946, republished under its BSD-3-Clause licence (© nwjs). 828 words, ~1,763 tokens.
.claude/skills/lint-sync/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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 source code and the XML
metadata.
When developers modify an enum in C++ or Java but forget to update the
corresponding entry in enums.xml, it breaks downstream metrics pipelines.
Adding IfThisThenThat lint guards prevents this by generating Gerrit warnings
if one side is modified without the other. Act as an expert Chromium contributor
to add these missing guards.
Goal: Add LINT.IfChange/ThenChange sync guards to enums in C++/Java and XML files to enforce synchronization.
[!IMPORTANT] Execution Protocol: Execute all steps sequentially one by one. Do not skip any step. Do not use
edit-codeorgrep. Userg(ripgrep) for searches.
Follow the workspace preparation steps in workspace_preparation.md to ensure a clean and updated environment.
Follow the Discovery & Batch Selection workflow.
Process the candidates by handling them one file at a time, and applying modifications inside each file one enum at a time (rather than refactoring all files or enums at once). This ensures stability and allows for precise verification. Refer to patterns.md for sync guard syntax rules and examples before making replacements.
Process Enum: For each enum in the list:
generalist sub-agent with this
exact prompt:"Compare the enum
<EnumName>in<SourcePath>with its metadata entry in<XMLPath>. Verify that all valid enum entries in the source have corresponding<int value="..." label="...">entries in the XML. IMPORTANT: Ignore/skip sentinel values likekMaxValue,kCount,COUNT, orNUM_ENTRIESin the comparison; they are not expected to be in the XML. Return 'SYNCED' or a concise list of missing entries that need to be added to the XML. Ensure any suggested labels reflect the enum constant name and any suggested<summary>tags are concise descriptions of the enum's purpose."
generalist returns missing entries, add them to
the XML file before proceeding with the guards. Only append missing entries
to the XML. Never modify existing names or values in either file. Do not
shift the numeric values of an enum. When adding new values to the XML
enum, check the format of the existing <int> entries and ensure new
entries match that format. Labels added to the XML MUST be concise
(matching the enum constant name) and any <summary> tags MUST be brief
descriptions of what the enum tracks.// These values are persisted to logs. Entries should not be renumbered and numeric values should never be reused.// Please keep in sync with... or
// Always keep this enum in sync with...). Remove ONLY the specific
sentence or line referencing the manual synchronization. Preserve all
other parts of the comment (e.g., descriptions of what the enum
represents, renumbering warnings, or usage instructions). If the entire
comment block only contains a sync reminder, the whole block may be
removed.// LINT.IfChange(<SourceName>) immediately before the enum
definition.// LINT.ThenChange(<XML Path>:<XmlName>) immediately after the
enum.<!-- LINT.IfChange(<XmlName>) --> immediately before the
<enum> tag.<!-- LINT.ThenChange(<Source Path>:<SourceName>) --> immediately
after the </enum> tag.SourceName) differs from the name in the XML file (XmlName), ensure
the correct name is used in each respective IfChange and ThenChange tag
as shown in the Syntax Rules.Iterate: Once the enum is fully synced and verified, move to the next one in the list and repeat. Do not attempt to batch multiple enums in a single file-write operation to ensure accuracy. Once all enums have been processed, proceed immediately to the Review & Validation phase.
python3 tools/metrics/histograms/validate_format.py to validate all
metadata changes. Address any errors that are reported.git cl format to format the modified source
code. Address any errors that are reported.generalist sub-agent. Proceed to the
Verification phase only after the review returns PASS.Follow the Verification workflow.
Invoke the Submission workflow. Pass the following context variables to the workflow:
lint-synclint-sync-<EnumName>lint-syncAdd missing LINT guards in <SourceFilePath>Adding IfThisThenThat lint guards to ensure synchronization between the following source code enums and their metadata representation in enums.xml: <EnumNamesList (comma-separated)>498775295© 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
SKILL.md and 3 other files (scripts, references) in agents/projects/code-health/lint-sync of nwjs/chromium.src.
Open the folder on GitHubat commit a9e8946
Lint Sync 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Lint Sync this skillnwjs/chromium.src | 160 | — | ~1.8k | Automated safety check: Pass | BSD-3-Clause | |
| Android Code Quality Checkerwordpress-mobile/WordPress-Android | 3.2k | — | ~587 | Automated safety check: Pass | GPL-2.0 | |
| WebRTC Include Cleanerwebrtc-sdk/webrtc | 446 | 1 repos | ~545 | Automated safety check: Pass | BSD-3-Clause | |
| Code Review Excellenceandrew-yangy/gru-ai | 155 | — | ~1.7k | Automated safety check: Notes | MIT | |
| ONNX Runtime Lintmicrosoft/onnxruntime | 22k | — | ~392 | Automated safety check: Pass | MIT | |
| Code Revieweralirezarezvani/claude-skills | 28k | 1 repos | ~1.6k | Automated safety check: Pass | MIT |
wordpress-mobile/WordPress-Android
Runs detekt, checkstyle, and Android lint together, reads their reports, and proposes approved fixes grouped by file.
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.
andrew-yangy/gru-ai
Provides comprehensive code review guidance for React 19, Vue 3, Rust, TypeScript, Java, Python, and C/C++.
microsoft/onnxruntime
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.
alirezarezvani/claude-skills
Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter.
dmmulroy/anti-slop
Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.
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)…
nwjs/chromium.src
Autonomous multi-agent performance optimization loop for Chromium and V8.
nwjs/chromium.src
Automated Tracing & Performance Telemetry in Chromium using Perfetto and Telemetry benchmarks.
nwjs/chromium.src
Queries Chrome commit, version, release, and milestone metadata.
nwjs/chromium.src
Search and reference Chromium documentation from the local docs index, including design docs, APIs, and development guides.
nwjs/chromium.src
Diagnose Chromium GN dependency and include-visibility failures, including BUILD.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies.
Categories
Add missing LINT.IfChange(...) / LINT.ThenChange(...) guards to enums in C++/Java and XML to keep them in sync. src.) guards to enums in C++/Java and XML to keep them in sync.
Lint Sync fits situations like: this skill ONLY when a contributor explicitly asks to add lint guards; synchronize enums using LINT guards.
Run `npx skills add nwjs/chromium.src --skill lint-sync -a claude-code`. Or copy the skill folder (agents/projects/code-health/lint-sync in nwjs/chromium.src) into .claude/skills/lint-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nwjs/chromium.src --skill lint-sync -a codex`. Or copy the skill folder (agents/projects/code-health/lint-sync in nwjs/chromium.src) into .agents/skills/lint-sync in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nwjs/chromium.src --skill lint-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lint-sync, .gemini/skills/lint-sync, .github/skills/lint-sync and .opencode/skills/lint-sync in your project.
Going by SKILL.md and its folder, Lint Sync needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and git). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: chromium.googlesource.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Lint Sync 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.
About 1.8k tokens (SKILL.md is roughly 7.1k 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 639 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Lint Sync: Android Code Quality Checker (wordpress-mobile/WordPress-Android, 3.2k stars), WebRTC Include Cleaner (webrtc-sdk/webrtc, 446 stars), Code Review Excellence (andrew-yangy/gru-ai, 155 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.
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.