analytics-tracking-automation
Skill135 starsChanged 7 months agoApache-2.0View on GitHub
Use when you need GA4 + GTM tracking delivery from site discovery through publish, or when the right phase entry point is still unclear.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- reason-machines/data-skillstheir own version, first seen May 16, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- reason-machines/data-skills★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
38 rules. About 0 are common, 16 are distinctive, and 22 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈16
Distinctive · estimate
This author's own choices. Worth a look.
22
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Use this skill as the end-to-end coordinator for GA4 + GTM tracking delivery.
- Distinctive: line 30
Do not assume the user wants the full workflow.
- Distinctive: line 37
Before doing any task in this bundle:
- Very specific: line 41
If the result status is update_available, immediately run node "<bundle-dir>/runtime/skill-runtime/self-update.mjs" --apply.
- Very specific: line 42
If the update succeeds, read <bundle-dir>/SKILL.md again before continuing so you are using the refreshed instructions.
- Very specific: line 43
If the result status is disabled, treat this bundle as a local development link or repo checkout and continue without updating.
- Distinctive: line 59
If the request is already bounded to one phase and that phase skill is available, route there instead of inlining the full runbook here.
- Very specific: line 65
Use the repo-local wrapper ./event-tracking in this repository.
- Very specific: line 67
Keep one artifact directory per site at <output-root>/<url-slug>.
- Very specific: line 68
If the user already provides an artifact directory or one of its files, resume from the earliest unmet prerequisite instead of restarting …
- Very specific: line 69
Use ./event-tracking status <artifact-dir-or-file> whenever the current checkpoint or next step is unclear.
- Very specific: line 70
Use ./event-tracking runs <output-root> when the artifact directory is unknown but the output root is known.
- Very specific: line 71
Prefer high-level entry commands for user-facing flows: run-new-setup, run-tracking-update, run-upkeep, run-health-audit.
- Distinctive: line 74
Treat workflow mode metadata as an internal workflow-state layer, not a user-facing command surface.
- Very specific: line 76
Run prompt-driven GTM sync with an interactive TTY from the start unless exact --account-id, --container-id, and --workspace-id values are …
- Distinctive: line 77
Never auto-select a GTM account, container, or workspace on the user's behalf.
- Distinctive: line 78
Do not continue past the phase boundary the user asked for.
- Distinctive: line 82
When the user enters through chat and has not yet provided a bounded phase, artifact directory, or exact command, start with an …
- Very specific: line 95
Do not ask the user to choose between internal workflow metadata flags and analyze.
- Distinctive: line 96
If intent is ambiguous, ask one short plain-language intake question using user-facing terms such as "new setup", "update existing …
- Very specific: line 97
If the user gives a fresh URL and asks to set up tracking, default to new_setup.
- Very specific: line 98
If the user gives a fresh URL and only asks to inspect the site, analyze structure, or review current tracking signals, default to …
- Very specific: line 99
If the user gives an artifact directory or workflow file, default to resume_existing_run instead of restarting from analyze.
- Distinctive: line 114
If only the root skill is available, follow the same routing logic directly and stop at the matching phase boundary.
- Very specific: line 118
Do not bypass page-group approval before prepare-schema.
- Distinctive: line 124
If confirmation is missing or ambiguous, stop and ask.
- Very specific: line 125
Treat telemetry consent the same way as other explicit approval gates: if the user has not chosen yes or no, stop and ask instead of making …
- Very specific: line 127
Never record checkpoint approval on the user's behalf with confirm-page-groups --yes or confirm-schema --yes unless the user explicitly …
- Distinctive: line 128
When live GTM containers are detected on the site, do not bypass the live baseline review before schema generation.
- Very specific: line 129
Do not bypass schema approval before generate-gtm unless the user explicitly wants --force.
- Distinctive: line 130
Treat preview QA and publish as separate decisions.
- Very specific: line 131
Treat tracking-health.json as the publish gate.
- Distinctive: line 132
Treat Shopify manual verification as the expected path for Shopify runs, not as a fallback error case.
- Very specific: line 133
Treat tracking_health_audit as an audit-only workflow mode.
- Very specific: line 139
prefer workflow-state.json when present
- Very specific: line 141
use status when the next step is unclear
- Distinctive: line 143
When a phase or the full workflow ends, keep the closeout answer-first:
- Distinctive: line 146
do not dump raw JSON, raw URL lists, or artifact inventory before the summary
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Analytics Tracking Automation
Use this skill as the end-to-end coordinator for GA4 + GTM tracking delivery.
Use it when:
- the user needs a full GA4 + GTM implementation flow, from analysis to go-live readiness
- the request spans multiple workflow phases (discovery, schema, sync, verification, publish)
- the correct entry point is still unclear and you need this skill to route to the right phase
Do not assume the user wants the full workflow.
<!-- analytics-tracking-automation auto-update bootstrap:start -->Auto-Update
This installed root skill can self-check for newer GitHub versions before you continue.
Before doing any task in this bundle:
- Resolve the directory that contains this installed
SKILL.md. Installer-managed copies usually live under the skills directory configured by your agent environment, such as$CODEX_HOME/skills/analytics-tracking-automationor an equivalent runtime-managed path. - Run
node "<bundle-dir>/runtime/skill-runtime/update-check.mjs" --json. - If the result status is
update_available, immediately runnode "<bundle-dir>/runtime/skill-runtime/self-update.mjs" --apply. - If the update succeeds, read
<bundle-dir>/SKILL.mdagain before continuing so you are using the refreshed instructions. - If the result status is
disabled, treat this bundle as a local development link or repo checkout and continue without updating.
<!-- analytics-tracking-automation auto-update bootstrap:end -->Skill Family
The skill family is split into one umbrella skill plus seven phase skills:
tracking-discoverfor crawl coverage, platform detection, and fresh artifact bootstraptracking-groupfor page-group authoring and approvaltracking-live-gtmfor auditing the real live GTM runtime before schema generationtracking-schemafor schema preparation, review, validation, and approvaltracking-syncfor GTM config generation and synctracking-verifyfor preview QA and optional publish handofftracking-shopifyfor Shopify-specific schema, sync, install, and verification rules
If the request is already bounded to one phase and that phase skill is available, route there instead of inlining the full runbook here.
Once site-analysis.json indicates Shopify, keep discovery and grouping shared, then let tracking-shopify own the Shopify-specific branch.
Shared Contract
- Use the repo-local wrapper
./event-trackingin this repository. Ifdist/cli.jsis missing, runnpm run buildfirst. - For public/ClawHub installs, you must run this first before any
event-trackingcommand:npx skills add jtrackingai/analytics-tracking-automation. - Keep one artifact directory per site at
<output-root>/<url-slug>. - If the user already provides an artifact directory or one of its files, resume from the earliest unmet prerequisite instead of restarting from
analyze. - Use
./event-tracking status <artifact-dir-or-file>whenever the current checkpoint or next step is unclear. - Use
./event-tracking runs <output-root>when the artifact directory is unknown but the output root is known. - Prefer high-level entry commands for user-facing flows:
run-new-setup,run-tracking-update,run-upkeep,run-health-audit. - Telemetry consent is a required user-choice checkpoint for richer diagnostics. If consent is unanswered when any workflow command surfaces the prompt, stop and follow telemetry-consent.md as the single-source interaction contract. Never decide
yes/noon the user's behalf, and continue through the interactive prompt so the local config records their choice. - Explain the purpose, what
yesdoes, whatnodoes, and the remaining privacy tradeoff before asking the user to replyyesorno. Do not ask a bareyes/noquestion with no context. - Treat workflow mode metadata as an internal workflow-state layer, not a user-facing command surface.
analyze,validate-schema --check-selectors,preview, andsynceach need outbound HTTP and a real Chromium;syncadditionally needs a local loopback callback on127.0.0.1for Google's OAuth consent redirect. Run them in an environment that permits those capabilities so Playwright and the OAuth callback can complete.- Run prompt-driven GTM sync with an interactive TTY from the start unless exact
--account-id,--container-id, and--workspace-idvalues are already confirmed. - Never auto-select a GTM account, container, or workspace on the user's behalf.
- Do not continue past the phase boundary the user asked for.
Conversation Intake
When the user enters through chat and has not yet provided a bounded phase, artifact directory, or exact command, start with an intent-first intake.
Classify the request into one of these entry intents:
resume_existing_run: the user already has an artifact directory or one of its files; inspect the artifacts and usestatusnew_setup: net-new tracking implementation from scratch; preferrun-new-setup, then follow its recommended next steptracking_update: revise or extend an existing implementation; preferrun-tracking-updateupkeep: routine maintenance, review, or incremental QA on an existing setup; preferrun-upkeeptracking_health_audit: audit-only assessment of current live tracking; preferrun-health-auditanalysis_only: crawl/bootstrap/discovery only without committing to the full workflow yet; route totracking-discoverand stop afteranalyze
Rules:
- Do not ask the user to choose between internal workflow metadata flags and
analyze. - If intent is ambiguous, ask one short plain-language intake question using user-facing terms such as "new setup", "update existing tracking", "upkeep", "health audit", "analyze only", or "resume an existing run".
- If the user gives a fresh URL and asks to set up tracking, default to
new_setup. - If the user gives a fresh URL and only asks to inspect the site, analyze structure, or review current tracking signals, default to
analysis_only. - If the user gives an artifact directory or workflow file, default to
resume_existing_runinstead of restarting fromanalyze.
Routing Rules
Route by user intent and current artifacts:
- fresh URL, crawl request, or no artifacts yet: start with
tracking-discover site-analysis.jsonwith missing or unconfirmedpageGroups: route totracking-group- confirmed
site-analysis.jsonwith detected live GTM container IDs but no live baseline review yet: route totracking-live-gtm - confirmed
site-analysis.jsonor an in-progressevent-schema.json: route totracking-schema - approved
event-schema.jsonwithoutgtm-config.json: route totracking-syncforgenerate-gtm gtm-config.json: route totracking-syncgtm-context.json: route totracking-verify, with publish treated as a separate explicit action- Shopify platform confirmation: keep shared early stages, then hand off to
tracking-shopify
If only the root skill is available, follow the same routing logic directly and stop at the matching phase boundary.
Stop Rules
- Do not bypass page-group approval before
prepare-schema. - For key decision checkpoints, always require explicit user confirmation before continuing:
pageGroups(beforeconfirm-page-groupsand beforeprepare-schema)event-schema.json(beforeconfirm-schemaand beforegenerate-gtm)- GTM target selection (account/container/workspace during
sync) - publish decision (before
publish)
- If confirmation is missing or ambiguous, stop and ask; do not auto-proceed.
- Treat telemetry consent the same way as other explicit approval gates: if the user has not chosen
yesorno, stop and ask instead of making the decision for them. - A broad request such as "full workflow", "全流程", "end-to-end", or "continue all the way" is scope authorization only. It does not count as checkpoint approval.
- Never record checkpoint approval on the user's behalf with
confirm-page-groups --yesorconfirm-schema --yesunless the user explicitly confirms that checkpoint in the current turn. - When live GTM containers are detected on the site, do not bypass the live baseline review before schema generation.
- Do not bypass schema approval before
generate-gtmunless the user explicitly wants--force. - Treat preview QA and publish as separate decisions.
- Treat
tracking-health.jsonas the publish gate; do not jump to publish when health is missing, manual-only, or blocked unless the user explicitly wants--force. - Treat Shopify manual verification as the expected path for Shopify runs, not as a fallback error case.
- Treat
tracking_health_auditas an audit-only workflow mode. Do not run GTM deployment actions (generate-gtm,sync,publish) unless the user explicitly asks to override.
Resume And Closeout
When resuming:
- prefer
workflow-state.jsonwhen present - still inspect the real artifact set if warnings indicate stale gates
- use
statuswhen the next step is unclear
When a phase or the full workflow ends, keep the closeout answer-first:
- lead with a compact, decision-ready summary in plain language
- do not dump raw JSON, raw URL lists, or artifact inventory before the summary
- list files, checkpoint, and next command only after the human-readable summary
References
- skill-map.md for the umbrella / phase skill map
- architecture.md for lifecycle, checkpoints, and resume semantics
- output-contract.md for artifact files and gate semantics
- shopify-workflow.md for Shopify-specific branch expectations
- telemetry-consent.md for the telemetry consent gate wording and behavior contract
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

