Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/fuyuxiang/echo-agent/workflow-chainnpx skills add fuyuxiang/echo-agent --skill workflow-chaingit clone --depth 1 https://github.com/fuyuxiang/echo-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fuyuxiang/echo-agent/workflow-chain)<a href="https://agentmods.dev/skills/fuyuxiang/echo-agent/workflow-chain"><img src="https://agentmods.dev/badge/skills/fuyuxiang/echo-agent/workflow-chain.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00018 | $0.00857 |
| Opus 5 | $0.00009 | $0.00428 |
| Sonnet 5 | $0.00004 | $0.00171 |
| Haiku 4.5 | $0.00002 | $0.00086 |
Grade A, and why
workflow-chain scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workflow Chain
Orchestrate multi-step workflows by chaining skills and actions.
Workflow Definition
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}}"
Security
Only run trusted workflow files. The engine runs the commands listed in the JSON workflow definition. Never run workflow files from untrusted sources (downloads, user uploads, model-generated content) without manual review.
Each command is parsed with shlex and executed as a single program with a
fixed argument list — shell syntax is not interpreted. ;, &&, |, >
and $(...) are passed through as literal arguments, so one step cannot chain
into another command. A step that genuinely needs a pipeline or redirection has
to ask for a shell explicitly:
{"command": "sh -c 'grep ERROR app.log | wc -l > count.txt'"}
Writing it that way keeps the intent visible in the workflow file instead of every step carrying implicit shell power.
Features
- Variable interpolation:
{{step_id.output}}references previous step results - Conditional steps:
when: "{{get_weather.temp}} < 5" - Error handling:
on_error: skip | abort | retry(3) - Parallel steps:
parallel: [step_a, step_b]
Built-in Templates
Research Pipeline
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}}"}}
Morning Routine
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}}"}
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 116 lines · 18 tokens per session scan A a52eb983a837
workflow-chain is a skill published in the GitHub repository fuyuxiang/echo-agent (988 stars, last pushed 4d ago), licensed MIT. It adds 18 tokens to every session and 857 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pptx
从论文、大纲或结构化文本生成 PowerPoint (.pptx) 演示文稿。Use when 用户需要把一篇论文/文章/大纲做成幻灯片、slides、演示文稿、PPT、deck。Don't use when 只需纯文本总结、生成 Word/PDF、或修改已有 pptx 的单个像素级样式。.
ai-style
当任务是用中文撰写或改写面向读者的文案(产品发布稿、公众号文章、邮件、README 等), 或用户反馈文字「AI 味太重」「不像人写的」时,加载本 Skill。.
triage
你是当前任务的分诊协调者。先识别用户的全部目标、顺序依赖和验收条件,再按 “事实检索 → 计算/执行 → 写作”顺序逐步请求切换到需要的专业能力。不要替专业 能力完成它的工作,也不要在信息缺失时臆造结果。.
writing
将共享历史中的已验证事实和计算结果整理成符合受众、格式与长度约束的成稿。.
data_analysis
基于已确认数据执行可审计的数学计算和描述统计。.
coding
编写并运行 Python 代码,验证脚本逻辑和输出。.