agentsclimarketplace

Sitesmith

Skill byensitmagnus/sitesmith/skills/sitesmith

A coding-agent skill for building websites that don't look AI-generated. Routes by mode, enforces a 12-step build loop, and renders and measures the result instead of stopping at the code.

Install
npx -y skills add byensitmagnus/sitesmith --skill sitesmith

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 12 days oldThe repository was created 12 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Design, build, redesign, audit and polish websites and web apps that do not look AI-generated. Use for landing pages, marketing sites, product and e-commerce pages, SaaS sites, dashboards, web apps, local business sites, portfolios and editorial sites, and for improving existing React, Next.js, Astro, Vue, Tailwind, shadcn or plain HTML/CSS projects. Triggers on: build a website, make a landing page, design a page, redesign this, make it look better, fix the design, improve the UI, this looks generic, choose colours or fonts, pick a style, add animations, make it responsive, add dark mode, accessibility pass, hero section, pricing table, dashboard layout, product page, component styling, design system, design review, UI audit.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

12.0 KB, as published. Nobody here has run it

sitesmith

A website is not done when the code compiles. It is done when it has been rendered, looked at, measured, and corrected. This skill enforces that loop.

Nothing here fires automatically. Read the brief, then pull only what fits. A rule applied in the wrong context is its own kind of slop.


1. Route before you build

First action, always. Pick one row. It decides which reference you open and which rules govern.

The situationModeOpen first
Empty directory, no frontend stackSETUP → then NEW10-setup.md — optional, gated
"Build a landing page / site / portfolio"NEWStep 2 below
Existing code, "redesign / improve / make it better"REDESIGN06-redesign-audit.md — audit before touching anything
"Build a pricing table / modal / nav"COMPONENT09-block-library.md
"Review this UI / is it accessible?"AUDIT07-ux-rules.md + 05-ai-tells.md
Dashboard, data table, admin, multi-step product UIPRODUCT UI07-ux-rules.md is primary; dials are secondary

Marketing pages and portfolios are governed by the dials. Product UI is governed by the UX rules. Do not mix the two governance models — that is how a dashboard ends up with a cinematic hero and a landing page ends up looking like a settings panel.

2. The build process

Twelve steps. Steps 10–12 are not optional when a browser is available. Skipping them is the single biggest cause of work that looks fine in a diff and broken on screen.

1. Understand the goal. What is this page for, who reads it, what should they do next, and what does the business actually sell? Extract brand, existing content, and the one action that matters. If two readings of the brief lead to materially different pages, ask one question. Otherwise infer and proceed.

2. Inspect what exists. Before writing anything: the framework, the styling system, the design tokens, the component library, CLAUDE.md / AGENTS.md / README, and the existing assets. An established stack is a decision already made. Adopt it.

3. Commit to a direction. State a one-line design read before any code:

"Reading this as: <page kind> for <audience>, with a <vibe> language, leaning toward <design system or aesthetic family>."

Then set three dials — DESIGN_VARIANCE, MOTION_INTENSITY, VISUAL_DENSITY. Baseline 8 / 6 / 4. Inference table and presets: 01-brief-and-dials.md.

4. Structure before style. Section order, what goes above the fold, what the eye hits first, second, third. Sketch it as a list of blocks with a one-line purpose each. A page with a beautiful hero and no argument underneath does not convert.

5. Fix the system. Type scale, one accent, neutral family, spacing step, grid, radius scale, elevation scale, image treatment, motion budget. Write them as tokens, not as values scattered through components. Concrete recommendations from data:

python scripts/search.py "<product type> <industry> <keywords>" --design-system -p "<Project>"

6. Implement fully. Real content, real structure, semantic HTML. No Lorem Ipsum, no invented testimonials, no fabricated numbers. See 03-design-engineering.md.

7. All states. Rest, hover, focus-visible, active, disabled, loading — plus page-level empty, error and partial. This is where most generated work stops and where finished work starts.

8. Three widths. 375, 768, 1440. Not "it uses flexbox so it's responsive". Actually check.

9. Accessibility, performance, SEO, motion. Contrast in both modes, keyboard path complete, landmarks, prefers-reduced-motion, image dimensions declared, meta and OG tags present.

10. Render it. Start the dev server and take screenshots:

node scripts/verify.mjs http://localhost:5173 --out .sitesmith/shots

Captures 375/768/1440, collects console errors, checks every link, and runs an axe accessibility scan. Requires npx playwright install chromium once.

11. Look at the screenshots. Actually open them. Ask: does the eye land where intended? Is anything cramped, orphaned, misaligned, or floating? Does it look like a product or like a demo? Fix what you see, then re-render.

12. Final audit. Walk 05-ai-tells.md top to bottom, then the checklists in 07-ux-rules.md. Report what you changed and what you could not.

3. Precedence

When two references disagree, the higher row wins.

  1. Accessibility and platform requirements — contrast, touch targets, keyboard, reduced motion. Never overridden by aesthetics.
  2. The brief and the dials — the client's context decides the style, not your preference.
  3. Anti-slop — the defaults in section 4.
  4. Aesthetic ambition — commit hard to one direction.
  5. Everything else.

