astro-conversion-kit — скилл
Набор скиллов переносит WordPress-сайт на статический Astro и сверяет адреса, SEO-теги и вид по трем ширинам экрана.
- 120 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Агент читает публичный сайт обходом, запускает скрипты, создает репозиторий и промежуточный деплой от вашего аккаунта.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/astro-conversion-kitОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент читает публичный сайт обходом, запускает скрипты, создает репозиторий и промежуточный деплой от вашего аккаунта.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Восемь скиллов ведут агента от адреса живого сайта до запроса на слияние. Оркестратор `convert-site` один раз задает вопросы с готовыми значениями по умолчанию, затем вызывает остальные: `capture-site` читает публичные страницы, `parity-gates` сверяет результат с зафиксированной копией, `visual-review` сравнивает снимки при 390, 768 и 1440 px. Точные операции выполняют обычные скрипты на Node. Сайт собирается в новом репозитории на ветке `astro-rebuild`. Итог: запрос на слияние (pull request в GitHub), закрытый от индексации промежуточный деплой на Vercel или Cloudflare Pages и план запуска `docs/LAUNCH.md`. WordPress разобран подробно, но подходит любой сайт, который отдает HTML по HTTP.
Для кого. Веб-студии и владельцы сайтов на WordPress, которым нужна статическая копия без смены адресов и потери позиций в поиске.
Подходит, если
- Сайт на WordPress тормозит или требует постоянных обновлений безопасности, а структура адресов должна остаться прежней.
- Студия переносит десятки клиентских сайтов и хочет одинаковый проверяемый процесс.
- Перед запуском нужен отчет о битых ссылках, дублях заголовков и тяжелых картинках.
- Агент должен довести работу до запроса на слияние и запустить проверки после релиза.
Не подходит, если
- На сайте нужны поиск, комментарии, корзина или вход: статика такое не заменяет.
- Сайт требует проверки в Windows: платформа не поддерживается.
- Нужен редизайн: по умолчанию сборка повторяет живой сайт вместе с его недостатками.
Пример запроса к агенту
Конвертируй https://example.com в Astro с помощью https://github.com/ethanplusai/astro-conversion-kit и ответь на вопросы по умолчанию.Ограничения
Нужны Node 22.23.4 и новее из ветки 22 либо 24.22.1 и новее, git и Playwright Chromium. Для автоматического создания репозитория и запроса на слияние нужен `gh` с входом в GitHub, для промежуточного деплоя нужен аккаунт Vercel или Cloudflare. Платформы: macOS и Linux. Скиллы отказываются трогать DNS, отправлять формы на живом сайте и коммитить в `main` что-либо кроме каркаса. Значения вроде среднего времени прогона в 83 минуты взяты из README автора и не проверены каталогом.
Как отключить. Удалите скиллы из `.agents/skills/` или `.claude/skills/`, а плагин командой `/plugin uninstall`. Созданный репозиторий и деплой удаляются отдельно.
Частые вопросы
Как поставить astro-conversion-kit в Claude Code?
Через маркетплейс плагинов: `/plugin marketplace add ethanplusai/astro-conversion-kit`, затем `/plugin install astro-conversion@astro-conversion-kit`. Скиллы также ставятся командой `npx skills add`.
Нужен ли доступ в админку WordPress?
Нет. Захват читает то, что сайт отдает публично: карты сайта, REST API и ссылки между страницами. Черновики и закрытые материалы в копию не попадают.
Что делает агент с формами и сторонними скриптами?
Формы отправляют данные на внешний адрес, который вы укажете при вводных вопросах. Аналитика, менеджеры тегов и чаты переносятся по списку, ничего не отбрасывается молча.
Агент сам запускает сайт в работу?
Нет. Он доводит работу до запроса на слияние и промежуточного деплоя. Слияние и запуск остаются за вами, DNS скиллы не трогают.
На каких системах работает набор?
На macOS и Linux. Windows в этой версии не поддерживается. Нужен Node 22.23.4 и новее на ветке 22 либо 24.22.1 и новее; Node 20 скиллы отклоняют.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл clone-website воссоздает сайт по URL как чистое Next.js-приложение: скриншоты, замер стилей, параллельная сборка секций и визуальная сверка
Скилл и CLI pwc: по одной команде clone с адресом агент воссоздает страницу сайта как проект Vite и React и измеряет совпадение
Скилл-методика воспроизведения сайтов: от статичной страницы до тяжелого WebGL, с упором на настоящий исходный код, а не на выдуманный агентом
Скилл /taste разбирает дизайн сайта по ссылке: токены, принципы с компромиссами и готовые правила для Cursor и Claude Code
MCP-сервер, который ищет образцы среди сайтов-победителей Awwwards и разбирает анимацию и структуру любой страницы
Скилл для сборки премиальных скролл-сайтов с реальным дизайн-стандартом: типографика, ритм, глубина, движение и проверка в браузере
Коротко о README
Автор приводит среднее по 45 переносам: прогон занимает 83 минуты, дизайн прошел сверку во всех случаях. В репозитории есть демо на сайтах sxsw.com, harvard.edu и angrybirds.com.
Бейдж для README
Исходный SKILL.md
--- name: convert-site description: Convert a live website (WordPress first; Drupal, Webflow, Squarespace, Wix and static sites too) into a static Astro site with the same URLs, content, head tags, media, redirects and look, proven by parity gates and a pixel-level visual review, ending in one pull request, a noindexed staging deploy and a launch runbook. Use when asked to convert, rebuild, migrate or clone a site to Astro, when handed a site URL with this kit's link, to resume a conversion from .conversion/state.json, or with --apply <id> to apply one suggestion as a proposal. --- # convert-site The orchestrator. It asks one message of questions, then runs every other skill in order without stopping again, and ends with a pull request the person merges and a runbook they launch from. ## The golden rules 1. **One intake message, then no stops.** Every question carries a default. Anything that later needs an account, a login or a token you do not have goes on the "needs you" list (`state.needsYou` and `docs/LAUNCH.md` section A) and the run carries on. 2. **The live site is read-only.** Only these read it, paced: the capture scripts, `shoot.mjs` and `styles.mjs` on live, `css-coverage.mjs`, `launch-audit --old-url` and `pre-launch --predecessor-url`. Analytics are blocked on their live page loads, so no visit is counted. Never submit a form on it, log in, or fetch a page by hand to fill a gap. 3. **The default build equals live, faults included.** Content is moved from captured markup, never retyped or tidied. Every oddity is a decision row that says "reproduce live by default". A forced difference is an exception; an improvement is a proposal (`PROPOSALS=on` only). 4. **Gates on every commit, never softened.** Never edit `baseline/` to pass (only the `keep` flags in `baseline/scripts.json`). A skip is not a pass; "Not covered" is never a pass. 5. **`main` gets the scaffold commit and nothing else.** On a new, empty repository init-site makes one commit on `main`, the exception to "never commit to main": the PR needs a base. Everything after it is on `astro-rebuild`, one PR. Never force-push, never merge, never touch DNS, the old host or a dashboard setting. 6. **No secrets in chat or in the repository.** Never ask the person to paste a token. Credentials come from the environment or a CLI's own login. ## Names used below `KIT` is the absolute path of this kit (the folder holding `skills/` and `package.json`). `LIVE` is the live origin. `SITE` is the absolute path of the new site repository (default `<current folder>/<slug>`); the capture and the run state are written into it from the start, and `init-site.mjs` scaffolds around them. Run every command from `SITE`. Every script prints `--help`; run that rather than reading the source. Every Node command in a fresh shell starts with `source ~/.nvm/nvm.sh && nvm use 22.23.4` (or runs in a shell that reads `.nvmrc`). ## Step 0a: a kit that can run The scripts import `parse5`, `playwright` and the rest from the kit's `node_modules`. If `$KIT/package.json` or `$KIT/node_modules` is missing (an install that copied only the skill folders has neither), clone the kit and install it, then use the clone as `KIT`: