administering-linux
Manage Linux systems covering systemd services, process management, filesystems, networking, performance tuning, and…
Transform raw data into analytical assets using ETL/ELT patterns, SQL (dbt), Python (pandas/polars/PySpark), and orchestration (Airflow). Use when building data pipelines, implementing incremental models, migrating from pandas to polars, or orchestrating multi-step
Claude Code
$ npx -y skills add ancoleman/ai-design-components --skill transforming-data --agent claude-code
Codex
$ npx skills add ancoleman/ai-design-components --skill transforming-data -a codex -y
Cursor
$ npx skills add ancoleman/ai-design-components --skill transforming-data -a cursor -y
Gemini CLI
$ npx skills add ancoleman/ai-design-components --skill transforming-data -a gemini-cli -y
GitHub Copilot
$ npx skills add ancoleman/ai-design-components --skill transforming-data -a github-copilot -y
OpenCode
$ npx skills add ancoleman/ai-design-components --skill transforming-data -a opencode -y
Windsurf
$ npx skills add ancoleman/ai-design-components --skill transforming-data -a windsurf -y
name: transforming-data description: Transform raw data into analytical assets using ETL/ELT patterns, SQL (dbt), Python (pandas/polars/PySpark), and orchestration (Airflow). Use when building data pipelines, implementing incremental models, migrating from pandas to polars, or orchestrating multi-step transformations with testing and quality checks.
Transform raw data into analytical assets using modern transformation patterns, frameworks, and orchestration tools.
Select and implement data transformation patterns across the modern data stack. Transform raw data into clean, tested, and documented analytical datasets using SQL (dbt), Python DataFrames (pandas, polars, PySpark), and pipeline orchestration (Airflow, Dagster, Prefect).
Invoke this skill when:
{{
config(
materialized='incremental',
unique_key='order_id'
)
}}
select order_id, customer_id, order_created_at, sum(revenue) as total_revenue
from {{ ref('int_order_items_joined') }}
group by 1, 2, 3
{% if is_incremental() %}
where order_created_at > (select max(order_created_at) from {{ this }})
{% endif %}import polars as pl
result = (
pl.scan_csv('large_dataset.csv')
.filter(pl.col('year') == 2024)
.with_columns([(pl.col('quantity') * pl.col('price')).alias('revenue')])
.group_by('region')
.agg(pl.col('revenue').sum())
.collect() # Execute lazy query
)from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta
with DAG(
dag_id='daily_sales_pipeline',
schedule_interval='0 2 * * *',
default_args={'retries': 2, 'retry_delay': timedelta(minutes=5)},
start_date=datetime(2024, 1, 1),
catchup=False
) as dag:
extract = PythonOperator(task_id='extract', python_callable=extract_data)
transform = PythonOperator(task_id='transform', python_callable=transform_data)
extract >> transform**Use ELT (Extract, Load, Transform)** when:
**Tools**: dbt, Dataform, Snowflake tasks, BigQuery scheduled queries
**Use ETL (Extract, Transform, Load)** when:
**Tools**: AWS Glue, Azure Data Factory, custom Python scripts
**Use Hybrid** when combining sensitive data cleansing (ETL) with analytics transformations (ELT).
**Default recommendation**: ELT with dbt unless specific compliance or performance constraints require ETL.
For detailed patterns, see `references/etl-vs-elt-patterns.md`.
**Choose pandas** when:
**Choose polars** when:
**Choose PySpark** when:
**Migration path**: pandas → polars (easier, similar API) or pandas → PySpark (requires cluster)
For comparisons and migration guides, see `references/dataframe-comparison.md`.
**Choose Airflow** when:
**Choose Dagster** when:
**Choose Prefect** when:
**Safe default**: Airflow (battle-tested) unless specific needs for Dagster/Prefect.
For detailed patterns, see `references/orchestration-patterns.md`.
1. **Staging Layer** (`models/staging/`)
2. **Intermediate Layer** (`models/intermediate/`)
3. **Marts Layer** (`models/marts/`)
**View**: Query re-run each time model referenced. Use for fast queries, staging layer.
**Table**: Full refresh on each run. Use for frequently queried models, expensive computations.
**Incremental**: Only processes new/changed records. Use for large fact tables, event logs.
**Ephemeral**: CTE only, not persisted. Use for intermediate calculations.
models:
- name: fct_orders
columns:
- name: order_id
tests:
- unique
- not_null
- name: customer_id
tests:Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude
Manage Linux systems covering systemd services, process management, filesystems, networking, performance tuning, and…
Data pipelines, feature stores, and embedding generation for AI/ML systems. Use when building RAG pipelines, ML feature serving,…
Strategic guidance for designing modern data platforms, covering storage paradigms (data lake, warehouse, lakehouse), modeling…
Design cloud network architectures with VPC patterns, subnet strategies, zero trust principles, and hybrid connectivity. Use when…
Design comprehensive security architectures using defense-in-depth, zero trust principles, threat modeling (STRIDE, PASTA), and…
Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.