rudder-profiles-project

Installation
SKILL.md

RudderStack Profiles Project Creation

Create a new Profiles project by discovering real warehouse resources first, then generating the three core YAML files with explicit user confirmation at each decision point.

Workflow

  1. Verify setup — Check that Profiles MCP tools are available. If not, send the user to /rudder-profiles-setup.
  2. Discover connections — Call get_existing_connections().
    • If connections exist, present the list and let the user pick one.
    • If no connections exist, instruct the user to run pb init connection in their terminal, wait for confirmation that it completed, then re-check with get_existing_connections().
  3. Discover tables — Call input_table_suggestions() for candidate tables. Call describe_table() on each candidate to confirm columns, types, and timestamps.
  4. Confirm with user — Present discovered resources and get explicit approval (see confirmation gates below).
  5. Generate YAML — Write pb_project.yaml, models/inputs.yaml, and models/profiles.yaml using only discovered names and the exact shapes in references/basic-yaml-templates.md. Derive schema_version from the installed binary (scaffold with pb init pb-project or MCP setup_new_profiles_project(); verify with pb version) — do not hardcode a remembered number. For each event-stream input set contract: { is_event_stream: true, is_append_only: true } plus app_defaults.occurred_at_col (the contract unlocks later incremental migration without a checkpoint-invalidating schema change, and is_append_only is rejected without occurred_at_col). Start with the default ID stitcher (no explicit id_stitcher model) unless the user needs custom edge sources. Add filters: on id_types to exclude junk values ("unknown", "NaN", "", internal test IDs) — the cheapest over-stitching prevention available.
  6. Pre-compile review — Run through the validation checklist in references/validation-checklist.md.
  7. Validate access — Run pb validate access to confirm the warehouse role can read the inputs and write to the output schema. Fix permission gaps here, before compiling.
  8. Compile — Run pb compile. If it fails, fix one issue at a time and re-compile.
  9. Pilot run — Offer pb run --begin_time <ISO-8601> only after compile succeeds and the user confirms.

Confirmation Gates (5 mandatory)

Installs
4
GitHub Stars
6
First Seen
2 days ago
rudder-profiles-project — rudderlabs/rudder-agent-skills