pipeline-stage

pipeline-stage is a skill for Claude Code, Codex from zakelfassi/skills-driven-development. It costs 67 tokens per session (996 once invoked), scanned A, original, MIT.

A recipe for adding a new data-transformation stage to a pipeline. A pipeline is a sequence that reshapes raw data into useful tables or datasets; the stage includes its transformation, expected data structure, duplicate-safety rules, and tests.

In plain words
What is it for?
Use it to add a dbt model or pandas transformation, connect it to upstream tables, define its unique key and data layer, and create checks such as required and unique values.
Why use it?
It gives a new business metric or dataset a defined place in the pipeline and helps prevent duplicate or invalid results. It also makes the expected input and output clearer for later stages.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions Codex.

Good fit Use it to add a dbt model or pandas transformation, connect it to upstream tables, define its unique key and data layer, and create checks such as required and unique values.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zakelfassi/skills-driven-development/pipeline-stage
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zakelfassi/skills-driven-development --skill pipeline-stage
Clone the repo
git clone --depth 1 https://github.com/zakelfassi/skills-driven-development

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pipeline-stage

README.md
[![agentmods](https://agentmods.dev/badge/skills/zakelfassi/skills-driven-development/pipeline-stage.svg)](https://agentmods.dev/skills/zakelfassi/skills-driven-development/pipeline-stage)
Your own site
<a href="https://agentmods.dev/skills/zakelfassi/skills-driven-development/pipeline-stage"><img src="https://agentmods.dev/badge/skills/zakelfassi/skills-driven-development/pipeline-stage.svg" alt="Measured on agentmods" height="20"></a>
Per session 67 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 996 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00067 $0.00996
Opus 5 $0.00034 $0.00498
Sonnet 5 $0.00013 $0.00199
Haiku 4.5 $0.00007 $0.00100

Measured 7d ago against content hash 1afd58f35bf9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

pipeline-stage scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

examples/data-pipeline/skills/pipeline-stage/SKILL.md · 111 lines

How it starts

The opening of the file, as written. The whole thing — 111 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Pipeline Stage

Create a new transform stage with idempotency guarantees, a schema contract, and tests.

Inputs

  • Stage name (snake_case, e.g., customer_ltv)
  • Input tables/models (list of upstream stage names or raw tables)
  • Output table name (usually matches stage name)
  • Grain (the primary key or unique key, e.g., customer_id, (order_id, date))
  • Layer (staging, intermediate, marts)

Steps

  1. Create the transform file

    For dbt:

    models/{layer}/{stage_name}.sql
    
    {{ config(
        materialized='table',
        unique_key='{grain}'
    ) }}
    
    select
        {grain},
        -- TODO: add business logic
        current_timestamp as updated_at
    from {{ ref('{input_table}') }}
    

    For pandas ETL:

    pipelines/transforms/{stage_name}/transform.py
    
    def run(df: pd.DataFrame) -> pd.DataFrame:
        """Transform {input_table} → {stage_name}."""
        # TODO: add business logic
        return df
    
  2. Define the schema contract Create models/{layer}/schema/{stage_name}.yaml (dbt) or pipelines/transforms/{stage_name}/schema.py:

    - name: {stage_name}
      columns:
        - name: {grain}
          tests:
            - unique
            - not_null
    

    Every non-nullable column must have not_null test; every unique key must have unique test.

  3. Add idempotency logic

    • For materialized='table': dbt handles full replacement — no extra work.
    • For incremental models: use is_incremental() filter on updated_at or an event timestamp.
    • For pandas: the output must be deterministic given the same input; add a dedup step on {grain}.
  4. Write tests

    tests/transforms/test_{stage_name}.py
    

    Required tests:

    • Input fixture → expected output shape (column names, row count)
    • Idempotency: running twice produces identical output
    • Null check: no nulls in required columns after transform
  5. Register in the pipeline DAG Add the stage after its upstream dependencies:

    # dags/pipeline.py
    {stage_name}_task = DbtRunOperator(
        task_id="{stage_name}",
        models="{stage_name}",
    )
    {upstream_task} >> {stage_name}_task
    

Read the full file on GitHub · 111 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 111 lines · 67 tokens per session scan A 1afd58f35bf9

Subscribe to this mod's changes

pipeline-stage is a skill published in the GitHub repository zakelfassi/skills-driven-development (18 stars, last pushed 1mo ago), licensed MIT. It adds 67 tokens to every session and 996 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

vector-db-rag-expert

Expert guide for high-performance Vector Databases, RAG architectures, pgvector HNSW indexing, hybrid search (Dense + BM25), and semantic chunking / Panduan ahli Vector DB, arsitektur RAG, pgvector HNSW, dan hybrid search.

roedyrustam/vibes-plug · 62 tokens

bigquery-bigframes

Generates Python code using BigQuery DataFrames (BigFrames), the pandas/scikit-learn-style API over BigQuery. Use when writing BigFrames code or doing pandas-style dataframe/ML work against BigQuery (e.g. in a notebook). Don't use for SQL-first workflows or the google-cloud-bigquery client library — use…

google/skills · 76 tokens

google-cloud-solution-hybrid-search-alloydb

Discovers requirements and generates architectural, design, and deployment guidance for dynamic hybrid search systems by combining semantic search and keyword search. Optimized for AlloyDB hybrid search use cases in Google Cloud. Use when users need vector search combined with structured SQL filtering, faceted…

google/skills · 115 tokens

coverage-tracker

Run a Google Alerts-style keyword coverage tracker. Uses news-search for recent keyword queries, lets the LLM dedupe and classify real features versus junk, stores decisions in SQLite, and alerts only on new real coverage.

elvisun/newsjack · 47 tokens

solr-semantic-search

To build Solr phrase-tagging semantic search: concept tagging, taxonomy, graph paths.

griddynamics/rosetta · 24 tokens

solr-query

To build and debug Solr queries: eDisMax, block join, JSON facets, kNN, explain.

griddynamics/rosetta · 27 tokens