biome-code-review
Use only for reviewing completed Biome PRs, branches, commit ranges, diffs, or working trees against business logic and requirements. Excludes broad…
Use this skill when designing or implementing Biome user-facing diagnostic presentation or APIs, including messages, advice, markup, details, code frames, categories, severity, and standalone `Diagnostic` types. Do not use for lint matching logic or code-action mutations.
$ npx -y skills add biomejs/biome --skill diagnostics-development --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/diagnostics-developmentContext preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill when designing or implementing Biome user-facing diagnostic presentation or APIs, including messages, advice, markup, details, code frames, categories, severity, and standalone `Diagnostic` types. Do not use for lint matching logic or code-action mutations.
name: diagnostics-development description: Use this skill when designing or implementing Biome user-facing diagnostic presentation or APIs, including messages, advice, markup, details, code frames, categories, severity, and standalone `Diagnostic` types. Do not use for lint matching logic or code-action mutations. compatibility: Designed for coding agents working on the Biome codebase (github.com/biomejs/biome).
Use `crates/biome_diagnostics/CONTRIBUTING.md` as the canonical API and design guide. Inspect current diagnostics in the same subsystem before choosing an advice type or derive shape.
Use `RuleDiagnostic` for lint and assist rules. Use a standalone type deriving `Diagnostic` when a parser, service, CLI, configuration, or infrastructure boundary needs its own structured diagnostic.
Do not introduce a standalone type solely to wrap a one-line lint message. Do not force a complex diagnostic with locations, sub-diagnostics, or conditional advice into a `RuleDiagnostic` chain when an owned type expresses the contract more clearly.
A complete diagnostic answers:
1. What condition was found? 2. Why does it matter? 3. What can the user do?
Keep those jobs separate:
Do not combine rationale and remediation into vague prose. When an automated action exists, its label normally carries the remediation rather than repeating it in a note.
Choose advice based on the information users need:
| Need | Mechanism | | --- | --- | | Explanation or next step | note or log advice | | Point to a related source span | detail or code-frame advice | | Show an exact textual change | diff advice or code action | | Show a command to run | command advice | | Extra opt-in context | verbose advice |
Prefer source evidence over a paragraph describing where the issue is. Avoid adding multiple notes that repeat the same fact in different words.
For `#[derive(Diagnostic)]`, verify the current guide and derive implementation for supported attributes. Typical concerns include:
The diagnostic type owns stable data needed at the reporting boundary. Avoid retaining large source buffers or allocating rendered strings when a range and structured value suffice.
Do not edit generated diagnostic-category registries by hand. Use the rule scaffolding or generator responsible for the category, then verify the generated entry and documentation URL.
For non-rule diagnostics, inspect neighboring categories and the current code-generation source before making changes; do not infer the workflow from the generated file.
Match established subsystem policy. Severity communicates operational impact, not how strongly the author feels about the message. Inspect nearby diagnostics and the current contributing guide before introducing a different severity or tag.
A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.
Repo: biomejs/biome
Use only for reviewing completed Biome PRs, branches, commit ranges, diffs, or working trees against business logic and requirements. Excludes broad…
Use this skill when a Biome change may affect users and you must decide whether it needs a changeset, choose the release level, or create and edit…
Use this skill whenever writing or editing Rust `//`, `///`, or `//!` comments in Biome, including comments added incidentally and end-user rustdoc inside…
Use this skill when `biome migrate eslint` must preserve configurable ESLint rule options through source-option models, Biome conversions, typed rule variants,…
Use this skill whenever implementing or debugging Biome formatter behavior, IR composition, node rules, layout selection, source-comment handling, verbatim…
Use this skill when creating or modifying Biome lint rules or assists, including analyzer queries, semantic bindings, rule state, code actions, fix safety,…