Cami design
UI audit before ship. Spots what's off, routes to layout, interaction, copy, or engineer. Use when reviewing a screen, a flow, or polishing a near-done project.From its SKILL.md
npx -y skills add PawlakCamille/cami-design --skill cami-designAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 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.
- 2 stars2 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.
SKILL.md
11.9 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it
Cami — Design Skill
A personal, curated collection of design engineering knowledge. The parent skill holds shared principles and references; sub-skills (cami-design-layout, cami-design-interaction, cami-design-copy, cami-design-engineer) handle specific concerns — three for visual design judgement, one for code-side handoff polish.
License: Apache 2.0 — see LICENSE. Attribution: see NOTICE.md.
Roles
This file plays two roles. Treat them as separate so they don't recurse into each other.
- Shared rules (always). The Context Gathering Protocol, Design System Protocol, and Review Output Format (severity scale, structure, closing, walkthrough, verify) live in
references/review-protocol.md. Sub-skills load that file directly; run mode loads it too. This file no longer holds those rules inline. - Run mode (only when invoked bare as
/cami-design). The skill runs a full audit per the Full Audit Contract below, after loadingreferences/review-protocol.md. If invoked with a sub-skill name as its argument (e.g./cami-design cami-design-layout), skip the full audit and run that sub-skill directly instead.
This skill is invoked explicitly (/cami-design or a sub-skill), not auto-selected by the model: with the sub-skills installed, a design query routes to the matching sibling, so autonomous invocation of the parent is disabled.
Modes (Sub-Skills)
Three visual modes + one code-handoff mode, scheduled differently. Each is invokable on its own.
| Mode | When to use | Read |
|---|---|---|
| cami-design-layout | Alignment, sizing, spacing, visual hierarchy, rhythm, harmony | ../cami-design-layout/SKILL.md |
| cami-design-interaction | Animation, hover/press states, micro-interactions, delight, feel | ../cami-design-interaction/SKILL.md |
| cami-design-copy | Microcopy, labels, error messages, tone, clarity | ../cami-design-copy/SKILL.md |
| cami-design-engineer | Code review for handoff: composition, design system fidelity, state, a11y, performance, types | ../cami-design-engineer/SKILL.md |
When the user describes a concern that maps cleanly to one mode, invoke that mode. If it spans multiple visual-design concerns (e.g. "polish this page"), run them in order: cami-design-layout → cami-design-interaction → cami-design-copy.
cami-design-engineer is opt-in, not part of the default visual-design chain. It runs at a different moment — end of project, before tech-team handoff — and reviews code rather than design. Invoke it on its own, or accept the offer at the end of a full audit (see Full Audit Contract).
Full Audit Contract
When the skill is invoked as cami-design (no sub-skill specified), the expectation is a complete audit, not a highlight reel. Partial coverage is the failure mode to avoid.
A complete audit requires all of the following.
1. All three visual-design sub-skills run
Always run layout, interaction, and copy. Not "one if it spans multiple" — all three, every time. The only exception is when the user explicitly invokes a single sub-skill (cami-design-layout, etc.).
cami-design-engineer is not part of this default chain — see §5 below.
2. Conditional reference reads
Load these references when the audit target contains the matching element. Do not read proactively otherwise.
| Read this reference | When the page has |
|---|---|
references/forms.md | Any input, textarea, select, or form control |
references/accessibility.md | Any interactive element (always true in practice) |
references/interaction.md | Buttons, toggles, clickable rows, hover states |
references/motion.md | Transitions, animations, reveals, loading indicators |
references/color.md | Non-trivial color decisions or contrast questions |
references/typography.md | Dense text, data tables, or typographic hierarchy work |
references/spacing-layout.md | Any layout review (always true in practice) |
references/scroll-containers.md | Sidebars, modals, dropdowns, command menus, code blocks, chat transcripts, carousels — any inset scrollable region |
references/anti-patterns.md | Always. Run this sweep last. |
3. Surface coverage
Each of these surfaces must be either audited or explicitly acknowledged as skipped (with a reason).
- Desktop at rest
- Narrow viewport / mobile
- Modals and overlays present on the page
- Error and failure paths (what the user sees when a mutation fails)
- Empty states (zero items, no data yet)
- Loading and pending states
- Keyboard-only traversal (tab order, focus rings, reachability)
- Screen reader signals for dynamic content (live regions, aria states)
4. Scope preamble (before findings)
Start every full audit with a short paragraph stating what was audited and what was not, before any findings. No silent omissions. Format:
Scope: Audited [list]. Did not audit [list] because [reason per item].
Example:
Scope: Audited desktop at rest, keyboard traversal, the two modals on the page, empty and error states, and the anti-patterns sweep. Did not audit narrow viewport (page is marketed as desktop-only per CLAUDE.md) or screen reader behavior (would need to run with VoiceOver, not inferrable from code).
The preamble is a commitment device: it forces the audit to be deliberate about coverage, and gives the user a place to push back before reading the findings.
5. Offer the engineer pass at the end
After the three visual-design sub-skills complete and the user has either applied or filed the findings, offer cami-design-engineer via AskUserQuestion. Phrase naturally — examples (not templates):
- "Want me to also run the code-side review (
cami-design-engineer)? Useful before passing the project to a tech team." - "Happy to do a handoff-readiness pass on the code if this is heading to a dev team. Yes / skip?"
Options: Run it now / Skip.
This keeps design and engineer work as two distinct moments of the same audit. Skip the offer if the user has already invoked cami-design-engineer in the session, or if the target is clearly a static design with no code (Figma file, screenshots).
Shared References
Loaded on demand — do not read proactively. Consult when a mode instructs you to, or when the current task requires depth on that topic.
The one exception is references/review-protocol.md (context gathering, design system rules, severity scale, output format): every mode loads it, and run mode loads it too. It is the shared protocol, not an on-demand topic.
Visual-design references (layout, interaction, copy)
| Topic | File | When to read |
|---|---|---|
| Typography | references/typography.md | Font choice, hierarchy, sizing, OpenType features, typographic characters |
| Color | references/color.md | Color systems, contrast, dark mode, native browser UI |
| Spacing & layout | references/spacing-layout.md | Grids, rhythm, concentric radius, safe areas, content resilience |
| Scroll containers | references/scroll-containers.md | Scrollbar gutter, tamed native scrollbars, scroll edge mask — inset scrollable regions |
| Motion | references/motion.md | Animation Decision Framework, easing, duration, scroll-linked, performance |
| Interaction | references/interaction.md | Press, hover, focus, tooltips, drag, mobile/touch |
| Forms | references/forms.md | Input attributes, labels, submit behavior, errors, placeholders, confirmations — load when reviewing form controls or form copy |
| Copy patterns | references/copy-patterns.md | Before/after tables (errors, empty states, CTAs), 6 Principles, NEVER list — load for any copy work |
| Accessibility | references/accessibility.md | Contrast, focus, keyboard, screen readers — canonical home for hit areas, reduced-motion fallback, contrast thresholds |
| Anti-patterns | references/anti-patterns.md | "AI slop" tells in visuals and copy, generic aesthetics to avoid |
| Craft | references/craft.md | During a Verify pass, when declining or deprioritizing a finding, or when a review needs to re-center on intent. The deep version of Core Principles |
| Review artifact | references/review-artifact.md | The user picked Build an HTML review at the closing (visual modes / full audit only) |
Engineer-mode references (code handoff)
| Topic | File | When to read |
|---|---|---|
| Component Composition | references/composition.md | Component shape, prop surface, state location, compound patterns |
| Design System Fidelity (code) | references/ds-fidelity.md | Code-level DS violations — pairs with the Design System Protocol in review-protocol.md |
| State & Data Flow | references/state.md | Effects, async cleanup, race conditions, fetching, prop mutation |
| Cross-file Completeness | references/cross-file-completeness.md | A new union member, or a moved/renamed module — and the unchanged code that referenced it |
| A11y Implementation | references/a11y-implementation.md | Code-level a11y findings — pairs with accessibility.md principles |
| Internationalization | references/i18n.md | Hardcoded user-facing strings, non-locale-aware dates/numbers, English in the a11y tree |
| Performance & Rendering | references/perf.md | Keys, memoization, animation cost, hot handlers, list lookups, skeleton parity |
| Security Spot-Check | references/security.md | HTML injection, external link rel, browser API scope, leaked values |
| Type Safety & Code Clarity | references/typing.md | TS discipline, file naming, magic numbers, comments |
Shared Libraries
Structured data — consult when you need concrete values. Markdown references are the teaching layer; libraries are the data layer for the same content.
| Library | File | Status |
|---|---|---|
| Easing curves | libraries/easing-curves.json | Active — canonical values for references/motion.md |
Core Principles
These apply across every mode. Keep them in mind whether you are composing a layout, tuning an interaction, or writing copy.
- Taste is trained, not innate. Study why the best interfaces feel the way they do. Reverse engineer. Be curious.
- Unseen details compound. Most details users never consciously notice — that is the point. Aggregate invisible correctness is what people feel.
- Beauty is leverage. In a world of good-enough software, craft is the differentiator.
- Intent over intensity. Bold maximalism and refined minimalism both work. What fails is the middle — the timid, generic default.
- Reversibility. Prefer reversible changes. A subtle refinement that works beats a bold swing that misses.
Review Output Format
The severity scale, lettered-section structure, section-title rules, closing / walkthrough / verify flow, and inline-code rule live in references/review-protocol.md. Load it before producing findings (run mode); sub-skills already load it in their required reading.
Meta
- Version: the canonical version is
package.json. Sub-skillmetadata.versionfields are intentionally absent — they never moved in lockstep with absorptions, so they were doing no work. Bumppackage.jsonon any absorption or substantive change. Log inCHANGELOG.md. - Evolution: this skill grows by absorbing techniques from upstream skills. Never copy blindly — run the eval corpus first, then cherry-pick into the relevant reference file, then log in CHANGELOG with attribution.
- Where new content lands. Sub-skill SKILL.md files stay short — they index, route, and define output. Depth lives in
references/. New patterns absorbed from upstream go into the matching reference file, not the sub-skill body.
What ships with it: 23 files
122.5 KB alongside SKILL.md
libraries/
- easing-curves.json2.0 KB
references/
- a11y-implementation.md1.6 KB
- accessibility.md3.6 KB
- anti-patterns.md5.7 KB
- color.md6.0 KB
- composition.md4.5 KB
- copy-patterns.md2.4 KB
- craft.md3.9 KB
- cross-file-completeness.md2.5 KB
- ds-fidelity.md2.2 KB
- forms.md4.1 KB
- i18n.md2.6 KB
- interaction.md10.8 KB
- motion.md16.8 KB
- perf.md6.7 KB
- review-artifact.md6.3 KB
- review-protocol.md7.9 KB
- scroll-containers.md5.1 KB
- security.md2.3 KB
- spacing-layout.md10.9 KB
- state.md5.7 KB
- typing.md4.6 KB
- typography.md4.4 KB