📦 Airflow Read-Only Skill — Airflow只读查询
v0.1.0通过Apache Airflow REST API `/api/v2` 以只读方式列出DAG、运行实例及任务,禁止任何修改或写入操作。
1· 93·0 当前·0 累计
下载技能包
最后更新
2026/4/9
安全扫描
OpenClaw
安全
medium confidence该技能的指令与只读Airflow检查器一致:仅引用列出/查询 API 及外部 OpenClaw 插件,但依赖未在注册元数据中声明的外部插件与 Airflow 凭据。
评估建议
此技能用于只读 Airflow 检查看似一致,但安装前:1) 验证 @kansodata/openclaw-airflow-plugin 为可信包(仓库/主页/源码),技能元数据未声明该依赖。2) 确认 Airflow bearer token(或其他凭据)的提供方式及只读作用域。3) 若无法审查插件代码,将未声明依赖视为风险,先在非生产环境测试。4) 建议发布者更新元数据,声明插件依赖及凭据路径,以提升安全信心。...详细分析 ▾
ℹ 用途与能力
名称与描述声明只读 Airflow 检查,SKILL.md 仅指示通过特定工具列出 DAG、运行与任务实例。需 OpenClaw 插件访问 /api/v2 合理。注意:清单未声明插件依赖或主凭据名,尽管 SKILL.md 明确要求存在 bearer token 或等效凭据。
✓ 指令范围
SKILL.md 严格限定只读操作,仅映射三项插件工具(airflow.list_dags、airflow.list_dag_runs、airflow.list_task_instances)。禁止凭据即兴操作、写入或读取无关文件,也不向意外端点传输数据。
✓ 安装机制
纯指令型技能,无安装规范或捆绑代码,因此技能本身不会写入磁盘。SKILL.md 引用外部插件(@kansodata/openclaw-airflow-plugin),但该依赖未在注册元数据中声明或强制。
ℹ 凭证需求
技能元数据未声明所需环境变量,但 SKILL.md 要求现有认证(如 bearer token)及有效插件配置。技能应声明期望的凭据名或配置路径(或明确由插件提供)。验证插件如何获取/存储凭据,并确认 token 为只读作用域。
✓ 持久化与权限
always 为 false,技能由用户调用,不请求系统级持久化或提权,运行时指令明确禁止写入 Airflow,因此无异常持久化或权限提升。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv0.1.02026/4/9
初始版本:通过 REST API 为 Apache Airflow 提供只读访问。 - 支持列出可用 DAG、特定 DAG 的 DAG 运行及运行中的任务实例。 - 仅使用以下工具:`airflow.list_dags`、`airflow.list_dag_runs`、`airflow.list_task_instances`。 - 强制严格只读操作,不支持变更动作。 - 对缺失配置或认证提供清晰错误处理。 - 输出简洁、可操作,并引用确切标识符。
● Pending
安装命令
点击复制官方npx clawhub@latest install kansodata-airflow-readonly
镜像加速npx clawhub@latest install kansodata-airflow-readonly --registry https://cn.longxiaskill.com
技能文档
目的
本技能允许通过 Stable REST API/api/v2 以只读模式查询 Apache Airflow,专为运营检查与诊断设计,不对 DAG、run 或 task 执行任何变更操作。何时使用本技能
在以下场景使用本技能:- 列出可用 DAG。
- 查看某个 DAG 的执行(DAG runs)。
- 查看某个 DAG run 内的 task instances。
请勿用于:
- 触发 DAG 执行。
- 暂停、恢复、删除或修改资源。
- 更改 Airflow 配置。
前置条件
使用前请确认:- 插件
@kansodata/openclaw-airflow-plugin已在 OpenClaw 安装并启用。 - 存在有效的 Airflow 主机连接配置。
- 拥有有效的认证(如 bearer token)以访问
/api/v2。
若缺少配置或凭证,请明确报告,不得自行编造数值。
可用工具(精确映射)
本技能仅使用插件中的以下工具:airflow.list_dagsairflow.list_dag_runsairflow.list_task_instances
不要假设或提及其他工具。
推荐流程
按以下顺序保持上下文与可追溯性:- 用
airflow.list_dags发现 DAG。 - 用
airflow.list_dag_runs查询该 DAG 的执行,使用精确dag_id。 - 用
airflow.list_task_instances查询该 run 的 tasks,使用精确dag_id与dag_run_id。
若某步无数据返回,请报告结果并停止链式调用,直至确认正确标识符。
操作规则
- 严格保持只读行为。
- 不承诺任何写入或状态变更操作。
- 数据缺失时不假设状态。
- 使用精确标识符(
dag_id、dag_run_id),不得自行规范化。 - 提供简洁、可执行的回答。
- 无结果时明确声明。
- 出现认证或配置错误时如实报告。
限制与安全
- 仅限对 Airflow
/api/v2的只读查询。 - 禁止建议或模拟任何变更操作(trigger、pause、delete、patch、update)。
- 遇到 auth/config/host 错误时,优先透明报告错误,而非猜测性回答。
期望输出风格
- 开头给出简短摘要。
- 适用时提供简短列表。
- 存在时给出精确标识符。
- 去除冗余与装饰性文字。
示例提示(中文)
- “列出 Airflow 中可用 DAG,仅显示
dag_id与状态。” - “针对 DAG
daily_ingestion,按时间倒序列出最近 5 个 DAG runs。” - “在
daily_ingestion的 DAG runscheduled__2026-04-08T03:00:00+00:00中,列出 task instances 及其状态与耗时。” - “先查找包含
sales的 DAG,再取最相关者,查看其最近运行,最后展示最近一次失败 run 的 tasks。” - “对
finance_etl执行airflow.list_dag_runs,若无结果请明确说明,勿自行推断错误。”