presets.by 指定的输入选一组参数,没给就用 defaults 里的值。只替换 steps 里的 {{preset.x}}。use: 上的 if: 对 project 求值,为假就去掉,依赖它的步骤继承它的 needs。输入的 if: 为假时变成 hidden,保留默认值。with: 里的 {{project.x}} 先填好,按类型传给片段。flows/lib/*.yaml,按 params 检查 with,替换 {{params.x}},按片段里的 if:(只看 params)去掉不要的步骤并修剪 needs。片段的 ID 来自 use 那一项的 id。{{project.x}} 从项目包的 project.yaml(叠加模板)读,{{project.prompts.<slot>}} 是 prompts/<slot>.md 的原文,发起时现读。流程用到项目值或 if: 却没给 --project 时报错。uv run myorch expand flows/<流程>.yaml --project <项目>。控制台「流程」页显示的也是这个结果。