Tracking Agent docs
How to use the Tracking Agent plugin in Claude Code
The Tracking Agent is a Claude Code plugin, so its audit, review and implement skills also run on a developer's laptop. Accept the plugin when Claude Code offers it, set your own DATALYZE_KEY, and ask in plain words, such as "what does this branch need for tracking". It reads the same knowledge and writes the same files as a run on GitHub.
How do I install the Datalyze plugin in Claude Code?
A repo set up with Datalyze already offers it: the setup pull request adds the Datalyze marketplace to .claude/settings.json and turns the plugin on.
- Open the repo in Claude Code and trust the folder when asked.
- Accept the Datalyze marketplace and the
datalyzeplugin when Claude Code offers them. You do this once per machine. - Check it loaded:
/datalyze:review,/datalyze:auditand/datalyze:implementappear when you type/datalyze.
In a repo without the setting, add it by hand with the commands below. The plugin's tools need Node.js 22 or later. Anthropic's docs explain how plugins install.
/plugin marketplace add joindatalyze/claude-plugins
/plugin install datalyze@datalyzeWhere do I get my DATALYZE_KEY?
- On the Datalyze Setup page, find Key for Claude Code and press Make a key. Only a workspace admin can make one.
- Copy the key straight away: Datalyze keeps only a hash of it, so it can't be shown again.
- Add it to your shell profile, then start Claude Code from a new terminal.
# ~/.zshrc or ~/.bashrc
export DATALYZE_KEY=dlzta_...Each person can have their own key, and making one never affects the keys your repos use. The key shows only until you leave the page. Keys can't be revoked from the dashboard yet, so make one only for people you'd trust with the workspace; to cut one off, email ansh@joindatalyze.com. With no key, or a lapsed subscription, the skills say so in one line and stop.
What can I ask the Tracking Agent in Claude Code?
| You ask | Skill | What it writes |
|---|---|---|
| "What does this branch need?" or "did this break any events?" | /datalyze:review | A proposal, .datalyze/proposals/branch-<branch>.json, and a short report. It doesn't edit code or the plan |
| "Audit our tracking", "audit the signup events", "what changed since 1 October" | /datalyze:audit | audit.json and audit.md in analytics/.datalyze/ |
| "Implement the approved proposal" or "fix findings F1 and F3" | /datalyze:implement | Changes to the plan and the tracking calls in your working tree, checked by the rules and the verifier, and a report |
The CLAUDE.md block setup writes tells Claude Code that what a branch needs includes its tracking, so "what does this branch need" runs the review alongside any code review. The playbook chapter on analytics in the age of AI explains why an agent needs written rules to be trusted, and our analytics setup service is there when the tracking needs people to design it.
How does the plugin read analytics data on a laptop?
With the same read-only keys as GitHub, as environment variables of the same names (MIXPANEL_SA_USERNAME and MIXPANEL_SA_SECRET, POSTHOG_API_KEY, or AMPLITUDE_API_KEY and AMPLITUDE_SECRET_KEY). Without them, if Claude Code is connected to your analytics tool over MCP, the audit builds its snapshot through that connection. With neither, it works from the plan and the code, and says so.
How is a laptop run different from a run on GitHub?
| In Claude Code on a laptop | In GitHub Actions | |
|---|---|---|
| Model | Whatever your Claude Code uses | Claude, with the repo's Anthropic key |
| Proposal file | branch-<branch>.json | pr-<n>.json |
| Commits | None: the changes stay in your working tree for you to commit | Committed by the Datalyze GitHub App, so CI runs |
| Statuses and comments | None | datalyze/tracking, datalyze/rules and the report comment |
| Permissions | Claude Code asks as usual | Set by the action, since a headless run can't ask |
When you open the pull request, the PR check writes its own proposal for it. Nothing about a laptop run is sent to Datalyze beyond the key check.
Questions about the plugin
Is the Datalyze plugin's code public?
The skills, the verifier and the tools are public in joindatalyze/claude-plugins. The knowledge they follow isn't: it's fetched from Datalyze with your key at the start of every run.
Does my code go to Datalyze when I use the plugin?
No. Claude Code reads your code on your laptop and sends it only to the model Claude Code uses. Datalyze gets your key, to return the knowledge.
Can I use the plugin without the GitHub workflow?
Yes, with an active subscription and a key. The skills need a Datalyze plan in the repo, which the setup pull request and the first audit create.
Can the plugin edit our tracking rules?
No. The skills never edit _conventions.yaml, _baseline.json or .datalyze/config.yaml to make a check pass; only your team changes them.