Agent skill

Webhint

by managedcode in managedcode/dotnet-skills

Use webhint in .NET repositories that ship browser-facing frontends.

MITAuto-check passedDevelopment

Install Webhint

skills CLI
$ npx skills add managedcode/dotnet-skills --skill webhint -a claude-code

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

GitHub CLI
$ gh skill install managedcode/dotnet-skills webhint --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/managedcode/dotnet-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/Tools/webhint/skills/webhint .claude/skills/webhint && 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
webhint
GitHub stars
486
Token cost
~1.3k tokens
SKILL.md length
586 words
Files
2
Skills in repo
81
Repo updated
First seen
Licence
MIT

At a glance

Use webhint in .NET repositories that ship browser-facing frontends.

  • Works in 7 steps: Choose the audit surface deliberately → Prefer repo-local installation and a… → Start from a documented preset such as… → …
  • A repo needs CLI audits for accessibility
  • SKILL.md covers Trigger On, Do Not Use For, Inputs and Workflow, plus 6 more sections
  • Calls rg, npx and npm

What it does

Webhint is an agent skill from managedcode/dotnet-skills. Use webhint in .NET repositories that ship browser-facing frontends. Use when a repo needs CLI audits for accessibility, performance, security headers, PWA signals, SEO, or runtime page quality against a. USE FOR: the repo ships a browser-facing site and the user asks about accessibility, performance, SEO, security headers, or page quality; the repo has .hintrc, hint scripts, or a. DO NOT USE FOR: JavaScript or TypeScript semantic linting; route that to eslint or biome; stylesheet-only linting; route that to…

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `manifest.json`). Compatibility notes: Requires a .NET repository with a browser-facing site or frontend build output; works best against a reachable local or deployed URL and a checked-in .hintrc.

It sits in Development, covering Linting and formatting, Secure coding and CSS and styling. It works with .NET, ESLint, JavaScript and TypeScript. The repository describes itself as: Installable .NET skill catalog and CLI for Codex, Claude Code, GitHub Copilot, and Gemini. The licence is MIT.

When your agent uses it

  • A repo needs CLI audits for accessibility
  • Security headers
  • Runtime page quality against a
  • : the repo ships a browser-facing site and the user asks about accessibility

Example prompts

  • “/webhint”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): Requires a .NET repository with a browser-facing site or frontend build output; works best against a reachable local or deployed URL and a checked-in `.hintrc`.

Workflow steps

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

  1. Choose the audit surface deliberately
  2. Prefer repo-local installation and a checked-in .hintrc.
  3. Start from a documented preset such as web-recommended, then customize only for real repo requirements.
  4. Add repeatable scripts to package.json, for example
  5. Keep runtime prerequisites explicit
  6. Treat findings as categorized work
  7. Re-run the audit after fixes on the same URL or build output so results are comparable.

What it can do on your machine

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

    • rg
    • npx
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npx and npm, 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.

  • Compatibility

    Requires a .NET repository with a browser-facing site or frontend build output; works best against a reachable local or deployed URL and a checked-in `.hintrc`.

    From compatibility in the SKILL.md frontmatter.

Context cost

Webhint loads about 1.3k tokens when it runs. Until then it costs about 169 tokens; SKILL.md has 586 words of instructions outside code blocks.

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

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 managedcode/dotnet-skills at commit 535dd55, republished under its MIT licence (© managedcode). 586 words, ~1,290 tokens.

Download SKILL.mdSave it as .claude/skills/webhint/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
webhint
description
Use webhint in .NET repositories that ship browser-facing frontends. Use when a repo needs CLI audits for accessibility, performance, security headers, PWA signals, SEO, or runtime page quality against a. USE FOR: the repo ships a browser-facing site and the user asks about accessibility, performance, SEO, security headers, or page quality; the repo has .hintrc, hint scripts, or a. DO NOT USE FOR: JavaScript or TypeScript semantic linting; route that to eslint or biome; stylesheet-only linting; route that to stylelint. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.
compatibility
Requires a .NET repository with a browser-facing site or frontend build output; works best against a reachable local or deployed URL and a checked-in `.hintrc`.

webhint for Browser-Facing Frontends in .NET Repositories

