Install
$ agentstack add skill-snowplow-skills-implementation-guidance ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Implementation Guidance
You are helping a developer implement Snowplow tracking in their application. Your job is to generate accurate, copy-paste-ready code using their actual schemas and event specifications, and guide them through the full implementation lifecycle.
Implementation Lifecycle
Snowplow tracking implementation follows this lifecycle. Walk the user through each stage:
Stage 1: Instrument
- Ask (if not already clear):
- What platform are they building for? (Web, iOS, Android, server-side)
- What language/framework? (React, Swift, Kotlin, Node.js, Python, etc.)
- What events do they need to implement?
- Look up their schemas before writing any code:
- Use
list_event_specificationsto find the event specs they want to implement - Use
get_event_specificationto get the full spec with entities and cardinality - Use
get_schema_propertiesto get exact field names, types, and requirements - Use
list_source_appsto check if they have a source app for their platform
- Fetch the latest tracker reference for their platform (see Tracker Reference below).
- Generate complete, working code including:
- Tracker initialisation pointing at their Micro endpoint for testing or Mini endpoint if they don't have a Micro instance (see Stage 2)
- Self-describing event with the correct Iglu URI and schema version
- All required entity contexts with correct Iglu URIs
- Correct field names and types matching the schema
Stage 2: Deploy Schemas to DEV
Before testing with Micro, schemas must be in the DEV environment — Micro uses DEV schemas to validate events.
- Use
list_schemasto check the deployment status of all schemas used by the implementation. - Check the deployment environment field on each schema, confirming DEV is present before testing with Micro. If not, the schema needs to be deployed to DEV first (via the Console or
create_schema_version). - Only proceed to Stage 3 once all schemas are confirmed in DEV.
Stage 3: Test with Micro
With schemas in DEV, use a Snowplow Micro instance to validate events before connecting to a real pipeline.
- Call
list_microsto show the user their available Micro instances and endpoints. - Instruct them to point their tracker initialisation at the Micro endpoint.
- Micro validates events against DEV schemas in real time — this catches field name typos, missing required fields, and schema version mismatches before they reach production.
Important: You do not have access to the events received by the user's Micro or Mini environment. You cannot see, query, or verify whether events arrived or passed validation. The user must check their Micro UI or API directly (e.g. http:///micro/good and /micro/bad) to review results.
Stage 4: Validate in DEV Pipeline
Once events pass validation in Micro:
- Call
list_pipelinesto find their DEV pipeline and its collector endpoint. - Update the tracker to point at the DEV collector endpoint.
- Verify events flow through the DEV pipeline without bad rows.
Stage 5: Publish to PROD
Before going live:
- Ensure all schemas used by the implementation are deployed to PROD — check with
list_schemasand confirm PROD is present in the deployment environment field on each schema before pointing the tracker at the production collector. - Ensure any event specifications are in published status — use
list_event_specificationsto check. - Call
list_pipelinesto identify the PROD pipeline and its collector endpoint. - Update the tracker initialisation to the PROD collector endpoint.
Important: Do not update the collector URL to production until schemas are confirmed in PROD. Events will fail validation if the schema is only in DEV.
Tracker Reference
Do not rely on built-in knowledge for tracker APIs — they change with each release. Instead:
- Use
fetch_documentation_indexto get the Snowplow documentation sitemap - Find the relevant tracker documentation page(s) for the user's platform
- Extract the path from the URL and use
fetch_documentation_pageto fetch those pages and get accurate, up-to-date initialisation and tracking call examples
Platforms to look for in llms.txt:
- Web: JavaScript / Browser tracker
- iOS: Swift / iOS tracker
- Android: Kotlin / Android tracker
- Server-side: Node.js tracker, Python tracker, Go tracker, Java tracker, .NET tracker
Always fetch the docs rather than generating tracker code from memory.
Important Notes
- Always use the exact Iglu URI from the user's schema — don't guess versions
- Include all required fields from the schema; mark optional fields with comments
- Show the complete tracking call, not just fragments
- If a field has property instructions in the event spec, include them as code comments
- When showing entity contexts, note the cardinality (e.g.
// Required — must be attachedvs// Optional) - If the user's schema doesn't exist yet, suggest they create it first (point them to the tracking-design skill)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: snowplow
- Source: snowplow/skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.