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

ce-product-pulse — скилл для Claude Code: отчёт о состоянии продукта

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

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

Что делает ce-product-pulse

Скилл запрашивает источники данных продукта за указанный временной интервал и складывает компактный отчёт в <root>/pulse-reports/YYYY-MM-DD_HH-MM.md, а главное показывает в чате. Отчёт занимает 30–40 строк: использование, производительность, ошибки, что делать дальше. Интервал задаётся аргументом вроде 24h, 7d или 1h; если его не указать, берётся значение из конфига, а при отсутствии и там — 24h. К верхней границе окна добавляется буфер в 15 минут, потому что аналитика и трейсинг часто отстают с приёмом данных.

Всё чтение. Скилл не меняет продукт, базу или внешние системы: единственные записи — настройки в .compound-engineering/config.local.yaml и сам файл отчёта. Подключение к базе должно быть read-only, и на этапе интервью учётные данные с правом записи отклоняются. База вообще не обязательна: многие продукты обходятся аналитикой и трейсингом. В сохранённый отчёт не попадают почты, идентификаторы аккаунтов и содержимое сообщений.

Порогов и ярлыков «хорошо/плохо» здесь нет — числа показываются как есть, решает читатель. Первый запуск проводит интервью и записывает настройки, дальше скилл идёт сразу к сбору отчёта. Каждый запуск сохраняется, так что прошлые отчёты можно листать как ленту. Это не замена дашборду и не журнал релизов: глубокое расследование по-прежнему делается родными инструментами.

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

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

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

  • Собери pulse-отчёт за 7d
  • Запусти ce-product-pulse за 24h
  • Сделай отчёт о состоянии продукта за 1h

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

1Через Skills CLI (Vercel)

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

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

~/.claude/skills/ce-product-pulse/SKILL.md

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

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

Вопросы о ce-product-pulse

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

Выполните npx skills add EveryInc/compound-engineering-plugin --skill ce-product-pulse -a claude-code. Скилл окажется в ~/.claude/skills/ce-product-pulse/SKILL.md.

Что делает ce-product-pulse?

Запрашивает источники данных продукта за заданный интервал и пишет отчёт на 30–40 строк в <root>/pulse-reports/, а ключевые пункты показывает в чате.

Нужна ли база данных для работы скилла?

Нет, доступ к базе опционален: многие продукты собирают отчёт по аналитике и трейсингу. Если база всё же подключена, соединение должно быть read-only — учётные данные с правом записи интервью не примет.

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

SKILL.md · MIT
---
name: ce-product-pulse
description: "Generate time-windowed product pulse reports from configured signals."
disable-model-invocation: true
argument-hint: "[lookback window, e.g. '24h', '7d', '1h'; default 24h]"
allowed-tools:
  - Read
  - Write
  - Glob
  - Grep
  - Bash
  - AskUserQuestion
---

# Product Pulse

`ce-product-pulse` queries the product's data sources for a given time window and produces a compact, single-page report covering usage, performance, errors, and followups. The report is saved to `<root>/pulse-reports/` and the key points are shown in chat.

**Done:** a report of 30-40 lines exists at `<root>/pulse-reports/YYYY-MM-DD_HH-MM.md`, its headlines and top followup are in chat, and Phase 3 (Scheduling) has been reached.

## Boundaries

- **Read-only, everywhere.** The skill does not mutate the product, the database, or any external system. Its only writes are pulse settings appended to `.compound-engineering/config.local.yaml` (interview and opt-out writes stay on the local override) and the report file. MCP and other data-source tools are invoked read-only; if a tool offers write modes, do not use them. A database source must be a read-only connection — the interview refuses read-write credentials, and DB access is optional, since many products complete the pulse with analytics and tracing alone.
- **No PII in saved reports.** No user emails, account IDs, or message content in the file written to disk.
- **Read it like a founder.** No hardcoded thresholds, no default "good"/"bad" labels, no alerting: present the numbers and let the reader judge.
- **Single page.** Target 30-40 lines. If a section is thin, leave it thin; if the report is getting long, cut.
- **Not a shipping log or a dashboard replacement.** Shipped work lives in the issue tracker and commit history. Deep investigation still uses the native tools; this consolidates a single-page read, and every run is saved so past pulses browse as a timeline.

## Interaction Method

Default to the host's blocking question tool already in the current tool list (match by capability, not by a host-specific name). Presence in the current tool list is proof the tool exists; never call a user-facing question tool to discover whether it exists. If a matching tool is listed but unloaded, use the host's tool-discovery primitive to load that capability — do not search for another host's tool name. Fall back to numbered options on the host's user-visible chat surface only when no such tool is in the list or a real question call errors. Never silently skip the question.

Ask one question at a time. Reserve multi-select for first-run configuration only.

## Lookback Window

The **lookback window** is the time range this skill was invoked with (e.g. `24h`, `7d`) — present in the current prompt or conversation, whether the user gave it directly or a calling skill passed it. Common forms are trailing hours (`24h`, `48h`, `72h`), trailing days (`7d`, `30d`), and `1h` for launches.

