run-featured-workflow

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Featured Workflows (run-workflow MCP)

精选工作流(run-workflow MCP)

Run pre-built marketing and production workflows bundled with the MCP server. Never compose from scratch when
get_featured_workflow
finds a match.
运行MCP服务器自带的预构建营销与生产工作流。当
get_featured_workflow
找到匹配项时,无需从头构建工作流。

When to use

使用场景

TRIGGER when the user:
  • Names a featured workflow: retargeting, localization, banner advertising, packaging, product banners at scale, catalogs, packshots, spin video, etc.
  • Asks to run a "known" or "predefined" workflow by name or keyword
  • Provides product images + fonts for a banner/merge-data workflow with defaults
DO NOT TRIGGER when:
  • User wants a custom workflow with no named match — use run-workflow and
    compose_workflow
  • User pastes only a batch/execution/workflow ID — use
    inspect_run
    via run-workflow skill
满足以下条件时触发:
  • 用户指定某个精选工作流:retargeting、localization、横幅广告、包装设计、批量产品横幅、商品目录、产品实拍图、旋转视频等
  • 用户要求按名称或关键词运行“已知”或“预定义”工作流
  • 用户提供产品图片+字体,用于使用默认配置的横幅/数据合并工作流
以下情况请勿触发:
  • 用户需要无匹配命名的自定义工作流——请使用run-workflow
    compose_workflow
  • 用户仅粘贴批量/执行/工作流ID——请通过run-workflow skill调用
    inspect_run

Tool routing

工具路由

