Short Script Lane
Execute the canonical script-first short-asset workflow with three approval gates before code and one approval gate after every built screen.
Core Pipeline: Verify concept -> Write script outline -> Wait for script approval -> Write complete plan -> Wait for plan approval -> Write material needs -> Wait for materials approval -> Build screen-01 -> Wait for screen-01 approval -> Build screen-02 -> Wait for screen-02 approval -> Continue until all approved screens are complete -> Browser review -> QA and delivery
Mandatory Rules
Serial Execution & Gate Discipline
- This lane is only for
6-10sassets that can stay within one clear takeaway and one clear proof path. - Code must not begin until
01-script,02-plan, and03-materialsare all explicitly approved. - Build must proceed screen by screen in the order defined by
02-plan/complete-plan.json. - No screen may begin implementation until the previous screen has its own build approval.
- Each screen must have one primary motion only.
- Brand constraints and base motion constraints must persist through every stage, not just QA.
- This lane is browser-first and CSS-first. Do not switch to Remotion.
Persistent Constraints
Every stage must explicitly carry persistentConstraints, which includes:
brandConstraintsbaseMotionConstraints
baseMotionConstraints must preserve:
onePrimaryMotionPerScreenlessIsMoreminimalCopynoTextOverlapsingleProofPathquietlyConfidentMotion
Script Outline Detail Rules
01-scriptis not allowed to stay abstract.- Every screen in the script outline must explicitly describe:
- the interface surface
- the layout snapshot
- the background treatment
- the key on-screen elements
- the single primary motion
- Background and interface details must be clear enough for a user to approve visual direction before the complete plan exists.
- If a screen only states purpose plus motion without clarifying what the interface and background actually look like, the script gate should fail.
- When listing reusable materials or
requiredAssets, prefer curated material-library IDs from${PROJECT_DIR}/assets/registry.json. - Match curated materials by
narrativeRole,scriptTriggersEn,scriptTriggersZh, andhostSurfacesfirst. - Rank fit by
toneTags,visualWeight,informationDensity, anddominance, then decide whether reuse is safe viareuseMode,mutationCost,safeToChange, andkeepFixed. - If curated candidates remain weak after ranking, choose to hand-build the screen instead of forcing a low-fit reuse.
CSS Implementation Rules
- One screen, one moving focal element
- Minimal copy, no text overlap
- Brand guideline must be visible in color, typography, radius, background, and motion tone
- SaaS demo or micro-animation extensions are allowed only if they still preserve one primary motion per screen
Resource Manifest
References
| Resource | Path | Purpose |
|---|---|---|
| output contract | ${PROJECT_DIR}/skills/shared/output-contract.md |
Canonical path layout |
| persistent constraints contract | ${PROJECT_DIR}/skills/shared/persistent-constraints-contract.md |
Cross-stage rules |
| script outline contract | ${PROJECT_DIR}/skills/shared/script-outline-contract.md |
First approval artifact |
| complete plan contract | ${PROJECT_DIR}/skills/shared/complete-plan-contract.md |
Main implementation contract |
| material needs contract | ${PROJECT_DIR}/skills/shared/material-needs-contract.md |
Materials planning contract |
| short script lane gates | ${PROJECT_DIR}/rules/workflow/short-script-lane-gates.md |
Approval and build gates |
| asset QA rules | ${PROJECT_DIR}/rules/quality/asset-qa-rules.md |
Final review rules |
Templates
| Template | Path | Purpose |
|---|---|---|
| script outline | ${PROJECT_DIR}/templates/short-script-assets/script-outline-template.md |
Script-first scaffold |
| complete plan | ${PROJECT_DIR}/templates/short-script-assets/complete-plan-template.md |
Design integration scaffold |
| material needs | ${PROJECT_DIR}/templates/short-script-assets/material-needs-template.md |
Asset dependency scaffold |
| screen build approval | ${PROJECT_DIR}/templates/short-script-assets/screen-build-approval-template.md |
Per-screen approval scaffold |
| React project bootstrap | ${PROJECT_DIR}/templates/project-bootstrap/short-asset-react-template/ |
Browser-first CSS implementation template |
Workflow
Step 1: Verify Short-Asset Concept
GATE: ${PROJECT_DIR}/output/<case-slug>/00-input/product-context.md, ${PROJECT_DIR}/output/<case-slug>/00-input/design-guideline.md, ${PROJECT_DIR}/output/<case-slug>/short-assets/<asset-slug>/00-concept/micro-concept.md, and asset-metadata.json exist.
EXECUTION:
- Read the concept and metadata.
- Confirm the work fits
6-10s, one takeaway, one proof path, and one primary motion per screen. - If the concept requires multi-scene exposition or competing motions, route it to the heavy lane instead of forcing it through this skill.
CHECKPOINT:
## Step 1 Complete
- [x] Concept inputs verified
- [x] Script-first short lane confirmed as the correct lane
- [x] Screen-level single-motion discipline established
- [ ] Next: auto-proceed to Step 2
Step 2: Write Script Outline
GATE: Step 1 complete.
EXECUTION:
- Write
01-script/script-outline.md. - Write
01-script/script-outline.json. - Include
persistentConstraintsin both outputs. - For each screen, explicitly describe the interface surface, layout snapshot, background treatment, key visible elements, and single primary motion.
- Do not defer all visual specifics to the complete plan; the script outline must already be visually reviewable.
- Create
01-script/approval.mdif it does not exist.
BLOCKING: Wait for 01-script/approval.md to contain - Status: APPROVED.
CHECKPOINT:
## Step 2 Complete
- [x] `script-outline.md` written
- [x] `script-outline.json` written
- [x] `01-script/approval.md` present
- [ ] Next: BLOCKING - wait for script approval
Step 3: Write Complete Plan
GATE: Step 2 complete and 01-script/approval.md is explicitly approved.
EXECUTION:
- Integrate the approved script with brand context, design guideline, and persistent constraints.
- Write
02-plan/complete-plan.md. - Write
02-plan/complete-plan.json. - Ensure every screen defines layout, background, copy, primary motion, motion sequence, and proof element.
- Create
02-plan/approval.mdif it does not exist.
BLOCKING: Wait for 02-plan/approval.md to contain - Status: APPROVED.
CHECKPOINT:
## Step 3 Complete
- [x] `complete-plan.md` written
- [x] `complete-plan.json` written
- [x] `02-plan/approval.md` present
- [ ] Next: BLOCKING - wait for complete plan approval
Step 4: Write Material Needs
GATE: Step 3 complete and 02-plan/approval.md is explicitly approved.
EXECUTION:
- Audit what is already available in the repo.
- Write
03-materials/material-needs.md. - Write
03-materials/material-needs.json. - For every reusable candidate, explicitly state whether it is:
reuse as-isreuse with adaptationhand-build
- Highlight any missing item that could break brand fidelity or force cluttered motion/layout decisions.
- Create
03-materials/approval.mdif it does not exist.
BLOCKING: Wait for 03-materials/approval.md to contain - Status: APPROVED.
CHECKPOINT:
## Step 4 Complete
- [x] `material-needs.md` written
- [x] `material-needs.json` written
- [x] `03-materials/approval.md` present
- [ ] Next: BLOCKING - wait for materials approval
Step 5: Build Screens In React And CSS, One By One
GATE: Step 4 complete and 03-materials/approval.md is explicitly approved.
EXECUTION:
- Create or update
projects/short-asset-<asset-slug>using the React template as the baseline. - Read screen order from
02-plan/complete-plan.json. - Create
04-build/build-log.mdas the running index for the build state. - Build
screen-01only. - Write
04-build/screens/<screen-id>/build-notes.md. - Create
04-build/screens/<screen-id>/approval.mdif it does not exist. - Block after each built screen and wait for
04-build/screens/<screen-id>/approval.mdto contain- Status: APPROVED. - Only after that approval may the next screen begin.
- Keep one primary motion per screen and avoid text overlap throughout.
CHECKPOINT:
## Step 5 Complete
- [x] React project exists at `projects/short-asset-<asset-slug>`
- [x] Screens are being implemented in the order defined by `complete-plan.json`
- [x] Each completed screen has `build-notes.md`
- [x] Each completed screen has its own `approval.md`
- [x] `build-log.md` written
- [ ] Next: BLOCKING - wait for the current screen approval before the next screen
Step 6: Browser Review, QA, And Delivery
GATE: Step 5 complete, every screen listed in 02-plan/complete-plan.json has been built, and every screen approval is explicitly approved.
EXECUTION:
- Start the React dev server.
- Open the browser preview.
- Verify loading, visual fidelity, single-motion discipline, minimal copy, and non-overlap behavior.
- Verify that no later screen drifted from earlier approved screens during integration.
- Write
05-review/asset-qa.md. - Write
06-delivery/delivery-manifest.md.
CHECKPOINT:
## Step 6 Complete - Script-first short asset ready
- [x] Browser preview reviewed
- [x] All screen-level approvals preserved through the integrated preview
- [x] `asset-qa.md` written
- [x] `delivery-manifest.md` written