If the argument is empty, default to `pulse_lookback_default` from config (resolved in Phase 0, Route by config state); if that is also unset, fall through to the hard default of `24h`. If the argument is unparseable, ask the user to clarify.

Apply a **15-minute trailing buffer** to the window's upper bound. Many analytics and tracing tools have ingestion lag; querying right up to `now` under-reports the most recent events. For a `24h` window, query `[now - 24h - 15m, now - 15m]`.

## Artifact Root

This skill writes pulse reports under `<root>/pulse-reports/`. Resolve `<root>` when you first compose a `<root>/` path (per the block below), never before you need it. A write to `<root>/...` and a read of `<root>/solutions/` both count as composing a `<root>/` path, so either one triggers resolution; only a run that touches no `<root>/` path at all -- a scratch-only or no-repo flow -- 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 -->

## Phase 0: Route by config state

<!-- ce-config-layers:start -->
**Resolve ordinary CE yaml keys from the two repo files.**

- **Read** `<repo-root>/.compound-engineering/config.local.yaml`, then `config.yaml` (`<repo-root>` = `git rev-parse --show-toplevel`). Missing files are skipped. Gitignore does not change resolution.
- **Win** with the first active (non-commented) value. For scalars, empty is unset; an invalid value continues to the next layer, then the skill default. For lists and maps, a present key — including an empty list or map — replaces the whole key.
- **Do not** use this rule for `docs_root` — that key is `config.yaml` only.
<!-- ce-config-layers:end -->

Resolve `<repo-root>` with `git rev-parse --show-toplevel`, then apply the ordinary-key rule above to the `pulse_*` keys. Read `references/config.md` whenever a `pulse_*` value has to be interpreted — it is the key schema and nothing else: each key, its allowed values, and its default, with an unset or invalid value taking the documented default rather than being guessed.

**Routing:** every run passes through Phase 2 (Run the pulse) and then Phase 3 (Scheduling). Run Phase 1 (First-run interview) first when `pulse_product_name` is unset after cascade (the ordinary-key rule above), when the repo root cannot be resolved, or when the argument was `setup`, `reconfigure`, or `edit config`. Otherwise start at Phase 2 (Run the pulse).

## Phase 1: First-run interview

Read `references/setup.md` first; this read is required. It defines the strategy-doc seeding, the interview order and its pushback bar, the read-write database refusal, how the config is written to `config.local.yaml` without disturbing other keys, and the one-time scheduling offer. The questions themselves come from `references/interview.md`, which that file names as its own required read.

## Phase 2: Run the pulse

If Phase 1 (First-run interview) ran, re-apply the ordinary-key rule (local then tracked) from the repo root using the native file-read tool before any query, to pick up edits accepted during the Phase 1 review step. Otherwise use the `pulse_*` values already extracted in Phase 0 (Route by config state), applying the defaults in `references/config.md` for anything unset.

Then read `references/run.md` before dispatching any query; this read is required. It defines which queries run in parallel and which run serially, the `pulse_db_enabled` check that decides whether database work runs, the optional quality sampling and its scoring discipline, the four report sections, and where the report is written.

## Phase 3: Scheduling

Setup offers a recurring run once (`references/setup.md`). On later runs, mention it again lightly: if the argument was a schedule keyword (`daily`, `hourly`, `weekly`), say this run is ad-hoc and point at the harness's scheduling primitive; if no schedule is on file and this is the third or later run, mention once that scheduling is available. Do not nag on every run, and never schedule automatically — any handoff to a scheduling primitive requires explicit confirmation.

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

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

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

ce-worktree Скилл заводит отдельное рабочее дерево git, чтобы правки не трогали основной чекаут. Пригодится, когда нужно поработать в стороне от текущей ветки. CX Codex +1 3 100установок ce-strategy Скилл создаёт или обновляет STRATEGY.md с описанием продукта, его пользователей, метрик и направлений работы. Пригодится при запуске продукта или смене курса. CX Codex +1 3 000установок ce-proof Публикует локальные markdown-файлы в Proof — редактор для совместной работы над спеками, планами и черновиками. CX Codex +1 3 000установок ce-test-browser Запускает браузерные тесты для страниц, затронутых текущей веткой или pull request. Определяет порт dev-сервера и проверяет интерактивность интерфейса. CX Codex +1 3 000установок ce-test-xcode Собирает и запускает iOS-приложение в симуляторе через XcodeBuildMCP, сохраняя логи и скриншоты проверок перед передачей кода. CX Codex +1 2 900установок ce-riffrec-feedback-analysis Превращает записанный продуктовый фидбек в структурированные баги и требования. Берёт видео, скрины или заметки из Riffrec и выдаёт готовый отчёт для других агентов. CX Codex +1 2 800установок ce-polish Доводит рабочую фичу через фидбек в браузере: ты говоришь, что хочешь исправить, скилл правит код, hot reload показывает результат. CX Codex +1 1 100установок ce-pov Скилл выносит обоснованный вердикт о том, подходит ли внешнее решение, документ или подход вашему проекту. Судит только по доказательствам из кодовой базы и ограничениям. CX Codex +1 1 000установок

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

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