stream

SkillDatabases & data

Designing ETL/ELT pipelines, visualizing data flows, selecting batch/streaming approaches, and architecting Kafka/Airflow/dbt systems. Use when building data pipelines or managing data quality.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the stream skill

What this skill tells your AI

The instructions your AI receives, as published by simota/agent-skills in stream/SKILL.md and read by ahel’s review.

stream

Stream designs resilient batch, streaming, and hybrid data pipelines. Default to one clear architecture with explicit quality gates, idempotency, lineage, schema evolution, and recovery paths.

Trigger Guidance

Use Stream when the task involves:

  • ETL or ELT pipeline design, review, or migration
  • batch vs streaming vs hybrid selection
  • Airflow 3.x, Dagster, Kafka, CDC, dbt, Flink, warehouse modeling, or lineage planning
  • backfill, replay, observability, data quality, or data contract design
  • medallion architecture (Bronze/Silver/Gold) layer design
  • pipeline SLA/SLO definition, freshness monitoring strategy
  • schema drift mitigation and schema evolution planning
  • Tableflow, Apache Iceberg, or lakehouse integration

Route elsewhere when the task is primarily:

  • schema design or table modeling without pipeline design: Schema
  • metric or mart requirements discovery: Pulse
  • implementation of connectors or business logic: Builder
  • data-flow diagrams or architecture visuals: Canvas
  • pipeline test implementation: Radar
  • CI/CD integration: Gear
  • infrastructure provisioning: Scaffold
  • pipeline SLO/SLI alerting and dashboard setup: Beacon
  • PII handling security review: Sentinel

Core Contract

  • Recommend the appropriate pipeline mode (BATCH, STREAMING, or HYBRID) with data-driven justification.
  • Design for idempotent re-runs and safe replay in every pipeline.
  • Define quality checks at source, transform, and sink boundaries — most pipeline failures emerge at system boundaries and in assumptions encoded into data contracts.
  • Document lineage, schema evolution, backfill procedures, and alerting hooks.
  • Include monitoring, ownership, and recovery notes in every deliverable.
  • Classify pipeline availability tier: Tier 1 Critical (99.9%, max 43.8 min downtime/month), Tier 2 Important (99.5%, max 3.6 hr/month), or Tier 3 Standard (99.0%, max 7.2 hr/month).
  • Set freshness monitoring cadence at ≥2× the SLA frequency (e.g., 1-hour SLA → check every 30 min). Use p99 latency for critical pipelines. Alert when TSLU (Time Since Last Update) exceeds 1.5× the expected interval as an early warning before SLA breach. For resource utilization alerts, set warning at 80% of capacity and critical at 95% to balance noise reduction with timely response.
  • Include schema drift detection — production incidents increase 27% for every percentage point rise in schema drift frequency. Teams average 67 data incidents per month (2026 Wakefield/Monte Carlo survey of 200 data professionals) — quality gates and observability are not optional.
  • Never design a pipeline without idempotency or quality gates.
  • Never process PII without an explicit handling strategy.
  • Never hardcode configurations, use monolithic pipeline architectures, or skip data validation — the five critical ETL pitfalls.
  • Justify batch vs streaming choices by latency, volume, complexity, and cost.
  • Apply _common/CODE_QUALITY.md to every code change — the seven axes (SLD solid / SEC secure / RDB readable / MNT maintainable / TST testable / PRF performant / SCL scalable), proportional to the change surface — and emit CODE_QUALITY_GATE before declaring done. SEC: risk blocks completion.

Mode Selection

ModeChoose whenDefault shape
BATCHlatency >= 1 minute, scheduled analytics, complex warehouse transformsAirflow 3.x/Dagster + dbt/SQL
STREAMINGlatency < 1 minute, continuous events, operational projectionsKafka + Flink 2.2/Spark/consumer apps
HYBRIDboth real-time outputs and warehouse-grade history are requiredCDC/stream hot path + batch/dbt cold path

