harden SKILL.md skillA
harden from educlopez/ui-craft is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add educlopez/ui-craft/harden@git:20260817.c2d392bPins git:20260817.c2d392b in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- educlopez/ui-craft
- Path
.codex/skills/harden/SKILL.md- Versions recorded
- 5
- Latest version
- git:20260817.c2d392b, committed Aug 17, 2026
- First version recorded
- Jun 11, 2026
- Size
- 4,529 bytes
- Repository stars
- 425
- License
- MIT
Production-readiness pass — audits and implements the full non-happy-path matrix: loading skeletons, empty states, error messages, partial data, i18n, offline, permissions, and first-run guidance. Use when preparing a surface for production or when the user says "it crashes on empty data" / "there's no loading state" / "harden this". Invoke when the user asks for harden on their UI, or mentions 'harden' alongside design / UI / frontend work.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. --> **Context:** this sub-skill is one lens of the broader `ui-craft` skill. If the `ui-craft` skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below. Harden the UI at `$ARGUMENTS` for production. Load the `ui-craft` skill. **Coverage matrix — check every key surface:** 1. **Loading** — skeletons match the final layout (no CLS on resolve), shown after ~200ms to avoid flash on fast responses. Never a generic centered spinner when a skeleton is possible. 2. **Empty** — purposeful: one line explaining why it's empty + one clear primary action. Illustration optional, CTA mandatory. 3. **Error** — inline, actionable. "Save failed. Try again / Copy error / Contact support" — never just "Something went wrong." Surface the *what* and the *next step*. 4. **Partial data** — `—` (em dash) for missing metrics, never `N/A` or `null` or `0` when the value is truly unknown. …
Read the whole file at its exact version.
How to install
mdr add educlopez/ui-craft/harden@sha256:2273e4c62d92212eThe line at the top of this page pins the label git:20260817.c2d392b, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_e356gkjl4plm2ley)
1 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 5 versions of this file, between Jun 11, 2026 and Aug 17, 2026, about one every 17 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260817.c2d392b latest | 2026-08-17 | c2d392b | 4,529 B | A | view · diff |
| git:20260806.bb71f4d | 2026-08-06 | bb71f4d | 3,078 B | A | view · diff |
| git:20260725.d9710bc | 2026-07-25 | d9710bc | 3,072 B | A | view · diff |
| git:20260704.14809b1 | 2026-07-04 | 14809b1 | 3,029 B | A | view · diff |
| git:20260611.235e1e9 | 2026-06-11 | 235e1e9 | 2,994 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (4529 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
educlopez/ui-craft · 425 stars · license MIT · pushed 2026-10-30 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_e356gkjl4plm2ley GET https://markdownregistry.com/api/v1/resolve?ref=educlopez/ui-craft/harden GET https://markdownregistry.com/api/v1/blob/2273e4c62d92212e8f7327e3097fe741e206d1fc1944a77ded4d69f7d8c2d3fb
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from educlopez/ui-craft
Every file in educlopez/ui-craft