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 skills add zhinkgit/embeddedskills --skill openocdgit clone --depth 1 https://github.com/zhinkgit/embeddedskillsWrote 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/zhinkgit/embeddedskills/openocd)<a href="https://agentmods.dev/skills/zhinkgit/embeddedskills/openocd"><img src="https://agentmods.dev/badge/skills/zhinkgit/embeddedskills/openocd/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zhinkgit/embeddedskills/openocd"><img src="https://agentmods.dev/badge/skills/zhinkgit/embeddedskills/openocd.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket warn
- Snyk pass
- NVIDIA SkillSpector pass
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.1 | $0.00247 | $0.04417 |
| Opus 5.5 | $0.00099 | $0.01767 |
| Sonnet 5.5 | $0.00049 | $0.00883 |
| Haiku 4.5 | $0.00025 | $0.00442 |
Grade A, and why
openocd 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 1mo 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 — 347 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenOCD 下载与调试
本 skill 提供 OpenOCD 的探针探测、固件烧录、Flash 擦除、GDB Server 启动、目标复位、 Telnet 在线调试、GDB 源码级调试和 Semihosting 输出捕获能力。
配置
环境级配置(skill/config.json)
skill 目录下的 config.json 包含环境级配置(工具路径、端口号等),首次使用前确认 exe 路径正确:
{
"exe": "openocd",
"scripts_dir": "",
"gdb_port": 3333,
"telnet_port": 4444,
"gdb_exe": "",
"operation_mode": 1
}
exe:openocd.exe 路径或命令名(必填)scripts_dir:OpenOCD 配置脚本目录,为空时使用 OpenOCD 内置路径gdb_port:GDB Server 端口,默认 3333telnet_port:Telnet 端口,默认 4444gdb_exe:arm-none-eabi-gdb 路径,GDB 调试子命令(run/backtrace/locals)需要operation_mode:1直接执行 /2输出风险摘要但不阻塞 /3执行前确认
工程级配置(.embeddedskills/config.json)
board/interface/target 等工程参数统一在工作区的 .embeddedskills/config.json 中管理:
{
"openocd": {
"board": "",
"interface": "interface/stlink.cfg",
"target": "target/stm32f4x.cfg",
"adapter_speed": "4000",
"transport": "swd",
"tpiu_name": "stm32f4x.tpiu",
"traceclk": "168000000",
"pin_freq": "2000000"
}
}
board:board 配置(如board/stm32f4discovery.cfg),优先级高于 interface+targetinterface:interface 配置(如interface/stlink.cfg)target:target 配置(如target/stm32f4x.cfg)adapter_speed:调试速率 kHztransport:传输协议(swd/jtag)tpiu_name/traceclk/pin_freq:ITM/SWO 观测所需的 TPIU 参数
参数解析优先级:CLI 显式参数 > .embeddedskills/config.json(工程级)> skill/config.json(环境级)> .embeddedskills/state.json > 默认值/报错
成功执行后,确认过的参数会自动写回工程配置。
子命令
基础操作
| 子命令 | 用途 | 风险 |
|---|---|---|
probe |
验证 board 或 interface+target 组合,探测目标连通性 | 低 |
flash |
烧录固件(.elf / .hex / .bin) | 高 |
erase |
擦除目标 Flash | 高 |
reset / reset-init |
复位目标芯片 | 高 |
targets / flash-banks / adapter-info |
查询底层 target / flash / adapter 信息 | 低 |
raw |
执行受控 OpenOCD 原生命令 | 高 |
GDB Server
| 子命令 | 用途 | 风险 |
|---|---|---|
gdb-server |
启动 GDB Server,保持运行等待 GDB 连接 | 低 |
gdb backtrace/locals |
快捷获取调用栈和局部变量 | 低 |
gdb break/continue/next/step/finish/until |
one-shot 执行流控制 | 低 |
gdb frame/print/watch/disassemble/threads/crash-report |
one-shot 源码级诊断 | 低 |
What ships with it
12 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.
- config.example.json 127 B
- README.md 3.0 KB
- references/common_targets.md 2.7 KB
- scripts/openocd_gdb_common.py 8.1 KB runs code
- scripts/openocd_gdb.py 26 KB runs code
- scripts/openocd_itm.py 18 KB runs code
- scripts/openocd_run.py 25 KB runs code
- scripts/openocd_runtime.py 9.4 KB runs code
- scripts/openocd_semihosting.py 19 KB runs code
- scripts/openocd_telnet.py 28 KB runs code
- templates/flash.cfg 200 B
- templates/gdb_server.cfg 150 B
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.
- 1mo ago First seen · 347 lines · 247 tokens per session scan A 3fac6ece22de
openocd is a skill published in the GitHub repository zhinkgit/embeddedskills (748 stars, last pushed 1mo ago), licensed MIT. It adds 247 tokens to every session and 4,417 once invoked, about $0.0010 per session on Opus 5.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
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…
d3k
Use when the user asks to use d3k, run/dev/test/debug a web project with d3k, or reproduce a browser issue. Own the runtime: reuse or background-start d3k non-interactively, wait for readiness, use its project-stable managed Chrome profile, and inspect unified browser/server evidence.
deck-retro
Run a fully local agent-deck retrospective over the user's own transcripts, Recall index and logs. Use when a user wants to find recurring failures or take their own finding from investigation through synthetic reproduction, a user-filed issue, a test-first fix and contributor PR handoff. Also use for weekly usage…
devtools-bidirectional
Two-way event patterns between devtools panel and application. App-to-devtools observation, devtools-to-app commands, time-travel debugging with snapshots and revert. structuredClone for snapshot safety, distinct event suffixes for observation vs commands, serializable payloads only.
devtools-instrumentation
Analyze library codebase for critical architecture and debugging points, add strategic event emissions. Identify middleware boundaries, state transitions, lifecycle hooks. Consolidate events (1 not 15), debounce high-frequency updates, DRY shared payload fields, guard emit() for production. Transparent server/client…
michel-monitor-pull-request-github-actions
Diagnose a failed, stuck, or never-triggered CI run on a GitHub PR, apply a local fix if possible, push it, and document the result in a single running PR comment. Invoke whenever Michel's CI monitor loop triggers with anyfailure, stuck, or nottriggered — the bash loop already handles pending and allgreen silently, so…