ultimate-frontend-skills
AGENTS.md7 starsChanged 12 days agoMITView on GitHub
This repo is a plugin for Claude Code and Codex. It teaches a coding agent one art direction for websites and ships the code that produces it. Read skills/ultimate-frontend-skills/SKILL.md and follow it. That is the whole entry point. It is written for agents that do not load skills automatically, so it stands on its own. The two rules that matter most, restated here in case you read no further: 1. Nothing about the design goes in your reply. No palette,…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,542 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository11 other files it gives its agents.
- claude-dashboardsSkill
- claude-motionSkill
- deep-researchSkill
- image-deep-researchSkill
- link-previewSkill
- remotion-videoSkill
- sound-designSkill
- terminal-uiSkill
- ui-pro-maxSkill
- ultimate-frontend-skillsSkill
- visual-researchSkill
The file
We split this AGENTS.md into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Read skills/ultimate-frontend-skills/SKILL.md and follow it.
- Distinctive: line 14
Nothing about the design goes in your reply: No palette, no type scale, no rationale.
- Distinctive: line 17
No emoji anywhere: - not in the page, the copy, the commit, or the reply.
- Distinctive: line 87
Do not also install the standalone plugin on a machine with UFS: the skill would be listed twice.
- Very specific: line 93
Every change to assets/ or scripts/ must keep node scripts/webdesign.mjs audit passing on a fresh scaffold:
- Very specific: line 120
Keep SKILL.md short. Depth belongs in references/, which is only read when needed.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ultimate-frontend-skills
This repo is a plugin for Claude Code and Codex. It teaches a coding agent one art direction for websites and ships the code that produces it.
If you are building a website
Read skills/ultimate-frontend-skills/SKILL.md and follow it. That is the whole entry point.
It is written for agents that do not load skills automatically, so it stands on
its own.
The two rules that matter most, restated here in case you read no further:
- Nothing about the design goes in your reply. No palette, no type scale, no rationale. Build the files, then say what you made in one or two sentences with the paths.
- No emoji anywhere - not in the page, the copy, the commit, or the reply. Icons are inline SVG.
If you are working ON this repo
Layout:
.claude-plugin/plugin.json Claude Code manifest
.claude-plugin/marketplace.json Claude Code catalogue (Codex reads this too)
.codex-plugin/plugin.json Codex manifest
skills/ultimate-frontend-skills/SKILL.md the doctrine
skills/ultimate-frontend-skills/assets/ core.css, motion.js, sections.html
skills/ultimate-frontend-skills/references/ loaded on demand; pipeline.md is the entry
skills/ultimate-frontend-skills/data/awards.json merged corpus; data/awards/*.json are its chunks
skills/image-deep-research/ VENDORED from github.com/ridelink0/image-deep-research - never edit here
image-deep-research.lock.json upstream version, commit and sha256 of every vendored file
skills/visual-research/SKILL.md the old name, kept as a typed alias that loads image-deep-research
scripts/webdesign.mjs new / sections / add / audit / look / study / awards /
blender / assets / tools / serve / parity / verify
scripts/awards.mjs the reference corpus: query, pick three that disagree, rebuild
scripts/blender.mjs Blender headless: probe / run / glb / bake / frames
scripts/blender/*.py the bpy templates it drives
scripts/assets.mjs CC0 PBR textures, HDRI lighting, image generation with detection
scripts/tools.mjs what else is installed on this bench, and what changes because of it
scripts/inspect.mjs headless-browser render check, over CDP
scripts/parity.mjs built page vs its Claude Design artboards, same probes both sides
scripts/design.mjs which Claude Design route exists here - reports, never enrols
scripts/cut.py photograph -> parallax planes via rembg
scripts/install.mjs registers with both CLIs
scripts/sync-image-research.mjs the only way skills/image-deep-research changes: --tag vX.Y.Z | --from <dir> | --check
commands/*.md one slash command per capability, /ultimate-frontend-skills:<name>
(the README "Slash commands" table lists them all):
app-screen-design
atelier
audit-website
awards
blender-3d-model
debug-website
design-handoff
design-parity-check
frontend-skill-packs
frontend-tools-bench
game-start-screen
generate-website-image
inspect-website-styles
measure-website-performance
pbr-textures-hdri
photo-parallax-layers
preview-website
render-check-website
scaffold-website
security-check
verify-website
video-from-references
webdesign
atelier is the compatibility alias for the old name
hooks/ UserPromptSubmit nudgeConstraints:
- Zero dependencies. Node 22+, built-ins only. There is a
package.json, but it carries metadata,binentries and script aliases only - do not add a dependency block to it.type: moduleis set, which is why every runnable file here is.mjsor.cjsrather than.js. skills/image-deep-research/is vendored from its own repository, github.com/ridelink0/image-deep-research. Change it there, tag a release, then runnode scripts/sync-image-research.mjs --tag vX.Y.Z. A hand edit here fails test/image-research.test.mjs againstimage-deep-research.lock.json. Do not also install the standalone plugin on a machine with UFS: the skill would be listed twice.core.cssandmotion.jsare copied verbatim into user projects. A change there lands in every site built afterwards, so treat them as public API.inspect.mjstalks to Chrome/Edge/Chromium over the DevTools protocol using Node 22's built-inWebSocketandfetch. Do not add puppeteer.- Every change to
assets/orscripts/must keepnode scripts/webdesign.mjs auditpassing on a fresh scaffold:
A fresh scaffold is expected to fail on scaffold copy (and to warn about the placeholder images it cannot find, and, until the chassis is re-defaulted, about Instrument Sans, on the overused-face list since 6.9.0)node scripts/webdesign.mjs new /tmp/t --name "T" && node scripts/webdesign.mjs audit /tmp/t- that is the audit doing its job. Everything else must be clean.
- Scaffold copy in
assets/sections.htmlis marked[[like this]], and the audit takes its list of scaffold copy from those marks. New copy in the library is marked unless it is interface copy that is right on any site;test/scaffold-copy.test.mjschecks that each marked piece is reported by name. - The corpus is data.
data/awards.jsonis generated byawards --buildfromdata/awards/*.json; edit a chunk and rebuild rather than hand-editing the merged file. A fabricated URL in there would poison everystudyrun that followed, so entries carry averifiedflag and the merge drops rows without a usable URL. blender.mjsandassets.mjsreach outside the machine. Neither may invent a key, andtools.mjsreports the presence of a credential, never its value.- A command file needs
descriptionandargument-hintfrontmatter and must not use$ARGUMENTS,$1-style placeholders,{{ }}, a shell-run backtick or a word starting with the at sign. Codex turns each command into asource-command-<name>skill at install and silently skips any file that breaks those rules or renders past 4,000 bytes; Claude Code appends the typed text as ARGUMENTS on its own.test/commands.test.mjsholds both sides to it, and to the README table. - Keep
SKILL.mdshort. Depth belongs inreferences/, which is only read when needed. Frontmatter is loaded into every session; the body is not.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

