Agent skill
validation-tracker
Run a weekly GTM operating rhythm: metrics with explicit floor and target bands, a deterministic weekly check of actuals against them, and an append-only decision log where every pivot, pause, and strategy change is written down with its rationale and revisit date.
Filed under Analytics and reporting.
From esmefong/gtm-skills · 10 skill entries · 0 · pushed 2026-09-15
What it does when it runs
Run a weekly GTM operating rhythm: metrics with explicit floor and target bands, a deterministic weekly check of actuals against them, and an append-only decision log where every pivot, pause, and strategy change is written down with its rationale and revisit date. The script validates the log's integrity (append-only, supersession links resolve) and enforces the coverage rule: a week below floor with no logged decision inside the window is flagged as an undocumented miss. Use whenever the user says "operating rhythm", "weekly review", "track our benchmarks", "are we on track", "decision log", "why did we change strategy", "validation tracker", "weekly metrics check", or wants progress and pivots recorded instead of remembered. Works for any motion the other skills in this repo set up, and for any team that ships weekly.
Automated analysis of the skill and the 7 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/esmefong/gtm-skills.git /tmp/gtm-skills git -C /tmp/gtm-skills sparse-checkout set "validation-tracker" mkdir -p ~/.claude/skills/validation-tracker cp -R "/tmp/gtm-skills/validation-tracker/." ~/.claude/skills/validation-tracker/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from esmefong/gtm-skills/blob/7e2c6d3c0072a679f8f27fbb5bb9923615a7a351/validation-tracker/SKILL.md, which is licensed MIT (repository). 642 words, 10 headings.
Validation Tracker
The operating rhythm that keeps a GTM system honest week over week. Two claims drive the design: a metric without a benchmark is a mood, and a pivot without a written decision is a drift. The tracker holds both: bands that say what good looks like before the week happens, and an append-only log where every change of course is recorded with its reasoning, so the system's history can be audited instead of reconstructed.
What this consumes
| Input | Why | If missing |
|---|---|---|
| Metrics with bands | 3-6 metrics, each with a floor (below this, act) and target (aim here), set before the period | Help set them; a benchmark set after the results is a rationalization |
| Weekly actuals | The numbers, honestly, zeros included | A missing week is recorded as missing, never smoothed |
| The decision log | Every prior pivot with rationale | Start one now; entry one is why these metrics and bands |
The workflow
Four phases, run weekly. The whole ritual is thirty minutes; the value is in never skipping it.
Phase 1: Record the week
Append the week's actuals to metrics.json. Zeros are data: a zero week recorded honestly is
the input the coverage rule exists for. No retroactive edits to prior weeks; corrections are new
entries with notes.
Phase 2: Run the check
scripts/weekly_check.py compares every metric against its bands and validates the decision
log: chronological order, unique ids, supersession links that resolve, and coverage: any week
with a metric below floor must have a decision logged within the window (default 21 days), or the
check fails with an undocumented miss. The rule's point is not punishment; it is that a miss
someone wrote a decision about is a managed miss, and a miss nobody wrote about is a drift.
Phase 3: Decide, in writing
When the check demands a decision, or strategy changes for any reason, append to the log: what was decided, the rationale at the time, what it supersedes, and when to revisit. Entries are never edited or deleted; a reversed decision gets a new entry that supersedes the old one, so the log reads as the true history of the system's thinking.
Phase 4: Revisit on schedule
Entries with revisit dates come due; the weekly run lists them. A revisit produces either a reaffirmation (log it, one line) or a supersession (log the new decision). Either way the log stays the single place where "why are we doing it this way" has an answer with a date on it.
Scripts
| Script | What it does | Network | Keys |
|---|---|---|---|
scripts/weekly_check.py | Band check per metric, append-only log validation, undocumented-miss detection, due revisits | None | None |
Failure modes to avoid (the quality bar)
- Bands set after results. Floors and targets are commitments, not descriptions.
- Smoothed zeros. The zero week is the most informative row in the file.
- Edited history. The log is append-only; supersession is the only way a decision changes.
- The undocumented miss. Below floor with nothing written down is the failure mode this whole skill exists to catch, and the script fails on it mechanically.
- Decision theater. An entry without a rationale and a revisit condition is a announcement, not a decision.
- Metrics sprawl. More than six metrics and the ritual dies; track what would change behavior.
Bundled references
references/operating-rhythm.md: the weekly ritual, the band-setting guidance, the metrics.json and decisions.json schemas, and the coverage rule's exact mechanics.examples/gtm-skills-repo/: this repo tracking itself. Every metric and decision in the example is real and checkable against the public git history, including two zero weeks and the decisions that cover them, plus a deliberately broken log the check refuses.
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- sdk-adoption-tracker by Varnan-Tech · 660
- competitor-show-tracker by LensmorOfficial · 48
- champion-tracker by zime-ai · 15
- ga4-debugging-validation by Ad-Superpowers · 5
- google-ads-creative-fatigue-tracker by Ad-Superpowers · 5
- google-ads-learning-phase-tracker by Ad-Superpowers · 5
- linkedin-learning-phase-tracker by Ad-Superpowers · 5
- meta-learning-phase-tracker by Ad-Superpowers · 5
Need help setting it up?
This page tells you what validation-tracker does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.