Create Goose Graphics Format
Create and publish a new Gooseworks graphics format when the existing community formats do not cover the user's requested surface or content structure. The runbook guides an agent through selecting one of the fixed supported canvases, drafting a reusable…
10 steps · start to finish.
- 1Step 1
Environment Setup
▶- Create the output directory and a dedicated working directory.
- Confirm the
goose-graphicsskill is installed in the workspace. - Confirm screenshot dependencies are installed for
goose-graphics/screenshot. - Confirm the user is signed in with
npx gooseworks login.
mkdir -p "${RESULTS_DIR:-/app/results}" "${WORKING_DIR:-./gooseworks-format}" npx gooseworks formats list >/tmp/gooseworks-formats.txt npx gooseworks styles list >/tmp/gooseworks-styles.txt test -d goose-graphics/screenshot/node_modules || \ (cd goose-graphics/screenshot && npm install && npx playwright install chromium) - 2Step 2
Check Existing Formats
▶Run npx gooseworks formats list or npx gooseworks formats search "<term>" before creating anything new. If an existing format fits the user's request, stop and report the existing slug instead of…
- 3Step 3
Pick a Supported Canvas
▶Choose exactly one built-in canvas. A new format is a new slug and new content rules over an existing canvas; it is not a new custom width and height.
- 4Step 4
Define Name, Slug, and Content Rules
▶Suggest 2-3 descriptive lowercase kebab-case slugs. Check the preferred slug before using it:
- 5Step 5
Render Example Images
▶Render at least one example PNG and preferably 2-3 examples across contrasting published styles.
- 6Step 6
Write `gooseworks-format.json`
▶Create the manifest in the working directory.
- 7Step 7
Validate Before Publish
▶Validate that the manifest has a 20-1000 character description, at least 50 characters of contentRulesMd, 3-10 lowercase tags, and at least one rendered example file. Confirm width and height match…
- 8Step 8
Publish
▶Publish from the working directory. Use --yes when scripted so a server-suggested slug can be accepted automatically after a collision.
- 9Step 9
Iterate on Errors (max 3 rounds)
▶If validation or publish fails, run at most 3 rounds of targeted fixes. Fix only the failing item, re-render examples when visual output changes, re-run validation, and then retry publish. Stop after…
- 10Step 10
Final Checklist
▶Write summary.md and validation_report.json, then verify all mandatory outputs.