Example: 07-ux-rules.md recommends Lucide icons; 06-redesign-audit.md warns that Lucide is the default AI choice. Rule 2 settles it — a B2B dashboard takes the familiar set, an agency site does not.

4. Anti-slop is judgement, not a ban list

These patterns are not forbidden. They are defaults that get reached for without a reason, which is what makes generated work recognisable. Each one is fine when the brand, the content or the function asks for it. Each one is slop when it appears because nothing else was considered.

PatternSlop whenLegitimate when
Purple/blue gradientIt is the accent because no palette was chosenIt is the brand colour, or the sector genuinely owns it
Gradient orbs, glow, meshDecorating an empty sectionCarrying a real depth or focus hierarchy
GlassmorphismApplied to every surfaceA layer genuinely floats over content behind it
Bento gridThe default layout for any feature setCells carry genuinely different weights and sizes
Cards everywhereEvery block is boxedThe items are actually peers in a set
Pill shapesOn buttons, badges, inputs, tags, all at onceOne consistent, deliberate radius language
Decorative iconsOne per heading, meaning nothingCarrying information or aiding scanning
Huge type, little contentCompensating for a thin pageThe statement genuinely is the content
Centred heroOn every page regardless of sectorThe message is singular and deserves the axis
Heavy animationEverything moves on scrollMotion explains a relationship or a state change

A brand colour is never slop. Purple, teal, orange — if it comes from the client's identity, it stays. The tell is not the hue; it is a gradient chosen because no decision was made.

Hard tells with no legitimate use — fabricated testimonials, invented customer logos, made-up metrics, fake prices, "Unlock your potential", "Elevate your workflow", Lorem Ipsum, "John Doe", "Acme Corp". Full list: 05-ai-tells.md.

The final question, every time: would a designer look at this and say a machine made it? If yes, find which row above caused it.

5. Non-negotiable minimums

Independent of style, budget or brief. Failing any of these is unfinished work.

  • A visual direction that fits this industry — six different briefs must not produce six variations of one template.
  • Readable hierarchy: measure under ~75 characters, deliberate scale, one clear primary action.
  • Works at 375, 768 and 1440. No horizontal scroll on mobile, ever.
  • Semantic HTML, complete keyboard path, visible :focus-visible, WCAG AA contrast in both modes.
  • prefers-reduced-motion honoured.
  • Zero console errors, zero dead href="#" links.
  • No fabricated facts, and no placeholder text presented as a claim.
  • Components reused where they repeat, and not abstracted where they do not.
  • The existing framework, codebase and design system respected.

6. Reference map

Open only what the current step needs. Do not preload.

FileOpen whenLines
01-brief-and-dials.mdStep 3 — direction, dials, choosing a real design system192
02-architecture.mdStep 2/5 — stack conventions, RSC safety, fonts45
03-design-engineering.mdStep 5/6 — type, colour, layout, materiality, content density214
04-motion-and-performance.mdStep 6/9 — motion skeletons, forbidden animations, CWV budgets223
05-ai-tells.mdStep 12 — the full tell list, plus aesthetic ambition174
06-redesign-audit.mdREDESIGN mode — 8 passes, repair order, scoring rubric208
07-ux-rules.mdPRODUCT UI, and step 9/12 — a11y, forms, nav, charts, checklists393
08-pattern-vocabulary.mdStep 4 — names for hero paradigms, grids, scroll effects84
09-block-library.mdCOMPONENT mode — concrete block implementations411
10-setup.mdSETUP mode only — gated, skipped by default99
11-search-engine.mdStep 5 — how to query the palette/font/style data289
impeccable/On demand — one file per command verb35 files

Every file above is one hop from here. None of them requires reading another to be useful.

7. Commands

A shared vocabulary for what should happen. Each maps to a file in references/impeccable/.

polish raise quality without changing direction · audit find problems, fix nothing yet · critique reasoned design criticism · distill remove everything unnecessary · bolder / quieter move the aesthetic up or down · typeset / colorize / layout / animate work one layer at a time · harden / optimize robustness and performance.

8. Scripts

ScriptPurposeNeeds
scripts/search.pyQuery 161 palettes, 57 font pairings, 50+ styles, 161 product types, 99 UX rulesPython 3.10+
scripts/verify.mjsScreenshots at 3 widths, console errors, broken links, axe scanNode 18+, npx playwright install chromium

Both are optional. The skill degrades gracefully without them: without search.py you choose the system by hand from 01-brief-and-dials.md; without verify.mjs steps 10–11 become a manual browser check. Never skip steps 10–11 entirely just because the script is unavailable.

9. Attribution

Built from four openly licensed sources, reproduced without modification and credited in NOTICE.md: taste-skill (MIT), ui-ux-pro-max-skill (MIT), frontend-design (Apache 2.0) and impeccable (Apache 2.0).

SKILL.md, 06-redesign-audit.md, 10-setup.md and scripts/verify.mjs are original work, MIT. Full reasoning in LICENSE-AUDIT.md.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.