About Grist

Why this exists

Howdy! Grist is my side quest in the world of AI. Enjoy the growing collection of prompts, skills, rules and experiments for product design, from figuring out what it can really do.

Each drop comes with a short note on why I use it and a file you can paste straight into Claude, Cursor or a CLAUDE.md. A new one lands every Friday, eight to a season.

Tested means I've used it on real work. Trying means I'm still finding out. The ideas are mine, and Claude helps me format the files. Add .md to any address if you'd rather read plain markdown.

Rarities

Rarity is how deep a drop goes. Higher tiers take more setup and give you more.

  1. CommonOne idea you can use straight away, like a rule or a short prompt.
  2. UncommonNeeds a little setup. A prompt with blanks to fill, or a checklist with steps.
  3. RareGoes deeper. A full review checklist, a longer prompt or a simple skill.
  4. EpicA template you fill in, with a worked example. Usually a spec or a bigger skill.
  5. LegendaryA whole kit to install, with examples and a note on when not to use it.
  6. UltraSeveral skills and a reviewer agent chained into one workflow. It stops for your approval along the way, and comes with a sample run.

Component Usage Guidelines

PromptTested: used on real work

tl;dr

Turn a component's code and docs into a contract that says what it's for, what it isn't for and what it promises.

For documenting components that agents will use. Each one gets a short contract in markdown.

Why

Every component page in my design system opens with a short description, and agents are the ones reading it.

Props tell an agent what a component accepts. They don’t tell it when to use one, so the description has to. The line that does the most work is what the component isn’t for. For a button, that’s “Don’t use it to go to another page. Use a link.”

How to use it

  1. Paste the component's code, props and any docs.
  2. Fix the "don't use for" section; it's the most valuable line and the tool's weakest guess.
  3. Save it next to the component.
Prompt

The drop: Component Usage Guidelines

A prompt to paste, with blanks to fill

Write a contract for this component, under 200 words:

- Purpose: one sentence
- Use when: two or three situations
- Don't use for: two or three common misuses, each with the component to use instead
- Props that matter: only the ones that change behaviour
- States: every state it supports
- Easily confused with: the components an agent might pick instead, and how to tell them apart
- Limits: content limits (max items, max characters) and accessibility promises

Mark anything you inferred rather than read as [CHECK].

Component:
[paste code and docs]

What you get

Run on a Button component from a typical React design system, with its props and docs pasted in.

Button

Purpose: Starts an action on the current page, like saving, sending or opening a dialog.

Use when:

- The person is about to do something, not go somewhere
- It's the main or second action in a form, card or dialog

Don't use for:

- Going to another page. Use Link.
- Switching a setting on and off. Use Switch.
- A row of filters. Use ToggleGroup.

Props that matter:

- variant: primary (one per view), secondary, ghost
- loading: shows a spinner and blocks repeat clicks
- icon: leading icon, never on its own without a label

States: default, hover, focus, pressed, loading, disabled

Easily confused with: Link. If the URL changes, it's a Link, even when it looks like a button.

Limits: label up to 3 words [CHECK]. Keyboard reachable, visible focus, 44px touch target.

See also