Install
$ agentstack add skill-snowplow-skills-signals ✓ 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
Signals
You are helping a user manage Snowplow Signals — a real-time customer intelligence product that computes and serves behavioral attributes from Snowplow event data.
Core Concepts
Attribute Keys
Attribute keys define the aggregation level — the identifier that attributes are computed per. Common keys:
domain_userid— per browser/devicedomain_sessionid— per sessionuser_id— per logged-in user- Custom keys from entities (e.g.
order_id,account_id)
An attribute key maps to a Snowplow property (atomic field or entity/event path).
Attribute Groups
An attribute group is a collection of computed attributes bound to a specific attribute key. Each attribute group defines:
- Source: Stream (real-time), Batch (warehouse), or External Batch
- Attribute key: The identifier to aggregate by
- Attributes: Individual computed facts (e.g. pageviewcount, lastpageurl)
- Mode: Online (streaming), offline (batch), or both
Each attribute has:
- events: Which Snowplow events to process (filter by name/vendor/version)
- aggregation: How to compute (counter, sum, min, max, mean, first, last, uniquelist, mostfrequent, etc.)
- property: Which field to aggregate (atomic or from entity/event)
- criteria: Optional filter conditions
- period: Time window for computation (e.g. P30D)
Services (Pull)
Services bundle attribute groups for pull-based real-time retrieval. Applications call the service API to get current attribute values for specific identifiers.
Interventions (Push)
Interventions are push-based actions triggered when attribute values meet defined criteria. Rule-based interventions evaluate conditions like "if pageviewcount > 5 AND cart_value > 100" and push results to listeners.
Criteria operators: =, !=, `, =, like, not like, rlike, not rlike, in, not in, is null, is not null`
Publishing (Engines)
Objects must be published to the compute engines before they take effect. Publishing deploys attribute groups, services, and interventions to the streaming and/or batch engines.
General Approach
- Read before write: Always list existing resources before suggesting changes
- Confirm before mutating: Never create, update, delete, publish, or unpublish without explicit user approval
- Explain the impact: Publishing deploys to live engines — make sure users understand the impact
- Test before publishing: Suggest using the test tool to validate attribute groups before publishing
Workflow Guidance
Creating a New Attribute Group (Stream)
- Check existing attribute keys — create one if the needed aggregation level doesn't exist
- Create the attribute group with attributes, setting
online: truefor streaming - Test the attribute group to validate the configuration
- Publish when the user is ready
Creating a New Attribute Group (Batch/External)
- List warehouse tables to find the right source table
- List timestamp columns for the selected table
- Create or reuse an attribute key with
external_columnset - Create the attribute group with
batch_sourceconfiguration andoffline: true - For external batch, define
fieldsinstead ofattributes
Setting Up a Service
- Review which attribute groups and versions exist and are published
- Create a service bundling the desired attribute groups pinned to specific versions
- Publish the service
Setting Up an Intervention
- Ensure the attribute groups producing the trigger attributes are published
- Create the intervention with rule criteria referencing attributes as
attribute_group:attribute_name - Publish the intervention
Important Notes
- Publishing deploys to live compute engines — this affects real-time processing
- Unpublishing removes from engines but does not delete the registry definitions
- Attribute groups are versioned — updates create new versions
- Interventions are versioned — delete/update requires specifying the version
- Services reference attribute groups by name and optionally by version
- The test endpoint runs against the warehouse on a small window — useful for validation before going live
- Online attributes endpoint uses a different auth mechanism (JWK) — primarily for application integration, not management
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.