Menu

SchemaConventions

James Harris

Schema conventions

A recipe is a markdown file with a fixed section list. Same bones every time. Fill them. Do not invent a new shape per artifact.

Canonical example: [SquigglyCatapult] (recipe.md in the v1.1 zip).

If a section is empty, the model will invent it. That is how you get guesswork back.

File

  • Name the folder after the artifact: recipes/squiggly-catapult/
  • Schema file: recipe.md
  • Optional renderings next to it: iteration1.html, etc.
  • Title is an H1. Sections are H2, numbered, in this order.

The ten sections

1. Intent

What this is, in one or two sentences. Product sentence, not a mood board.

Good: Create a playful browser game where the player launches a squiggly character toward a target.

Bad: Make something fun with physics.

2. Vibe

Feel. Emotional arc. How a first-time user should feel after ten seconds and after one success.

Use concrete adjectives you would defend. Bright, silly, tactile, forgiving is a vibe. "Nice UI" is not.

3. Core Mechanics / Logic

The loop. Cause and effect. What wins, what does not. Keep it the rules of the experience, not an implementation plan.

Name the physics or logic at the level a designer speaks: drag, release, projectile, score near target. Do not name a library unless that is a hard constraint.

4. User Interaction

Hands and keys. Pointer, touch, keyboard fallback, reset, anything that must exist or the thing is unusable.

If it has to work on a phone, say so here.

5. Feedback & Reward

What the artifact says back. Preview, motion, score, copy, miss behavior.

Misses and failures are design. "Gently encourage another try" is a decision. Silence is also a decision. Write it.

6. Visual & Audio Aesthetics

Look and sound at constraint level: palette family, line style, motion quality, whether audio may exist, whether audio may ever block play.

Not a mockup. Enough that two models land in the same neighborhood.

7. Freedom / Interpretation Space

What the AI may choose. Character shape, layout, phrases, particles — as long as the result stays inside vibe and readability.

This section is load-bearing. Without it, models either freeze or gold-plate. Tell them where they are allowed to play.

8. Output Format

The artifact you want in your hands. Be strict.

Example: Self-contained HTML, CSS, and JavaScript with no build step.

Say file count, language, "no build," "no network," "one page," whatever is actually required.

9. Known Constraints / Gotchas

Must-nots and traps. Mouse and touch. Playable with sound off. No external dependencies. No login. No telemetry. Whatever would wreck the recipe if a model "helpfully" added it.

If you only remember one hard section after Intent and Vibe, make it this one.

10. Iteration Notes

Lab notebook. What pass 1 was for. What later passes added. What to keep stable.

Example: Iteration 1 establishes the launch loop. Iteration 3 adds richer feedback and a more expressive character while keeping the controls simple.

When a build feels wrong, write the correction here and in the section that failed. Then rebuild from the recipe, not from the last file dump.

Blank template

Copy this into a new recipe.md:


Related

Wiki: SquigglyCatapult
Wiki: WhatIsARecipe