# Workflow Creator

Create or update reusable Dynamic Workflow JavaScript files under .qwen/workflows.

- Repository: https://github.com/QwenLM/qwen-code (28858 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add QwenLM/qwen-code --skill workflow-creator -g -a claude-code -y`
Codex: `npx skills add QwenLM/qwen-code --skill workflow-creator -g -a codex -y`
Cursor: `npx skills add QwenLM/qwen-code --skill workflow-creator -g -a cursor -y`
Gemini CLI: `npx skills add QwenLM/qwen-code --skill workflow-creator -g -a gemini-cli -y`

## Description

Create or update reusable Dynamic Workflow JavaScript files under .qwen/workflows. Use when the user asks to create, save, edit, or reuse a Dynamic Workflow, including requests started from the Web Shell Workflows page.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Workflow Creator

Create and maintain saved Dynamic Workflows for the current workspace.

## Boundary

- This skill manages `.qwen/workflows/<name>.js` files used by the `workflow` tool and exposed as `/<name>` slash commands.
- Do not create or edit `qwen-workflow-design/*.yaml`; those Task Flow definitions are a different feature.
- Local hosts may also discover trusted ancestor `.qwen/workflows` directories up to the nearest Git root, with the nearest definition first. Discovery does not change the project save destination: use the current session target.
- Use project scope by default. Write to `~/.qwen/workflows` only when the user explicitly asks for a workflow shared across projects.

## Workflow

1. Inspect the current task and any existing workflow with the requested name. Ask a question only when the goal, ordering, or write scope is materially ambiguous.
2. Choose a lower-case name containing only letters, digits, and hyphens. It must start with a letter and be at most 41 characters.
3. Create the smallest script that captures the requested phases, dependencies, and final result. Do not add speculative branches, retries, or agents.
4. Read the saved file back and verify its name, metadata, phase order, dependency flow, and final return value. Do not execute it unless the user also asks to run it.
5. Report the saved path and slash command. In the interactive TUI's ink renderer, the slash command runs in the foreground: progress stays in the tool card, and completion displays the result and notifies the model. The OpenTUI renderer does not yet run client-scheduled tools; there, ask the model to call `Workflow({ name: '<name>' })` instead. `/workflows <runId>` shows the run after it settles. In Web Shell, tell the user to return to Workflows and refresh the Saved tab if it is already open.

## Script contract

- Start with a literal metadata declaration:

The rest: https://github.com/QwenLM/qwen-code/blob/HEAD/packages/core/src/skills/bundled/workflow-creator/SKILL.md
