计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
audit-analytics【效率与协作】Read-only audit of product-analytics events (PostHog, Amplitude, Mixpanel, GA4): taxonomy, funnels, consent-gated firing, dead or duplicate events. Use when "audit our analytics", "are we tracking the right events", or "funnel instrumentation".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Degree of freedom: HIGH — judgment on taxonomy and funnel coverage.
Consent-gate proof is [LOW freedom] when you confirm the SDK does not
init on boot (quote the init site; do not invent a legal opinion).
Read-only. You verify the app measures what the business needs to decide, with one taxonomy, without leaking PII or firing before consent.
The failure mode is silent: the dashboard looks populated, but the key funnel step was never instrumented, so every decision on it is guesswork.
Present findings. Propose a canonical taxonomy. Do not rewrite events until approved.
| Skill | Owns |
|---|---|
| audit-analytics (this) | Event coverage, naming, consent-gated firing |
plan-privacy-compliance | Legal data-flow + store labels; run both when consent is in play |
data-visualization | Charts/dashboards as UI — not whether events exist |
iterate-post-launch | What to fix next from existing prod signals |
audit-ux-journeys | Task completion / IA; may recommend this skill when funnels are blind |
workflow-feature-flag | Flag rollout; not event taxonomy |
Do not fire for "build me a chart" → data-visualization.
Do not fire for "GDPR / privacy labels" alone → plan-privacy-compliance
(then come back here for the event matrix).
track() / schema name and where it firesObserve: signup success fires
signup_completedon web andSignup Successon iOS; PostHog inits inlayout.tsxbefore the consent banner. Interpret: the funnel splits across two names; EU visitors are tracked before consent. Classify: taxonomy split + consent-before-init. Severity: P0 for consent; major for the name split. Finding:Signup Success| duplicate name | unify tosignup_completed; init →plan-privacy-compliance+ gate behind consent.
track() (scattered
is itself a finding)From the product's core loop, list critical journeys as ordered steps (e.g. install → signup → activation → first value → habit → conversion). For each step, name the event(s) that must fire. This is the yardstick.
Funnel completeness — Each intended step has an event in code. Missing Y means you cannot answer "why drop between X and Y".
Taxonomy — One convention (object_action, case, tense). Mixed names
(signup_completed vs Signup Success) fragment analysis. Properties
consistent (user_id vs userId).
Dead / duplicate / phantom — Defined never fired; same action twice under different names; fired on render instead of on action.
Property hygiene — Plan tier, platform, source present so cohorts work later.
PII & consent — No raw email/name/address in properties. Analytics SDK
gated behind consent — not initialized on boot. Cross-check
plan-privacy-compliance for the legal inventory; this skill owns the
event-level gate.
Cross-platform parity — Same action → same event name on each client.
Identity — Anonymous → identified stitch after signup. Broken stitch double-counts users.
plan-privacy-complianceplan-privacy-complianceplan-privacy-compliance — consent, deletion, store labels (run both)iterate-post-launch — consume a trustworthy data layeraudit-ux-journeys — journeys that need funnel evidencedata-visualization — rendering metrics, not collecting themworkflow-feature-flag — flag exposure events