ワンクリックで
workflow-chain
Chain multiple skills and actions into named workflows with error handling and conditional branching.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Chain multiple skills and actions into named workflows with error handling and conditional branching.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create and edit PowerPoint (.pptx) presentations programmatically. Requires python-pptx.
Create and edit Excel (.xlsx) workbooks with openpyxl. Supports formulas, charts, formatting, and data analysis.
Generate images via DALL-E, Stable Diffusion, or free alternatives. Supports multi-channel delivery.
Generate meme images with text overlays using Pillow. Pick templates or create custom image macros.
Execute Python code snippets in a sandboxed environment. Supports data analysis, visualization, and quick scripts.
GitHub CLI for issues, PRs, code search, CI logs, releases, and API queries. Requires gh CLI and auth.
| name | workflow-chain |
| description | Chain multiple skills and actions into named workflows with error handling and conditional branching. |
| version | 1.0.0 |
| metadata | {"echo":{"tags":["Workflow","Automation","Chain","Pipeline","Orchestration"]}} |
Orchestrate multi-step workflows by chaining skills and actions.
Workflows are YAML files in ~/.echo-agent/workflows/:
name: morning-routine
trigger: cron "0 8 * * *"
steps:
- id: get_weather
skill: weather
input: {location: "Beijing"}
- id: get_todos
skill: reminder
action: due
- id: compose
skill: daily-briefing
input:
weather: "{{get_weather.output}}"
todos: "{{get_todos.output}}"
- id: deliver
action: send
channel: telegram
content: "{{compose.output}}"
Only run trusted workflow files. The engine executes commands from the JSON
workflow definition via shell=True. Never run workflow files from untrusted
sources (downloads, user uploads, model-generated content) without manual review.
Treat workflow JSON files with the same caution as shell scripts.
{{step_id.output}} references previous step resultswhen: "{{get_weather.temp}} < 5"on_error: skip | abort | retry(3)parallel: [step_a, step_b]name: research-pipeline
steps:
- {id: search, skill: web-search, input: {query: "{{topic}}"}}
- {id: extract, skill: web-extract, input: {urls: "{{search.top_urls}}"}}
- {id: report, skill: deep-research, input: {content: "{{extract.output}}"}}
name: morning-routine
trigger: cron "0 8 * * *"
steps:
- {id: weather, skill: weather, input: {location: "Beijing"}}
- {id: briefing, skill: daily-briefing}
- {id: send, action: send, channel: auto, content: "{{briefing.output}}"}
python3 scripts/workflow_engine.py run workflow.json # run a workflow from JSON file
python3 scripts/workflow_engine.py inline "echo hello" "echo done" # chain commands inline
python3 scripts/workflow_engine.py template --output my-workflow.json # generate a template
Workflow JSON format:
{
"name": "my-workflow",
"stages": [
{"name": "build", "mode": "sequential", "steps": [{"command": "echo build"}]},
{"name": "test", "mode": "parallel", "steps": [{"command": "echo t1"}, {"command": "echo t2"}]}
]
}
| Type | Example |
|---|---|
| Cron | cron "0 8 * * *" |
| Keyword | keyword "生成报告" |
| Manual | manual |
| Event | event "new_message" |