
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
Workflow Creator
Create and maintain saved Dynamic Workflows for the current workspace.
Boundary
- This skill manages
.qwen/workflows/<name>.jsfiles used by theworkflowtool and exposed as/<name>slash commands. - Do not create or edit
qwen-workflow-design/*.yaml; those Task Flow definitions are a different feature. - Use project scope by default. Write to
~/.qwen/workflowsonly when the user explicitly asks for a workflow shared across projects.
Workflow
- 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.
- Choose a lower-case name containing only letters, digits, and hyphens. It must start with a letter and be at most 41 characters.
- Create the smallest script that captures the requested phases, dependencies, and final result. Do not add speculative branches, retries, or agents.
- 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.
- Report the saved path and slash command. 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:
export const meta = {
name: 'Release readiness',
description: 'Inspect, validate, and summarize a release candidate',
};
- Use the sandbox globals documented by the
workflowtool:phase(title),log(message),agent(prompt, options?),parallel(thunks),pipeline(items, ...stages),workflow(nameOrRef, args?),args, andbudget. - Scripts cannot import modules or access the filesystem, shell, environment, or network directly. Put required reads and actions in explicit agent prompts.
- Give every agent a complete, scoped prompt and a concise
label. State whether it may edit files. - Express real concurrency as
parallel([() => agent(...), () => agent(...)]). Do not pass already-started promises toparallel. - Keep dependent work sequential and pass prior results explicitly.
- Put variable user input in
argsinstead of hard-coding one-off values. - End every successful path with an explicit
returnof the final result. A trailing expression is not a return value. - Do not use
node --checkfor validation: valid workflow scripts may contain top-levelawaitandreturnbecause the runtime wraps them in an async function.
Updates
- Preserve unrelated behavior and metadata when editing an existing workflow.
- Do not overwrite an existing workflow with a different design unless the user requested that update.
- Do not delete or rename a workflow unless the user explicitly asks.
More skills from the qwen-code repository
View all 13 skillsbatch
execute parallel batch operations on files
Jul 20AutomationConcurrencycoordinate
coordinate Qwen Code teammates
Aug 28AgentsCodingMulti-AgentOrchestrationcua-driver
drive native GUI applications via MCP
Sep 4AccessibilityBrowser AutomationDesktopMCPdataviz
design and validate data visualizations
Jul 16ChartsDashboardsData Visualizationextension-creator
create Qwen Code extensions
Jul 16CodingDocumentationPlugin Developmentgoal-draft
draft verifiable goal objectives
Sep 4AgentsProduct ManagementStrategy
More from Qwen
View publisherloop
run scheduled or self-paced prompt loops
qwen-code
Jul 16AutomationProductivitySchedulingnew-app
build new applications from scratch
qwen-code
Jul 16EngineeringPrototypingWeb Developmentqc-helper
provide Qwen Code usage and configuration support
qwen-code
Jul 16ConfigurationDocumentationReferencereview
review code for quality and security
qwen-code
Sep 4Code ReviewSecuritysimplify
clean up and simplify code changes
qwen-code
Jul 20Code AnalysisEngineeringPerformancestuck
diagnose and debug stuck Qwen Code sessions
qwen-code
Jul 16DebuggingEngineeringPerformance