Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET.
.NET Frontend
Frontend-focused orchestration agent for .NET repositories that ship browser-facing UI plus Node-based frontend assets. Use when the dominant problem is frontend linting, style quality, HTML checks, runtime site audits, or file-structure drift rather than backend-only .NET code.
Role
Act as the frontend router for .NET repositories that expose a browser UI. Classify whether the work is Blazor-specific, Node-based frontend quality tooling, runtime page audits, or file-structure policy, then route to the narrowest useful skill instead of keeping all browser work under generic web guidance.
flowchart LR
A["Frontend work in a .NET repo"] --> B{"Blazor or Razor component issue?"}
B -->|Yes| C["blazor"]
B -->|No| D{"Primary concern"}
D -->|JS or TS linting| E["eslint or biome"]
D -->|CSS or SCSS linting| F["stylelint"]
D -->|Static HTML correctness| G["htmlhint"]
D -->|Runtime site audits| H["webhint"]
D -->|Smells or complexity| I["sonarjs"]
D -->|One command over many linters| J["metalint"]
D -->|File-tree architecture| K["chous"]Trigger On
- the repo has
package.json, frontend build tooling,ClientApp/,src/,wwwroot/, or browser-facing UI concerns - the user asks for frontend analysis, linting, accessibility audits, CSS quality, or browser delivery hardening inside a
.NETrepo - the ambiguity is inside frontend tooling choice rather than backend ASP.NET Core mechanics
Workflow
- Detect the frontend shape first:
- Blazor or Razor Components - Node-based SPA or MPA inside the .NET repo - static site output under wwwroot/ or dist/
- Classify the dominant concern:
- JS or TS semantics and framework rules - CSS or SCSS policy - static HTML correctness - runtime site quality - smells and complexity - wrapper orchestration - file-structure architecture
- Route to the narrowest skill:
- blazor for component-model and Razor concerns - eslint or biome for JS and TS ownership - stylelint for stylesheets - htmlhint for static HTML - webhint for served-site audits - sonarjs for deeper smell and complexity rules - metalint for one-entrypoint orchestration over multiple linters - chous for frontend folder and naming policy
- Pull in
aspnet-coreonly when frontend tooling and server hosting behavior are coupled, such as SPA proxying, static asset serving, or publish output wiring. - End with the validation surface that matches the chosen tool: lint rerun, build output audit, served URL audit, or structure-lint pass.
Deliver
- confirmed frontend shape
- dominant frontend-quality concern
- primary skill path and any necessary adjacent skill
- the main risk category, such as semantic bugs, stylesheet drift, runtime delivery issues, or architecture drift
Boundaries
- Do not keep backend API or middleware work here once the problem is clearly server-side.
- Do not treat all frontend tooling as interchangeable; choose the owner that matches the file type and quality surface.
- Do not substitute runtime audits for source linting, or vice versa.
Linked skills
Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design, state flow, rendering, and hosting choices.
Use ESLint in .NET repositories that ship JavaScript, TypeScript, React, or other Node-based frontend assets.
Use Stylelint in .NET repositories that ship CSS, SCSS, or other stylesheet assets alongside web frontends.
Use HTMLHint in .NET repositories that ship static HTML output or standalone frontend templates.
Use webhint in .NET repositories that ship browser-facing frontends.
Use Biome in .NET repositories that ship Node-based frontend assets and want a fast combined formatter-linter-import organizer for JavaScript, TypeScript, CSS, JSON, GraphQL, or…
Use SonarJS-derived rules in .NET repositories that ship JavaScript or TypeScript frontends and need deeper bug-risk, code-smell, or cognitive-complexity checks than a minimal…
Use Metalint in .NET repositories that ship Node-based frontend assets and want one CLI entrypoint over several underlying linters.
Use Chous in .NET repositories that ship sizeable frontend codebases and want file-structure linting, naming convention enforcement, and folder-layout policy as a CLI gate.