К основному содержанию
скилл CX Codex

scenario-workflow-authoring — скилл для Claude Code: графы Scenario

Скилл учит агента собирать и править графы воркфлоу Scenario через MCP: узлы, рёбра, публикация, перенос из ComfyUI.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add scenario-labs/skills --skill scenario-workflow-authoring -a claude-code
Открыть на GitHub

Что делает scenario-workflow-authoring

Скилл описывает работу с графом Scenario как с единым документом editor_info: узлы, рёбра, inputKeys. Отдельных инструментов для правки одного узла нет. Любое изменение — это чтение, правка и запись всего графа через workflow_create или workflow_update. Скомпилированный flow руками не пишут: его собирает workflow_publish и переводит статус в ready.

Перед первой записью графа скилл требует прочитать references/editor-info.md — там словарь типов узлов, правило направления рёбер и минимальный рабочий пример. Поиск идёт через search с target="workflows", public=true и limit=3, а выбранный граф забирается через workflow_get. Создание, публикация, копирование и удаление живут в каталоге инструментов, а workflows_list, workflow_get и workflow_run вызываются напрямую.

Осторожно с workflow_create: внутри это два вызова, поэтому упавшее создание может оставить черновик, чей id виден в тексте ошибки. Восстанавливать нужно через workflow_update по этому id, повторный create плодит дубликаты. Ещё один капкан — пакет файлов, подключённый прямо в поле референса модели: это одна генерация по всем элементам сразу, а не по одному результату на каждый. Когда нужен отдельный результат на элемент, модель ставят внутрь forEach.

Какие задачи решает

  • собрать приложение Scenario из текстового брифа
  • добавить в граф узел модели или approval gate
  • перевести цепочку промптов в опубликованное приложение
  • перенести пайплайн из ComfyUI или Weavy в Scenario
  • импортировать экспортированный JSON воркфлоу

Примеры запросов агенту

  • Собери воркфлоу Scenario для генерации картинки из текста и опубликуй его
  • Добавь в граф узел модели и проверь dry_run
  • Перенеси этот экспорт из ComfyUI в граф Scenario

Как установить scenario-workflow-authoring

1Через Skills CLI (Vercel)

npx skills add scenario-labs/skills --skill scenario-workflow-authoring -a claude-code

2Вручную: положить файлы

~/.claude/skills/scenario-workflow-authoring/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scenario-workflow-authoring/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scenario-workflow-authoring

Как установить scenario-workflow-authoring в Claude?

Выполните npx skills add scenario-labs/skills --skill scenario-workflow-authoring -a claude-code. Скилл встанет в ~/.claude/skills/scenario-workflow-authoring/SKILL.md.

Что делает scenario-workflow-authoring?

Помогает агенту создавать и править граф воркфлоу Scenario через MCP: узлы, рёбра, публикация, переименование, копирование. Запуск и расчёт цены — это уже скилл scenario-workflows.

Почему после правки графа приложение работает по-старому?

Потому что flow компилируется только при публикации. Правка editor_info у готового воркфлоу оставляет работать старый flow, пока вы не вызовете workflow_publish снова.

Исходный текст

SKILL.md · MIT
---
name: scenario-workflow-authoring
description: "Use when a task involves creating or editing a Scenario workflow graph through MCP: building an app from a brief, adding or rewiring nodes (models, prompts, approval gates, loops), authoring editor_info, publishing, unpublishing or renaming, importing an exported workflow JSON, migrating a graph built in Weavy, ComfyUI, or another node tool, copying a workflow, or turning a prompt chain into an app. Running or pricing a workflow is scenario-workflows. Keywords: node graph, editor_info, CEL."
license: MIT
---

# Scenario Workflow Authoring

## Overview

A workflow has two representations: `editor_info` (the editable node graph: `nodes`, `edges`,
`inputKeys`) and `flow` (the compiled runnable form). Authoring through MCP means writing the whole
`editor_info` document: there are no per-node editing tools; every change is a read, modify, write
of the full graph through `workflow_create` or `workflow_update`. Never hand-write `flow`:
`workflow_publish` compiles `editor_info` into it and flips status to `ready`. Editing a ready
workflow's `editor_info` leaves the stale `flow` running until you publish again.