Trigger On

  • the repo ships a browser-facing site and the user asks about accessibility, performance, SEO, security headers, or page quality
  • the repo has .hintrc, hint scripts, or a served local frontend that should be audited
  • the team needs more than syntax linting and wants runtime-oriented site checks

Do Not Use For

  • JavaScript or TypeScript semantic linting; route that to eslint or biome
  • stylesheet-only linting; route that to stylelint
  • static HTML structure checks alone; route that to htmlhint

Inputs

  • the nearest AGENTS.md
  • package.json
  • .hintrc if present
  • the real audit target: local dev URL, preview URL, deployed URL, or built output

Workflow

  1. Choose the audit surface deliberately:
    • running local URL such as https://localhost:3000
    • preview or deployed URL
    • local connector against built output when no browser runtime is needed
  2. Prefer repo-local installation and a checked-in .hintrc.
  3. Start from a documented preset such as web-recommended, then customize only for real repo requirements.
  4. Add repeatable scripts to package.json, for example:
    • hint https://localhost:3000
    • hint https://example.test --config .hintrc
  5. Keep runtime prerequisites explicit:
    • supported Node.js version
    • browser availability when the connector needs Chromium-based automation
  6. Treat findings as categorized work:
    • headers and transport
    • accessibility and HTML issues
    • performance
    • PWA and manifest signals
  7. Re-run the audit after fixes on the same URL or build output so results are comparable.

Bootstrap When Missing

  1. Detect current state:
    • rg --files -g 'package.json' -g '.hintrc*'
    • rg -n '"hint"' --glob 'package.json' .
  2. Prefer a repo-local install:
    • npm install --save-dev hint
  3. Create or refine .hintrc with a known baseline such as web-recommended.
  4. Add repeatable commands to AGENTS.md and package.json, then verify with:
    • npx hint https://localhost:3000
    • npx hint -c ./.hintrc https://example.com
  5. Return status: configured if the repo now has a working site-audit gate, or status: improved if the baseline was tightened.
  6. Return status: not_applicable when the repo does not expose a stable browser-facing surface that can be audited in the current task.
Show full SKILL.md (261 more words)Show less

Handle Failures

  • Missing-browser errors usually mean the environment lacks Chrome, Chromium, or Edge for the selected connector.
  • WSL is a poor default for browser-backed runs; prefer a native environment or switch to a jsdom-style connector when appropriate.
  • EACCES or install-permission failures are usually fixed by installing hint as a repo devDependency instead of relying on a global tool.
  • If the audit target is unstable, authenticated, or still booting, fix the serving workflow first; otherwise the noise is not actionable.

Deliver

  • a repeatable webhint audit command and config
  • a stable target URL or build-output strategy
  • categorized runtime-quality findings the team can act on

Validate

  • the audited target matches the site that actually ships
  • browser or connector prerequisites are documented
  • webhint is not being used as a substitute for ESLint or Stylelint
  • reruns on the same target produce consistent comparisons

Ralph Loop

  1. Plan: analyze current state, target outcome, constraints, and risks.
  2. Execute one step and produce a concrete delta.
  3. Review the result and capture findings.
  4. Apply fixes in small batches and rerun checks.
  5. Update the plan after each iteration.
  6. Repeat until outcomes are acceptable.
  7. If a dependency is missing, bootstrap it or return status: not_applicable with a reason.
Required Result Format
  • status: complete | clean | improved | configured | not_applicable | blocked
  • plan: concise plan and current step
  • actions_taken: concrete changes made
  • verification: commands, checks, or review evidence
  • remaining: unresolved items or none

Example Requests

  • "Run webhint against the local frontend before release."
  • "Add accessibility and security-header audits for this site."
  • "Why does webhint fail in CI but not locally?"

© managedcode, MIT. 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 1 other file in catalog/Tools/webhint/skills/webhint of managedcode/dotnet-skills.

  • SKILL.md
  • manifest.json

Open the folder on GitHubat commit 535dd55

Compare with similar skills

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

Webhint compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Webhint this skillmanagedcode/dotnet-skills486—~1.3kAutomated safety check: PassMIT
Igniteui Angular LintingIgniteUI/igniteui-angular599—~614Automated safety check: PassCustom licence
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.2k—~2.2kAutomated safety check: PassMIT
Ultraciteagustinusnathaniel/nextarter-tailwind1252 repos~1.2kAutomated safety check: PassMIT
Code Qualityredis/RedisInsight8.9k—~1.2kAutomated safety check: PassCustom licence
Port Ruleweb-infra-dev/rslint460—~1.7kAutomated safety check: PassMIT

