К основному содержанию
скилл CX Codex

ce-dogfood — скилл для Claude Code: проверка ветки и установка

Скилл проверяет изменения активной ветки в браузере, исправляет небольшие поломки и сохраняет отчёт. Запускайте его перед слиянием, чтобы пройти пользовательские сценарии по диффу.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add EveryInc/compound-engineering-plugin --skill ce-dogfood -a claude-code
Открыть на GitHub

Что делает ce-dogfood

ce-dogfood сравнивает активную ветку с trunk, строит карту пользовательских сценариев и проверяет их в настоящем браузере. Проверка ограничена изменениями ветки. Скилл оценивает сценарии с точки зрения корректности и продуктовых персон, а небольшие и понятные поломки исправляет с регрессионными тестами и коммитами.

Для работы нужны локальный сервер разработки и установленный agent-browser; браузером скилл управляет только через эту CLI. Перед началом он требует прочитать references/phases.md, а отчёт собирает по шаблону в dogfood-reports/. Каждый сценарий получает статус, затем запускается автоматический набор тестов. Если набор завершился с ошибкой, итог будет «не готов», даже когда проверки в браузере прошли.

Скилл запускается вручную и не должен переключать основную рабочую копию без согласия, если там есть незакоммиченные изменения. Архитектурные и спорные продуктовые правки он оставляет человеку, а не вносит ради зелёной матрицы.

Какие задачи решает

  • проверить в браузере сценарии, затронутые диффом ветки
  • найти небольшие поломки пользовательского интерфейса
  • проверить исправление регрессионным тестом
  • зафиксировать результаты проверки в отчёте

Примеры запросов агенту

  • Проверь изменения текущей ветки через /ce-dogfood.
  • Прогони браузерную проверку для PR 42: /ce-dogfood 42.
  • Проверь ветку feature/login на локальном сервере: /ce-dogfood feature/login --port 3000.

Как установить ce-dogfood

1Через Skills CLI (Vercel)

npx skills add EveryInc/compound-engineering-plugin --skill ce-dogfood -a claude-code

2Вручную: положить файлы

~/.claude/skills/ce-dogfood/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ce-dogfood/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора34

ce-pov Скилл выносит обоснованный вердикт о том, подходит ли внешнее решение, документ или подход вашему проекту. Судит только по доказательствам из кодовой базы и ограничениям. CX Codex +1 1 000установок ce-promote Готовит черновики анонсов для соцсетей и чейнджлогов прямо по свежему коду или PR. Пригодится разработчикам, чтобы не ждать маркетинг перед релизом. CX Codex +1 1 000установок ce-explain Скилл объясняет, почему код или процесс приняли текущую форму и что происходило за окно работы. Пригодится, когда нужна причина, а не рекомендация. CX Codex +1 957установок ce-babysit-pr Следит за открытым пуллреквестом на GitHub, исправляет замечания ревьюеров и чинит упавшие тесты до готовности к мерджу. CX Codex +1 846установок ce-sweep Скилл обходит настроенные источники обратной связи, подтверждает каждую новую запись на месте и складывает открытые пункты в план, готовый для lfg. CX Codex +1 789установок ce-handoff Сохраняет контекст текущей сессии в неизменяемый файл передачи и помогает новому агенту продолжить работу без доступа к прошлой истории. CX Codex +1 697установок ce-retune Перетюнивает корпус скиллов под новую модель по замерам: базовая линия из архива прогонов, шумовой пол, аудит и проходы до порога, записанного заранее. CX Codex +1 620установок ce-prototype Собирает одноразовый прототип, чтобы проверить, как фича должна работать, ощущаться или читаться, пока откат ещё дешёвый. CX Codex +1 544установок

Похожие

improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. 414 180установок agent-browser vercel-labs Скилл управляет браузером через CLI: открывает страницы, заполняет формы, нажимает кнопки и проверяет веб-приложения. Подходит для задач, где агенту нужно действовать в интерфейсе. CX Codex +1 1 200 000установок prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. 986 201установок