Read [references/editor-info.md](references/editor-info.md) before writing any graph: it holds the
node type vocabulary, the node choice doctrine (when an `llm` node is legitimate), the edge
direction rule, per-node data contracts, and a validated minimal example. Create, update, publish,
copy and delete live in the tool catalog (`scenario_tools_search` plus the matching executor, see
the `scenario` skill). `workflows_list`, `workflow_get` and `workflow_run` are direct tools: scope
and `dry_run` go in their top-level arguments, never an executor wrapper. Running and pricing: the
`scenario-workflows` skill. If a sibling skill named here is missing from your available skills, ask
the user to install it (`npx skills add scenario-labs/skills --skill <name>`); unattended, proceed
from tool schemas and flag the gap.

## Quick reference

| Step              | Call                                 | Notes                                    |
| ----------------- | ------------------------------------ | ---------------------------------------- |
| 1. Study a graph  | `workflow_get` on a working workflow | Copy the shape, never ids                |
| 2. Model contract | `model_schema_get`                   | Handle names and required inputs         |
| 3. Author         | `editor_info` + `inputs_definition`  | Per the reference file                   |
| 4. Create         | `workflow_create`                    | Non-atomic, see below                    |
| 5. Publish        | `workflow_publish`                   | Compiles `flow`, needs input+output pins |
| 6. Validate       | `workflow_run` with `dry_run=true`   | Prices and runs the real validator       |