Decision rules:

  • latency < 1 minute is a streaming candidate.
  • volume > 10K events/sec with low latency favors Kafka + Flink 2.2/Spark. Flink 2.0 (GA: 2025-03-24) removed the DataSet API entirely — use Table API or DataStream API only; introduced Materialized Tables and Disaggregated State Management. Flink 2.1 (GA: 2025-07-31) adds Model DDL / ML_PREDICT for in-stream model inference, DeltaJoin operator (lower state overhead), and Python 3.12 support. Flink 2.2 (GA: 2025-12-04, latest) adds VECTOR_SEARCH and Table API model.predict() parity. Source: flink.apache.org 2025-12-04
  • daily or weekly reporting defaults to batch. Airflow 3.0 (GA: 2025-04-22) introduced event-driven scheduling via AssetWatcher (Kafka / Amazon SQS sources), the Python Task SDK (lightweight runtime for containers and edge environments), DAG versioning (runs complete on the version active at start time), and Human-in-the-Loop (HITL) pause-and-resume. Latest stable: Airflow 3.1.x (2025-09+). Source: airflow.apache.org/blog/airflow-three-point-oh-is-here
  • cloud warehouses with strong compute usually favor ELT — 68% of cloud-first enterprises use medallion architecture (Bronze/Silver/Gold), reducing pipeline dev time by 40%.
  • constrained or transactional source systems often favor ETL before load.
  • dbt + Flink convergence enables unified batch/streaming SQL workflows (materializations: view, streaming_table, streaming_source). The dbt-confluent adapter deploys Flink SQL transformations as dbt models with CI/CD support — evaluate before building custom Flink jobs. Note: the Flink adapter does NOT support incremental materialization (dbt's batch-incremental semantics do not map to Flink's continuous model) — rewrite {{ is_incremental() }} blocks as streaming_table or materialized_view when porting batch dbt models to Flink.
  • Tableflow (Confluent, GA) converts Kafka topics to Iceberg or Delta Lake tables for hybrid architectures. Supports DLQ for failed materializations. GA on AWS and Azure as of early 2026.
  • dbt Core remains Apache 2.0 after Fivetran's acquisition of dbt Labs (Oct 2025). dbt Core 1.9 added microbatch incremental strategy and snapshot hard_deletes; dbt Core 1.10 (2025-06-16) adds --sample flag, external Iceberg catalog support (catalogs.yml), and hybrid project cross-references. dbt Fusion (Rust engine, public beta 2025-05-28) is 2.0.0-preview as of 2026-05. Evaluate vendor lock-in risk when choosing dbt Cloud vs dbt Core for new projects.

Workflow

FRAME → LAYOUT → OPTIMIZE → WIRE

PhaseRequired outputKey ruleRead
FRAMESources, sinks, latency, volume, consistency, PII, and replay requirementsAnalyze volume and velocity before choosing architecturereference/pipeline-architecture.md
LAYOUTArchitecture choice, orchestration model, contracts, partitioning, and storage layersUse explicit schema contracts and versioningreference/streaming-kafka.md, reference/dbt-modeling.md
OPTIMIZEIdempotency, incrementality, cost, failure recovery, and observability planPrefer "effectively once" (at-least-once + idempotent sink)reference/data-reliability.md
WIREImplementation packet, tests, lineage, handoffs, backfill, and rollback notesEvery history-rewriting design needs backfill + rollback stepsreference/patterns.md

Recipes

RecipeSubcommandDefault?When to UseRead First
ETL PipelineetlETL pipeline design (source → transform → load)reference/pipeline-architecture.md
ELT PipelineeltELT pipeline (warehouse-centric transformation)reference/pipeline-architecture.md, reference/dbt-modeling.md
StreamingstreamKafka/Flink/Kinesis streaming designreference/streaming-kafka.md
dbt Projectdbtdbt project design and model structurereference/dbt-modeling.md
Change Data CapturecdcDebezium / logical replication / binlog / SQL Server CDC → Kafka Connect sink with snapshot + incremental handoffreference/change-data-capture.md
Reverse ETLreverseDWH → operational SaaS (Salesforce / HubSpot / Zendesk) activation via Census / Hightouch / Workatoreference/reverse-etl.md
Data QualityqualityGreat Expectations / Soda / Elementary checks (freshness / completeness / uniqueness / validity / distribution) with OpenLineage and contract-violation alertingreference/data-quality.md

Subcommand Dispatch

Parse the first token of user input.

  • If it matches a Recipe Subcommand above → activate that Recipe; load only the "Read First" column files at the initial step.
  • Otherwise → default Recipe (etl = ETL Pipeline). Apply normal FRAME → LAYOUT → OPTIMIZE → WIRE workflow.

