umbraco-17-review-rules

Reviews Umbraco 17 diffs for security, performance, and accessibility defects.

Updated May 26, 2026
One-click install
npx skills add https://github.com/robot-denny/ai-sketchlab --skill umbraco-17-review-rules-robot-denny
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: umbraco-17-review-rules
Source: https://github.com/robot-denny/ai-sketchlab/tree/main/.agents/skills/umbraco-17-review-rules
Command: npx skills add https://github.com/robot-denny/ai-sketchlab --skill umbraco-17-review-rules-robot-denny

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Reviewing code in an Umbraco 17 project requires platform-specific knowledge that generic review checklists miss — null-returning published content APIs, alias collisions, unauthenticated custom endpoints, and per-request view-model costs. This Skill supplies those CMS-specific checks so reviewers catch defects that only manifest in Umbraco's rendering and content model. ## Core Features & Use Cases - Security and code-quality checks: Flags secrets serialized into client-visible markup, missing null guards on published content, alias traps, unauthenticated custom endpoints, hand-edited generated models, and manual .uda schema edits. - Performance review patterns: Identifies per-request view-model construction, N+1 content-tree traversal, media resolution in loops, missing caching on sitewide fragments, and synchronous form handlers without cancellation or deadlines. - Accessibility guidance: Covers editor-authored rich-text output, backoffice web-component extensions, and multiplied severity of defects in shared block views. - Use Case: When reviewing a pull request that adds a new listing page and a contact form endpoint, apply these rules to catch an unauthenticated POST endpoint, an N+1 media lookup in the listing loop, and a missing CancellationToken on the form handler. ## Quick Start Review this Umbraco 17 pull request diff using the umbraco-17-review-rules checklist and report findings by severity.

Frequently Asked Questions about umbraco-17-review-rules

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review an Umbraco 17 pull request for security issues?

Check that nothing secret is serialized into client-visible markup, every custom controller or minimal API endpoint has explicit authorization, and generated models or .uda schema files are not hand-edited. An unauthenticated write endpoint is a Blocker finding.

What performance problems are common in Umbraco view rendering?

Per-request view-model construction is the hot path: repeated content lookups, content-tree traversal inside loops, and media resolution without caching are the recurring N+1 patterns. Missing caching on sitewide fragments like navigation or footers is itself a finding.

Why does an Umbraco content property return empty instead of throwing?

Umbraco's published content APIs return absent values rather than throwing far more often than typical .NET code assumes, and typo'd property aliases render empty silently. Reviewers should require null or empty guards before property access, enumeration, and dereferencing picked items.

Does accessibility apply to Umbraco backoffice extensions?

Yes. Backoffice extensions are web components and must meet the same bar: accessible names, keyboard operability, and focus management. Being admin-only is not an exemption since editors and administrators include disabled people.

When should a form submission handler be flagged in review?

Flag it when the handler is not async, lacks a CancellationToken on the signature and the outbound call, or has no deadline. A slow third-party endpoint otherwise blocks the visitor's request and consumes a request thread.