Create website
create_websiteCreates a website project with a task tracker. Two flows: scaffold a landing page from a 21-section library, or rebuild an existing site as an original Astro project.
Instructions
Set up a website project and hand back a task tracker. One entry point, two flows — pick with kind:
• kind='landing' — build from the bundled generator: an Astro project with a 21-section library (Hero, Problems, Steps, Benefits, Cases, Prices, Reviews, FAQ, Contacts… each with layout variants), a token contract (styles/tokens.css) split from project values (styles/theme.css), a theme picker (/themes) and a section playground (/kit), niche-free page skeletons whose copy is [[…]] markers telling the agent what to write, a privacy page, lead-capture templates (public/send.php + public/assets/lead-form.js), docs/ standards and a machine validator (.claude/check-landing.mjs). Runs npm install. Use for a new site with no reference — one page or several.
• kind='multipage' — rebuild an existing third-party site (donor) as an original project: ships the redesign playbook (donor research, single-source-of-truth data, design tokens, the mandatory redesign delta that keeps the result out of duplicate-content filters, routing, acceptance), battle-tested lead-capture code (send.php + lead-form.js, honeypot, consent, server-side IP, rate limit) plus a tracker seeded with the two research sessions. Deliberately ships NO Astro skeleton and NO template: the donor's structure and stack are unknown until session 1 has looked at it, so the skeleton is raised in session 3. Use when the user points at a site to copy/redo.
Both flows install the same five skills the design work leans on (ui-ux-pro-max, frontend-design, humanizer-ru, image, emil-design-skills), write docs/_dev/tracker.md and append a one-task-per-session protocol to the project's .claude/CLAUDE.md. Skill installs are best-effort — a proxied installer with no network lands in skills_failed while the scaffold still succeeds, so read that field: when it is non-empty, next_steps opens with a fix-it-first step and you install those by hand before starting task 1. Idempotent: existing files are never overwritten; the CLAUDE.md block is appended once.
IMPORTANT — kind is the user's decision. If they only said «сделай сайт» without naming a reference site, ask via AskUserQuestion («лендинг с нуля» / «переделать существующий сайт») before calling.
IMPORTANT — after the call, STOP. Installed skills load only at session start: ask the user to restart the Claude Code app/session, and start work from tracker task 1 in the new session. Do not begin building the site in the same session, and do not run the tracker end to end — one task per session is the point.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which flow to set up. 'landing' — a site built from the bundled 21-section Astro library (one page or a few, no reference site). 'multipage' — rebuild an existing third-party site (donor) as an original Astro project: research first, no template. Ask the user which one when they haven't said; don't guess. | |
| name | No | Site name — used in the previewer config label and the report. Optional. | |
| install_deps | No | landing only: run `npm install` after scaffolding (default true). Ignored for 'multipage' — there is no Astro project yet. | |
| project_path | Yes | Absolute path to the target project directory (must exist). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| flow | Yes | Entry point of the method — the flow guide or the playbook. | |
| kind | Yes | Flow that was set up. | |
| created | Yes | Paths that were created (relative to project). | |
| skipped | Yes | Paths left untouched because they already existed. | |
| tracker | Yes | Task tracker: one row = one session. | |
| updated | Yes | Existing files a block was appended to (.claude/CLAUDE.md). | |
| deps_error | No | Why `npm install` failed, when it did. | |
| next_steps | Yes | What happens in the next session — task 1 only. | |
| preview_port | Yes | Port the Astro dev server (launch.json) serves on. | |
| skills_failed | Yes | Skills that failed to install — install by hand later. | |
| deps_installed | No | landing only: whether `npm install` completed successfully. | |
| skills_installed | Yes | Flow skills installed into the project. |