关于 expo-cicd-workflows
expo-cicd-workflows 面向 Expo 开发者,协助编写和修改 EAS CI/CD 工作流 YAML 文件。它依据当前 Expo 架构和文档提供编写指导,并支持结构验证。
主要功能
- 01EAS 工作流 YAML 编写指导
- 02获取最新架构和文档
- 03检查作业及其引用
- 04按架构验证 YAML 结构
适用场景
- 01创建 Expo EAS 构建流水线
- 02修改部署自动化工作流
- 03检查工作流文件的架构错误
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill expo-cicd-workflows安装后在 Claude Code 中输入/expo-cicd-workflows确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlscripts/fetch.jspackage.jsonvalidate.js详细介绍
EAS Workflows 技能
使用场景
当你需要了解如何为 Expo 项目编写 EAS 工作流 YAML 文件时,请使用此技能。当用户询问 Expo 或 EAS 场景中的 CI/CD 或工作流、提到 .eas/workflows/,或希望获得 EAS 构建流水线或部署自动化方面的帮助时,请使用此技能。
帮助开发者编写和编辑 EAS CI/CD 工作流 YAML 文件。
本地辅助工具的行为与部署范围
此目录包含 fetch.js、validate.js 和 package.json,但不包含已安装的依赖项。执行前请先检查这些文件:fetch 可接受任意 URL、遵循平台重定向,并将文本缓存在 fetch 辅助工具旁运行时生成的 .cache 目录中,且没有内置超时或响应大小限制。只能在受限的网络环境中,通过 HTTPS 使用下方列出的固定官方资源;切勿传入不可信或私有 URL,也不要传入凭据。验证时会获取实时 schema 并解析本地 YAML;请记录获取时间和 schema 标识,因为结果可能会变化。Node 必须支持 import.meta.dirname/main,安装时需要使用经过审查且兼容的依赖项。结构验证不会运行工作流、证明密钥隔离,也不会授权计费构建、提交、部署或定期触发。
参考文档
生成或验证工作流文件前,请先获取以下资源。先确定此技能所在目录,然后使用其 scripts/ 目录中的 fetch 脚本。该脚本使用 Node.js 实现,并通过 ETag 缓存响应以提升效率:
# Fetch resources
node <skill-dir>/scripts/fetch.js <url>
-
JSON Schema — https://api.expo.dev/v2/workflows/schema
- 必须获取此 schema
- 验证的事实来源
- 所有作业类型及其必需/可选参数
- 触发器类型和配置
- 运行器类型、VM 镜像及所有枚举值
-
语法文档 — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx
- 工作流 YAML 语法概览
- 示例和英文说明
- 表达式语法和上下文
-
- 受支持的预打包作业类型文档
- 作业专属参数和输出
不要依赖记忆中的值;随着新功能的加入,这些资源会不断更新。
工作流文件位置
工作流文件位于 .eas/workflows/*.yml(或 .yaml)中。
顶层结构
工作流文件包含以下顶层键:
name— 工作流的显示名称on— 启动工作流的触发器(至少需要一个)jobs— 作业定义(必需)defaults— 所有作业共用的默认值concurrency— 控制工作流并行运行
有关各部分的完整规范,请参阅 schema。
表达式
使用 ${{ }} 语法表示动态值。schema 定义了可用的上下文:
github.*— GitHub 仓库和事件信息inputs.*—workflow_dispatch输入的值needs.*— 依赖作业的输出和状态jobs.*— 作业输出(替代语法)steps.*— 自定义作业中的步骤输出workflow.*— 工作流元数据
生成工作流
生成或编辑工作流时:
- 获取 schema,以了解当前的作业类型、参数和允许值
- 验证每种作业类型的必需字段是否齐全
- 确认
needs和after中引用的作业都存在于工作流中 - 检查表达式引用的上下文和输出是否有效
- 确保
if条件符合 schema 的长度限制
验证
生成或编辑工作流文件后,请根据 schema 进行验证:
# Install dependencies if missing
[ -d "<skill-dir>/scripts/node_modules" ] || npm install --prefix <skill-dir>/scripts
node <skill-dir>/scripts/validate.js <workflow.yml> [workflow2.yml ...]
验证器会获取最新的 schema 并检查 YAML 结构。修复所有报告的错误后,再将工作流视为完成。
回答问题
当用户询问可用选项(任务类型、触发器、运行器类型等)时,请获取架构,并据此得出答案,而不要依赖可能已过时的信息。
限制
- 仅当任务明确属于其上游产品或 API 的范围时,才使用此技能。
- 在进行更改前,请根据当前官方文档核实命令、API 行为、定价、配额、凭据和部署影响。
- 不要将生成的示例视为环境特定测试、安全审查或用户批准(针对破坏性操作或高成本操作)的替代品。