Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Adf

ASecurity

Azure Data Factory specialist for cloud-based data integration pipelines. Deep expertise in pipelines, activities, data flows, integration runtimes, triggers, CI/CD, and migration patterns. WHEN: \"Azure Data Factory\", \"ADF\", \"ADF pipeline\", \"copy activity\", \"data flow\", \"mapping data flow\", \"integration runtime\", \"self-hosted IR\", \"SHIR\", \"ADF trigger\", \"tumbling window\", \"ADF linked service\", \"ADF dataset\", \"ADF CI/CD\", \"adf_publish\", \"ADF monitoring\", \"ADF v...

4 stars
0 votes
0 copies
0 views
Added 9/24/2026
devopspythongoshellsqlnodeexpressazuretestingdebugginggit

Works with

cli

Security Analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned 9/24/2026

$npx -y skills add chrishuffman5/domain-expert --skill adf --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Adf?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Adf
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chrishuffman5-adf/badge)](https://www.skillsdirectory.com/skills/chrishuffman5-adf)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: adf
description: "Azure Data Factory specialist for cloud-based data integration pipelines. Deep expertise in pipelines, activities, data flows, integration runtimes, triggers, CI/CD, and migration patterns. WHEN: \"Azure Data Factory\", \"ADF\", \"ADF pipeline\", \"copy activity\", \"data flow\", \"mapping data flow\", \"integration runtime\", \"self-hosted IR\", \"SHIR\", \"ADF trigger\", \"tumbling window\", \"ADF linked service\", \"ADF dataset\", \"ADF CI/CD\", \"adf_publish\", \"ADF monitoring\", \"ADF vs Synapse\", \"ADF vs Fabric\", \"ADF migration\", \"ADF CDC\", \"metadata-driven pipeline\"."
license: MIT
---

# Azure Data Factory

This skill covers Azure Data Factory (ADF), Microsoft's fully managed, serverless cloud data integration service. ADF is a managed service with no user-facing version numbers -- all factories run the latest platform release. It provides deep knowledge of:

- Pipeline and activity design (Copy, Data Flow, control flow, 90+ connectors)
- Integration Runtime architecture (Azure IR, Self-hosted IR, Azure-SSIS IR)
- Mapping Data Flows (visual Spark-based transformations)
- Trigger types (schedule, tumbling window, storage event, custom event)
- CI/CD with Git integration and ARM template deployment
- Monitoring, alerting, and cost optimization
- Migration paths from SSIS and toward Fabric Data Factory

## How to Approach Tasks

When you receive a request:

1. **Classify** the request:
   - **Architecture / pipeline design** -- Load `references/architecture.md` for IR types, pipeline execution model, data flow Spark backend, and managed VNET
   - **Performance / best practices** -- Load `references/best-practices.md` for Copy optimization, data flow tuning, CI/CD, security, and cost
   - **Troubleshooting / diagnostics** -- Load `references/diagnostics.md` for connectivity failures, IR issues, performance tuning, and cost analysis
   - **SSIS migration** -- See the `ssis` skill for SSIS-specific context, then apply ADF Azure-SSIS IR guidance
   - **Synapse Pipelines overlap** -- See the `synapse-pipelines` skill for Synapse-specific differences
   - **Cross-tool comparison** -- See the `integration` skill for ADF vs NiFi, Fivetran, Glue, etc.

2. **Gather context** -- Determine:
   - What does the pipeline do? (movement, transformation, orchestration, CDC)
   - What IR type? (Azure IR, Self-hosted IR, Azure-SSIS IR, Managed VNET)
   - Is this dev, test, or production?
   - Does the factory use Git integration?

3. **Analyze** -- Apply ADF-specific reasoning. Consider IR selection, connector capabilities, trigger semantics, expression language, and cost implications.

4. **Recommend** -- Provide actionable guidance with specific ADF configurations, expressions, and Azure CLI/PowerShell commands where appropriate.

5. **Verify** -- Suggest validation steps (pipeline debug runs, Data Flow data preview, Monitor Hub inspection, Azure Monitor KQL queries).

## Core Architecture

### Pipeline-Activity-Dataset-LinkedService Model

```
┌─────────────────────────────────────────────┐
│  Pipeline                                   │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  │
│  │ Lookup   │──│ ForEach  │──│  Copy    │  │
│  │ Activity │  │ Activity │  │ Activity │  │
│  └──────────┘  └──────────┘  └────┬─────┘  │
│                                   │         │
│                            ┌──────▼──────┐  │
│                            │  Dataset    │  │
│                            └──────┬──────┘  │
│                            ┌──────▼──────┐  │
│                            │Linked Svc   │  │
│                            └──────┬──────┘  │
└───────────────────────────────────┼─────────┘
                                    │
                          ┌─────────▼─────────┐
                          │Integration Runtime│
                          └─────────┬─────────┘
                                    │
                          ┌─────────▼─────────┐
                          │   Data Source      │
                          └───────────────────┘
```

**Pipelines** are the top-level orchestration container. Each pipeline contains activities, receives parameters from triggers, and produces a run with a unique Run ID. Pipelines can invoke child pipelines via Execute Pipeline activity.

**Activities** fall into three categories:
- **Data Movement**: Copy Activity (primary mechanism, 90+ connectors, format conversion, DIU-based parallelism)
- **Data Transformation**: Data Flow, Databricks Notebook/JAR/Python, HDInsight, Stored Procedure, Azure ML, Custom (.NET)
- **Control Flow**: If Condition, ForEach, Until, Switch, Wait, Web, Lookup, Get Metadata, Set Variable, Append Variable, Filter, Execute Pipeline, Validation, Webhook, Fail

**Datasets** are named views of data pointing to a location within a linked service (table, folder, file). Parameterize datasets for dynamic resolution at runtime.

**Linked Services** define connection strings, authentication methods, and endpoint details for external data stores and compute. Support managed identity, service principal, Key Vault references, and SAS tokens.

### Integration Runtime Types

The IR is the compute bridge between ADF and data sources:

| IR Type | Use Case | Network | Compute |
|---|---|---|---|
| **Azure IR** | Cloud-to-cloud data movement, data flows | Public or Managed VNET with private endpoints | Serverless, auto-scaling |
| **Self-hosted IR** | On-premises sources, private networks, firewalls | Outbound HTTPS only (443), no inbound ports | Windows machine or Azure VM, multi-node HA |
| **Azure-SSIS IR** | Run SSIS packages natively in Azure | Optional VNet join for on-premises access | Managed cluster, per-node billing |

**Azure IR** options: auto-resolve (region closest to source), fixed-region (compliance), Managed VNET (private endpoints with data exfiltration prevention).

**Self-hosted IR** can be shared across multiple data factories. Supports high availability via active-active multi-node. Communicates outbound only.

**Azure-SSIS IR** supports SSISDB on Azure SQL Database or Managed Instance, custom setup scripts, and Enterprise tier for advanced components.

### Data Flows

Mapping Data Flows are visually designed transformations executed on managed Apache Spark clusters:

- **Transformations**: Source, Sink, Derived Column, Filter, Select, Join, Lookup, Exists, Union, Conditional Split, Aggregate, Pivot, Unpivot, Window, Rank, Surrogate Key, Alter Row, Assert, Flowlet, Parse, Stringify, Flatten, External Call
- **Schema drift**: Handles dynamically changing schemas without breaking pipelines
- **Debug mode**: Interactive testing with live data preview on a warm Spark cluster
- **Flowlets**: Reusable parameterized sub-flows to reduce duplication
- **Expression language**: Rich function library (string, math, date/time, conversion, logical, aggregate) with IntelliSense in ADF Studio

Wrangling Data Flows (Power Query-based) were deprecated in 2024. Use Mapping Data Flows or migrate to Fabric Dataflow Gen2.

**Performance levers**: Cluster compute type (General Purpose / Compute Optimized / Memory Optimized), core count, Time-to-Live for warm clusters, partition strategy, broadcast joins, logging level.

### Triggers

| Trigger Type | Semantics | Pipeline Relationship | State |
|---|---|---|---|
| **Schedule** | Cron-like wall-clock schedule | Many-to-many | Stateless (no built-in retry) |
| **Tumbling Window** | Fixed-size non-overlapping intervals with backfill | One-to-one | Stateful (retry, dependencies) |
| **Storage Event** | Blob created/deleted (Event Grid) | Many-to-many | Event-driven |
| **Custom Event** | Event Grid custom topics | Many-to-many | Event-driven |

**Tumbling Window** is the most powerful trigger type: retains state, supports backfill of historical periods, has built-in retry policies, and supports trigger-to-trigger dependencies for chaining time-slice processing.

**Storage Event** triggers use Event Grid subscriptions and filter on blob path prefix/suffix. Expect 1-2 minute latency from file arrival to pipeline start.

### Monitoring

- **Monitor Hub** in ADF Studio: Pipeline runs, activity runs, trigger runs with status, duration, error details, and resource consumption
- **Azure Monitor**: Diagnostic settings to Log Analytics, custom KQL dashboards, alert rules on failure/duration/IR health
- **Copy Activity details**: Rows read/written, data volume, throughput (MB/s), DIU usage, duration per stage
- **Data Flow details**: Spark execution metrics, partition counts, stage times, cluster utilization
- **Rerun**: Failed pipelines can be rerun from the point of failure or from the beginning

### Source Control and CI/CD

**Git integration**: Native support for Azure Repos and GitHub. Only the development factory connects to Git. Feature branches for development, collaboration branch (typically `main`) for stable code. ADF Studio loads 10x faster with Git.

**Deployment workflow**:
1. Merge feature branch to collaboration branch
2. CI pipeline validates ADF resources and generates ARM templates (using `@microsoft/azure-data-factory-utilities` NPM package)
3. CD pipeline deploys ARM template to test, then production, with environment-specific parameter files
4. Pre-deployment: stop triggers. Post-deployment: start triggers, clean up removed resources.

**Key rule**: Never make manual changes to test or production factories. All changes flow through Git and CI/CD.

### Change Data Capture

ADF provides a native CDC resource for continuous (non-batch) data capture:
- Guided setup in ADF Studio: select source, destination, optional transformations
- Runs continuously, tracking changes at the source and applying incrementally
- Supports SQL Server, Azure SQL, Oracle, PostgreSQL sources
- SAP CDC via ODP framework for delta extraction

For batch-style incremental loads, use watermark patterns with Lookup + Copy Activity or tumbling window triggers with window start/end parameters.

## ADF vs Synapse Pipelines vs Fabric Data Factory

| Dimension | ADF | Synapse Pipelines | Fabric Data Factory |
|---|---|---|---|
| **Engine** | ADF engine | Same engine as ADF | ADF core + Fabric additions |
| **Hosting** | Standalone service | Inside Synapse workspace | Inside Fabric workspace |
| **Connectors** | 90+ (broadest) | Subset of ADF | Expanding (OneLake native) |
| **Unique features** | SSIS IR, broadest connectors, longest feature history | Tight Synapse SQL/Spark pool integration, Synapse Link | OneLake, Copilot AI, Dataflow Gen2, copy jobs, mirroring |
| **CI/CD** | Mature ARM template pipeline | ARM template (Synapse-specific) | Git integration (evolving) |
| **Cost** | Per-activity + DIU | Per-activity + pool cost | Fabric capacity-based |
| **Strategic direction** | Stable, fully supported, no new features since mid-2024 | Stable within Synapse | Microsoft's primary investment target |

**Guidance**: ADF for existing investments, standalone ETL, on-premises heavy workloads, and mature CI/CD. Synapse Pipelines for Synapse-centric analytics. Fabric Data Factory for greenfield projects and organizations adopting Microsoft Fabric. Migration assistant (ADF/Synapse to Fabric) entered public preview March 2026.

## Anti-Patterns

1. **Using Data Flows for simple copies** -- Data Flows spin up Spark clusters (3-5 min cold start, vCore-hour billing). Use Copy Activity for straightforward data movement.
2. **Hardcoding values in pipelines** -- Externalize all configuration into parameters, global parameters, and metadata tables. A parameterized pipeline handles hundreds of sources.
3. **One pipeline per table** -- Build metadata-driven pipelines with Lookup + ForEach instead of creating hundreds of identical pipelines.
4. **Ignoring DIU tuning** -- Default 4 DIU is too low for large data volumes. Test incrementally (4 -> 8 -> 16 -> 32 -> 64) and monitor throughput gain.
5. **No TTL on frequent Data Flows** -- Without TTL, every execution pays 3-5 minutes of Spark cold start. Set TTL proportional to scheduling frequency.
6. **Manual changes to non-dev factories** -- All changes must flow through Git and CI/CD. Manual edits to test/prod factories cause drift and deployment failures.
7. **Oversized Azure-SSIS IR left running** -- Azure-SSIS IR charges per node based on uptime. Stop when not in use; schedule start/stop for SSIS execution windows.
8. **Ignoring data exfiltration prevention** -- In regulated environments, enable Managed VNET with data exfiltration prevention to restrict outbound traffic to approved private endpoints only.

## Metadata-Driven Pipeline Pattern

The most scalable ADF design pattern -- a single parameterized pipeline handles integration for hundreds of sources:

1. **Control table** stores configuration: source object, target, load type (full/incremental), key columns, watermark column, active flag
2. **Lookup activity** reads the control table at runtime
3. **ForEach activity** iterates over results, executing a child pipeline per source
4. **Parameterized datasets and linked services** resolve connection details dynamically
5. **Copy Activity** source query, sink table, and column mapping are all driven by metadata

Adding a new source becomes a configuration row, not a pipeline change.

## Reference Files

- `references/architecture.md` -- IR deep dive (Azure IR auto-resolve vs Managed VNET, SHIR networking, Azure-SSIS IR provisioning), pipeline execution model, data flow Spark backend, managed VNET and private endpoints, connector ecosystem
- `references/best-practices.md` -- Pipeline design patterns (metadata-driven, parent-child, incremental load), Copy Activity optimization (DIU, parallel copy, staging, partitioning), data flow performance tuning, error handling, CI/CD workflow, security hardening, cost optimization
- `references/diagnostics.md` -- Connectivity failures, IR troubleshooting (SHIR offline, Azure-SSIS startup), data type mapping errors, Copy/Data Flow performance issues, trigger problems, debugging workflows, cost analysis

## Diagnostic Scripts

Ready-made Az PowerShell scripts (Az.DataFactory module, Reader role) in `scripts/`, numbered by investigation order. All read-only; placeholders are `__UPPER_SNAKE__` tokens.

- `scripts/01-pipeline-runs-summary.ps1` -- 7-day run status/duration summary per pipeline
- `scripts/02-failed-activity-runs.ps1` -- Activity-level errors for a failed run (root-cause activity)
- `scripts/03-trigger-status.ps1` -- Trigger runtime states (stopped triggers = silent staleness)

## Cross-References

- `ssis` skill -- SSIS migration context (Azure-SSIS IR lift-and-shift, package execution)
- `synapse-pipelines` skill -- Synapse Pipelines overlap and differences
- `overview` skill -- Cross-tool comparisons and paradigm routing

Attribution

chrishuffman5chrishuffman5
View sourceSee grades on GitHubMore from chrishuffman5 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

401991 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2699140 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

971540 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

953190 votes
View all in devops →