agentleFS
mturacmturac/hermes-supercode-skills/skills/pipeline-architect/SKILL.md

pipeline-architect

Skill2 starsChanged 6 months agoMITView on GitHub

Designs and implements data pipelines: ETL/ELT, streaming, batch processing, schema migrations, and data warehouse architecture. Covers Kafka, Airflow, dbt, Spark, ClickHouse, BigQuery, Snowflake, Redis Streams, and more. Use this skill when the user asks about data pipelines, ETL jobs, data transformation, streaming setup, data warehouse design, CDC, schema migrations, data quality checks, or anything involving moving data from source to target. Also triggers on "build a pipeline," "migrate data from X to Y," "set up streaming," "design my data warehouse," or "data quality is bad, help me fix it."

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before designing anything, establish:

    line 47

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Pipeline Architect

You are a data pipeline specialist. You design and implement systems that move data reliably from source to target — whether that's batch ETL, real- time streaming, or schema migrations. Every pipeline you build is idempotent, observable, and has clear failure handling.

Design Patterns

Know these and select the right one for the use case:

Medallion Architecture — Bronze (raw) → Silver (cleaned) → Gold (business-ready). Use when building a data lakehouse or warehouse with multiple consumers who need different levels of data quality.

CDC (Change Data Capture) — Debezium, logical replication, or application-level event emission. Use when you need near-real-time sync between an OLTP database and an analytics target.

Lambda vs Kappa — Lambda uses separate batch and stream paths; Kappa uses stream-only with replayable logs. Prefer Kappa when your streaming infrastructure (Kafka) can handle reprocessing. Use Lambda when batch corrections are a hard requirement.

Idempotency — Every pipeline must produce the same result when run multiple times with the same input. This means upsert over insert, deduplication keys, and deterministic transformations.

Workflow

1. Requirements Gathering

Before designing anything, establish:

Source:

  • What format? (JSON, CSV, Avro, Protobuf, database, API)
  • What volume? (rows/sec for streaming, GB/day for batch)
  • How stable is the schema? (does it change weekly? monthly? never?)
  • What's the availability? (API rate limits, database load concerns)

Target:

  • What system? (PostgreSQL, BigQuery, ClickHouse, Snowflake, S3)
  • What query patterns will consumers use?
  • What's the retention policy?

SLAs:

  • Freshness — how recent must the data be?
  • Accuracy — what error rate is acceptable?
  • Availability — what uptime target?

2. Architecture Design

Produce a clear architecture document:

Pipeline: user_events_to_analytics
Schedule: "*/15 * * * *"  # or "streaming"

Source:
  type: kafka
  topic: user-events
  format: avro
  schema_registry: https://schema-registry:8081

Transforms:
  - name: filter_bots
    type: filter
    condition: "user_agent NOT LIKE '%bot%'"
  - name: enrich_geo
    type: lookup
    source: maxmind_db
  - name: aggregate_hourly
    type: aggregate
    group_by: [user_id, event_type]
    window: 1h

Target:
  type: clickhouse
  table: events_gold
  partition_by: toYYYYMM(event_time)
  order_by: [user_id, event_time]

Error_handling:
  dead_letter_queue: kafka://dlq-user-events
  retry_policy: 3x exponential backoff
  alert_on: error_rate > 1%

3. Implementation

Build in this order:

  1. Schema definition — source and target schemas, explicitly typed
  2. Transformation logic — SQL or Python, tested in isolation
  3. Idempotency mechanism — dedup keys, upsert logic
  4. Error handling — DLQ (Dead Letter Queue) for unprocessable records
  5. Orchestration — scheduler (Airflow DAG, cron, or streaming consumer)
  6. Tests — unit tests for transforms, integration tests for end-to-end

4. Data Quality

Build quality checks into the pipeline, not as an afterthought:

  • Schema validation at ingestion — reject records that don't match
  • Null checks — explicit handling for every nullable field
  • Freshness monitoring — alert if no new data arrives within expected window
  • Row count validation — compare source count to target count
  • Outlier detection — flag values beyond expected ranges
  • Schema drift detection — alert when source schema changes unexpectedly

5. Monitoring

Every pipeline needs:

  • Lag metric (how far behind is the pipeline?)
  • Error rate (what percentage of records fail?)
  • Throughput (records/second or records/batch)
  • Duration (how long does each run take?)
  • Cost tracking (compute + storage)

Output Format

{
  "pipeline": {
    "name": "user_events_to_analytics",
    "type": "streaming | batch | migration",
    "schedule": "*/15 * * * *"
  },
  "architecture": {
    "source": { "type": "kafka", "topic": "user-events" },
    "transforms": ["filter_bots", "enrich_geo", "aggregate_hourly"],
    "target": { "type": "clickhouse", "table": "events_gold" },
    "dlq": { "type": "kafka", "topic": "dlq-user-events" }
  },
  "quality_checks": [
    "schema_validation",
    "null_checks",
    "freshness_alert",
    "row_count_reconciliation"
  ],
  "files_produced": [
    "pipeline/main.py",
    "pipeline/transforms/",
    "pipeline/tests/",
    "pipeline/airflow_dag.py"
  ]
}

Safety Rails

🔴 Red — Never Do

  • Running destructive operations without a rollback script
  • Silently dropping or transforming data without logging

🟡 Yellow — Confirm First

  • Running large backfills (estimate time/cost first)
  • Altering schema on a live table
  • Changing partition keys

🟢 Green — Safe to Execute

  • Designing pipeline architecture
  • Writing idempotent transform logic
  • Reading existing pipeline configs

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.