---
name: metrics-detect
description: "Detect which external metric sources apply to this product (GitHub, Plausible, Stripe, etc.) and configure adapters. Retrofit entry point for projects that started before v0.14; also runnable to refresh source list when the product grows."
instruction_budget: 19
---

# Metrics Detect Skill

Retrofit entry point for `.claude/jit-tooling/metrics-detector.md`. For new projects this runs automatically inside `/interview` Phase 6. Use this skill when:

- The project existed before v0.14 and has no `active-metrics.yml`.
- New infrastructure has been added (new analytics provider, new app store, new payment processor) and source list needs refresh.
- An existing adapter is >180 days old and needs regeneration.
- The user explicitly wants to review / reconfigure metric sources.

## Workflow

Follow `.claude/jit-tooling/metrics-detector.md` end-to-end:

1. **Signal scan** — check git remote, package manifests, env vars, SDK installs.
2. **Ask the user** — deployment URL, payment provider, app stores, support channels (things the repo does not reveal).
3. **Confirm each candidate source** — yes / no / later.
4. **Ensure adapters exist** — for each confirmed source, check `metrics-adapters/<source>.md`. If missing, follow `metrics-adapters/GENERATING.md` to generate one, present to user, save on confirmation.
5. **Write `active-metrics.yml`** — detected + user-declared sources, with `confirmed_by_user: false` until the user approves the full set.
6. **Confirm with user** — show the full source list; set `confirmed_by_user: true` after approval.

## Credentials

Mycelium is NOT a secrets manager. For each source, state what the user needs in their environment (env var names, vendor CLI auth) and verify they have it before marking the source `active`. If they don't, mark `status: deferred` and move on — do not block detection on setup.

## Output

- `.claude/jit-tooling/active-metrics.yml` (or update to existing)
- Generated adapters in `.claude/jit-tooling/metrics-adapters/<source>.md` (one per novel source)
- Clear next step to the user: "Ready. Run `/metrics-pull` to fetch your first snapshot."

## What This Skill Does NOT Do

- Does NOT pull data. Detection only. Keep the phases separate so the user can review before any network calls.
- Does NOT store credentials.
- Does NOT assume; always asks for sources that cannot be detected from the repo (deployed URLs, payment processors, app stores).

## Theory Citations

- Gilad: evidence gathering is infrastructure — the cost of pulling must be near-zero for users to do it reliably.
- Mycelium's JiT philosophy: detect and configure on demand, don't pre-ship per-source complexity.
