ce-dogfood

ce-dogfood is a skill for Claude Code from EveryInc/compound-engineering-plugin. It costs 57 tokens per session (1,622 once invoked), scanned A, original, MIT.

A browser-based quality check of the changes on the current code branch. It follows the changed features through real user journeys, checks how they work and feel, and records the results in a report.

In plain words
What is it for?
Use it before considering a branch ready for release. It tests the branch’s changed behavior, runs the project’s automated tests once, and marks each scenario as passed, fixed, skipped, or blocked.
Why use it?
It catches user-visible breakages that automated tests may miss, such as a flow failing in the browser. Small problems can be fixed and covered with regression tests, which are tests that prevent the same failure returning.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter. Also seen: mentions Codex; $skill-name invocation.

Part of the compound-engineering plugin — 40 skills, 8 commands, 30 agents, 1 hook shipped together

About the project

Compound Engineering is a plugin that organizes software work into brainstorming, planning, implementation, review, and recording lessons for future changes. It is used with AI coding agents including Claude Code, Cursor, and Codex, and the catalogue entries provide parts of its agent, skill, command, and hook workflow.

EveryInc/compound-engineering-plugin · 24,860 stars · on GitHub · every.to

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/everyinc/compound-engineering-plugin/ce-dogfood
Any agent
npx skills add EveryInc/compound-engineering-plugin --skill ce-dogfood
Clone the repo
git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin

Made for: Claude Code.

Or install compound-engineering, the plugin that ships this one along with the rest of its 40 skills, 8 commands, 30 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ce-dogfood

README.md
[![agentmods](https://agentmods.dev/badge/skills/everyinc/compound-engineering-plugin/ce-dogfood.svg)](https://agentmods.dev/skills/everyinc/compound-engineering-plugin/ce-dogfood)
Your own site
<a href="https://agentmods.dev/skills/everyinc/compound-engineering-plugin/ce-dogfood"><img src="https://agentmods.dev/badge/skills/everyinc/compound-engineering-plugin/ce-dogfood.svg" alt="Measured on agentmods" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,622 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00057 $0.01622
Opus 5 $0.00028 $0.00811
Sonnet 5 $0.00011 $0.00324
Haiku 4.5 $0.00006 $0.00162

Measured 6d ago against content hash 97f46ebf228f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

ce-dogfood scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/ce-dogfood/SKILL.md · 63 lines

How it starts

The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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. 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 and follow it — it owns every phase in detail, and 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 owns the mechanics and 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.

Read the full file on GitHub · 63 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 63 lines · 57 tokens per session scan A 97f46ebf228f

Subscribe to this mod's changes

ce-dogfood is a skill published in the GitHub repository EveryInc/compound-engineering-plugin (24,860 stars, last pushed yesterday), licensed MIT. It adds 57 tokens to every session and 1,622 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.