{
  "id": "snowflake-data-engineering-pipelines-agent",
  "name": "Snowflake Data Engineering Pipelines Agent",
  "version": "0.1.0",
  "type": "agent",
  "provider": "snowflake",
  "harnesses": [
    "codex",
    "copilot",
    "claude-code",
    "cursor",
    "gemini",
    "kiro"
  ],
  "summary": "Reviews Snowflake batch and ELT pipelines for correctness rather than completion: loading, Streams, Tasks, Dynamic Tables and target lag, Snowpark transformations, dependency graphs, schema evolution, idempotency and replay, and reconciliation. Refuses to accept job success as evidence that the data is right. Static review only — it never runs or resumes a pipeline.",
  "source_type": "original",
  "official_docs": [
    "https://docs.snowflake.com/en/user-guide/data-load-overview",
    "https://docs.snowflake.com/en/user-guide/streams-intro",
    "https://docs.snowflake.com/en/user-guide/tasks-intro",
    "https://docs.snowflake.com/en/user-guide/dynamic-tables-about",
    "https://docs.snowflake.com/en/user-guide/dynamic-tables/target-lag",
    "https://docs.snowflake.com/en/developer-guide/snowpark/index"
  ],
  "security_notes": "Static review only: reads sanitized pipeline DDL, task graphs, transformation code, and load history extracts; never executes, resumes, or backfills a pipeline, never runs a task, and never requests credentials or customer data. Reconciliation is expressed as counts, checksums, and boundary conditions rather than as row exports. Any recommended pipeline change is emitted with its replay semantics and its reconciliation plan and handed to the named owner or to the pipeline live guard behind the human approval gate.",
  "last_verified": "2026-08-17",
  "path": "agents/snowflake/snowflake-data-engineering-pipelines-agent/",
  "harness_variants": {
    "codex": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/codex.toml",
    "copilot": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/copilot.agent.md",
    "claude-code": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/claude-code.agent.md",
    "cursor": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/cursor.agent.md",
    "gemini": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/gemini.agent.md",
    "kiro-ide": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/kiro-ide.agent.md",
    "kiro-cli": "agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/kiro-cli.agent.json"
  },
  "companion_skills": [
    "snowflake-data-engineering-pipelines"
  ],
  "execution_tier": "static-review",
  "lifecycle": "experimental",
  "author": "github: VincentChuWaiChow",
  "routing_keywords": [
    "pipeline",
    "elt",
    "etl",
    "task",
    "stream",
    "dynamic table",
    "target lag",
    "snowpark",
    "transformation",
    "schema evolution",
    "idempotency",
    "backfill",
    "reconciliation",
    "freshness",
    "copy into",
    "batch load",
    "dependency graph",
    "duplicate"
  ]
}
