Design or implement an HTML-first web interface. Use native browser features, progressive enhancement, server-rendered updates, and minimal JavaScript. Do not use for visual design, framework architecture, games, or browser debugging.
---
name: design-html-first-web-uis
description: >-
Design or implement an HTML-first web interface. Use native browser features, progressive enhancement, server-rendered updates, and minimal JavaScript. Do not use for visual design, framework architecture, games, or browser debugging.
---
# Design HTML-First Web UIs
## Workflow
1. Inspect the stack, templates, routes, form handling, JavaScript, CSS, browser targets, and repository guidance. Preserve established conventions.
2. Describe the interaction as links, forms, navigation, disclosure, selection, or transient UI before choosing an implementation.
3. Select the smallest native element that preserves server control and meaningful URLs. Use JavaScript only when HTML and CSS cannot provide the required behavior.
4. Define the baseline behavior without enhancement, then add optional native APIs, server-driven partial updates, or small scripts.
5. Implement the smallest complete change. Keep state in URLs, form controls, or server responses when these locations support the interaction. Do not keep a second copy of the same state in the client.
6. Validate keyboard use, focus, accessible names, error handling, history/navigation, no-JavaScript behavior, and relevant browser support.
## Decisions
- Prefer links for navigation and forms for state-changing requests.
- Prefer `details` and `summary`, `dialog`, and popover behavior when their semantics match the interaction. Do not use a native element when its semantics do not match the design.
- Use server-rendered pages or fragments for authoritative application state. Keep each user workflow usable without the enhancement layer. A full-page route can provide the fallback for a partial-update endpoint.
- Preserve normal HTTP behavior: validation errors, redirects, CSRF protection, idempotency expectations, and back/forward navigation.
- Use animations and view transitions only for presentation. Respect reduced-motion preferences. Do not require motion to complete a task.
## Verify Current Information
Verify current browser support and API syntax when they affect the result. Use MDN, WHATWG, and relevant framework documentation. Also verify accessibility behavior and framework integration when they affect the result. Record the source and check date in plans or reports. Do not present information from memory as current.
## Resource
Read [references/html-first-patterns.md](references/html-first-patterns.md) when selecting a native primitive, designing progressive enhancement, or preparing the validation matrix. Load it only when those details are needed.
## Output
Return a repository-specific patch or plan. Identify the semantic baseline, enhancement layer, required JavaScript, fallback behavior, accessibility decisions, and completed verification. Ask a question only when an unresolved product choice will change the implementation.
---
name: deep-code-elegance-and-beauty-review
description: Review one project for code elegance, beauty, developer joy, clarity, language conventions, naming, and locality. Evaluate the maintenance experience. Do not use this skill for defect, security, small-change, or visual UI reviews. Do not combine it with deep-codebase-review unless the user requests both skills.
---
---
name: deep-codebase-review
description: Review an entire repository, its architecture, technical debt, or a substantial branch. Produce findings about boundaries, lifecycle, concurrency, duplication, tests, plans, and maintenance. Do not use this skill for small changes, narrow defects, or visual UI review. Do not use it for repository guidance or an OpenAI Agents SDK production review.
---
---
name: design-ui-style-guide
description: Create a visual system for a new or redesigned user interface. Generate exactly three image concepts and stop for user approval. After approval, create an HTML and CSS style guide with a representative demo. Do not use when the user supplies an approved design, requests a small edit, or skips visual exploration.
---
---
name: django-6-upgrade-guide
description: Plan, audit, or complete an upgrade from Django 5.x to Django 6. Verify runtime and dependency compatibility, deprecations, settings, databases, migrations, tests, and deployment. Do not use for general Django work, earlier upgrades, frontend styles, or unrelated maintenance.
---