Рядом в теме «Тесты и QA»

Всё по теме «Тесты и QA» →

Вопросы о ce-dogfood

Как установить ce-dogfood в Claude Code?

Запустите npx skills add EveryInc/compound-engineering-plugin --skill ce-dogfood -a claude-code. Скилл устанавливается в ~/.claude/skills/ce-dogfood/SKILL.md.

Что делает скилл ce-dogfood?

Он проверяет в браузере пользовательские сценарии, связанные с изменениями ветки, и формирует отчёт. Небольшие исправления сопровождает регрессионными тестами и коммитами.

Что нужно для работы ce-dogfood?

Нужны локальный сервер разработки и установленный agent-browser. Скилл управляет браузером только через эту CLI.

Исходный текст

SKILL.md · MIT
---
name: ce-dogfood
description: "Hands-off, diff-scoped browser QA of the active branch: maps user flows, drives a real browser, autonomously fixes small breakages with regression tests and commits, judges experience against product personas, and writes a durable dogfood report. Manual invocation only."
disable-model-invocation: true
argument-hint: "[PR number, branch name, or blank for current branch] [--port PORT]"
---

# Dogfood

Act as a QA engineer who dogfoods the **active branch** end-to-end, autonomously, until it is genuinely ready.

**Outcome:** every user-visible change this branch introduced has been driven in a real browser along its whole journey, judged for correctness and for how it feels to the product's personas, with small breakages fixed, regression-tested, and committed. **Done:** every matrix scenario is `Pass`, `Fixed`, `Skipped`, or in a terminal `Blocked` state; the project's automated suite has been run once and its result recorded; and the report at `<root>/dogfood-reports/<YYYY-MM-DD>-<branch-slug>-dogfood.md` is finalized against its template and committed. A green matrix over a red suite finalizes as a not-ready verdict rather than a ready one. Chasing that suite green is not this run's job.

This is **diff-scoped**, not whole-app exploration. You test what *this branch* introduced or modified versus the trunk.

**Read `references/phases.md` before Phase 0 (Scope) and follow it.** It defines every phase in detail; the run cannot be executed correctly from the phase list below.

## Boundaries

- Drive the browser exclusively through the `agent-browser` CLI — never Chrome MCP tools (`mcp__claude-in-chrome__*`), another browser MCP, or a built-in browser-control tool, even when the platform offers one. Use the direct binary, never `npx agent-browser` (the direct binary uses the fast Rust client).
- Never dogfood the trunk on a branch-name or blank target — there is no diff. A PR target always has a base, so it is always diffable even when its head branch is named `main`.
- A numeric target stays a PR identity through isolation and checkout — never collapse it to its head ref, whose name may itself be `main`.
- Never switch the primary checkout out from under the user. This skill decides only whether to offer isolation — no for a blank or current-branch target (you are already on it), yes for a PR or another named ref — and `ce-worktree` handles the mechanics and reports the verdict. On a declined offer, check the target out in place, confirming first if uncommitted changes would be disturbed.
- Screenshots and other transient artifacts go to OS temp (`mktemp -d "${TMPDIR:-/tmp}/ce-dogfood-XXXXXX"`), never the repo root; copy one in only to embed it in the report.
- Auto-fix only what is small, well-understood, and low-risk. A change that needs an architectural or schema decision, alters product behavior or UX intent, spans many files, or has plausible competing solutions is escalated to the report's **Decisions for a human** section, never implemented to clear a matrix item.

## Prerequisites

**User-runnable invocation rendering.** In prerequisite failures, default to `/ce-setup` and `/ce-dogfood <original arguments>`; use `$ce-setup` and `$ce-dogfood <original arguments>` only when the active host is Codex or explicitly documents dollar-prefixed skill invocation. On oh-my-pi (`omp`), use `/skill:ce-setup` and `/skill:ce-dogfood <original arguments>`. Render only each invocation as inline code and output one form only.

