landing-ads
Подготовить рекламные материалы для лендинга — UTM-разметку, тексты объявлений, ключевые фразы и минус-слова под Яндекс.Директ и Google Ads, с экспортом для…
Развернуть систему генерации лендингов (скиллы new-landing/landing-experiment/landing-journal/landing-ads + CI + nginx + docs/adr + experiments + стартовые README/CLAUDE) в уже существующем проекте. Использовать, когда нужно поставить эту систему в другой репозиторий/проект,
$ npx -y skills add monthu56/landforge --skill init-landing-system --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/init-landing-systemContext preview
The summary Claude sees to decide when to auto-load this skill.
Развернуть систему генерации лендингов (скиллы new-landing/landing-experiment/landing-journal/landing-ads + CI + nginx + docs/adr + experiments + стартовые README/CLAUDE) в уже существующем проекте. Использовать, когда нужно поставить эту систему в другой репозиторий/проект,
name: init-landing-system description: Развернуть систему генерации лендингов (скиллы new-landing/landing-experiment/landing-journal/landing-ads + CI + nginx + docs/adr + experiments + стартовые README/CLAUDE) в уже существующем проекте. Использовать, когда нужно поставить эту систему в другой репозиторий/проект, забутстрапить лендинг-проект с нуля или перенести наработки. Merge-aware: не затирает существующие файлы без подтверждения.
Ставит всю систему генерации лендингов в существующий проект из снимка (`reference/system/`) + шаблонов (`reference/templates/`), подставляя инфраструктурные значения целевого проекта. Безопасно: существующие файлы по умолчанию **не перезаписываются**.
`bash scripts/install_user.sh` (копирует skill со снимком в `~/.claude/skills/`). После этого `/init-landing-system` доступен везде.
эталонном репо после изменений в скиллах/CI/инфре, затем переустановить в user-level).
Нужно (если не заданы — спроси через `AskUserQuestion`):
каталоги `/root/<container>`; можно переопределить `--prod-container`/`--staging-dir` и т.д.).
python3 .claude/skills/init-landing-system/scripts/init_project.py \ --brand "<Brand>" --prod-domain <prod> --staging-domain <staging> --slug <slug> \ --target <path-to-project> --dry-run
Покажет, что будет записано и что уже существует (конфликты).
Убери `--dry-run`. Существующие файлы пропускаются (перечислятся). Чтобы перезаписать конкретные — повтори с `--force` (осторожно: затрёт правки целевого проекта).
`.claude/skills/` (4 генераторных скилла), `.github/workflows/` (deploy + cleanup-preview под домены проекта), `deploy/nginx.{prod,staging}.conf`, `docs/adr/` (README + template), `experiments/README.md`, `.gitignore`, стартовые `README.md` и `CLAUDE.md`.
init_project.py печатает его в конце: 1. Сервер: два контейнера nginx + Traefik-роуты на домены (как в эталоне: Traefik + два `nginx:alpine`; webroot `<DIR>/html`, конфиг `<DIR>/nginx.conf`). 2. DNS: прод- и staging-домены → сервер. 3. GitHub-secrets: `DEPLOY_HOST`, `DEPLOY_USER`, `DEPLOY_SSH_KEY`, `DEPLOY_KNOWN_HOSTS`. 4. Первый лендинг: `/new-landing`; затем реальные ID Метрики/верификаций.
Предложи в целевом проекте: `git add -A && git commit` первичной системы. Дальше проект живёт по своему README/CLAUDE.
подставляются — это часть `new-landing`, заполняются при генерации лендинга. init подставляет только инфраструктурный whitelist (см. `reference/placeholders.md`).
на критпути.
Generate, A/B-test, deploy, and audit static landing pages — as Claude Code skills.
Repo: monthu56/landforge
Подготовить рекламные материалы для лендинга — UTM-разметку, тексты объявлений, ключевые фразы и минус-слова под Яндекс.Директ и Google Ads, с экспортом для…
Создать A/B-эксперимент на лендинге — из брифа и гипотезы сгенерировать вариант(ы) на одном URL (inline-сплит, SEO-безопасно), настроить трекинг варианта в…
Аудит-журнал изменений лендингов и A/B-экспериментов — «память об изменениях». Записывает и показывает структурированную историю событий (создание лендинга,…
Создать новый статический лендинг в этой системе по паттерну (встроенные SEO, аналитика, A/B), прогнать самопроверку и завести ветку с превью-URL.…