该技能面向 Expo 项目的 EAS CI/CD 工作流编写场景,帮助开发者理解并编辑 EAS workflow YAML 文件。
用途:当用户询问 Expo 或 EAS 环境下的 CI/CD、工作流相关问题,或需要生成、修改工作流文件时使用。
参考资料获取:技能要求先定位自身目录,再用 scripts/ 目录中的 Node.js 抓取脚本获取资源,脚本通过 ETags 缓存响应。需要获取三类资源:JSON Schema(https://api.expo.dev/v2/workflows/schema,用于验证,包含作业类型及其必填/可选参数、触发类型、运行器类型与枚举);语法文档(https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx,含 YAML 语法概述、示例与表达式语法及上下文);预打包作业文档(https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx,含支持的作业类型、参数与输出)。资料强调不要依赖记忆值,这些资源会随新特性演进。
文件位置与结构:工作流放在 .eas/workflows/*.yml 或 *.yaml。顶层键包括 name(显示名称)、on(触发条件,至少一个)、jobs(作业定义,必填)、defaults(所有作业共享默认值)、concurrency(控制并行运行)。完整规范需查阅 schema。
表达式:使用 ${{ }} 语法表示动态值,schema 定义可用上下文:github.、inputs.、needs.、jobs.、steps.、workflow.。
生成与校验:生成或编辑时先获取 schema,确认各作业类型必填字段,核对 needs 与 after 引用的作业存在,检查表达式引用有效上下文与输出,确保 if 条件符合 schema 长度约束。完成后运行校验脚本(先按需执行 npm install --prefix <skill-dir>/scripts 安装依赖,再运行 node <skill-dir>/scripts/validate.js <workflow.yml>),校验器会获取最新 schema 检查 YAML 结构,需修复所有报错。
回答选项类问题时,也应先获取 schema 再据此作答。
限制与说明:资料提到技能中的 agents/openai.yaml 属于 Codex CLI 扩展(UI 元数据/MCP 工具依赖),其他 agent 会忽略,不属于 Agent Skills 规范。其他功能、收费或平台支持情况暂未提供。