Mycelium metrics-detect

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.

install
source · Clone the upstream repo
git clone https://github.com/haabe/mycelium
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/haabe/mycelium "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/metrics-detect" ~/.claude/skills/haabe-mycelium-metrics-detect && rm -rf "$T"
manifest: .claude/skills/metrics-detect/SKILL.md
source content

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.