- A local dev server you can start (`bin/dev`, `rails server`, `npm run dev`, etc.).
- `agent-browser` installed. Check:

  ```bash
  command -v agent-browser >/dev/null 2>&1 && echo "Ready" || echo "NOT INSTALLED"
  ```

  If not installed, stop and tell the user to install `agent-browser`: print the rendered `ce-setup` invocation for the current install command, followed by the rendered `ce-dogfood <original arguments>` invocation to retry. This workflow cannot function without it.

## Artifact Root

Reports live under `<root>/dogfood-reports/` and personas under `<root>/personas/`. Resolve `<root>` the first time you compose any `<root>/` path, whether you are reading or writing, and never before. A run that composes none skips it.

<!-- ce-docs-root:start -->
**Resolve the CE artifact root `<root>` before composing any artifact path.**

- **Read** `docs_root` from `<repo-root>/.compound-engineering/config.yaml` only (`<repo-root>` = `git rev-parse --show-toplevel`). Do not read it from `config.local.yaml`. Unset -> `<root>` is `docs`, exactly as before.
- **Validate** a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under `.git/`. Otherwise stop with an error naming `docs_root` and the value -- never fall back to `docs`.
- **Use** `<root>` as the sole artifact location: create it if absent, compose each path as `<root>/<subdir>` with this skill's own subdirectory, and never also read `docs`.
<!-- ce-docs-root:end -->

## Delegation

`ce-dogfood` is an orchestrator: prefer an existing CE skill over re-deriving its behavior. Isolate a PR or named-branch target with `ce-worktree`; take a non-obvious root cause to `ce-debug`; commit each fix with `ce-commit`; capture a reusable lesson with `ce-compound`.

## Compound Packs

The repo's declared Compound Packs supply personas and criteria. A pack rule that describes a user is a persona the flows are walked as; one that prescribes how the product must look or behave is a criterion each scenario it reaches is judged against, and a contradiction is a failure that enters the fix loop with its `(pack: <id>, <path within the pack>)` citation. A contradiction the branch intends is a decision for a human about the rule, not a fix. Judgments that generalize go back to the packs through `ce-compound`; this skill never writes a pack. `references/phases.md` defines how packs are applied.

## Phase order

Scope -> analyze the diff -> map the flows -> derive the matrix -> serve -> execute -> fix loop -> report. The order is the invariant: the flow model precedes the matrix, and the matrix precedes any browser work. Each phase's conditions are in `references/phases.md`; read it before Phase 0 (Scope) rather than reconstructing a phase from this line. Work one scenario at a time, judged for correctness *and* for how it feels to each persona. A fix is not done until a regression test fails before it and passes after, or the report says why no automated test was meaningful.

**Checkpoint, not a final write.** Create the report from `references/dogfood-report-template.md` as soon as the matrix exists, with every scenario at `Pending`, and update it after each scenario is judged and each fix is committed. `<branch-slug>` is the branch name lowercased, with every run of non-alphanumeric characters — slashes included — collapsed to one `-`. Find a prior run by globbing `<root>/dogfood-reports/*-<branch-slug>-dogfood.md`. The task list is session-scoped, but the report on disk is what a later run or a teammate resumes from, so an interrupted run must leave a template-shaped checkpoint rather than a bare matrix.

**Terminal states.** `Blocked (needs human verify)` (a step that needs an outside interaction, such as OAuth, real email, payments, or SMS, and cannot be driven headlessly) and `Blocked (human decision)` (a fix too big to make autonomously) both wait on a person, and each ends that scenario, not the run: continue the rest of the matrix, and never silently re-queue a blocked scenario, on this run or on resume. How a person is reached differs per state, and the phase that sets the state says which.

© EveryInc · MIT · EveryInc/compound-engineering-plugin

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой