Skill 安装
多 Agent 安装npx skills add https://github.com/astronomer/agents --skill authoring-dags
使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。
Skill 调研报告
Skill 详细介绍
astronomer/agents#authoring-dags 是 Astronomer 官方 agents 仓库中面向 Apache Airflow 的一个 Skill,核心用途是帮助 AI Agent 按照规范编写、修改和审查 Airflow DAG(有向无环图)代码。Airflow 是当前最主流的开源数据编排调度平台之一,DAG 是 Airflow 中最核心的代码单元,用来定义任务依赖、调度周期和任务执行逻辑。这个 Skill 做的事情,就是让 Agent 在写 DAG 时遵循 Airflow 的最佳实践,而不是生成一份能跑但风格混乱、容易踩坑的 DAG 文件。
它不是一个可以独立运行的程序,也不是 Airflow 插件、CLI 工具或部署工具。它本质上是一套面向 Airflow DAG 开发的指令与工作流集合:包含 DAG 文件结构约定、任务定义方式、依赖关系表达、调度配置写法,以及常见的反模式提醒。安装后,Agent 在处理 Airflow 相关任务时,会主动按照这套规范来组织代码,而不是每个文件都从零自由发挥。
主要能力方向包括:
– 按照标准结构创建新的 Airflow DAG 文件
– 定义 TaskFlow API 或传统 Operator 形式的任务
– 表达任务之间的依赖关系
– 配置调度周期、开始时间、重试策略、超时等 DAG 参数
– 审查已有 DAG 是否符合常见最佳实践
– 对 DAG 中的反模式给出修改建议
典型使用场景:
– 数据工程师用 Agent 快速起草一个每日跑批的 ETL DAG
– 把一段散乱的 DAG 代码交给 Agent 做重构和规范统一
– 在导入已有 Airflow 项目时,让 Agent 检查 DAG 写法是否存在常见隐患
– 用统一风格批量生成结构相似的 DAG 文件
适合的用户:使用 Apache Airflow 做数据编排的工程师、数据平台团队,以及希望在 Agent 辅助下保持 DAG 代码风格一致的开发者。
不适合的需求:这个 Skill 不负责 Airflow 集群部署、不负责调度器运维、不负责连接配置管理,也不能替代对 Airflow 本身的理解。它是代码层面的编写辅助,而不是运维工具。
需要区分的是,Skill 提供的是 DAG 编写规范与生成能力,Airflow 平台本身提供的是调度执行能力。Skill 生成的 DAG 最终能否运行,取决于用户的 Airflow 环境和依赖是否配置正确。
Skill 安全评估
总体判断:astronomer/agents#authoring-dags 属于偏开发辅助类型的 Skill,本身不涉及凭证读取、网络回传或系统级操作,风险主要集中在 Agent 生成的代码质量和文件改动范围上,而不是这个 Skill 会主动危害系统。
与安全相关的几个实际关注点:
– 来源可信度:该 Skill 来自 Astronomer 官方 agents 仓库。Astronomer 是 Apache Airflow 生态中的核心商业公司之一,也是 Airflow 的主要维护方之一。从来源权威性看,可信度相对较高。具体内容仍以仓库当前版本为准。
– 文件写入:DAG 编写通常意味着创建或修改项目中的 Python 文件。这是这个 Skill 的正常用途,但需要留意 Agent 可能在哪些目录下写入,是否会覆盖已有 DAG。
– 代码执行:该 Skill 关注的是编写 DAG,不必然要求 Agent 自动执行 DAG 或运行 Airflow CLI。是否执行测试、是否触发 DAG,取决于用户和 Agent 的权限配置。
– 网络访问:编写 DAG 本身通常不需要联网。如果 Agent 在过程中需要拉取依赖或访问 Airflow API,则属于 Agent 层行为,不是该 Skill 自身必需。
– 凭证与连接:Airflow 项目常涉及 Connection、Variable、Secret。Skill 生成 DAG 时如何引用这些凭证值得注意。如果让 Agent 生成包含明文密码、Token 的 DAG,属于高风险用法,应避免。凭证通过 Airflow 的 Connection 或 Secret Backend 引用更安全。
– Prompt Injection:如果用户把不可信的第三方 DAG 或文档整段喂给 Agent 处理,理论上存在被其中内容影响的风险。处理外部来源代码时需要保持警惕。
– 供应链风险:该 Skill 依赖仓库当前内容,如果使用第三方镜像或重新发布版本,内容可能被改动。建议使用官方来源。
降低风险的建议:
– 如果只需要 Agent 帮忙起草 DAG,可以关闭 Agent 自动执行 Shell 或自动运行 Python 的权限,由用户手动运行和测试。
– 不要让 Agent 在 DAG 中写入明文密码、API Key、Token,改为引用 Airflow Connection 或环境变量。
– 在已有项目中让 Agent 改动 DAG 前,先确认 Git 已提交或做好备份,便于对比和回滚。
– 审查 Agent 修改了哪些文件,尤其是与任务无关的文件是否被动过。
没有任何 Skill 可以简单判断为“绝对安全”。这里的关键是:这个 Skill 的正常用途是写 DAG 代码,只要把它的活动范围控制在这件事上,风险是可控的。
Skill 使用要求
一、Agent / 客户端
该 Skill 来自 Astronomer 的 agents 仓库,属于面向 AI 编程 Agent 的 Skill 形式。官方没有公开完整的第三方 Agent 兼容列表。从 Agent Skill 的一般加载方式看,在支持 Skills、自定义指令或类似机制的环境中通常可以尝试使用,包括 Claude Code、Codex、Cursor、Trae、OpenClaw、WorkBuddy 等。不同 Agent 的 Skill 加载机制和兼容程度可能不同,具体以对应 Agent 当前版本为准。官方主要面向的场景是配合编程 Agent 使用,因此代码编辑能力较强的 Agent 会更适合。
二、运行环境 / 依赖
| 项目 | 要求 |
|—|—|
| Agent | 支持自定义 Skill 的编程 Agent,Claude Code 等可优先尝试 |
| Python | 生成的 DAG 文件需要 Python 环境运行,官方未明确版本,按 Airflow 自身要求为准 |
| Airflow | 若要运行或验证 DAG,需要可用的 Airflow 环境 |
| 网络 | 编写 DAG 通常不需要;安装 Skill 时需要能访问对应来源 |
Skill 本身是否强依赖某个具体 Python 或 Airflow 版本,官方资料未明确说明,建议以仓库当前内容和 Airflow 官方文档为准。
三、权限
– 文件读取:必需,用于读取项目中的 DAG 和配置。
– 文件写入:通常必需,用于创建或修改 DAG 文件。
– Shell:可选。仅在需要运行 Python、Airflow CLI 或测试时才需要。
– 网络:可选。编写 DAG 一般不需要。
– Git:可选,建议开启以便对比改动。
四、账号 / API Key
该 Skill 本身不要求账号或 API Key。但使用它会接触到的 Airflow 项目通常涉及 Connection、Variable、Secret 等凭证。这类凭证属于 Airflow 项目层面,不属于 Skill 本身。配置 DAG 时建议通过 Airflow 的 Connection、环境变量或 Secret Backend 引用,而不是写进 DAG 代码。
最小使用条件
– 一个支持自定义 Skill 的编程 Agent
– 可以读写 DAG 代码所在目录
– 如需运行验证,需要可用 Airflow 环境
Skill 安装、使用与卸载教程
一、安装
LemonAIKit Skill 详情页已经提供该 Skill 的安装指令,可以直接复制本页面的安装指令,粘贴到对应 Agent 或终端执行。
如果用户不清楚自己的 Agent 如何安装,可以直接向当前 AI Agent 提问,让 Agent 根据自身的 Skill 加载与管理机制给出安装步骤,例如:
如何安装 astronomer/agents#authoring-dags?
如何在 Claude Code 中安装 astronomer/agents#authoring-dags?
如何在 Cursor 中安装 astronomer/agents#authoring-dags?
如果当前 Skill 存在官方特殊安装条件,以官方仓库说明为准。
二、安装后如何使用
安装后,在涉及 Airflow DAG 编写、修改或审查的任务中自然描述需求即可。Agent 识别到与 DAG 相关时,会按该 Skill 的规范来组织代码。
适合的自然语言示例:
用 authoring-dags,帮我写一个每天凌晨两点运行的 Airflow DAG,先从 S3 拉数据,再跑 Python 清洗,最后写入仓库。
用 authoring-dags,帮我审查这个 DAG 文件里有没有常见的写法问题。
用 authoring-dags,把这份散乱的 DAG 代码按规范重写一遍,保持功能不变。
三、卸载
不同 Agent 的 Skill 安装位置和管理方式不同。通常可以通过对应 Agent 或 Skill 管理器提供的删除方式移除该 Skill,或直接询问当前 Agent:
如何卸载 astronomer/agents#authoring-dags?
如果没有统一的卸载命令,询问当前 Agent 如何移除通常更稳妥,不要手动到不确定的目录删除文件,以免误删其他 Skill。
常见问题
1. 安装后 Agent 没识别到这个 Skill 怎么办?
先确认安装指令执行成功、没有报错,再确认当前 Agent 是否支持自定义 Skill 以及是否需要重启或重新加载。可以让 Agent 列出当前已加载的 Skill,检查是否包含 authoring-dags。如果仍不识别,询问当前 Agent 该 Skill 的加载机制。
2. 这个 Skill 会直接修改我已有的 DAG 文件吗?
只有在用户要求修改、重构或审查已有 DAG 时,Agent 才可能写入文件。如果只是问答或生成新文件,一般不会动已有内容。建议在让 Agent 改动已有项目前,先用 Git 提交一次,方便对比和回滚。
3. 可以让 Agent 自动运行生成的 DAG 吗?
是否自动运行取决于 Agent 的 Shell 权限与用户设置。出于安全和排查便利考虑,可以只让 Skill 生成 DAG 代码,由用户手动运行和验证,避免 Agent 直接触发生产任务。
4. 生成的 DAG 能直接用在生产环境吗?
这个 Skill 帮助按规范编写 DAG,但生产可用性还取决于依赖、连接配置、权限、资源与调度策略。建议经过测试环境和代码审查后再上生产,不要直接把 Agent 生成的 DAG 不加检查投入运行。
5. 中国大陆使用是否有网络要求?
编写 DAG 一般不需要联网,但安装 Skill 时需要能访问对应来源。如果安装源在境外、访问受限,可能需要配置合适的网络代理或镜像,具体以用户环境和仓库说明为准。
6. 可以同时装到多个 Agent 里吗?
通常可以。不同 Agent 的 Skill 目录相互独立,同一 Skill 可以分别安装到多个 Agent 中。各自的加载和更新相互独立,更新后是否需要重新安装,取决于对应 Agent 的管理方式。
7. Skill 更新后需要重新安装吗?
取决于 Agent 与来源的管理方式。如果 Skill 是通过仓库拉取并缓存的,可能需要重新拉取或更新。可以直接询问当前 Agent 如何更新该 Skill。