Create Goose Graphics Style
Create and publish a reusable Gooseworks graphics style from a single reference image. The runbook analy
9 steps · start to finish.
- 1Step 1
Environment Setup
▶mkdir -p /app/results/style-work /app/results/style-work/examples command -v node >/dev/null || { echo "ERROR: node is required"; exit 1; } command -v npx >/dev/null || { echo "ERROR: npx is required"; exit 1; } npx gooseworks styles list >/tmp/gooseworks-styles-list.txt test -d goose-graphics/screenshot/node_modules || ( cd goose-graphics/screenshot && npm install && npx playwright install chromium )If the user has not supplied a reference image path, stop and ask for it. If
npx gooseworks styles listfails because the user is not authenticated, runnpx gooseworks loginbefore continuing. - 2Step 2
Check Existing Styles
▶Search the catalog before creating a new style:
- 3Step 3
Analyze the Reference Image
▶Read the image and write the analysis in plain text before drafting files. Cover palette, typography, layout and shape language, signature visual moves, and mood/category. Treat the style as an aesthetic system: palette, type, density, rhythm, surfaces, borders, shadows, and repe
- 4Step 4
Pick Name, Slug, and Mood Group
▶Use the provided `--name` when present. Otherwise propose 2-3 lowercase-kebab-case candidates derived from the signature moves and ask the user to pick one. Check for collisions:
- 5Step 5
Draft the Slim Style Spec
▶Create the markdown that will become the manifest `designMd` field. Keep it under about 200 lines / 8KB and use this structure:
- 6Step 6
Render Hero and Additional Examples
▶Use the standard catalog brief for every example:
- 7Step 7
Package and Publish
▶Write `/app/results/gooseworks-style.json` with the chosen slug, mood group, `designMd`, and examples array. The examples array must not be empty and exactly one example must have `isHero: true`.
- 8Step 8
Iterate on Errors (max 3 rounds)
▶If rendering, manifest validation, or publishing fails, run at most 3 rounds:
- 9Step 9
Final Checklist
▶Write `/app/results/validation_report.json` and run this verification script: