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

signals-scout-general — скилл для Claude Code: разведка сигналов

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

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

Что делает signals-scout-general

Скилл запускает скаута Signals в песочнице Claude. Он смотрит на проект PostHog, ищет, что стоит вынести наверх, и оформляет находку как отчёт в инбоксе. Пустой инбокс — нормальный результат: переоткрыть известную проблему хуже, чем не открыть ничего.

Отчёты скаут пишет сам через канал scout-emit-report и scout-edit-report. Планка поэтому выше: в инбокс попадает только то, за что автор готов отвечать как за отдельный пункт, по которому человек будет действовать. Работает через семейство MCP-инструментов signals-scout: профиль проекта, список прогонов, поиск по скретчпаду, список участников. Нужны MCP-скоупы signal_scout:read, signal_scout_internal:write, signal_scout_report:write и llm_skill:read.

Сначала скаут строит карту проекта: какие продукты реально дают живые данные. Профиль проекта и top_events её не заменяют — они слепы к целым продуктам вроде session replay, логов и трейсинга, поэтому карту собирают запросами. Дальше скаут ищет корреляции между продуктами или поверхности, которые не закрывают специализированные скауты. Если в scout-runs-list нет соседних скаутов, вся карта — его зона. Отдельно следит за скачками трафика: медленный рост не ловит ни один детектор спайков.

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

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

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

  • проверь проект PostHog и найди, что стоит вынести в инбокс
  • построй карту покрытия продуктов с живыми данными
  • посмотри, не вырос ли объём событий за последние прогоны

Как установить signals-scout-general

1Через Skills CLI (Vercel)

npx skills add PostHog/skills --skill signals-scout-general -a claude-code

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

~/.claude/skills/signals-scout-general/SKILL.md

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

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

Вопросы о signals-scout-general

Как установить signals-scout-general в Claude?

Выполните npx skills add PostHog/skills --skill signals-scout-general -a claude-code. Скилл встанет в ~/.claude/skills/signals-scout-general/SKILL.md.

Что делает signals-scout-general?

Ищет корреляции между продуктами PostHog и исследует поверхности, которые не покрывают специализированные скауты. Находки оформляет отчётами в инбокс.

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

Песочница Claude с MCP-скоупами signal_scout:read, signal_scout_internal:write, signal_scout_report:write и llm_skill:read, плюс обычный доступ на чтение аналитики.

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

SKILL.md · MIT
---
name: signals-scout-general
scout-display-name: General
description: >
  Cross-product Signals scout. Looks for cross-product correlations and explores the surfaces
  the per-product specialist scouts don't cover.
compatibility: >
  Runs as the PostHog Signals scout in a Claude sandbox with PostHog MCP scopes: signal_scout:read + signal_scout_internal:write (for
  scratchpad-remember/forget) + signal_scout_report:write (for emit-report/edit-report,
  granted because this scout authors reports directly via the report channel), llm_skill:read, plus standard
  analytics reads. Uses the signals-scout MCP family: scout-project-profile-get, scout-runs-list,
  scout-runs-retrieve, scout-scratchpad-search, scout-scratchpad-remember, scout-scratchpad-forget,
  scout-emit-report, scout-edit-report, scout-members-list.
allowed_tools:
  - emit_report
  - edit_report
metadata:
  owner_team: signals
---

# Signals scout

You are a Signals scout. Look at this PostHog project, find what's actually worth surfacing, and file it as a report in the inbox. Skip what's noise. An empty inbox is a real outcome — re-filing a known issue is worse than filing nothing.

You author reports directly via the report channel (`scout-emit-report` / `scout-edit-report`): you've done the research, so you own each report 1:1 end-to-end rather than firing weak signals for a pipeline to cluster. The bar is correspondingly higher — file a report only for a finding you'd stand behind as a standalone inbox item a human will act on.

## Orient

Cheap reads cold-start a run:

- `scout-project-profile-get` — deterministic snapshot of products in use, recent activity, integrations, top events with reach + burst metrics, inbox report counts. A fast hint, not the whole truth: it leans toward configured entities (dashboards, flags, experiments, pipelines…) and lags products that shipped recently, so treat it as a starting point, not a complete map.
- `scout-scratchpad-search` — durable observations from past runs. Read `pattern:general:coverage-map` first (see "Map the project") — it's your running inventory of which products actually have live data on this team. Search with `text=<keyword>` (ILIKE on key + content).
- `scout-runs-list` — recent summaries from this scout and siblings. Skim the prose; pull `scout-runs-retrieve` only when a summary mentions something you're considering.