`workflow_create` is two calls under the hood: a failed create may still have created a draft whose
id is in the error. Recover with `workflow_update` on that id; re-creating duplicates. Seed step 1
with `workflow_get`: it returns the full graph of any workflow whose id you have, public ones
included (an id or app URL the user supplies, or your own team's from `workflows_list`). To find a
public template, use `search` with `target="workflows"`, `public=true`, a keyword `query`,
`limit=3`, and your scope; for example, `query="image"` with raw `filter: 'status = "ready"'`. Read
ids from `workflows`, then fetch the chosen graph with `workflow_get`; search hits are summaries,
not graph documents. Workflow search supports keyword text and filters only, so omit image and
semantic options. Use `workflows_list` for browsing your saved workflows.
[scripts/fetch_workflow_examples.py](scripts/fetch_workflow_examples.py) bulk-exports trimmed
featured-workflow graphs for maintainers (setup in its header).

## Worked example: a text-to-image app

1. `recommend` with `capability: "txt2img"` and the user's brief as `prompt`, following the
   `scenario` skill's `next_step` discipline, then `model_schema_get`: its input names become the
   model node's handle names, and its `required` flag marks what must be wired. Use `search` instead
   when the user names a model.
2. Author `editor_info`: `text1` with `data.isInput: true`, `model1` with `type: "model"`,
   `data.modelId` and `data.isOutput: true`, one edge from `model1`'s input to `text1`'s output
   (edges name the downstream node as `source`, see the reference), `inputKeys: ["text1"]`.
3. `workflow_create` with `name`, `editor_info`, and `inputs_definition` naming `text1` as a string
   input. The published input key is the node id, which is why run inputs have names like `text1`.
4. `workflow_publish`, then `workflow_run` with `dry_run=true` to validate and price. Fix the graph
   and re-publish if validation fails.

## One output per item needs a loop

A multiple-asset input wired straight into a generative model's reference field is one generation
conditioned on every item at once: ten product shots in come back as one image blending them, not
ten edits. Field names and cardinality are per model, so read them off `model_schema_get`
(`array: true` marks a list), and read the field's description as well: a few utility tools take a
list and return one output per item, which needs no loop. When each item needs its own result, put
the model inside a `forEach` over the list and read the outputs from the `forEachEnd` (wiring in the
reference's forEach section); keep the direct wiring only when the items are meant as joint
references for a single output. Inside the loop the current item feeds an array field as a one-item
list. `forEach` runs one billed model job per item, but the dry run prices one iteration whatever
the list length (observed: one quote for one or two items, twice that billed for two), so multiply
the quote by the item count before quoting the user.

## Migrating a graph from another node tool

A pipeline exported by Weavy, ComfyUI, or another node editor does not import: only Scenario's own
export round-trips. It is translated node by node, then created, published, and dry-run as above.
The mapping table, member resolution, and the report the user gets are in
[references/foreign-graph-import.md](references/foreign-graph-import.md); read it before touching
such an export, since its first rule is to reduce the file to a table locally rather than paste it
into the conversation.

## Common mistakes

- Writing UI palette names as node types: persisted types are the camelCase vocabulary in the
  reference, and every generator is `type: "model"`.
- Wiring edges producer to consumer: persisted edges point the other way.
- Expecting an `editor_info` update to change a live app without re-publishing.
- Retrying a failed `workflow_create` with a second create instead of `workflow_update` on the id
  from the error.
- Wiring a batch of assets into one model input and expecting one output per item: that is one
  generation over all of them; loop with `forEach`.
- Publishing with no pins: at least one `data.isInput` node listed in `inputKeys` and one
  `data.isOutput` node.
- Gating a text node in front of a builder or model: a branch skips only the node wired to its
  handle, so the consumer stays pending and the job never completes. Gate the node that does the
  work, or use a CEL ternary for conditional prompt text, per the reference's `ifElse` section.
- Double-quoted CEL literals: they evaluate but corrupt the canvas editor, single quotes only.
- Sending `workflow_id` to `workflow_copy`: get, update, publish, run and delete take `workflow_id`,
  but copy takes `source_workflow_id`; the copy inherits everything verbatim and needs its own
  publish.

© scenario-labs · MIT · scenario-labs/skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
authoring-analysis adobe Решает, что на странице обычный текст, а что блок, перед сборкой HTML для AEM Edge Delivery Services. Вызывается из пайплайна page-import. CX Codex +1 1 600установок authoring-dags astronomer Помогает создавать и проверять DAG в Apache Airflow по шестиэтапному циклу. Пригодится при написании новых пайплайнов или добавлении задач в существующие графы. CX Codex +1 1 200установок n8n-agents czlonkowski Помогает агенту собирать AI-узлы n8n: выбрать Agent, chain или classifier, подключить память и инструменты, довести структурированный вывод до рабочего состояния. CX Codex +1 1 900установок skill-authoring grafana Помогает писать и проверять SKILL.md по рубрике из четырёх критериев, которую использует CI-гейт grafana/skills. Пригодится, когда скилл не срабатывает или не проходит ревью. CX Codex +1 3 800установок convex-component-authoring waynesutton Собирает переиспользуемый компонент Convex: своя схема, функции и клиентская обёртка. Пригодится, когда фичу выносят в пакет. CX Codex +1 1 200установок hermes-agent-skill-authoring Hermes Agent Помогает создавать и править SKILL.md в репозитории Hermes Agent: от frontmatter до структуры файла. Пригодится для навыков, которые войдут в пакет. CX Codex +1 518установок

Из того же набора68

scenario-sonilo Генерирует звуковые эффекты и фоновую музыку через модели Sonilo на платформе Scenario. Помогает озвучить немое видео или свести трек с видеорядом. CX Codex +1 380установок scenario-product-shots Делает пакшоты и лайфстайл-кадры из реального фото товара, следя за точностью этикетки, логотипа и формы. Пригодится для карточек на маркетплейсе и лендинга. CX Codex +1 388установок scenario-blender-uv-baking Ведёт агента по развёртке UV и запеканию карт в Blender: швы, плотность текселей, упаковка, UDIM и разбор брака на бейке. CX Codex +1 389установок scenario-video-ads Скилл управляет созданием видеорекламы в Scenario по брифу и фото продукта. Помогает собрать раскадровку, согласовать смету и выпустить ролики для TikTok или YouTube. CX Codex +1 379установок scenario-seedance-storyboard Скилл выстраивает раскадровку и связывает позы между кадрами для генерации видео в Seedance. Спасает от телепортации конечностей и сброса движения при склейках в танцах или драках. CX Codex +1 377установок scenario-blender-retopology Помогает превратить плотный скульпт, скан или AI-меш в аккуратную топологию в Blender: петли, полюса, Shrinkwrap, подготовка лоу-поли под запекание. CX Codex +1 384установок scenario-minimax-music Управляет генерацией песен и треков через модели MiniMax на Scenario. Помогает писать музыку со словами по структуре, делать минусовки или менять жанр загруженного трека. CX Codex +1 374установок scenario-kling Скилл для генерации и монтажа видео на моделях Kling через MCP Scenario: текст в видео, оживление кадра, липсинк, motion control. Пригодится, когда агент должен сам подобрать модель и запустить рендер. CX Codex +1 382установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой