Official agent skill

Diagnostics Development

by biomejs in biomejs/biome

A skill your agent uses when designing or implementing Biome user-facing diagnostic presentation or APIs, including messages, advice, markup, details, code frames, categories, severity, and…

OfficialApache-2.0Auto-check passedDevelopment

Install Diagnostics Development

skills CLI
$ npx skills add biomejs/biome --skill diagnostics-development -a claude-code

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

GitHub CLI
$ gh skill install biomejs/biome diagnostics-development --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/biomejs/biome.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/diagnostics-development .claude/skills/diagnostics-development && 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
diagnostics-development
GitHub stars
26k
Token cost
~1.2k tokens
SKILL.md length
588 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when designing or implementing Biome user-facing diagnostic presentation or APIs, including messages, advice, markup, details, code frames, categories, severity, and…

  • Works in 3 steps: What condition was found? → Why does it matter? → What can the user do?
  • Implementing Biome user-facing diagnostic presentation
  • SKILL.md covers Choose the Diagnostic API, Three Questions, Messages and Markup and Advice Selection, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Diagnostics Development is an agent skill from biomejs/biome, published by the product's own GitHub organization. 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.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for coding agents working on the Biome codebase (github.com/biomejs/biome).

It sits in Development, covering Linting and formatting. The repository describes itself as: A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP. The licence is Apache-2.0.

When your agent uses it

  • Implementing Biome user-facing diagnostic presentation
  • Including messages
  • Standalone Diagnostic types
  • Lint matching logic

Example prompts

  • “/diagnostics-development”

Requirements

  • Compatibility (from SKILL.md): Designed for coding agents working on the Biome codebase (github.com/biomejs/biome).

Workflow steps

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

  1. What condition was found?
  2. Why does it matter?
  3. What can the user do?

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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.

  • Compatibility

    Designed for coding agents working on the Biome codebase (github.com/biomejs/biome).

    From compatibility in the SKILL.md frontmatter.

Context cost

Diagnostics Development loads about 1.2k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 588 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 biomejs/biome at commit c870caa, republished under its Apache-2.0 licence (© biomejs). 588 words, ~1,210 tokens.

Download SKILL.mdSave it as .claude/skills/diagnostics-development/SKILL.md (or your agent's skills folder).
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).

Diagnostics Development

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.

Choose the Diagnostic API

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.

Three Questions

A complete diagnostic answers:

  1. What condition was found?
  2. Why does it matter?
  3. What can the user do?

Keep those jobs separate:

  • the primary message identifies the condition;
  • a note or detail explains the consequence or rationale;
  • an action, diff, command, or final advice gives the next step.

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.

Messages and Markup

  • Name the actual problem, not only the syntax construct.
  • Highlight the smallest source range that helps the user understand it.
  • Interpolate values directly in markup!; do not allocate with format! first.
  • Use emphasis for source terms or configuration values where it improves scanning.
  • Keep the primary message short; put explanation in advice.
  • Do not claim a consequence the implementation does not establish.

Advice Selection

Choose advice based on the information users need:

NeedMechanism
Explanation or next stepnote or log advice
Point to a related source spandetail or code-frame advice
Show an exact textual changediff advice or code action
Show a command to runcommand advice
Extra opt-in contextverbose advice

Prefer source evidence over a paragraph describing where the issue is. Avoid adding multiple notes that repeat the same fact in different words.

Standalone Diagnostics

For #[derive(Diagnostic)], verify the current guide and derive implementation for supported attributes. Typical concerns include:

  • severity and category;
  • primary message and plain-text description;
  • location path, source, and span;
  • advice and verbose advice;
  • tags such as fixable, unnecessary, deprecated, or internal.

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.

Show full SKILL.md (205 more words)Show less

Categories

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.

Severity

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.

Validation

  • Add the narrowest test or fixture that renders the diagnostic.
  • Inspect snapshots for message, advice ordering, markup, path, and highlighted range.
  • Test conditional advice in every branch.
  • Test source ranges with surrounding trivia and multibyte text when offsets are computed manually.
  • For lint diagnostics, load lint-rule-development and testing-codegen for rule-specific fixtures.