Similar skills

  • Igniteui Angular Linting

    IgniteUI/igniteui-angular

    Quick-reference for linting the core Ignite UI for Angular library.

    599 GitHub stars~614 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • 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.2k GitHub stars~2.2k tokensUpdated 27 days ago
    DevelopmentAuto-check passed
  • Ultracite

    agustinusnathaniel/nextarter-tailwind

    Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects.

    125 GitHub starsUsed in 2 repos~1.2k tokens
    DevelopmentAuto-check passed
  • Code Quality

    redis/RedisInsight

    Official

    Code-quality standards for RedisInsight: TypeScript strictness, naming conventions (camelCase, PascalCase, UPPERSNAKECASE), linting rules, no any without reason, no !important in styles, and…

    8.9k GitHub stars~1.2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Port Rule

    web-infra-dev/rslint

    Port a new ESLint core or plugin rule to rslint, including explicitly requested batches.

    460 GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Migrate Oxlint

    Asvarox/allkaraoke

    Guide for migrating a project from ESLint to Oxlint. An agent skill from Asvarox/allkaraoke.

    261 GitHub starsUsed in 4 repos~2.5k tokens
    DevelopmentAuto-check passed

More from managedcode/dotnet-skills

All 81 skills in this repo
  • Analyzer Config

    managedcode/dotnet-skills

    Use a repo-root .editorconfig to configure free .NET analyzer and style rules.

    486 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Archunitnet

    managedcode/dotnet-skills

    Use the open-source free ArchUnitNET library for architecture rules in .NET tests.

    486 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Aspire

    managedcode/dotnet-skills

    Build, upgrade, and operate Aspire 13.5.x C or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults, integrations, dashboard, testing, MCP, and deployment patterns for…

    486 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Aspnet Core

    managedcode/dotnet-skills

    Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET.

    486 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Asynkron Profiler

    managedcode/dotnet-skills

    Use the open-source free Asynkron.Profiler dotnet tool for CLI-first CPU, allocation, exception, contention, and heap profiling of .NET commands or existing trace artifacts.

    486 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Azure Functions

    managedcode/dotnet-skills

    Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable Functions patterns.

    486 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Questions about Webhint

What does Webhint do?

Use webhint in .NET repositories that ship browser-facing frontends. Webhint is an agent skill from managedcode/dotnet-skills.NET repositories that ship browser-facing frontends.

When should I use Webhint?

Webhint fits situations like: A repo needs CLI audits for accessibility; security headers; runtime page quality against a; : the repo ships a browser-facing site and the user asks about accessibility.

How do I install Webhint in Claude Code?

Run `npx skills add managedcode/dotnet-skills --skill webhint -a claude-code`. Or copy the skill folder (catalog/Tools/webhint/skills/webhint in managedcode/dotnet-skills) into .claude/skills/webhint in your project. Claude Code loads it when a task matches its description.

How do I install Webhint in Codex?

Run `npx skills add managedcode/dotnet-skills --skill webhint -a codex`. Or copy the skill folder (catalog/Tools/webhint/skills/webhint in managedcode/dotnet-skills) into .agents/skills/webhint in your project. Codex loads it when a task matches its description.

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

What does Webhint need to run?

Going by SKILL.md and its folder, Webhint needs the command-line tools its instructions call (rg, npx and npm). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires a .NET repository with a browser-facing site or frontend build output; works best against a reachable local or deployed URL and a checked-in `.hintrc`..

Does Webhint access the network?

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

Is Webhint 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 Webhint use?

Webhint is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Webhint use?

About 1.3k tokens (SKILL.md is roughly 5.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 Webhint?

Skills that share tags, products or a category with Webhint: Igniteui Angular Linting (IgniteUI/igniteui-angular, 599 stars), Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.2k stars), Ultracite (agustinusnathaniel/nextarter-tailwind, 125 stars) and Code Quality (redis/RedisInsight, 8.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Webhint?

managedcode (a GitHub organization) maintains it in managedcode/dotnet-skills, which has 486 GitHub stars. The repository holds 81 skills in this directory. The repository was last updated on October 7, 2026.

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