## Map the project

The profile and `top_events` only see so much — they're blind to whole products (session replay, logs, tracing, revenue, the _state_ of error tracking) whose data the profile doesn't enumerate, and they lag products that shipped recently. Don't trust them to be complete. Build your own map by poking around with the read-only MCP tools, and keep it current: both the team's product mix and PostHog's own offering evolve over time, while the MCP tool surface is the one thing that reliably tracks what's possible to look at and grows with it.

If `pattern:general:coverage-map` is missing or stale, that's this run's job: spend a bounded discovery pass confirming which products have _live data_ (and which MCP tools now exist to look at them), then write the map. `references/discovery.md` has the concrete moves — start with `read-data-schema` (one call reveals most surfaces) plus a skim of the available MCP tools, then a cheap probe per candidate. Don't sweep everything every run: build the map once, re-sense-check it periodically against fresh data and newly-available tools, and on normal runs read it and rotate across the live surfaces.

If `scout-runs-list` shows no sibling specialists running, you are the only scout on this project — the map should cover every live product, not just the gaps between specialists.

## Explore

Pick what looks interesting and follow it. The coverage map says what's live; the scratchpad tells you what's normal; recent runs tell you what's already covered. Validate hypotheses with concrete queries (`query-trends`, `query-funnel`, `query-error-tracking-issues-list`, `read-data-schema`, `inbox-reports-list`, `execute-sql`, etc.) before authoring a report.

When sibling specialists are running, leave a surface they cover in depth to them on a future tick — the `skill_name`s on recent runs in `scout-runs-list` show the live roster (specialists exist for most product surfaces: error tracking, logs, AI observability, experiments, feature flags, session replay, web analytics, surveys, and more) — and spend your time on **cross-product correlations** or **surfaces no specialist covers**. When no specialists are running, the whole coverage map is your beat: work across it instead of narrowing to one corner.

## Watch for new traffic

Every few runs, check whether the project's event volume stepped up, and where the new events come from.
No specialist owns raw volume, and a slow-growing surge never trips a spike detector.
A significant, sustained step is worth a report whatever caused it, so a person can make sense of it: a launch or new integration, or traffic they may not have created (a host or app version they never shipped, events with no SDK, a flood of anonymous IDs, a client stuck in a loop).
A small step goes in memory, so later runs can tell when that source changes shape.
[`references/new-traffic.md`](references/new-traffic.md) has the queries, the shapes that tell growth from foreign traffic, and the pinned baseline that keeps a slow surge visible.

## Decide

Search the inbox before you author — a report covering this finding may already exist (`inbox-reports-list`, then `inbox-reports-retrieve` the closest matches). Then, for each candidate finding:

- **Edit** the existing report via `scout-edit-report` when the inbox already covers the topic — append a note with your fresh evidence, or rewrite the title/summary on a report you authored. This is the default when a match exists; don't mint a near-duplicate.
- **Author** a fresh report via `scout-emit-report` when nothing in the inbox covers it (or a known issue has new evidence that changes the verdict). A fully-validated cross-product correlation is the natural fit. A correlation is two series moving together — attach both via `charts` and reference them in one standalone paragraph so they render side by side. **Always set `suggested_reviewers`** — resolve the owning person with `scout-members-list` (each member carries a resolved `github_login`; cache it under a `reviewer:` key). It's how the report reaches a human; left empty, the report is assigned to nobody and is likely missed. The harness prompt carries the full report-channel contract (field schema, safety × actionability status mapping, reviewer routing, the non-idempotency caveat, and the edit rules) — this section only adds what's specific to a cross-product correlation.
- **Remember** via `scout-scratchpad-remember` if it's below the bar but worth carrying forward, or to record what you ruled out and why.
- **Skip** if the scratchpad or inbox already covers it.

The scratchpad has no tags — entries are durable per-team prose keyed by string, and re-using a key rewrites the entry in place. `expires_at` is the opt-in TTL for a memory that is only true for a while; the harness prompt carries the rules for it. Encode the category in the key prefix:

