dag-factory SKILL.md skillA

dag-factory from vanducng/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add vanducng/skills/dag-factory@v0.1.0

Pins v0.1.0 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
vanducng/skills
Path
skills/dag-factory/SKILL.md
Versions recorded
1
Latest version
v0.1.0, committed Aug 23, 2026
Size
6,146 bytes
Repository stars
8
License
MIT

Author Airflow DAGs from dag-factory YAML. Use when creating or editing YAML DAG configs, loaders, callbacks, custom operators in YAML, dynamic mapping, datasets, or validating dag-factory files. Covers both map-style tasks (task_id as YAML key) used by in-repo plugins and the PyPI dag-factory v1 list format. Not for remote run/log inspection (vd:astro-airflow) or local astro dev lifecycle (vd:managing-astro-local-env).

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# dag-factory

Declarative Airflow DAGs from YAML. Detect the repo's dialect **before** writing YAML. Official Astronomer skill targets PyPI `dag-factory` v1+ (list-format `tasks`). Many production repos still use a vendored plugin and **map-format** `tasks` keyed by `task_id`. Mixing the two breaks parse.

## 1. Detect dialect

```bash
rg -n "load_yaml_dags|from dagfactory|from plugins.dagfactory" --glob '*.py' dags plugins | head
rg -n "^  tasks:" -g '*.yaml' -g '*.yml' -A 6 | head -40
```

| Signal | Dialect |
|---|---|
| `from plugins.dagfactory import load_yaml_dags` (or similar in-repo plugin) | **map** - `tasks.<task_id>.operator` |
| `from dagfactory import load_yaml_dags` + `dag-factory>=1` in deps | **list** - `tasks: [{task_id, operator}]` |
| `tasks:` then a nested key that is a task id, not `- task_id:` | **map** |
| `tasks:` then `- task_id:` | **list** |

Match neighboring YAML in the same folder. Do not "modernize" map-format files to list-format unless the user asks and the loader is PyPI v1+.

Keep `from airflow import DAG` in every loader module even if it looks unused. The DAG processor requires it.

## 2. Loader

Map-style in-repo plugin (typical):

```python
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add vanducng/skills/dag-factory@sha256:231c9b845c4bd857

The line at the top of this page pins the label v0.1.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_gxvmdlhkmemxxqpt.svg)](https://markdownregistry.com/a/art_gxvmdlhkmemxxqpt)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Aug 23, 2026.

versioncommittedcommitsizeaudit
v0.1.0 latest2026-08-23 4b424dc 6,146 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (6146 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

vanducng/skills · 8 stars · license MIT · pushed 2026-11-05 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_gxvmdlhkmemxxqpt
GET https://markdownregistry.com/api/v1/resolve?ref=vanducng/skills/dag-factory
GET https://markdownregistry.com/api/v1/blob/231c9b845c4bd857cb4cd440aefe57fdb2a28cbb0d92acab11cb53e149e2798a

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from vanducng/skills

AGENTS.md AGENTS.md file
vanducng/skills · AGENTS.md
git:20260724.51405ee · audit A · 8 stars
CLAUDE.md CLAUDE.md file
vanducng/skills · CLAUDE.md
git:20260603.3672559 · audit B · 8 stars
agent-browser SKILL.md skill
vanducng/skills · skills/agent-browser/SKILL.md · Drive web pages with the agent-browser CLI (Playwright engine) - the primary local browser driver. Connect over CDP to…
v0.2.0 · audit A · 8 stars
agent-readiness SKILL.md skill
vanducng/skills · skills/agent-readiness/SKILL.md · Scores how ready a repository is for AI coding agents to work in it effectively, then remediates the gaps - grades…
v1.1.0 · audit A · 8 stars
alter SKILL.md skill
vanducng/skills · skills/alter/SKILL.md · Inspect and safely change Alter, the native macOS AI assistant from alterhq.com, without going through its GUI. Audit…
v1.0.0 · audit A · 8 stars
apidesign SKILL.md skill
vanducng/skills · skills/apidesign/SKILL.md · Design stable, hard-to-misuse interfaces - REST/GraphQL endpoints, module boundaries, type contracts, component props…
v0.2.0 · audit A · 8 stars
asciinema SKILL.md skill
vanducng/skills · skills/asciinema/SKILL.md · Record a scripted terminal demo of a CLI or TUI with asciinema: hidden fixture setup, commands typed on screen, TUI…
v1.0.0 · audit A · 8 stars
aside-browser SKILL.md skill
vanducng/skills · skills/aside-browser/SKILL.md · Read when you need a browser, or have to work across user's logged-in websites (e.g. Gmail, Slack, cloud consoles…
v3 · audit B · 8 stars
astro-airflow SKILL.md skill
vanducng/skills · skills/astro-airflow/SKILL.md · Inspect and debug Airflow on Astronomer (Astro) deployments - DAG runs, task logs, container logs, env vars, and…
v1.2.0 · audit A · 8 stars
auto-loop SKILL.md skill
vanducng/skills · skills/auto-loop/SKILL.md · Drive a Claude Code session toward a verifiable goal until done or a hard cap fires - autonomous loop, no user…
v1.0.0 · audit A · 8 stars
aws SKILL.md skill
vanducng/skills · skills/aws/SKILL.md · Operate AWS accounts and services with the AWS CLI using identity-first, read-before-write, evidence-backed workflows…
v0.1.1 · audit A · 8 stars
better-ui SKILL.md skill
vanducng/skills · skills/better-ui/SKILL.md · Applies exact UI polish values: concentric border radius, optical alignment, layered surface shadows, neutral image…
v1.0.1 · audit A · 8 stars

Every file in vanducng/skills

Browse by kind, by grade A, or by owner.