agentleFS
jircdevjircdev/crew-plugin/skills/design/SKILL.md

design

Skill1 starsChanged 35 days agoMITView on GitHub

The design craft, loadable by ANY role whose work changes what a user sees, understands, chooses or does — a screen, a flow, a state, an empty view, an error message, the wording of a form, a chart, an exported document. Owns the METHOD (how to arrive at a composition, how to hand it off, how to review an implementation, how to judge a render), never what is beautiful in this product — that belongs to the project's declared design memory. Load BEFORE proposing, specifying or coding any visible surface; triggers on 'new screen', 'redesign', 'this looks off', 'review this UI', 'design the flow', 'diseñar la pantalla', 'revisar la interfaz'.

197 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use banner-design, ui-styling and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • seikaikyoSkill

    banner-design

    Design banners for social media, ads, website heroes, creative assets, and print. Multiple art direction options with optional generated or supplied visuals. Actions: design, create, generate banner. Platforms: Facebook, Twitter/X, LinkedIn, YouTube, Instagram, Google Display, website hero, print. Styles: minimalist, gradient, bold typography, photo-based, illustrated, geometric, retro, glassmorphism, 3D, neon, duotone, editorial, collage.

    Also in 38 projects that use this

  • MicrosoftSkill

    ui-styling

    Guide for the visual style, structure, and shared building blocks used by Semantic Link Labs interactive UI tools (HTML widgets and anywidget-based widgets). Use this when adding a new interactive UI, modifying an existing one, or adding shared visual components.

    Also in 39 projects that use this

  • seikaikyoSkill

    brand

    Brand voice, visual identity, messaging frameworks, asset management, brand consistency. Activate for branded content, tone of voice, marketing assets, brand compliance, style guides.

    Also in 43 projects that use this

  • mayankjain1815-commitsSkill

    infra-audit

    Reads docker-compose, env files, ORM configs, and connection strings to map current infrastructure. Flags missing layers (cache, queue, analytics) based on observed access patterns. Outputs a structured infrastructure manifest.

    Also in 3 projects that use this

  • JetBrainsSkill

    slides

    Create and edit presentation slide decks (`.pptx`) with PptxGenJS and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding charts/diagrams/visuals, or diagnosing layout issues such as overflow, overlaps, and font substitution.

    Also in 42 projects that use this

  • AnthropicSkill

    design-system

    Audit, document, or extend your design system. Use when checking for naming inconsistencies or hardcoded values across components, writing documentation for a component's variants, states, and accessibility notes, or designing a new pattern that fits the existing system.

    Also in 49 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 174 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read crew.json and docs/design/.

    line 18
  2. Very specific:

    Precedence: if runtime.url is declared and responds, use it.

    line 33
  3. Distinctive:

    Ask what only the project can answer: Do not infer what you can ask (see *Questions before inference* below).

    line 49
  4. Distinctive:

    Fallback: no registry declared → the handoff says "reuse not verified", and any new component is proposed as *unconfirmed new*, not as new.

    line 68
  5. Distinctive:

    Verify what the code does against the specification and the project's declared standards.

    line 72
  6. Distinctive:

    Every finding carries one severity, and findings are ordered by it.

    line 102
  7. Distinctive:

    Inflation empties the scale: If everything is blocking, nothing is.

    line 111
  8. Distinctive:

    Every reply from this skill ends with one line, not a section:

    line 128

“Common” is measured: kept by at least 6 in 10 of the 174 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Design — the interface craft

The domain truth belongs to the owning role (informational spec to data-experience-architect, visual authority to ux-architect, implementation to frontend-architect, verdict to qa-test-architect). This skill governs how you get from a problem to a composition, and how you prove the composition is good.

The frontier this skill respects

The plugin carries method; the project carries capability and memory. What is beautiful here, which components exist, which references this product aspires to, which patterns it has rejected — none of that is in this file, and none of it may be invented. It is declared by the project in docs/design/ (memory) and crew.json (capabilities).

Test of the opposite aesthetic — apply it to every sentence you are about to write as if it were a rule: would this still be true in a project with the opposite aesthetic, another stack, and other form factors? If not, it is not method — it is taste, and taste belongs to the project. Never smuggle a value, a palette, a scale, a spacing rhythm, a named style, or a library into a recommendation as if it were craft.

Before anything: read the capability

Read crew.json and docs/design/. Each declared capability enables something and each absence forces a named admission. Never degrade silently.