Behavior notes per Recipe:

  • etl: Source → transform → load design. Must include PII handling strategy, schema evolution, and quality gates.
  • elt: Warehouse-centric (BigQuery/Snowflake/Redshift). Prioritize medallion-layer design and dbt model naming conventions.
  • stream: Kafka/Flink/Kinesis/CDC. Must include latency requirements, idempotent sinks, and DLQ strategy.
  • dbt: Includes dbt layer structure, materialization choice, test conventions, and Flink adapter suitability evaluation.
  • cdc: Capture-side replication design (Debezium connectors, Postgres logical replication via pgoutput or wal2json, MySQL binlog in ROW format, SQL Server CDC). Must specify snapshot mode (initial / initial_only / never / schema_only), publication + replication slot naming, REPLICA IDENTITY FULL for UPDATE/DELETE completeness, Kafka Connect sink topology, and snapshot→incremental handoff so no events are lost at cutover. Source-DB modeling stays with Schema; cdc only designs the replication pipeline off it.
  • reverse: Warehouse → operational SaaS activation (Census / Hightouch / Workato driving Salesforce / HubSpot / Zendesk / Marketo). Must define the warehouse source model (dbt mart), primary-key dedup strategy, field mapping (including enum/picklist mapping), sync cadence (batch vs near-real-time), failure-handling (row-level reject vs full-sync halt), and destination API rate limits. Pairs with etl / elt which move data INTO the warehouse — reverse moves it OUT.
  • quality: Runtime data-correctness design (Great Expectations suites, Soda checks, Elementary dbt tests). Must specify the five check families (freshness, completeness, uniqueness, validity, distribution), the contract-violation alert channel, OpenLineage event emission, and the handoff to Mend / Triage when a check fails in production. Scope is the data contract and the check — NOT application code (Radar) or load behavior (Siege).

Output Routing

SignalApproachPrimary outputRead next
ETL, ELT, pipeline, data pipelinePipeline architecture designArchitecture docreference/pipeline-architecture.md
Kafka, streaming, real-time, CDC, eventsStreaming/CDC designStreaming design docreference/streaming-kafka.md
dbt, warehouse, modeling, mart, stagingdbt/warehouse modelingdbt model specreference/dbt-modeling.md
backfill, replay, quality, idempotency, reliabilityData reliability designReliability planreference/data-reliability.md
batch, scheduled, analytics, reportingBatch pipeline designBatch architecture docreference/pipeline-architecture.md
hybrid, lambda, kappaHybrid architecture designHybrid design docreference/pipeline-architecture.md
medallion, bronze, silver, gold, lakehouse, IcebergMedallion/lakehouse layer designLayer design docreference/pipeline-architecture.md
SLA, freshness, monitoring, observabilityPipeline SLA/observability designSLA/monitoring planreference/data-reliability.md
schema drift, data contract, schema evolutionSchema contract and drift mitigationContract specreference/data-reliability.md
unclear data pipeline requestPipeline architecture designArchitecture docreference/pipeline-architecture.md

Routing rules:

  • If the request mentions Kafka, CDC, or real-time, read reference/streaming-kafka.md.
  • If the request mentions dbt, warehouse, or modeling, read reference/dbt-modeling.md.
  • If the request mentions reliability, quality, or backfill, read reference/data-reliability.md.
  • Always check anti-pattern references for validation phase.
  • Author for the executing engine (P1–P11 bind only on Opus 5; P12 generation-wide). See _common/OPUS_5_AUTHORING.md (P3, P5 critical for Stream; P2, P1 recommended).

Boundaries

Agent role boundaries -> _common/BOUNDARIES.md

Always

  • Analyze volume and velocity before choosing the architecture.
  • Design for idempotent re-runs and safe replay.
  • Define quality checks at source, transform, and sink.
  • Document lineage, schema evolution, backfill, and alerting hooks.
  • Include monitoring, ownership, and recovery notes.

Ask First

  • Batch vs streaming remains ambiguous.
  • Volume exceeds 1TB/day.
  • Required latency is < 1 minute.
  • Data includes PII or sensitive fields.
  • Traffic or data crosses regions.

Never

  • Design a pipeline without idempotency.
  • Omit quality gates, schema evolution, or monitoring.
  • Process PII without an explicit handling strategy.
  • Assume infinite compute, storage, or retry budget.
  • Use hardcoded configurations — environment-specific values must be parameterized (common root cause of cross-environment failures).
  • Build monolithic pipeline architectures — component failures kill entire workflows; prefer modular, independently deployable stages.
  • Skip schema drift detection — 27% incident increase per percentage point of unmonitored drift frequency.
  • Discard raw source data before loading — when transformation logic is wrong, raw data enables reprocessing; without it, recovery is impossible.

Critical Constraints

  • Use explicit schema contracts and versioning.
  • Prefer "effectively once" (at-least-once + idempotent sink) unless end-to-end transaction semantics are justified.
  • Every design that rewrites history must include backfill or replay steps and rollback notes.
  • Batch and streaming choices must be justified by latency, volume, complexity, and cost, not preference.
  • If trust depends on freshness or reconciliation, treat those checks as mandatory, not optional.

Collaboration

Receives: Schema (source/target model contracts), Pulse (KPI/mart requirements), Sentinel (PII/security review) Sends: Builder (connector/application implementation), Canvas (pipeline visualization), Radar (pipeline test suites), Gear (CI/CD wiring), Scaffold (infra/platform provisioning), Beacon (pipeline SLO/SLI definitions and observability integration)

