Build, simplify, and audit web UI using what the browser and your codebase already provide. Keep the behavior, accessibility, compatibility, and feel. Cut the machinery that does not earn its place.
Fewer Parts is an installable skill for coding agents. It reads the interface you have, the experience you need, and the constraints of your project.Then looks for the adoptable progressive enhancements.
It is not a UI library, a framework, or a fixed catalogue of CSS tricks. It adds judgment: when to use the platform, when to adapt an existing pattern, and when the code in front of it should stay exactly as it is.
01
Build
Start from the interaction and choose proportionate machinery.
02
Simplify
Preserve the experience while removing duplicated work and state.
03
Audit
Find where complexity earns its place—and where it no longer does.
Works with your existing stack
No runtime dependency
Changing nothing is a valid answer
Modern CSS and platform guidance surface possibilities. Baseline and Can I Use provide evidence. Fewer Parts makes the decision in the context of your codebase.
THE PROMISE, MADE VISIBLE
Keep the experience. Lose the machinery.
These are project decisions, not blanket rules. Choose a case to see what stays, what disappears, and why the result is still honest.
Compatibility is decided per project. The skill checks the exact syntax or API member against your declared targets and keeps a usable base when a feature is new. The final example is deliberate: fewer parts sometimes means avoiding a rewrite.
Five examples. One way of thinking. RUNNABLE PROOF
Support reviewed 14 September 2026. Baseline is a starting point; the skill checks your browser targets and the exact features in use. Newly available recipes preserve a usable base. About Baseline ↗
THE OTHER MODE
Or point it at the code you already have.
Ask for an audit or a review and the skill reads the repository instead of writing to it. It establishes scope and your browser targets first, scores the dimensions it could actually assess, then ranks findings with file evidence, effort, and compatibility risk. Nothing changes unless you ask for the fixes separately.
Audit this project's UI with $fewer-parts. Read-only — no changes yet.
Sample report
14 components, 3 routes, the Tailwind v4 theme, and the shared stylesheet
FEWER PARTS SCORE2.8/ 5
COVERAGE CONFIDENCEMedium
Carefully labelled and consistent, with layout and overlay code still doing work the platform can own. Four changes account for most of the available reduction; the form-validation code should stay.
Scored dimensions
Dimension
Score
Evidence
Interaction quality
2/5
The custom modal works by keyboard, but its close animation cannot be interrupted and focus briefly reaches the page behind it.
Project and styling-system fit
3/5
Tailwind v4 is installed and mostly used; three components keep a parallel stylesheet with duplicated spacing.
Runtime and dependency economy
2/5
Overlay, selected-state, and textarea measurement code duplicate behavior the current targets provide natively.
Accessibility and semantics
4/5
Labelling, focus order, announcements, and reduced-motion handling are consistent; preserve them during simplification.
Compatibility and fallbacks
3/5
Browserslist targets are respected, but two enhancements leave no usable base behind them.
Consistency and maintainability
3/5
Conventions are clear. Token use drifts in the more recently added components.
Give the card slot a size container and move both breakpoints to @container, keeping the one-column layout as the base.
Expected reduction: Remove two viewport-specific card overrides.
Impact 4/5
Effort S
Compat risk Low
Confidence High
NowS-02
Selected state synchronised in JavaScript
src/components/PlanPicker.tsx:61
Style the selected card with :has(input:checked) and drop the change listener. The radio group already holds the state.
Expected reduction: Remove one listener and a mirrored selected-state class.
Impact 3/5
Effort S
Compat risk Low
Confidence High
NextN-03
Custom overlay reimplements modality
src/ui/Modal.tsx:18
Move to dialog.showModal() for the top layer, focus containment, and Escape. Keep the existing close animation and the confirm/cancel return values.
Expected reduction: Remove the focus trap, Escape handler, scroll lock, and overlay z-index contract.
Impact 4/5
Effort M
Compat risk Low
Confidence Medium
LaterM-04
Spacing values duplicated outside the token scale
src/styles/legacy.css
Fold the remaining literal values into the Tailwind v4 theme so new components inherit them.
Expected reduction: Remove the parallel spacing scale after consumers migrate.
Impact 2/5
Effort M
Compat risk Low
Confidence High
Strengths to preserve
Form labelling, validation timing, focus order, and prefers-reduced-motion handling are consistent. The form script owns real application behavior and should not be removed merely because CSS can style validity.
Verification gaps
Safari was not available in this environment, so the container-query and :has() recommendations were checked against documentation rather than run there. Two routes behind authentication were not inspected.
An illustrative excerpt: the project and the scores are invented, the structure is the one the skill follows. The number describes whether the intended experience uses proportionate, project-appropriate machinery — not code quality, accessibility conformance, or performance overall.
THE APPROACH
Less machinery, with judgment.
01
Start with the outcome.
Start with the intended feel and behavior, then choose the smallest implementation that honestly delivers them.
02
Keep the whole interaction.
Preserve keyboard access, application state, interruption, and the behavior people depend on.
03
Check what really works.
Read current sources without repeating discovery. Test the result, and keep existing machinery when it still earns its keep.
FOR YOUR CODING AGENT
Take the patterns into your project.
Build, simplify, or audit. It uses platform guidance as evidence, adapts the decision to your codebase and styling system, and needs no MCP server or API key.
Prefer a manual install? Download the ZIP, extract it, and copy the complete fewer-parts folder to .agents/skills/fewer-parts/.
Then ask your agent:
Use $fewer-parts to deliver the same or better interaction with less project-specific machinery. Preserve the design, behavior, accessibility, browser targets, and existing styling conventions.
For agents with a different skill location, use their supported installation directory. Keep the references and assets together.