--- name: tracking-sync description: Use when the user wants GTM-ready config generation, GTM workspace sync, or container selection from an approved schema. --- # Tracking Sync Use this skill for Step 4 and Step 5 work. ## Inputs One of: - approved `/event-schema.json` - existing `/gtm-config.json` ## Workflow If the telemetry consent prompt appears and no prior choice is recorded, stop and follow [../../references/telemetry-consent.md](../../references/telemetry-consent.md) before continuing. If GTM config does not exist yet: ```bash ./event-tracking generate-gtm /event-schema.json --measurement-id ``` Then sync: ```bash ./event-tracking sync /gtm-config.json ``` If account/container/workspace IDs are already confirmed, skip interactive selection: ```bash ./event-tracking sync /gtm-config.json --account-id --container-id --workspace-id ``` ## Hard Rules - Do not bypass schema approval unless the user explicitly wants `--force`. - Treat custom dimensions as a blocking checklist before sync/publish. - Never auto-select GTM account, container, or workspace for the user. - `sync` calls Google's official GTM API via interactive OAuth. The consent flow needs outbound HTTP and a local loopback callback on `127.0.0.1`; run `sync` in an environment that permits both. - Run `sync` with an interactive TTY from the start whenever it may prompt for OAuth consent, account, container, workspace, or new workspace name. Non-interactive invocation will fail at the first prompt. - Use non-interactive `sync` only when exact `--account-id`, `--container-id`, and `--workspace-id` values are already confirmed. ## Required Output Produce and share: - `/gtm-config.json` - `/gtm-context.json` - `/workflow-state.json` For Shopify runs, also expect: - `/shopify-custom-pixel.js` - `/shopify-install.md` ## Closeout Style - default to a short answer-first sync summary before listing files - summarize what was generated or synced, what still needs manual selection or approval, and any blocking checklist items first - keep file listings and follow-up commands after the summary ## Stop Boundary Stop after sync unless the user explicitly asks for verification. Default next phase: ```bash ./event-tracking preview /event-schema.json --context-file /gtm-context.json ``` ## References - [../../references/output-contract.md](../../references/output-contract.md) - [../../references/gtm-troubleshooting.md](../../references/gtm-troubleshooting.md)