Review Checklist

  • The primary message states what is wrong.
  • Advice explains why and gives a concrete next step.
  • The highlighted range is minimal and correct.
  • Structured markup avoids preformatted string allocation.
  • The selected API matches diagnostic complexity.
  • Category changes use the supported source or generator.
  • Snapshot coverage exercises every conditional message or advice path.

References

  • Diagnostic guide: crates/biome_diagnostics/CONTRIBUTING.md
  • Diagnostic trait: crates/biome_diagnostics/src/diagnostic.rs
  • Advice APIs: crates/biome_diagnostics/src/advice.rs
  • Existing derive examples: search for #[derive(Diagnostic)]

© biomejs, Apache-2.0. 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/diagnostics-development of biomejs/biome.

Open the folder on GitHubat commit c870caa

Compare with similar skills

Diagnostics Development 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.

Diagnostics Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Diagnostics Development this skillbiomejs/biome26k—~1.2kAutomated safety check: PassApache-2.0
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.3k1 repos~2.2kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k1 repos~2.2kAutomated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Babysit PR To Pass CIsgl-project/sglang37k2 repos~3kAutomated safety check: PassApache-2.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • 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.

    5.3k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Babysit PR To Pass CI

    sgl-project/sglang

    Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.

    37k GitHub starsUsed in 2 repos~3k tokens
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from biomejs/biome

All 12 skills in this repo
  • Changeset

    biomejs/biome

    Official

    A skill your agent uses when a Biome change may affect users and you must decide whether it needs a changeset, choose the release level, or create and edit .changeset/.md release-note text.

    26k GitHub stars~839 tokensUpdated today
    Auto-check passed
  • Doc Comments

    biomejs/biome

    Official

    A skill your agent uses whenever writing or editing Rust //, ///, or //!

    26k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Official

    A skill your agent uses when biome migrate eslint must preserve configurable ESLint rule options through source-option models, Biome conversions, typed rule variants, and migration fixtures.

    26k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Official

    A skill your agent uses whenever implementing or debugging Biome formatter behavior, IR composition, node rules, layout selection, source-comment handling, verbatim formatting, idempotency, internal…

    26k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Official

    A skill your agent uses when creating or modifying Biome lint rules or assists, including analyzer queries, semantic bindings, rule state, code actions, fix safety, options, registration, and…

    26k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Parser Development

    biomejs/biome

    Official

    A skill your agent uses when implementing or modifying Biome parser behavior, including .ungram grammars, lexers, token sources, parse rules, separated lists, error recovery, and parser fixtures.

    26k GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Diagnostics Development

What does Diagnostics Development do?

A skill your agent uses when designing or implementing Biome user-facing diagnostic presentation or APIs, including messages, advice, markup, details, code frames, categories, severity, and…. Diagnostics Development is an agent skill from biomejs/biome, published by the product's own GitHub organization. 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.

When should I use Diagnostics Development?

Diagnostics Development fits situations like: implementing Biome user-facing diagnostic presentation; including messages; standalone Diagnostic types; lint matching logic.

How do I install Diagnostics Development in Claude Code?

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

How do I install Diagnostics Development in Codex?

Run `npx skills add biomejs/biome --skill diagnostics-development -a codex`. Or copy the skill folder (.agents/skills/diagnostics-development in biomejs/biome) into .agents/skills/diagnostics-development in your project. Codex loads it when a task matches its description.

Can I use Diagnostics Development 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 biomejs/biome --skill diagnostics-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diagnostics-development, .gemini/skills/diagnostics-development, .github/skills/diagnostics-development and .opencode/skills/diagnostics-development in your project.

What does Diagnostics Development need to run?

SKILL.md names no scripts, command-line tools or credentials: Diagnostics Development is instructions for the agent only. Compatibility (from SKILL.md): Designed for coding agents working on the Biome codebase (github.com/biomejs/biome)..

Does Diagnostics Development access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Diagnostics Development 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 Diagnostics Development use?

Diagnostics Development is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Diagnostics Development use?

About 1.2k tokens (SKILL.md is roughly 4.8k 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 Diagnostics Development?

Skills that share tags, products or a category with Diagnostics Development: Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars) and Babysit PR To Pass CI (sgl-project/sglang, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Diagnostics Development?

biomejs (a GitHub organization, an official publisher) maintains it in biomejs/biome, which has 25,910 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 8, 2026.

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