StepTool
Find predefined workflow
get_featured_workflow
Upload images, fonts, custom templates, CSV data
upload_asset
Extract merge tags from custom
.indd
get_indesign_tags
Submit (large / multi-banner)
run_workflow_submit
Poll progress and outputs
run_workflow_get_status
(always
includeOutputs: true
)
Re-wire graph after tag diff
compose_workflow
(custom templates only)
Diagnose failure
inspect_run
步骤工具
查找预定义工作流
get_featured_workflow
上传图片、字体、自定义模板、CSV数据
upload_asset
从自定义
.indd
文件提取合并标签
get_indesign_tags
提交(大型/多横幅任务)
run_workflow_submit
查询进度与输出结果
run_workflow_get_status
(需始终设置
includeOutputs: true
标签差异后重新关联工作流图
compose_workflow
(仅适用于自定义模板)
诊断失败原因
inspect_run

Discovery flow

发现流程

  1. Call
    get_featured_workflow({ query: "<keyword>" })
    .
  2. Multiple matches
    prepared
    is absent. List matched names, ask user to pick, retry with exact name.
  3. Single match — present
    mergeNodes
    , required inputs, sizes. Confirm with user.
  4. Ask about templates if not specified (defaults vs custom
    .indd
    ).
  5. Ask about fonts if user has
    .otf
    /
    .ttf
    files — upload via
    upload_asset
    .
  6. If the user supplies a
    .csv
    (data-merge workflows like
    product-banners-at-scale
    ), upload it and wire it to the
    input-files
    node
    (
    type: "file"
    in
    prepared.inputNodes
    ) — see Data/CSV inputs below.
Distinct asset types route to distinct input nodes: images →
input-images
, fonts →
defaults.fonts
, CSV/data →
input-files
(which feeds
parse-data
). Never collapse them onto one node.
  1. 调用
    get_featured_workflow({ query: "<关键词>" })
  2. 多个匹配项——返回结果中无
    prepared
    字段。列出所有匹配的工作流名称,询问用户选择后,使用精确名称重试调用
  3. 单个匹配项——展示
    mergeNodes
    、必填输入项和尺寸,与用户确认
  4. 若未指定模板,询问用户使用默认模板还是自定义
    .indd
    模板
  5. 若用户拥有
    .otf
    /
    .ttf
    字体文件,询问是否需要通过
    upload_asset
    上传
  6. 若用户提供
    .csv
    文件(适用于
    product-banners-at-scale
    这类数据合并工作流),上传文件并将其关联到**
    input-files
    节点**(对应
    prepared.inputNodes
    中的
    type: "file"
    )——详见下方「数据/CSV输入」部分
**不同类型的资产需关联到不同输入节点:**图片→
input-images
,字体→
defaults.fonts
,CSV/数据→
input-files
(关联至
parse-data
节点)。切勿将所有资产合并到单个节点。

Fast path (defaults)

快速路径(默认配置)

When user wants default templates and default text:
  1. Upload product images and fonts via
    upload_asset
    .
  2. Call
    run_workflow_submit
    :
json
{
  "session_id": "<prepared.session_id>",
  "useSessionDefaults": true,
  "defaults": {
    "fonts": [{ "presignedUrl": "...", "name": "Font.otf", "storageType": "azure" }]
  },
  "inputs": [
    {
      "node_id": "<input-images id from prepared.inputNodes>",
      "content": [{ "type": "image", "url": "..." }]
    }
  ]
}
  • Do not call
    compose_workflow
    .
  • Do not send
    actions
    /
    connections
    when
    session_id
    is present.
  • Pass all images in one
    content
    array — one submit call.
当用户希望使用默认模板默认文本时:
  1. 通过
    upload_asset
    上传产品图片和字体
  2. 调用
    run_workflow_submit
json
{
  "session_id": "<prepared.session_id>",
  "useSessionDefaults": true,
  "defaults": {
    "fonts": [{ "presignedUrl": "...", "name": "Font.otf", "storageType": "azure" }]
  },
  "inputs": [
    {
      "node_id": "<prepared.inputNodes中的input-images节点ID>",
      "content": [{ "type": "image", "url": "..." }]
    }
  ]
}
  • 请勿调用
    compose_workflow
  • session_id
    存在时,请勿发送
    actions
    /
    connections
    参数
  • 将所有图片放入同一个
    content
    数组——只需一次提交调用

Data / CSV inputs

数据/CSV输入

Some featured workflows (e.g.
product-banners-at-scale
) have a CSV branch:
input-files
parse-data
merge-data
.
prepared.inputNodes
surfaces the CSV node with
type: "file"
, and
prepared.inputs
carries the workflow's baked sample CSV as inline content.
  • Defaults only (no user CSV): submit as-is — the baked sample CSV flows through, no
    input-files
    entry needed.
  • User-supplied CSV: upload it via
    upload_asset
    , then add an
    inputs[]
    entry for the
    input-files
    node id so it overrides the baked default:
json
{
  "node_id": "<input-files id from prepared.inputNodes>",
  "content": [{ "url": "<uploaded csv url>", "mimeType": "text/csv" }]
}
The CSV columns drive the
parse-data
fan-out (e.g.
headline
,
subcopy
,
CTA
) — do not also wire those as separate text inputs. A product image that's constant across every row (not a per-row CSV column) wires
input-images
directly into
merge-data
, bypassing
parse-data
entirely — this is the privileged default; only route an image through
parse-data
's media-override port when it genuinely varies per row.
部分精选工作流(如
product-banners-at-scale
)包含CSV分支:
input-files
parse-data
merge-data
prepared.inputNodes
会展示类型为
file
的CSV节点,
prepared.inputs
则包含工作流内置的示例CSV作为内嵌内容。
  • **仅使用默认配置(无用户CSV):**直接提交即可——内置示例CSV会自动流转,无需添加
    input-files
    条目
  • **用户提供CSV:**通过
    upload_asset
    上传文件,然后为
    input-files
    节点ID添加
    inputs[]
    条目,以覆盖内置默认值:
json
{
  "node_id": "<prepared.inputNodes中的input-files节点ID>",
  "content": [{ "url": "<已上传的CSV文件链接>", "mimeType": "text/csv" }]
}
CSV列会驱动
parse-data
节点的输出(如
headline
subcopy
CTA
)——请勿将这些列作为单独的文本输入关联。若某张产品图片在所有行中保持不变(非每行CSV列的值),则直接将
input-images
关联至
merge-data
节点,完全绕过
parse-data
节点——这是默认的最优配置;只有当图片确实需要逐行变化时,才将其通过
parse-data
节点的媒体覆盖端口进行关联。

Custom template path

自定义模板路径

When user provides custom
.indd
templates:
  1. get_indesign_tags
    on each template.
  2. Compare to
    prepared.mergeNodes[].tags
    :
    • Identical → swap template URLs only; skip compose.
    • Different → feasibility check, then optional
      compose_workflow
      re-wire.
  3. If a critical image tag was removed (e.g.
    background
    in retargeting), stop — offer defaults, different template, or build from scratch.
  4. Show updated graph visually. Prompt for missing merge-data inputs only.
  5. Submit after user confirms all values.
Merge-data vs scene prompts: Only InDesign merge-port tags need user-facing text/image inputs. Keep
gen-object-composite
scene prompts at their defaults unless user asks to change them.
当用户提供自定义
.indd
模板时:
  1. 对每个模板调用
    get_indesign_tags
  2. prepared.mergeNodes[].tags
    进行对比:
    • 标签完全一致——仅替换模板链接;跳过
      compose_workflow
      调用
    • 标签不一致——先进行可行性检查,再选择性调用
      compose_workflow
      重新关联工作流
  3. 若关键图片标签被移除(如retargeting工作流中的
    background
    标签),则终止流程——为用户提供使用默认模板、更换其他模板或从头构建的选项
  4. 可视化展示更新后的工作流图。仅当缺少数据合并输入项时,提示用户补充
  5. 用户确认所有值后提交任务
**数据合并与场景提示:**仅InDesign合并端口标签需要用户提供文本/图片输入。除非用户要求修改,否则保持
gen-object-composite
的场景提示为默认值。

Polling and outputs

轮询与输出结果

After
run_workflow_submit
, poll
run_workflow_get_status
every ~5 seconds with
includeOutputs: true
.
  • Report:
    Running — N/M complete (X%) · Ns elapsed
    using
    elapsedSeconds
    from response.
  • On completion: list every output's full presigned URL verbatim. Never truncate.
  • On failure:
    inspect_run
    , summarize, stop — do not auto-retry.
调用
run_workflow_submit
后,每隔约5秒调用一次
run_workflow_get_status
,并设置
includeOutputs: true
  • 进度报告:使用响应中的
    elapsedSeconds
    ,格式为
    运行中 — 已完成N/M(X%)· 已耗时Ns
  • 任务完成:逐列出每个输出结果的完整预签名链接,切勿截断
  • 任务失败:调用
    inspect_run
    ,总结失败原因后终止流程——请勿自动重试

Known featured workflows

已知精选工作流

Slug / keywordUse case
product-banners-at-scale
Product banners from a CSV (data merge), one template + constant image, per-row copy
retargeting
Retargeting ads
localization
Localization
generic-banner-advertising
Generic banners
contextual-or-native-advertising
Native ads
catalogs-and-circulars
Catalogs
promotional-pricing-or-discounting
Pricing promos
packaging-variants-2d
Packaging
standardized-packshots-2d
/
3d
Packshots
refreshed-product-imagery-2d
Product imagery refresh
composite-imagery-3d
3D composite
3d-spin-video
360 spin video
别名/关键词使用场景
product-banners-at-scale
基于CSV生成批量产品横幅(数据合并),一个模板+固定图片,每行对应不同文案
retargeting
重定向广告制作
localization
本地化处理
generic-banner-advertising
通用横幅广告制作
contextual-or-native-advertising
原生广告制作
catalogs-and-circulars
商品目录制作
promotional-pricing-or-discounting
促销定价活动物料制作
packaging-variants-2d
包装设计变体制作
standardized-packshots-2d
/
3d
标准化产品实拍图制作(2D/3D)
refreshed-product-imagery-2d
产品图片更新(2D)
composite-imagery-3d
3D合成图片制作
3d-spin-video
360°旋转视频制作

Anti-patterns

反模式

  • Calling
    compose_workflow
    when featured workflow exists and tags match
  • Sending full graph JSON when
    session_id
    is available
  • Repeating
    fonts
    on every merge-data input — use
    defaults.fonts
  • Sending all input entries when
    useSessionDefaults: true
    suffices
  • Separate submit per image
  • Skipping user confirmation on missing merge-data text fields
  • 当精选工作流存在且标签匹配时,仍调用
    compose_workflow
  • session_id
    可用时,发送完整的工作流图JSON
  • 在每个数据合并输入项中重复填写
    fonts
    ——应使用
    defaults.fonts
  • useSessionDefaults: true
    已满足需求时,仍发送所有输入条目
  • 每张图片单独提交一次
  • 缺少数据合并文本字段时,跳过用户确认步骤

References

参考资料

  • Full run-workflow skill (asset input, publish/save, alert RCA): run-workflow/SKILL.md
  • 完整run-workflow skill(资产输入、发布/保存、故障告警排查):run-workflow/SKILL.md