data-pipeline-spec
# data-pipeline-spec This Claude Code skill generates comprehensive data pipeline specifications for ETL and ELT processes, covering sources, transformations, destinations, SLAs, error handling, and data quality rules. Use it when designing data pipelines, documenting data ingestion workflows, planning data integrations, or preparing architecture reviews for engineering teams.
git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills /tmp/data-pipeline-spec && cp -r /tmp/data-pipeline-spec/plugins/pm-data/skills/data-pipeline-spec ~/.claude/skills/data-pipeline-specSKILL.md
# Data Pipeline Spec Skill This skill produces a complete data pipeline specification covering sources, transformations, destinations, scheduling, SLAs, error handling, data quality checks, and monitoring requirements. Output is ready for engineering handoff or architecture review. ## Required Inputs Ask the user for these if not provided: - **Pipeline purpose** — what business question or workflow does this pipeline serve? - **Source systems** — where does data come from? (databases, APIs, files, event streams) - **Destination** — where does data land? (data warehouse, data lake, downstream DB, reporting tool) - **Transformation type** — ETL (transform before loading) or ELT (load raw, transform in warehouse)? - **Frequency / SLA** — how often must data be fresh? (real-time / hourly / daily / weekly) - **Volume estimate** — approximate rows/events per run - **Data quality requirements** — completeness, deduplication, freshness, schema enforcement - **Team or stack** — any specific tools in use? (Airflow, dbt, Fivetran, Spark, Kafka, etc.) ## Output Structure --- # Data Pipeline Spec: [Pipeline Name] **Purpose:** [One sentence — what decision or workflow does this pipeline enable?] **Type:** [ETL / ELT / Streaming / Batch] **Owner:** [Team or individual] **Version:** [1.0] **Date:** [Date] **Status:** [Draft / Under Review / Approved] --- ## 1. Overview [2–3 sentences describing the pipeline end-to-end: what data moves, from where to where, at what cadence, and why.] **Architecture diagram (text):** ``` [Source A] ──┐ [Source B] ──┤──► [Ingestion Layer] ──► [Transform Layer] ──► [Destination] ──► [Consumers] [Source C] ──┘ ``` --- ## 2. Sources | Source | System | Connection type | Data format | Update pattern | Volume | |---|---|---|---|---|---| | [Source 1] | [PostgreSQL / Salesforce / S3 / Kafka] | [JDBC / REST API / SDK / Webhook] | [JSON / CSV / Parquet / CDC] | [Append / Full refresh / Incremental] | [X rows/day] | | [Source 2] | [...] | [...] | [...] | [...] | [...] | **Incremental key (if applicable):** [The column used to identify new or changed records — e.g. `updated_at`, `event_id`] **Authentication:** [API key / OAuth / IAM role / connection string — note where credentials are stored] --- ## 3. Ingestion Layer **Tool:** [Fivetran / Airbyte / Kafka Connect / custom script / dbt source] **Ingestion method:** - [ ] Full extract (full table refresh each run) - [ ] Incremental extract (only new/changed rows since last run) - [ ] CDC (change data capture from database transaction log) - [ ] Event streaming (continuous ingestion from Kafka/Kinesis) **Raw landing zone:** [Where raw data lands before transformation — e.g. `raw.salesforce_opportunities` in Snowflake, S3 bucket `s3://data-raw/crm/`] **Schema handling:** [Strict schema enforcement / Schema evolution allowed / Union schema] --- ## 4. Transformation Logic List each transformation in execution order. For ELT pipelines, this is the dbt model or SQL layer. | Step | Name | Description | Input | Output | Tool | |---|---|---|---|---|---| | 1 | [Deduplicate events] | [Remove duplicate event rows based on event_id] | `raw.events` | `staging.events_deduped` | [dbt / SQL / Spark] | | 2 | [Join user profile] | [Enrich events with user attributes from CRM] | `staging.events_deduped`, `raw.users` | `staging.events_enriched` | [...] | | 3 | [Aggregate to daily] | [Roll up to user×day grain] | `staging.events_enriched` | `mart.user_daily_activity` | [...] | **Business logic rules:** - [e.g. Revenue is recognised on `payment_confirmed_at`, not `payment_initiated_at`] - [e.g. Users in the `internal@company.com` domain are excluded from all metrics] - [e.g. Currency conversion uses the ECB rate from the first business day of each month] **Slowly Changing Dimensions (SCD) — if applicable:** - [e.g. `users.plan_tier` is SCD Type 2 — keep history of plan changes with `valid_from` / `valid_to`] --- ## 5. Destination | Destination | System | Schema / Table | Write mode | Consumers | |---|---|---|---|---| | [Primary] | [Snowflake / BigQuery / Redshift / PostgreSQL] | [`analytics.mart_user_activity`] | [Append / Upsert / Full replace] | [Looker / Metabase / downstream pipeline] | | [Secondary] | [...] | [...] | [...] | [...] | **Partitioning / Clustering:** [e.g. Partitioned by `event_date`, clustered by `user_id` — reduces query cost for time-range scans] **Retention policy:** [e.g. Raw data retained for 90 days; mart tables retained indefinitely] --- ## 6. Scheduling & SLAs | SLA | Target | Breach action | |---|---|---| | **Data freshness** | [Data must be ≤ X hours old by HH:MM UTC] | [Page on-call / alert Slack channel] | | **Pipeline completion** | [Must complete within X minutes of trigger] | [Alert and auto-retry] | | **Availability** | [Pipeline must run successfully X% of days per month] | [Incident review] | **Schedule:** [Cron expression and human description — e.g. `0 6 * * *` — daily at 06:00 UTC] **Trigger type:** - [ ] Time-based (cron) - [ ] Event-based (triggered by upstream pipeline success / file arrival / Kafka lag) - [ ] Manual (ad hoc runs only) **Backfill strategy:** [How to reprocess historical data if the pipeline fails or logic changes — e.g. parameterised date range, full drop-and-reload] --- ## 7. Data Quality Rules | Check | Table | Rule | Failure action | |---|---|---|---| | Completeness | `staging.events` | `event_id IS NOT NULL` — 100% of rows | Block load / Alert | | Uniqueness | `mart.user_daily_activity` | `(user_id, date)` must be unique | Block load | | Freshness | `mart.user_daily_activity` | `max(event_date) >= CURRENT_DATE - 1` | Alert | | Volume | `staging.events` | Row count within ±20% of 7-day average | Alert | | Referential integrity | `staging.events` | All `user_id` values exist in `users` table | Alert | **DQ tool:** [dbt tests / Great Expectations / Monte Carlo / custom SQL assertions] --- ## 8. Error Handling & Recovery **Retry policy:** [e.g. 3 retr
Design a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.
Decode a 401k or workplace retirement plan — the real cost of its funds, the match's fine print, vesting math, and the plan features worth using or avoiding. Use when someone asks 'is my 401k any good', 'decode my 401k plan', 'which funds should I look at', or 'what fees am I paying'. Produces a fee decode in dollars-over-time, match and vesting math, a fund-lineup triage by cost, and the questions for HR or the plan administrator.
Design statistically rigorous A/B tests for product features, UI changes, onboarding flows, and pricing experiments. Use when asked to set up an experiment, design an A/B test, calculate sample size, or interpret test results. Produces a complete test plan with hypothesis, variant definitions, sample size, duration estimate, guardrail metrics, and a results interpretation guide.
Analyse a finished A/B test and write the readout — the result, whether it's statistically and practically significant, what it means, and the ship/no-ship call. Use when asked to analyse experiment results, write an A/B test readout, interpret test data, or decide whether to ship a variant. Produces a clear verdict with the lift and confidence, segment cuts, the risks (peeking, novelty, sample), and a recommendation. Distinct from planning a test — this reads results.
Generate a WCAG 2.2 accessibility audit checklist and remediation suggestions for any UI or design. Use when asked to audit for accessibility, check WCAG compliance, review a design for a11y issues, or create an accessibility remediation plan. Produces a prioritised checklist with pass/fail assessments and specific fixes.
Plan a trip that actually works with a disability or access need — confirm real accessibility (not just 'accessible' labels), book the assistance in advance, plan for equipment and medication, and build in the contingencies for when access breaks down. Use when someone says 'plan an accessible trip', 'travelling with a wheelchair/disability', 'book assistance for my flight', or 'will this hotel actually work for me'. Produces an access-verified itinerary, an assistance-booking checklist, an equipment/medication plan, and contingency scripts. Verify specifics with providers.
Request a reasonable accommodation at work or in education — frame it around the barrier and the adjustment (not your diagnosis), cite the right process, and navigate the back-and-forth constructively. Use when someone says 'I need a workplace accommodation', 'request reasonable adjustments', 'ADA/Equality Act accommodation', or 'how do I ask for accommodations for my disability/condition'. Produces the request letter, a barriers-and-adjustments map, disclosure guidance, and a plan for the interactive process. Not legal advice — routes to the formal process and to advocacy where needed.
Build a structured account plan for any key customer or target account. Use when asked to create an account plan, key account strategy, strategic account review, or territory plan. Produces a complete account plan with relationship map, growth opportunities, risks, and 90-day action plan.