# YAML Pipeline Transfer

> 处理 BK-CI YAML 流水线导入导出、YAML 与 Model 双向转换、PAC、模板引用与 YAML 校验时使用。当用户提到 YAML 流水线、PAC、模板化、注释保留、表达式解析或转换调试时优先使用。

- Skill: `tencentblueking/yaml-pipeline-transfer` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add tencentblueking/yaml-pipeline-transfer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tencentblueking/yaml-pipeline-transfer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tencentblueking (https://skillmd.com/u/tencentblueking)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tencentblueking/yaml-pipeline-transfer

---


# YAML 流水线转换

## 适用场景

- YAML 导入为流水线模型
- 流水线模型导出为 YAML
- PAC（Pipeline as Code）接入与同步
- YAML 模板、Step/Job/Stage 模板引用
- YAML 语法、表达式、注释保留、锚点处理相关问题

## 不适用场景

- 只是单纯修改流水线模型结构，不涉及 YAML 表达
- 只是代码库接入、权限、数据库或执行调度问题
- 只是某个插件运行逻辑，而不是 YAML 到模型的转换问题

## 快速指导

1. 先判断问题属于哪一类，再继续读对应参考文档：
   - 转换主链路：`reference/1-transfer-flow.md`
   - PAC 与模板：`reference/2-pac-template.md`
   - 表达式、切面、调试与扩展：`reference/3-debug-extension.md`
2. YAML 转换问题通常不是单点问题，要区分：
   - YAML 文本解析
   - YAML 数据模型
   - YAML 到 `Model`
   - `Model` 到 YAML
   - 模板展开与 PAC 预处理
3. 只要改 YAML 字段或结构，就要同时考虑：
   - `Model` 映射
   - 兼容旧 YAML
   - 导入与导出双向一致性
   - 模板引用和表达式是否受影响
4. PAC、模板、表达式、切面经常彼此叠加，不要把它们当成完全独立的模块。
5. 如果问题是“转换后执行不对”，先确认是 YAML 转换层问题，还是 `process-module-architecture` 的执行链放大了问题。

## 高信号规则

- `yaml-pipeline-transfer` 负责“YAML 如何表示和转换”，`pipeline-model-architecture` 负责“模型长什么样”
- `TransferMapper` 解决序列化、格式化、注释和锚点等文本层问题
- `ModelTransfer` 更偏 YAML 与 `Model` 的业务转换
- 模板、PAC、表达式和切面属于转换前后会共同影响结果的增强层
- 改动 YAML 相关能力时，要始终以“双向一致”和“历史兼容”为目标

## 关键陷阱

- 只修 `yaml2Model`，不修 `model2Yaml`，导致导入导出不对称
- 只验证普通 YAML，不验证模板、PAC、注释保留和锚点场景
- 把模型字段问题误判为 YAML 解析问题，或反过来
- 忽略切面、表达式、模板预处理对最终结果的影响
- 修改转换规则后，没有回归历史 YAML 和已有模板

## 延伸阅读

- 转换主链路：`reference/1-transfer-flow.md`
- PAC 与模板：`reference/2-pac-template.md`
- 调试与扩展：`reference/3-debug-extension.md`
- 涉及模型结构时：再看 `pipeline-model-architecture`
- 涉及执行链路归属时：再看 `process-module-architecture`

