AgentStack
SKILL verified Apache-2.0 Self-run

Signals

skill-snowplow-skills-signals · by snowplow

Manage Snowplow Signals - attribute keys, attribute groups, services, interventions, and publishing. Use when users want to configure real-time customer attributes, create services for pull-based access, or set up interventions for push-based actions. Use this skill for any real-time customer-attribute, personalisation, or activation question, even if the user does not name Signals. Triggers: cus…

No reviews yet
0 installs
3 views
0.0% view→install

Install

$ agentstack add skill-snowplow-skills-signals

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

Are you the author of Signals? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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/device
  • domain_sessionid — per session
  • user_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

  1. Read before write: Always list existing resources before suggesting changes
  2. Confirm before mutating: Never create, update, delete, publish, or unpublish without explicit user approval
  3. Explain the impact: Publishing deploys to live engines — make sure users understand the impact
  4. Test before publishing: Suggest using the test tool to validate attribute groups before publishing

Workflow Guidance

Creating a New Attribute Group (Stream)

  1. Check existing attribute keys — create one if the needed aggregation level doesn't exist
  2. Create the attribute group with attributes, setting online: true for streaming
  3. Test the attribute group to validate the configuration
  4. Publish when the user is ready

Creating a New Attribute Group (Batch/External)

  1. List warehouse tables to find the right source table
  2. List timestamp columns for the selected table
  3. Create or reuse an attribute key with external_column set
  4. Create the attribute group with batch_source configuration and offline: true
  5. For external batch, define fields instead of attributes

Setting Up a Service

  1. Review which attribute groups and versions exist and are published
  2. Create a service bundling the desired attribute groups pinned to specific versions
  3. Publish the service

Setting Up an Intervention

  1. Ensure the attribute groups producing the trigger attributes are published
  2. Create the intervention with rule criteria referencing attributes as attribute_group:attribute_name
  3. 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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.