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/zhinkgit/embeddedskills/workflownpx skills add zhinkgit/embeddedskills --skill workflowgit clone --depth 1 https://github.com/zhinkgit/embeddedskillsWhat 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.00088 | $0.00993 |
| Opus 5 | $0.00044 | $0.00496 |
| Sonnet 5 | $0.00018 | $0.00199 |
| Haiku 4.5 | $0.00009 | $0.00099 |
Grade A, and why
workflow 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 yesterday.
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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workflow 编排层
本 skill 不重复实现底层逻辑,只做发现、选择、串联和聚合。
支持 Keil / GCC / EIDE 三种构建后端,以及 jlink / openocd / probe-rs 三种 flash/debug/observe 后端。
observe 阶段当前会给出 jlink:rtt、jlink:swo、openocd:semihosting、openocd:itm、probe-rs:rtt 这几类候选观测后端。
命令
python <skill-dir>/scripts/workflow_plan.py --json
python <skill-dir>/scripts/workflow_run.py plan --json
python <skill-dir>/scripts/workflow_run.py build --json
python <skill-dir>/scripts/workflow_run.py build-flash --json
python <skill-dir>/scripts/workflow_run.py build-debug --json
python <skill-dir>/scripts/workflow_run.py observe --json
python <skill-dir>/scripts/workflow_run.py diagnose --json
配置说明
workflow 不再维护独立的工程配置结构,所有工程参数统一从 .embeddedskills/config.json 读取。
配置结构
.embeddedskills/config.json 中的 workflow 段仅包含首选后端配置:
{
"workflow": {
"preferred_build": "auto",
"preferred_flash": "auto",
"preferred_debug": "auto",
"preferred_observe": "auto"
}
}
workflow 通过读取 .embeddedskills/config.json 中其他 skill 的配置段来获取工程参数(如 keil.project、eide.project、eide.config、jlink.device、probe-rs.chip 等)。
参数解析顺序
按以下决策树依次判断,命中即停止:
-
CLI 参数(优先级最高)
- 条件:用户在命令行传入
--build-backend、--flash-backend等参数 - 示例:
workflow_run.py build-flash --build-backend=keil --flash-backend=jlink --build-backend可选值:auto/keil/gcc/eide- 行为:直接使用该参数指定的后端,跳过后续步骤
- 条件:用户在命令行传入
-
配置文件(次优先)
- 条件:CLI 未指定,且
.embeddedskills/config.json的workflow段中对应preferred_*字段不为"auto" - 示例:
"preferred_build": "keil"→ 使用 keil 作为构建后端 - 行为:读取配置值并使用,跳过自动发现
- 条件:CLI 未指定,且
-
自动发现(兜底)
- 条件:CLI 未指定,且配置中
preferred_*为"auto"或字段缺失 - 示例:
"preferred_flash": "auto"→ 扫描 workspace 自动推断可用 flash 后端 - 行为:枚举候选后端列表;若唯一则直接使用,若多个则返回列表请用户确认
- 条件:CLI 未指定,且配置中
成功执行后,实际使用的后端会自动写回 .embeddedskills/config.json 的 workflow 段。
规则
- 发现多个工程或多个候选后端时,只返回候选列表,不自动猜测
- 构建、烧录、调试、观测之间优先通过
.embeddedskills/state.json串联 observe只生成推荐命令,不在 workflow 内直接长时间占用观测通道- 失败时优先返回哪个阶段失败,以及底层脚本的结构化错误
- workflow 与其他 Skill 的协同只通过
.embeddedskills/config.json、.embeddedskills/state.json和子进程调用底层 Skill
What ships with it
5 files 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.
- yesterday First seen · 80 lines · 88 tokens per session scan A 5187fa1d3580
workflow is a skill published in the GitHub repository zhinkgit/embeddedskills (606 stars, last pushed 12d ago), licensed MIT. It adds 88 tokens to every session and 993 once invoked, about $0.0004 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
browser-qa
Use when you need lightweight browser QA for a web page, local HTML file, or app: inspect console errors, broken assets, keyboard/focus behavior, viewport readability, and publish evidence-backed findings JSON through a local HTML report viewer.
mastra-api
Interact with Mastra development server API for debugging agents, viewing conversation threads, listing/inspecting tools and workflows, accessing observability data, and managing Mastra resources. Use when working with Mastra agents and need to inspect runtime state, debug agent errors, view thread history, see…
create-mermaid-diagrams
Create, validate, and repair Mermaid diagrams for technical documentation with a deterministic CLI feedback loop. Use when an AI needs to create Mermaid diagrams, improve Mermaid diagram quality, validate Mermaid fences in markdown, diagnose Mermaid rendering failures, or fix Mermaid syntax and formatting issues.
create-pull-request
Generate a reviewer-ready pull request or merge request title and description from branch changes. Use when a user asks to draft PR/MR content, summarize branch deltas against a base branch, or optionally create the PR with gh/glab after approval.
tilt-dev
Manage local development environments with Tilt. Use when working with projects that run services via Tilt (indicated by presence of Tiltfile), including checking service status, viewing logs, troubleshooting connectivity issues, or managing the Tilt stack. Essential for projects using Tiltfile with localresource for…
uv-usage
Provides concise guidance for using uv (Python package manager), including project workflows, pip-compatible commands, Python version management, and PEP 723 inline script dependencies. Use when users mention uv, uv run, inline dependencies, PEP 723, or Python dependency/project management.