| Prefix        | Use for                                                                                                                              |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `pattern:`    | Durable observation about how this team's data normally shapes (baselines, etc).                                                     |
| `noise:`      | Patterns to ignore (single-user, dev-only, recurring with no fix path).                                                              |
| `addressed:`  | Team-confirmed fix shipped or topic the team has moved on from.                                                                      |
| `dedupe:`     | Gates future runs on a specific issue / fingerprint so you don't re-file it.                                                         |
| `report:`     | Records the `report_id` of a report you authored, keyed `report:<domain>:<entity>`, so the next run edits it instead of duplicating. |
| `reviewer:`   | Caches a resolved owner (a `github_login` or `user_uuid`), keyed `reviewer:<domain>:<area>`, so reports route to a human faster.     |
| `allowlist:`  | Vetted entities the scout should never re-surface.                                                                                   |
| `not-in-use:` | Close-out memo for "product not in use on this team".                                                                                |

Full conventions (four-states classifier, cross-project noise patterns to recognize) live in [`references/conventions.md`](references/conventions.md).

## Avoid lens-lock

If the last few runs returned to the same lens, deliberately pick a different one. Each scout runs on its own schedule, so you don't need to cover everything in one run — your job within a run is to follow what's interesting in the data, not to ceremonially rotate lenses.

## Close out

If you authored or edited reports, summarize in one paragraph: what + why. If you didn't, one sentence is enough. The harness writes your summary to the run row; `scout-runs-list` is how future runs and analysis read it.

© PostHog · MIT · PostHog/skills

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

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
angular-signals analogjs Помогает переводить состояние в Angular v20+ на сигналы и заменять потоки RxJS. Автор признал скилл устаревшим в пользу официального набора. CX Codex +1 8 800установок godot-signals-groups gamedev-skills Настраивает слабосвязанную архитектуру в Godot 4.7 через типизированные сигналы и группы узлов. Помогает связать события сцен без жёстких ссылок и переписать вызовы со старого API Godot 3.x. CX Codex +1 6 200установок customer-churn-signals Maya-Beth Finotti Собирает и проверяет опережающие признаки оттока по данным аккаунтов, продукта и поддержки. Нужен, когда health score пропускает уходящих клиентов. CX Codex +1 20 500установок posthog-analytics alinaqi Скилл для внедрения продуктовой аналитики PostHog: события, идентификация пользователей, фича-флаги и дашборды. Пригодится, когда нужно добавить трекинг в проект. CX Codex +1 809установок adding-analytics spencerpauly Помогает ассистенту внедрить PostHog в веб-приложение: от настройки провайдера до трекинга событий, веб-аналитики и флагов фич. CX Codex +1 371установок database-scout zebbern Скилл для чтения схем SQLite и PostgreSQL: показывает таблицы, колонки, связи и рисует Mermaid ER-диаграммы. Запросы только на чтение. CX Codex +1 ★ 4 676звёзд репо

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

exploring-live-traffic Скилл учит агента читать вкладку Live в PostHog Web analytics: кто на сайте прямо сейчас, какие боты стучатся и куда идут люди. CX Codex +1 378установок finding-replay-for-issue Находит среди сессий, привязанных к ошибке в PostHog, ту запись, по которой видно, что пользователь делал до сбоя. CX Codex +1 375установок suggesting-data-imports Подсказывает, каких данных не хватает в PostHog, и ведёт к подключению источника в дата-вейрхаусе. Пригодится, когда запрос падает из-за отсутствующей таблицы. CX Codex +1 372установок inbox-exploration Скилл для работы с PostHog Inbox: показывает отчёты, помогает разобрать их и превратить в задачу или PR. CX Codex +1 370установок authoring-log-alerts Помогает настроить алерты по логам в проекте PostHog: выбирает сервисы, считает базовую линию и подбирает порог, чтобы алерт срабатывал 0–3 раза в неделю. CX Codex +1 356установок formatting-insight-axes Подбирает правильную единицу оси Y при создании инсайта в PostHog: секунды, миллисекунды, проценты, валюта. Избавляет от формул ради пересчёта единиц. CX Codex +1 353установок triaging-error-issues Собирает короткий список ошибок PostHog, на которые стоит смотреть: новые, всплески и те, что задели много пользователей. Пригодится на утреннем или дежурном разборе. CX Codex +1 329установок designing-email-templates Скилл создаёт и редактирует шаблоны писем для кампаний и рабочих процессов PostHog через MCP. Пригодится, когда письмо нужно собрать из редактируемых блоков и персонализировать с помощью Liquid. CX Codex +1 301установок

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

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