Installable, testable Agent Skills for growth engineering.
Most “growth prompts” jump from a vague idea to content or a dashboard. This repository focuses on the contracts in between: observable surfaces, source evidence, campaign identity, event continuity, and explicit measurement boundaries.
| Skill | Job | Deterministic output |
|---|---|---|
utm-audit |
Make campaign links reviewable without inventing missing meaning | Per-link pass/warn/fail, safe normalization, PII redaction |
seo-surface-audit |
Audit what deployed pages actually expose to crawlers | Indexability conflicts, sitemap/canonical findings, batch duplicates |
trend-radar |
Refresh and rank source-backed social signals | draft_now / research / review / watch / reject lanes |
measurement-contract-audit |
Check whether a funnel can be measured before querying it | ready / partial / blocked, event coverage, identity and attribution gaps |
Together they form a small evidence chain:
SEO or social observation
→ source-backed opportunity
→ content / campaign ID
→ UTM contract
→ event + identity + metric contract
→ later production readback
No Skill in this repository pretends the final arrow happened.
Requirements: Node.js 20 or newer. Python 3.9 or newer is required only for deterministic package builds.
npm test
npm run audit:utm-example
npm run audit:seo-example
npm run audit:trend-example
npm run audit:measurement-example
npm run pack
npm run verify:packagesThe checkers read JSON, make no network requests, and do not mutate external
systems. Some intentionally exit with status 2 when the supplied artifact is
blocked; they still print the complete report.
- Evidence before advice. Runtime observations, source URLs, timestamps, event contracts, and explicit unknowns are inputs—not details to fabricate.
- Deterministic core. Scoring, normalization, coverage, and severity live in scripts that can be tested and reproduced.
- Facts stay separate from inference. A high trend score is not a forecast; a clean SEO snapshot is not proof of indexing; tidy UTMs are not attribution.
- Privacy survives reporting. Obvious contact data is redacted rather than copied into a cleaner-looking artifact.
- Mutation stays elsewhere. These Skills audit and prepare decisions. They do not publish posts, edit pages, replace links, create events, or write production data.
skills/<name>/
SKILL.md
scripts/
evals/
examples/
references/ # when a Skill needs a maintained taxonomy
tests/
scripts/pack_skills.py
benchmarks/
Every Skill remains independently understandable and installable. npm run pack writes one reproducible .skill archive per Skill plus manifest.json
and SHA256SUMS; npm run verify:packages compares every archive member with
the checked-in source.
- The test suite covers deterministic ranking and reports, identity continuity, sitemap/indexability contradictions, UTM normalization, privacy redaction, input immutability, Skill contracts, relative links, and reproducible package bytes.
utm-audithas an initial one-run-per-prompt directional evaluation: 12/12 assertions with the Skill and 9/12 without it. Seebenchmarks/utm-audit-v0.1.md.trend-radarhas a one-run directional evaluation: 6/6 assertions with the Skill and 3/6 without it. Seebenchmarks/trend-radar-v0.2.md.- The remaining Skill eval prompts are checked in. Broader repeated behavior benchmarks are still required before making comparative model-quality claims.
0.2.0 is a working foundation, not a claim that growth can be automated from
four JSON files. The next useful additions are a GSC opportunity audit and a
cross-Skill content/campaign ID contract, followed by production readback
adapters that remain read-only by default.