DeclaredEnablesAbsent → you must say
design.memoryContrasting your direction against this product's references, approved patterns and rejected patterns"no design memory declared: the direction was not contrasted against the product's references"
design.baselineFalling back to an aesthetic baseline the project named — a skill or a document — when the memory is silent on the question at hand"no memory and no baseline declared: the direction rests on the brief alone"
design.sourcesDeriving direction from the design source (design file, reference screenshots)Direction derived from the brief and the registry only
design.registryVerifying reuse before proposing a new component"reuse not verified: the project declares no component registry"
design.runtime.urlConnecting to and inspecting a running app without asking permission each turnAsk, as before
design.runtime.launchRunning the declared launch profile without asking permission each turnAsk, as before
design.captureA verdict on visual qualityCode conformity only, labeled as such
design.checksAsserting accessibility or performance as measuredAssert them as reasoned, labeled not measured

Two permission rules, because they are separate risks — connecting to something already running is inspection; running a launch profile executes a command on the user's machine:

  • Precedence: if runtime.url is declared and responds, use it. runtime.launch runs only when the URL does not respond or is not declared. The server is usually already running outside the session; duplicating it is overhead.
  • Symmetry: whatever you start, you stop.

An unrecognized capability form (a kind the plugin does not know) is treated as absent — and named in the evidence seal, never skipped.

Memory first, baseline second, plugin taste never. design.memory says what is good here. A declared design.baseline is the fallback for questions the memory does not answer — not a second opinion competing with it: on any conflict the memory wins and the baseline is dropped without discussion. Load or read the baseline only when the memory is silent, and name it in the seal whenever it was used. With neither declared the method still runs, and the deliverable says the direction rests on the brief alone. The gap is reported; the plugin does not fill it with taste of its own.

The four modes

Declare which mode you are in. They are not phases to run in order; pick the one the task is actually in.

1. shape — from problem to direction

This mode produces questions and a procedure, never a catalogue of answers. The answers come from the brief, the informational spec, the registry, and the design memory.

  1. Name the job. Who is this person, what are they trying to finish, and what does "done" look like for them? A surface designed without a declared job is decoration.
  2. Ask what only the project can answer. Do not infer what you can ask (see Questions before inference below).
  3. Establish what must dominate. Exactly one thing per surface earns first read. If two things claim it, the surface is doing two jobs — split it or subordinate one.
  4. Derive the hierarchy from the content, not from a habit. How many levels does this task actually sustain? Levels nobody needs read as noise; levels that are missing read as a flat wall.
  5. Decide what earns its own surface. A card, a panel, a page is a promise of separateness. Content that is always read together and never acted on separately does not earn one.
  6. Choose between density, scannability and focus — explicitly, and say which you chose and why. They trade against each other; a surface that refuses to choose gets the worst of all three.
  7. Contrast against the product's memory. Which approved patterns apply, which rejected ones is this at risk of repeating. Without declared memory, say so — do not substitute your own references.
  8. Anti-generic pass: could this surface be lifted into a different product of the same category and nobody would notice? If yes, name what makes it this product's and change it. The criterion for "generic" is the project's rejected patterns and its stated references — never a list of proscribed patterns written here.
  9. Enumerate every state before proposing: loading, empty, partial, error, success. A missing state is a defect discovered by users, not a detail.

Fallback: with no design memory declared, shape still runs against the declared baseline, and its output says the direction was contrasted against that baseline rather than against anything the product itself has approved. With no baseline either, it says the direction rests on the brief alone.

2. handoff — from direction to implementable specification

Here the invariant plane stops applying. Concrete identifiers are the deliverable: the components reused, the tokens, the values, the breakpoints, the paths, the variants. Withholding them is not craft, it is an unimplementable handoff.

Carry: screen or flow name · layout and hierarchy · components reused (named) and any new one with its rationale · the visual resource per data block, tied to the nature of that data · interaction flows, primary and alternative · every state from the list above · accessibility notes (keyboard, screen reader, contrast, focus order) · behavior at each target breakpoint the project declares · privacy and consent surfaces required by security-compliance.

Consult the registry before proposing anything new. When the registry contradicts the code, the code is what ships — report the contradiction to the registry's owner rather than choosing silently.

Fallback: no registry declared → the handoff says "reuse not verified", and any new component is proposed as unconfirmed new, not as new.

3. implementation-review — code against specification

Verify what the code does against the specification and the project's declared standards. Name files, components and values freely — this mode exists to be actionable.

This mode alone cannot produce a verdict on visual quality. Its output is code conformity, labeled as such, and it says so even when everything matches. Findings carry severity (see Severity below), bounded by the evidence this mode has: no render, no blocking claim on visual grounds.

4. visual-review — judgment on the render

Requires a render. With design.capture declared, capture it; with only design.runtime.url, inspect what runs; with neither, stop and say the verdict is unavailable — do not substitute code reading for looking.

