agentleFS
alanvaa06alanvaa06/award-craft/skills/build-recipes/SKILL.md

build-recipes

Skill1 starsChanged 3 months agoMITView on GitHub

Build the landing from the approved DESIGN.md and design plan on the fixed stack (Next.js + Tailwind + GSAP + Lenis, optional R3F). Use when craft/elevate invoke it after the design-plan gate, or standalone to rebuild a section. Never use before a design plan is approved.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Keep the CSS custom-property names equal to the frontmatter token slugs so impeccable's detector and live panel resolve them.

    line 25
  2. Distinctive:

    Only when reproduction holds does phase two (steps 4-7: motion, interaction, responsive) begin.

    line 42
  3. Distinctive:

    BEFORE writing each ScrollTrigger.

    line 48
  4. Distinctive:

    Never a ScrollTrigger on a tween nested in a timeline.

    line 65

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Build recipes — fixed-stack construction

Stack is FIXED: Next.js (App Router) + Tailwind + GSAP + Lenis. R3F only if the approved design plan names a 3D signature. gsap-skills (installed separately) owns API correctness — consult it for GSAP syntax. This skill owns WHICH pattern goes WHERE and the site-level wiring.

Order of construction

  1. Scaffold: create-next-app (TS, Tailwind, App Router, src/). Install gsap lenis. No other animation libs.
  2. Global wiring FIRST (${CLAUDE_PLUGIN_ROOT}/skills/build-recipes/references/lenis-setup.md): Lenis on GSAP ticker, lagSmoothing(0), single RAF loop. html { scroll-behavior: auto !important }.
  3. Tokens: read them from DESIGN.md's YAML frontmatter (colors, typography, rounded, spacing, components) — that layer is normative, the prose sections are context. Motion tokens come from the ## Motion identity extension section (mirrored in .impeccable/design.json under extensions.motion). Frontmatter → Tailwind theme + CSS custom properties (--ease-out-brand, --dur-base...). gsap.defaults({ease, duration}). Keep the CSS custom-property names equal to the frontmatter token slugs so impeccable's detector and live panel resolve them. 3b. When an approved comp exists, the comp is king and the build runs in two phases. Phase one is REPRODUCTION, statics only: rebuild the first viewport at the comp's own width, screenshot it at the comp's dimensions, and set the two side by side. Materials, component character, elevation, scale relationships and type silhouette must match; the only allowed concessions are the closest obtainable font, the icon set, and genuine defects in the comp. The comparison is the authority, never your conviction that the recreation worked — models systematically believe HTML/CSS recreations succeeded when they did not. A region that keeps losing the comparison stops being recreated in code and becomes a produce asset composited into the page. Prove the hero this way BEFORE building past it: every later section inherits the hero's shortfall, and a five-minute retry here is what a rebuild verdict at verify costs. Where the comp does not cover a section, build it inside the fidelity inventory recorded in the design plan (§ Comps) — corner language, line weights, materials, type ramp — never from stock defaults. Only when reproduction holds does phase two (steps 4-7: motion, interaction, responsive) begin. No comp → skip this step and build from the wireframe.
  4. Sections in SCRIPT ORDER, one at a time. Per section pick the pattern from ${CLAUDE_PLUGIN_ROOT}/skills/build-recipes/references/page-anatomy.md + ${CLAUDE_PLUGIN_ROOT}/skills/build-recipes/references/scrolltrigger-patterns.md. Consult ${CLAUDE_PLUGIN_ROOT}/skills/build-recipes/references/anti-patterns.md BEFORE writing each ScrollTrigger.
  5. Asset placeholders: every media slot renders a placeholder at the EXACT ratio from the design plan (aspect-[16/9] etc.) with the slot name visible — layout must never reflow when real assets land.
  6. prefers-reduced-motion from the START, not retrofit: every ScrollTrigger created inside gsap.matchMedia() with a reduce context (opacity-only, no pin, no scrub, no parallax). Content NEVER gated behind animation — no opacity: 0 initial states in CSS; set from JS.
  7. Signature moment LAST, with the most care. Budget: 1–2 pinned sequences per page max, runway 1.5–3 viewport-heights per chapter. Signature techniques: scroll-video → ${CLAUDE_PLUGIN_ROOT}/skills/build-recipes/references/scroll-video.md; 3D → ${CLAUDE_PLUGIN_ROOT}/skills/build-recipes/references/r3f.md.

Hard rules (from verified doctrine)

  • Scrub OR toggleActions per trigger, never both. Scrub 0.5–1.5 for storytelling; scrub: true only for frame-accurate (sequences, progress).
  • Pace = runway (end), never duration, on scrubbed timelines.
  • Never a ScrollTrigger on a tween nested in a timeline. Never animate the pin target (pin wrapper, animate children). Pinned triggers in document order.
  • Horizontal containers + parallax: ease: "none" mandatory.
  • Function-based start/end + invalidateOnRefresh: true for anything size-dependent. All triggers inside gsap.matchMedia() contexts.
  • Continuous/scroll-linked animation: transform + opacity ONLY.
  • Mobile (≤768px) gets a DESIGNED simpler choreography, not degraded desktop.

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.