Problem context
Your repo has tests, type checks, and a linter. None of them know about analytics calls.
You want PRs that change instrumented files to surface that fact during review, not three sprints later.
You have an existing GitHub Actions setup and a team that already responds to PR-level checks.
What breaks if this is not solved
- Reviewers cannot see analytics impact without manually grepping for capture calls in the diff.
- Code review approves changes that have a downstream data cost the reviewer cannot price.
- Senior reviewers spend time noticing instrumentation issues that a check could surface automatically.
When this playbook applies
- You use GitHub. (Other CI hosts work too; the playbook is similar with different YAML.)
- Your team already responds to existing CI checks - if checks are routinely ignored, this playbook is downstream of fixing that culture first.
- You have already audited and baselined the instrumentation surface (see the audit playbook).
System approach
Make the check non-optional but the resolution flexible. Skene flags drift; reviewers decide whether to fix or accept.
Run on every PR, not nightly. Late signals are noise; on-the-PR signals are review material.
Surface findings inline on the diff, not in a separate dashboard. The point is to put the information where decisions are already being made.
Execution steps
- Confirm the baseline manifest is committed to the repo (`skene-manifest.json` at the root).
- Add `.github/workflows/skene.yml` with the Skene Action. Grant `pull-requests: write` permission.
- Set the `SKENE_API_KEY` GitHub secret from your dashboard.
- Open a deliberate test PR that drops an analytics call. Confirm the Action posts a PR comment naming the affected event.
- Decide a team convention: who resolves Skene comments? Is acceptance a one-person call or a two-person call?
- Document the convention in the repo's CONTRIBUTING.md so future PR authors know the workflow.
- Monitor the comment thread for two weeks. Tune ignore patterns in `skene.config.json` if you see noise.
Metrics to watch
PRs blocked by Skene findings
Should drop over time as agents and humans learn.
False-positive rate (findings reviewers consistently accept)
Tune ignore patterns when a finding is accepted by multiple reviewers in a row.
Failure modes
- Making the check advisory-only. Teams stop reading advisory checks within a week.
- Not committing the manifest. The Action will have nothing to compare against.
- Setting the API key wrong and never noticing. Verify a real finding before declaring the integration done.
