agentleFS
jtrackingaijtrackingai/analytics-tracking-automation/SKILL.md

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

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    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
  1. Distinctive:

    Use this skill as the end-to-end coordinator for GA4 + GTM tracking delivery.

    line 22
  2. Distinctive:

    Do not assume the user wants the full workflow.

    line 30
  3. Distinctive:

    Before doing any task in this bundle:

    line 37
  4. Very specific:

    If the result status is update_available, immediately run node "<bundle-dir>/runtime/skill-runtime/self-update.mjs" --apply.

    line 41
  5. Very specific:

    If the update succeeds, read <bundle-dir>/SKILL.md again before continuing so you are using the refreshed instructions.

    line 42
  6. Very specific:

    If the result status is disabled, treat this bundle as a local development link or repo checkout and continue without updating.

    line 43
  7. Distinctive:

    If the request is already bounded to one phase and that phase skill is available, route there instead of inlining the full runbook here.

    line 59
  8. Very specific:

    Use the repo-local wrapper ./event-tracking in this repository.

    line 65
  9. Very specific:

    Keep one artifact directory per site at <output-root>/<url-slug>.

    line 67
  10. Very specific:

    If the user already provides an artifact directory or one of its files, resume from the earliest unmet prerequisite instead of restarting …

    line 68
  11. Very specific:

    Use ./event-tracking status <artifact-dir-or-file> whenever the current checkpoint or next step is unclear.

    line 69
  12. Very specific:

    Use ./event-tracking runs <output-root> when the artifact directory is unknown but the output root is known.

    line 70
  13. Very specific:

    Prefer high-level entry commands for user-facing flows: run-new-setup, run-tracking-update, run-upkeep, run-health-audit.

    line 71
  14. Distinctive:

    Treat workflow mode metadata as an internal workflow-state layer, not a user-facing command surface.

    line 74
  15. Very specific:

    Run prompt-driven GTM sync with an interactive TTY from the start unless exact --account-id, --container-id, and --workspace-id values are …

    line 76
  16. Distinctive:

    Never auto-select a GTM account, container, or workspace on the user's behalf.

    line 77
  17. Distinctive:

    Do not continue past the phase boundary the user asked for.

    line 78
  18. Distinctive:

    When the user enters through chat and has not yet provided a bounded phase, artifact directory, or exact command, start with an …

    line 82
  19. Very specific:

    Do not ask the user to choose between internal workflow metadata flags and analyze.

    line 95
  20. Distinctive:

    If intent is ambiguous, ask one short plain-language intake question using user-facing terms such as "new setup", "update existing …

    line 96
  21. Very specific:

    If the user gives a fresh URL and asks to set up tracking, default to new_setup.

    line 97
  22. Very specific:

    If the user gives a fresh URL and only asks to inspect the site, analyze structure, or review current tracking signals, default to …

    line 98
  23. Very specific:

    If the user gives an artifact directory or workflow file, default to resume_existing_run instead of restarting from analyze.

    line 99
  24. Distinctive:

    If only the root skill is available, follow the same routing logic directly and stop at the matching phase boundary.

    line 114
  25. Very specific:

    Do not bypass page-group approval before prepare-schema.

    line 118
  26. Distinctive:

    If confirmation is missing or ambiguous, stop and ask.

    line 124
  27. Very specific:

    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 …

    line 125
  28. Very specific:

    Never record checkpoint approval on the user's behalf with confirm-page-groups --yes or confirm-schema --yes unless the user explicitly …

    line 127
  29. Distinctive:

    When live GTM containers are detected on the site, do not bypass the live baseline review before schema generation.

    line 128
  30. Very specific:

    Do not bypass schema approval before generate-gtm unless the user explicitly wants --force.

    line 129
  31. Distinctive:

    Treat preview QA and publish as separate decisions.

    line 130
  32. Very specific:

    Treat tracking-health.json as the publish gate.

    line 131
  33. Distinctive:

    Treat Shopify manual verification as the expected path for Shopify runs, not as a fallback error case.

    line 132
  34. Very specific:

    Treat tracking_health_audit as an audit-only workflow mode.

    line 133
  35. Very specific:

    prefer workflow-state.json when present

    line 139
  36. Very specific:

    use status when the next step is unclear

    line 141
  37. Distinctive:

    When a phase or the full workflow ends, keep the closeout answer-first:

    line 143
  38. Distinctive:

    do not dump raw JSON, raw URL lists, or artifact inventory before the summary

    line 146

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. 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-automation or an equivalent runtime-managed path.
  2. Run node "<bundle-dir>/runtime/skill-runtime/update-check.mjs" --json.
  3. If the result status is update_available, immediately run node "<bundle-dir>/runtime/skill-runtime/self-update.mjs" --apply.
  4. If the update succeeds, read <bundle-dir>/SKILL.md again before continuing so you are using the refreshed instructions.
  5. 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-discover for crawl coverage, platform detection, and fresh artifact bootstrap
  • tracking-group for page-group authoring and approval
  • tracking-live-gtm for auditing the real live GTM runtime before schema generation
  • tracking-schema for schema preparation, review, validation, and approval
  • tracking-sync for GTM config generation and sync
  • tracking-verify for preview QA and optional publish handoff
  • tracking-shopify for 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-tracking in this repository. If dist/cli.js is missing, run npm run build first.
  • For public/ClawHub installs, you must run this first before any event-tracking command: 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/no on the user's behalf, and continue through the interactive prompt so the local config records their choice.
  • Explain the purpose, what yes does, what no does, and the remaining privacy tradeoff before asking the user to reply yes or no. Do not ask a bare yes/no question 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, and sync each need outbound HTTP and a real Chromium; sync additionally needs a local loopback callback on 127.0.0.1 for 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-id values 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 use status
  • new_setup: net-new tracking implementation from scratch; prefer run-new-setup, then follow its recommended next step
  • tracking_update: revise or extend an existing implementation; prefer run-tracking-update
  • upkeep: routine maintenance, review, or incremental QA on an existing setup; prefer run-upkeep
  • tracking_health_audit: audit-only assessment of current live tracking; prefer run-health-audit
  • analysis_only: crawl/bootstrap/discovery only without committing to the full workflow yet; route to tracking-discover and stop after analyze

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_run instead of restarting from analyze.

Routing Rules

Route by user intent and current artifacts:

  • fresh URL, crawl request, or no artifacts yet: start with tracking-discover
  • site-analysis.json with missing or unconfirmed pageGroups: route to tracking-group
  • confirmed site-analysis.json with detected live GTM container IDs but no live baseline review yet: route to tracking-live-gtm
  • confirmed site-analysis.json or an in-progress event-schema.json: route to tracking-schema
  • approved event-schema.json without gtm-config.json: route to tracking-sync for generate-gtm
  • gtm-config.json: route to tracking-sync
  • gtm-context.json: route to tracking-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 (before confirm-page-groups and before prepare-schema)
    • event-schema.json (before confirm-schema and before generate-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 yes or no, 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 --yes or confirm-schema --yes unless 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-gtm unless the user explicitly wants --force.
  • Treat preview QA and publish as separate decisions.
  • Treat tracking-health.json as 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_audit as 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.json when present
  • still inspect the real artifact set if warnings indicate stale gates
  • use status when 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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.