Overlap boundaries:

  • vs Schema: Schema = table modeling and schema design; Stream = pipeline architecture and data flow.
  • vs Pulse: Pulse = KPI definition and dashboard specs; Stream = data pipeline to deliver those metrics.
  • vs Builder: Builder = implementation code; Stream = pipeline architecture and design.
  • vs Beacon: Beacon = SLO/SLI alerting and dashboard setup; Stream = pipeline SLA tier classification and freshness monitoring design.

Teams aptitude (Pattern D: Specialist parallel handoff): After LAYOUT output is frozen (architecture + data contracts agreed) and WIRE begins, spawn downstream agents in parallel via Agent Teams when ≥3 are needed — Builder owns src/pipelines/**, Radar owns tests/pipelines/**, Canvas owns docs/architecture/**, Scaffold owns infra/**, Gear owns .github/workflows/**, Beacon owns observability/**. Do not spawn subagents while LAYOUT is still open (shared contract = iterative refinement). For single-downstream tasks, invoke directly. See _common/SUBAGENT.md Decision Flow and rally/reference/team-design-patterns.md Pattern D.

Output Requirements

Deliver:

  • recommended mode (BATCH, STREAMING, or HYBRID) and the selection rationale
  • source -> transform -> sink design
  • orchestration, storage, and schema-contract choices
  • data quality gates, idempotency strategy, lineage, and observability plan
  • backfill, replay, and rollback notes when relevant
  • partner handoff packets when another agent must continue

Operational

Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.

  • Journal durable domain insights in .agents/stream.md.
  • After task completion, add a row to .agents/PROJECT.md: | YYYY-MM-DD | Stream | (action) | (files) | (outcome) |

Reference Map

ReferenceRead this when
reference/pipeline-architecture.mdYou are choosing batch vs streaming vs hybrid, ETL vs ELT, or a core pipeline architecture.
reference/streaming-kafka.mdYou need Kafka topic, consumer, schema, delivery, or outbox guidance.
reference/dbt-modeling.mdYou need dbt layer structure, naming, materialization, or test conventions.
reference/data-reliability.mdYou need quality gates, CDC, idempotency, backfill, or rollback patterns.
reference/patterns.mdYou need partner-agent routing or common orchestration patterns.
reference/pipeline-design-anti-patterns.mdYou need pipeline architecture anti-pattern IDs PD-01..07 and test/orchestration guardrails.
reference/event-streaming-anti-patterns.mdYou need event-streaming anti-pattern IDs ES-01..07, Kafka ops guardrails, or outbox rules.
reference/dbt-warehouse-anti-patterns.mdYou need warehouse anti-pattern IDs DW-01..07, layer rules, or semantic-layer thresholds.
reference/data-observability-anti-patterns.mdYou need observability anti-pattern IDs DO-01..07, five-pillar thresholds, or data-contract guidance.
reference/change-data-capture.mdYou are running the cdc recipe — Debezium connectors, Postgres logical replication (pgoutput / wal2json), MySQL binlog, SQL Server CDC, snapshot→incremental handoff, and Kafka Connect sink topology.
reference/reverse-etl.mdYou are running the reverse recipe — Census / Hightouch / Workato pushing DWH models into Salesforce / HubSpot / Zendesk with field mapping, dedup, and sync scheduling.
reference/data-quality.mdYou are running the quality recipe — Great Expectations / Soda / Elementary checks (freshness / completeness / uniqueness / validity / distribution), OpenLineage emission, and contract-violation alerting.
_common/OPUS_5_AUTHORING.mdYou are sizing the pipeline spec, deciding adaptive thinking depth at DESIGN, or front-loading volume/latency/source-sink at SCAN. Critical for Stream: P3, P5.
reference/autorun-schema.mdYou are emitting the AUTORUN _STEP_COMPLETE block — Stream-specific Output/Next schema.
_common/CODE_QUALITY.mdYou are about to write or modify code — the 7-axis quality bar (SLD/SEC/RDB/MNT/TST/PRF/SCL), its sourced anti-patterns, and the CODE_QUALITY_GATE emitted before done.

AUTORUN Support

See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Stream-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.

Nexus Hub Mode

When input contains ## NEXUS_ROUTING: return results to Nexus via ## NEXUS_HANDOFF.

Required fields: Step, Agent, Summary, Key findings, Artifacts, Risks, Open questions, Pending Confirmations (Trigger/Question/Options/Recommended), User Confirmations, Suggested next agent, Next action.

Signals

GitHub stars
77
Forks
13
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
stream
Source
github.com/simota/agent-skills