agentsclimarketplace

Kiln

Skill lroolle/skills/skills/kiln

Nine opinionated agent skills for Claude Code & Codex — UX design, motion, HTML artifacts, decision spread, goal contracts, and the craft of making skills. Every protocol opens with a gate that can say no.

Install
npx -y skills add lroolle/skills --skill kiln

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

One thing to look at

  • 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

Precision UX design instrument: perceptual principles, composable patterns, parameterized material kits, anti-AI-slop detection. Fires on three branches: designing or restyling any frontend surface (layout, typography, color, spacing, responsive, dark mode, accessibility); auditing or critiquing an existing interface; and rescuing output that looks generic or AI-made ("make it look better", "needs more taste"). Animation design decisions live here (motion.md); implementing the animation is animate-it's job.

SKILL.md

8.0 KB, as published. Nobody here has run it

Kiln

Raw requirements in, coherent interfaces out. Like ceramic firing: the process is deliberate, the quality control is built in, and underfired pieces get smashed.

Generates and diagnoses. Both modes use the same layer stack.

Architecture

Four layers, ordered by durability:

LayerContainsUpdates
L0 PrinciplesPerceptual and cognitive invariantsNever
L1 PatternsComposable structural building blocksRarely
L2 MaterialsParameterized palette systems + kitsPer project
L3 TemplatesPage recipes (pattern + material compositions)Per aesthetic

Cross-cutting: anti-patterns split into permanent (below) and zeitgeist (versioned, dated).

L0: Principles

Human perception and cognition. These constrain every downstream decision.

Preattentive channels

Color hue, size, orientation, and motion process in <250ms without effort. These are hierarchy tools. Using them on non-priority elements is noise.

Gestalt grouping

Proximity > similarity > continuity > closure. Whitespace groups faster than borders. Borders faster than color. Whitespace is the primary structural tool, not card components.

Weber's law

Perceived difference is proportional to magnitude. 2px between 10px and 12px is obvious; between 40px and 42px invisible. Modular type scales use ratios (1.25x, 1.333x), not fixed increments (+2px).

Saccadic fixation

Eyes jump between fixation points. Fixation edges must be predictable. Left-aligned text has a consistent edge; centered text forces the eye to search each line start. Body text: left-aligned unless structurally justified.

Working memory

4 +/- 1 chunks. Navigation ceiling: 7 items. Dashboard with 12 undifferentiated metrics: unusable. Group before detail.

Signal-to-noise

Every element is signal (serves comprehension) or noise. A page feels clean or cluttered based on this ratio, not absolute content volume. Dense can be clean. Sparse can be cluttered.

Figure-ground

The eye resolves foreground/background before parsing content. Ambiguous separation (low contrast, competing layers, no focal point) creates anxiety before the user reads anything.

Constraint breeds identity

Fewer choices made deliberately create more character than many choices by default. A constrained palette reads as intentional. A diverse palette reads as accidental.

Permanent anti-patterns

Structural failures. Match-and-refuse. These will not expire.

Convergence signal

If someone could guess the font, color, and layout from the domain name alone, it is the first training-data reflex. Rework until the answer is not obvious from the category. Then check: is the ALTERNATIVE also predictable? ("AI tool that avoids purple -> editorial serif" is the second-order reflex.)

Container inception

Cards in cards. Modals on modals. Each container layer adds visual weight and cognitive overhead. Flatten. Use whitespace, borders, or background tint for emphasis.

Flat type hierarchy

Heading sizes too close (14/15/16/18px). If squinting makes two levels indistinguishable, merge or increase ratio. Minimum 1.25x between adjacent levels.

Side-stripe accent

border-left/right > 1px as colored accent on cards, alerts, list items. Use full borders, background tints, or nothing.

Gradient text

background-clip: text with gradient. Decorative, never meaningful, harder to read. Single solid color.

Shadow inflation

If everything floats, nothing does. Shadow only when elevation communicates hierarchy. Tint to background hue. Never pure black shadow.

Modal-first

Modals interrupt. Exhaust inline expansion, progressive disclosure, and slide-over alternatives first.

Decoration without information

Gradient backgrounds, animated meshes, glassmorphism, geometric patterns that add weight without aiding comprehension. Every decorative element must answer: what does this help the user understand?

Pure black / pure white

Never #000000 or #FFFFFF. Pure black creates halation. Tint neutrals toward brand hue (OKLCH chroma 0.005-0.01). Off-black L 8-12%, off-white L 96-98%.

Emoji in UI

Emoji in headings, buttons, labels, or navigation degrades perceived quality. Use icons from a consistent set at standardized weight, or nothing.

Material kits

Named parameter sets. Not hardcoded values. Full specs in materials.md.

KitColor seedTypeDensitySurfaceMotionTerritory
broadsheet15deg red, restrainedserif display + sans body0.85ruled 1px, 0 radiusmechanicalBBC, FT, editorial
terminal120deg green, restrainedmono + sans, 1.25 scale0.75ruled 1px, 0 radiusinstantcode, monitoring
warm-ground40deg amber, restrainedhumanist sans, 1.3331.0soft 1px, 8px radiussnappyNotion, document
cold-open220deg slate, committedgeometric sans, tight1.0floating, 12px radiussnappyLinear, dev tools
gallery0deg achromatic, restrainedheavy swiss, 1.5 scale1.5flat, no bordersdeliberatemuseum, portfolio
burnt-studio25deg terracotta, drencheddisplay serif + mono1.0grain texture, 0 radiusdeliberateart, photography

Kits are starting points. Mix palette dimensions across kits: broadsheet type with terminal density with warm-ground surfaces. The system handles composition.

Commands

CommandModeWhat it does
craft [target]GenerateDesign/redesign using full layer stack
audit [target]DiagnoseEvaluate against all layers, report by layer
kit [name]ConfigureLoad a material kit, show derived values

craft

  1. Confirm target surface (page, component, app shell) and material kit. If no kit specified and no aesthetic described, ask.
  2. Load patterns.md for structural decisions.
  3. Load zeitgeist.md for current saturation bans.
  4. Load motion.md if animations needed.
  5. Load adaptation.md if responsive/dark/a11y needed.
  6. Generate working code with committed design choices.
  7. Self-audit against permanent anti-patterns before presenting.

Output: production-grade code in the project's framework. Every design choice traces to a principle, pattern, or material parameter.

audit

  1. Read target files or screenshot.
  2. Check L0 principles (hierarchy, grouping, signal-to-noise).
  3. Check permanent anti-patterns (match-and-refuse).
  4. Check zeitgeist.md temporal bans.
  5. Check material consistency if a kit is loaded.

Output: problem list by layer. Each identifies whether the rule is permanent (structural) or temporal (zeitgeist). Temporal problems include the expiry context.

kit

  1. Load materials.md for kit specification.
  2. Derive concrete tokens from parameters (OKLCH colors, type stacks, spacing scale, surface tokens).
  3. Present the derived system for confirmation or adjustment.

References

FileLoad when
patterns.mdAny craft or structural audit
materials.mdLoading or composing material kits
motion.mdDesigning animations, transitions, interactions
adaptation.mdResponsive, dark mode, a11y, CJK, print
zeitgeist.mdAny craft or audit (temporal ban check)

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.