Capture at minimum the target viewports the project declares, and at least two states: the nominal one and one non-ideal (empty or error).

Judge, and for every observation say what to change:

  • Hierarchy — does the intended first read actually come first?
  • Density and rhythm — does the spacing group what belongs together and separate what does not, consistently?
  • Composition — does anything overstretch, float, or collapse at the extremes of its container?
  • Affordances — does anything look actionable that is not, or actionable-but-dead?
  • States — are the non-ideal states designed, or are they the framework's defaults showing through?
  • Consistency — against the project's declared memory and registry, not against your own preference.
  • Accessibility — contrast, focus order, target size, motion. Measured if design.checks is declared; reasoned and labeled otherwise.

Qualitative vocabulary is licensed here — "it reads as noise", "the hierarchy is inverted", "the card is overstretched" — and must always be followed by what to change. Vagueness without a fix is not judgment.

Bounded self-critique. When a render channel exists, one correction pass is mandatory: review, fix what you found, render again. Further passes only while the previous one found blocking defects. Always declare how many passes ran. An unbounded "render until it's right" loop is a defect of method, not diligence.

Author is not judge. This self-critique is the author checking their own work. The independent verdict belongs to qa-test-architect, which receives the specification and the evidence — not your rationale for why the design is right.

Severity — both review modes

This is the visual application of the crew-wide findings shape in the plugin's standards/findings.md: every finding also names its owner (the role whose decision it violates), its evidence, its basis (measured, observed or reasoned) and its action, and blocking findings pass that file's adversarial confirmation before the review ships.

Every finding carries one severity, and findings are ordered by it. A flat list of observations hands the triage back to the reader, and the triage is the part the review exists to perform.

  • Blocking — the surface fails its job for someone: the primary action is unreachable, content is unreadable, a state is missing, an interaction is unusable by keyboard or screen reader, or something other than the intended dominant element takes the first read.
  • Important — the job survives, but the surface degrades under real content, at a viewport the project declares, or it repeats a pattern the design memory records as rejected.
  • Refinement — everything else: the absence costs nothing you can name. Say that plainly instead of inflating it.

Two rules keep the scale worth reading:

  • Severity is bounded by the evidence. A finding reasoned from code with no render cannot be blocking on visual grounds — the most it may claim is a suspected defect to confirm against the render. Accessibility findings may be blocking without design.checks, and are then labeled reasoned, not measured.
  • Inflation empties the scale. If everything is blocking, nothing is. A review that returns no blockers, or none at all, is a legitimate result; padding either end is a defect of the review.

Questions before inference

Configuration and design decisions are asked, not guessed. Before proposing, ask what the project alone can answer — and ask it as a short, closed list, not an interrogation:

  • Who uses this surface, and what are they trying to finish?
  • What must be true for this to be considered done well — beyond "it works"?
  • Which existing surface should this feel continuous with?
  • Which of density / scannability / focus matters most here?
  • Which form factors are actually in scope?
  • Is there a reference — inside or outside the product — that this should resemble, or deliberately not resemble?

Rules: maximum two open questions per turn (pick the ones that unblock the next step, defer the rest) · never ask what the declared memory, registry or brief already answers · confirm your understanding in one line before designing — restate the job, the dominant element and the chosen trade-off, and let the user correct it. A wrong inference caught before the work costs one line; caught after, it costs the work.

Evidence seal

Every reply from this skill ends with one line, not a section:

Mode · what was loaded (memory, baseline, registry, spec) · capabilities used · what stayed unverified.

It reports facts. It never scores quality, and it never claims a verdict the evidence does not support.

Refuse to produce

  • A verdict on visual quality with no render — say the verdict is unavailable instead.
  • A recommendation carrying values, palettes, scales, style names or libraries that the project did not declare.
  • A new component when the registry was never consulted and the absence was not declared.
  • A specification missing states, or a handoff without concrete identifiers.
  • "Meets the checklist" offered as a design judgment: conformity is the floor, not the deliverable.
  • A review whose findings carry no severity, or a severity the available evidence does not support.
  • An unbounded render-and-fix loop, or a self-critique presented as an independent verdict.

Boundaries

This skill owns the HOW. It does not own: which data appears (data-experience-architect), how data is modeled (data-architect), security and consent rulings (security-compliance), frontend state and implementation decisions (frontend-architect), the acceptance verdict (qa-test-architect), or the repository's documentation lifecycle (documentation-steward). If the request is really one of theirs, say so and stop — absorbing a neighbor's authority is a failure of this skill, not thoroughness.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

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.