From stitch-kit
Iteratively builds multi-page websites with Stitch MCP: reads next-prompt.md baton, generates next page HTML, integrates into site via bash scripts, updates baton to continue loop.
npx claudepluginhub gabelul/stitch-kit --plugin stitch-kitThis skill is limited to using the following tools:
**Constraint:** Only use this skill when the user explicitly mentions "Stitch" and multi-page or iterative site building.
Implements repeating Stitch build loops for autonomous multi-page website generation: reads next-prompt.md baton, generates pages via Stitch MCP, integrates into site/public, updates SITE.md, preps next task.
Implements autonomous iterative website building with Stitch MCP tools using baton-passing in .stitch/next-prompt.md for continuous page generation and integration.
Enables autonomous iterative website building with Stitch MCP tools using baton-passing via .stitch/next-prompt.md, generating and integrating pages across loops.
Share bugs, ideas, or general feedback.
Constraint: Only use this skill when the user explicitly mentions "Stitch" and multi-page or iterative site building.
You are an autonomous frontend builder in an iterative site-building loop. Each iteration: (1) Read the baton, (2) Generate a page with Stitch MCP, (3) Integrate into the site, (4) Write the next baton so the loop continues.
stitch-setup skill or https://stitch.withgoogle.com/docs/mcp/guide/)DESIGN.md — generate with stitch-design-system from an existing screen (required for consistency)SITE.md — site vision, Stitch project ID, sitemap, roadmap (create if missing)next-prompt.md is the relay baton between iterations. It tells the loop what page to build next.
---
page: about
---
**DESIGN SYSTEM (REQUIRED):**
[Paste DESIGN.md Section 6 here verbatim]
**Page request:**
About page with company mission, team section (3 people), and timeline.
Rules:
page frontmatter → output filename (about.html)DESIGN.md Section 6next-prompt.md at the end of every iteration — the loop stops if this is missingParse next-prompt.md:
page from YAML frontmatter| File | What to look for |
|---|---|
SITE.md | Stitch project ID (Section 2), sitemap (Section 3), roadmap / next pages (Section 4), creative freedom (Section 5) |
DESIGN.md | Section 6 — copy this into every prompt, not just the current one |
Check: Do not rebuild pages already in SITE.md sitemap. Do not deviate from the visual language in DESIGN.md.
list_tools → find Stitch MCP prefixstitch.json exists, use stored projectId — do not create a new projectstitch.json, call create_project → save numeric ID to stitch.jsongenerate_screen_from_text:
projectId: numeric ID (no projects/ prefix)prompt: full baton content including DESIGN SYSTEM blockdeviceType: match what's in SITE.md or DESIGN.mdget_screen with numeric projectId + screenIdbash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" "queue/[page].html"queue/[page].pngqueue/[page].html → site/public/[page].htmlsite/public/)href="#" placeholders with real paths to existing pagesIf chrome* tools are in list_tools:
npx serve site/public -p 3000http://localhost:3000/[page].htmlqueue/[page].png[x] [page].html to the sitemapYou must update next-prompt.md before completing — the loop stalls if you skip this.
next-prompt.md with:
page: <next-page-name>)**DESIGN SYSTEM (REQUIRED):** block copied verbatim from DESIGN.md Section 6project/
├── next-prompt.md ← Baton (current task; updated each iteration)
├── stitch.json ← Stitch project ID (persist between loops!)
├── DESIGN.md ← From stitch-design-system
├── SITE.md ← Vision, sitemap, roadmap
├── queue/ ← Staging: [page].html, [page].png
└── site/
└── public/ ← Production: index.html, about.html, etc.
# Site Vision
[One paragraph describing the site's purpose, audience, and overall feeling]
## Stitch Project
- **Project ID (numeric):** [ID from stitch-mcp-create-project]
## Sitemap
- [ ] index.html — Home
- [ ] about.html — About
- [ ] contact.html — Contact
## Roadmap
1. index.html — main landing page
2. about.html — company/team info
3. contact.html — contact form
## Creative freedom
Additional pages or sections not yet planned...
next-prompt.md (loop stops)DESIGN.md Section 6 from the prompt (causes visual drift)projects/ID format instead of numeric in generate_screen_from_texthref="#" instead of wiring real page linksstitch.json (creates new project every iteration)| Issue | Fix |
|---|---|
| Inconsistent visual styles across pages | Keep DESIGN.md updated; always copy Section 6 into baton |
| Loop stalls at next iteration | Check next-prompt.md has valid frontmatter and non-empty body |
| Stitch generation fails | Ensure baton includes DESIGN SYSTEM block and a specific page request |
| Broken navigation | Use relative paths for internal links; check site/public/ structure |
scripts/fetch-stitch.sh — Reliable GCS HTML downloaderstitch-design-system — Generate DESIGN.md from an existing screenstitch-ui-prompt-architect — Enhance vague baton text into structured promptsdocs/prd-to-stitch-workflow.md — PRD-driven multi-screen workflow