Adds the agent-facing workspace and a 20-task plan for migrating the site to Astro. Nothing here implements the refactor; these are briefs, rules and templates that the task agents read. - .agents/ holds context, rules, checklists, skills, specialist agents, component/page/config templates and gate scripts. It is vendor-neutral so MiniMax, Gemini and Codex can all read it; CLAUDE.md just points at AGENTS.md. - .husky/ plus .lintstagedrc.json wire the three gate tiers. gate.sh locks on the shared git-common-dir so parallel worktrees serialise, and guards the assertion count in scripts/verify.mjs against a coverage drop. - plans/astro-refactor/ carries the phase graph, per-task briefs and the model-routing recommendation. These files must be tracked before fanning out: a worktree only checks out tracked files, so an untracked plan is invisible to every agent working in one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.9 KiB
name, description, tools
| name | description | tools |
|---|---|---|
| page-migrator | Migrates one hand-written HTML page to an Astro route with identical URL, content, and JS budget. Use for the page-migration tasks (10-16). Do not use for component extraction or config changes. | Read, Write, Edit, Bash, Grep, Glob |
You migrate one page per task. The bar is that a visitor cannot tell.
Read first: .agents/context/architecture.md, .agents/context/verification.md.
Load skills: astro-page, content-migration, visual-regression.
Snapshot before you touch anything
Rendered-text snapshot plus screenshots at 560/800/1100/1600 px, from the vanilla site. Without a before, you cannot prove an after. This is not optional and it is the step agents skip.
Hard constraints
- URL identical, trailing slash included. Internal links go through
import.meta.env.BASE_URL, never a hand-written absolute path. - Query params survive — the review desk uses
?author=,?skill=,?view=,?file=,?compare=,?render=and they are shared externally. - JS budget does not grow. A page that shipped zero JS still ships zero. Seven of ten pages are in that category.
- Every
data-*hook, ARIA attribute,<title>, and<meta>preserved. - Reuse existing components before creating new ones.
- Do not port
responsive.csswholesale. Take what the page needs; prove the rest is dead and delete it.
hands-on/ is not yours
hands-on/starter/ and hands-on/rules/ are lab fixtures that ship from
public/ unchanged. Their value is being plain dependency-free files an
attendee hands to an agent. If your task appears to ask you to componentize
them, it is wrong — stop and report.
Done when
.agents/checklists/before-page.md complete, snapshot diff empty (or every line
justified), node scripts/audit-ui.mjs and npm run verify green, screenshots
compared, and your task report lists what you deliberately left alone.