rudder-cli-setup
Installs and authenticates rudder-cli. Use when installing rudder-cli, setting up rudder cli, rudder-cli command not found, or authenticating with RudderStack
Creates and manages tracking plans that validate events against schema contracts. Use when creating or managing tracking plans that define which events are allowed for a source
$ npx -y skills add rudderlabs/rudder-agent-skills --skill rudder-tracking-plans --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/rudder-tracking-plansContext preview
The summary Claude sees to decide when to auto-load this skill.
Creates and manages tracking plans that validate events against schema contracts. Use when creating or managing tracking plans that define which events are allowed for a source
name: rudder-tracking-plans description: Creates and manages tracking plans that validate events against schema contracts. Use when creating or managing tracking plans that define which events are allowed for a source allowed-tools: "Bash(rudder-cli *), Read, Write, Edit"
This skill teaches how to assemble events into **tracking plans** - contracts that define which events a source can send and what properties each event must have.
A tracking plan is a schema that:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Source │────▶│ Tracking Plan │────▶│ Destination │
│ (Web App SDK) │ │ (Validator) │ │ (Warehouse) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
Validates events
against schemaversion: "rudder/v1"
kind: "tracking-plan"
metadata:
name: "tracking-plans"
spec:
name: "Web App Tracking Plan"
description: "Events for the main e-commerce web application"
events:
- event: "urn:rudder:event/product-viewed"
- event: "urn:rudder:event/product-added-to-cart"
- event: "urn:rudder:event/order-completed"Override event-level rules at the tracking plan level:
version: "rudder/v1"
kind: "tracking-plan"
metadata:
name: "tracking-plans"
spec:
name: "Mobile App Tracking Plan"
description: "Events for iOS and Android apps"
events:
- event: "urn:rudder:event/product-viewed"
rules:
# Make session_id required for mobile (optional in event definition)
- property: "urn:rudder:property/session_id"
required: true
# Make device_id required for mobile attribution
- property: "urn:rudder:property/device_id"
required: true
- event: "urn:rudder:event/product-added-to-cart"
- event: "urn:rudder:event/order-completed"When the same property appears at multiple levels:
1. Tracking Plan event rules (highest priority) 2. Event-level rules (default) 3. Property definitions (validation config only)
**Example:** If `session_id` is optional in the event definition but required in the tracking plan, it's **required** for that tracking plan.
See `references/ecommerce-example.md` for a complete e-commerce example showing:
When events violate the tracking plan:
spec:
name: "Strict Tracking Plan"
governance:
# Options: block, forward, log
unplannedEvents: block # Reject events not in plan
violatingEvents: forward # Forward violations with flag| Setting | Behavior | |---------|----------| | `block` | Reject event entirely | | `forward` | Forward event with violation metadata | | `log` | Allow event, log violation for review |
tracking-plans/ ├── web-app.yaml ├── mobile-app.yaml ├── kiosk.yaml └── internal-tools.yaml
Each tracking plan in its own file for clear git history and code review.
What application/SDK will use this tracking plan?
Which events from your data catalog does this source need?
Web App needs: ✓ Product Viewed ✓ Product Added to Cart ✓ Order Completed ✗ App Opened (mobile only)
For each event, what properties should be:
version: "rudder/v1"
kind: "tracking-plan"
metadata:
name: "tracking-plans"
spec:
name: "Your Tracking Plan Name"
description: "Clear description of what source uses this"
events:
- event: "urn:rudder:event/event-name"
rules:
- property: "urn:rudder:property/property-name"
required: true# Validate rudder-cli validate -l ./ # Preview rudder-cli apply --dry-run -l ./ # Apply rudder-cli apply -l ./
After applying, connect the tracking plan to your source:
# tracking-plans/web-app-production.yaml
spec:
name: "Web App - Production"
governance:
unplannedEvents: block # Strict in production
violatingEvents: block
# tracking-plans/web-app-development.yaml
spec:
name: "Web App - Development"
governance:
unplannedEvents: log # Lenient in development
violatingEvents: forwardCreate a comprehensive event catalog, then each tracking plan includes only what it needs:
Data Catalog: 50 events defined ├── Web App Plan: 30 events ├── Mobile Plan: 25 events └── Kiosk Plan: 5 events
Start permissive, tighten over time:
# Phase 1: Log only governance: unplannedEvents: log violatingEvents: log # Phase 2: Forward violations governance: unplannedEvents: forward violatingEvents: forward # Phase 3: Block vio
A Claude Code plugin marketplace and Agent Skills collection that teaches your AI coding agent how to drive every programmatic RudderStack surface — CLI, MCP server, Terraform, and Profiles — with the right preflight checks, commands, and recovery paths.
Installs and authenticates rudder-cli. Use when installing rudder-cli, setting up rudder cli, rudder-cli command not found, or authenticating with RudderStack
Validates, previews, and applies RudderStack resource changes via YAML specs. Use when iterating on RudderStack resources with rudder-cli - validates specs,…
Imports existing RudderStack workspace resources into YAML files for git-based management. Use when importing existing RudderStack resources to CLI management…
Creates and manages RudderStack transformations and libraries with local testing. Use when creating, editing, or managing RudderStack transformations and…
Generates type-safe SDKs (Swift/Kotlin) from tracking plans with compile-time validation. Use when generating type-safe event tracking code from tracking plans…
Derives tracking plans from existing codebase types and structures. Use when instrumenting an existing product that wasn't well-instrumented or restructuring…