Not in the top 1,000 by GitHub stars
jzl-maker/EA-SKILL
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3f472bc61eeb → 3f472bc61eeb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3f472bc61eeb
No earlier version was observed for comparison.
Heat
1.2- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- ea-skill
/
How it works
ea-skill
When your agent uses it
嵌入式 AI 开发管家,支持 Keil/CubeMX 与 ESP32 的 ESP-IDF/PlatformIO/Arduino 工程。当用户要求嵌入式功能开发、外设接入、编译烧录、串口/JTAG/RTT 调试、固件验证、测试生成或芯片文档解析时使用。
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
2,610 tokensWhen the skill is activated
Reference documents
81,427 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 路径约定(重要)
- 快速开始
- 命令表(20 个)
- 红线规则(必须遵守)
- ESP32 平台路由
- 状态目录布局
- 详细文档
Scripts executed separately
tests/fake_fail.battests/fake_jlink.battests/fake_jlink.pytests/test_drain.pytests/test_experience.pytests/test_fixes.pytests/test_jlink_flash.pytests/test_la_cli.pytests/test_scope.pytests/test_spi_i2c.pytests/test_watermark.pytests/test_waveform.pytools/build-keil/scripts/keil_builder.pytools/doc-reader/scripts/deps_check.pytools/doc-reader/scripts/doc_reader.pytools/flash-jlink/scripts/jlink_flasher.pytools/flash-openocd/scripts/openocd_flasher.pytools/instrument/scripts/common.pytools/instrument/scripts/deps_check.pytools/instrument/scripts/logic_analyzer.pytools/instrument/scripts/scope.pytools/instrument/scripts/waveform.pytools/jlink-debug/scripts/jlink_debug.pytools/resource/scripts/map_parser.pytools/resource/scripts/map_tool.pytools/resource/scripts/size_tool.pytools/serial-mcp/mcp_client.pytools/serial-mcp/mcp_server.pytools/serial-mcp/serial_monitor.pytools/serial-mcp/start.battools/serial-monitor/scripts/serial_monitor.pytools/shared/detect_tools.pytools/shared/git_state.pytools/shared/jlink_commander.pytools/shared/probe.pytools/shared/project_guard.pytools/shared/register_claude_md.pytools/shared/tool_config.pytools/svd/scripts/svd_tool.pytools/test-runner/scripts/test_gen.py
Files
.gitignoreasset153 bytesLICENSEasset1,066 bytesREADME.mddoc6,635 bytesSKILL.mdcore8,504 bytesSKILL.mdcore8,504 bytesUSAGE.mddoc13,476 bytescommands/build.mddoc4,064 bytescommands/debug.mddoc26,247 bytescommands/doc.mddoc6,924 bytescommands/flash.mddoc7,545 bytescommands/help.mddoc3,623 bytescommands/init.mddoc3,149 bytescommands/la.mddoc15,921 bytescommands/map.mddoc4,142 bytescommands/new.mddoc6,373 bytescommands/rec.mddoc2,099 bytescommands/record.mddoc3,531 bytescommands/scope.mddoc40,302 bytescommands/serial.mddoc3,170 bytescommands/setup.mddoc6,126 bytescommands/si.mddoc2,993 bytescommands/size.mddoc4,958 bytescommands/stat.mddoc2,846 bytescommands/svd.mddoc5,540 bytescommands/test.mddoc5,933 bytescommands/verify.mddoc4,328 bytesmcp-servers/serial-mcp.jsonasset1,372 bytestemplates/approvals.mddoc347 bytestemplates/board-test-case.mddoc936 bytestemplates/board-test-templates.mddoc3,069 bytestemplates/claude-md-snippet.mddoc1,166 bytestemplates/context.mddoc2,084 bytestemplates/decision-log.mddoc305 bytestemplates/hvr-template.mddoc3,074 bytestemplates/memory-log.mddoc451 bytestemplates/problem-log.mddoc587 bytestemplates/project-spec.mddoc979 bytestemplates/project.jsonasset498 bytestemplates/requirement.mddoc1,639 bytestemplates/serial-log-reference.mddoc1,413 bytestemplates/serial_config.jsonasset354 bytestemplates/session.mddoc559 bytestemplates/state.mddoc1,156 bytestemplates/unit-test-runner.casset1,407 bytestests/README.mddoc3,706 bytestests/fake_fail.batruns51 bytestests/fake_jlink.batruns37 bytestests/fake_jlink.pyruns12,257 bytestests/test.mapasset828 bytestests/test_drain.pyruns7,358 bytestests/test_experience.pyruns12,668 bytestests/test_fixes.pyruns5,690 bytestests/test_jlink_flash.pyruns10,084 bytestests/test_la_cli.pyruns16,893 bytestests/test_scope.pyruns30,913 bytestests/test_spi_i2c.pyruns15,982 bytestests/test_watermark.pyruns5,754 bytestests/test_waveform.pyruns10,798 bytestools/build-keil/scripts/keil_builder.pyruns24,104 bytestools/doc-reader/README.mddoc2,961 bytestools/doc-reader/requirements.txtdoc136 bytestools/doc-reader/scripts/deps_check.pyruns3,389 bytestools/doc-reader/scripts/doc_reader.pyruns31,413 bytestools/flash-jlink/scripts/jlink_flasher.pyruns28,026 bytestools/flash-openocd/scripts/openocd_flasher.pyruns23,460 bytestools/instrument/README.mddoc2,687 bytestools/instrument/requirements.txtdoc81 bytestools/instrument/scripts/common.pyruns7,937 bytestools/instrument/scripts/deps_check.pyruns6,216 bytestools/instrument/scripts/logic_analyzer.pyruns39,163 bytestools/instrument/scripts/scope.pyruns85,550 bytestools/instrument/scripts/waveform.pyruns37,332 bytestools/jlink-debug/scripts/jlink_debug.pyruns80,208 bytestools/resource/README.mddoc1,863 bytestools/resource/scripts/map_parser.pyruns9,619 bytestools/resource/scripts/map_tool.pyruns6,920 bytestools/resource/scripts/size_tool.pyruns5,858 bytestools/serial-mcp/README.mddoc879 bytestools/serial-mcp/mcp_client.pyruns1,813 bytestools/serial-mcp/mcp_server.pyruns7,991 bytestools/serial-mcp/requirements.txtdoc14 bytestools/serial-mcp/serial_config.jsonasset155 bytestools/serial-mcp/serial_monitor.pyruns23,746 bytestools/serial-mcp/start.batruns657 bytestools/serial-monitor/scripts/serial_monitor.pyruns24,616 bytestools/shared/detect_tools.pyruns8,652 bytestools/shared/git_state.pyruns8,648 bytestools/shared/jlink_commander.pyruns4,722 bytestools/shared/probe.pyruns3,691 bytestools/shared/project_guard.pyruns15,327 bytestools/shared/register_claude_md.pyruns5,126 bytestools/shared/tool_config.pyruns8,070 bytestools/svd/README.mddoc1,696 bytestools/svd/scripts/svd_tool.pyruns22,386 bytestools/test-runner/scripts/test_gen.pyruns12,131 bytesworkflows/chip-learning.mddoc3,512 bytesworkflows/context-build.mddoc3,876 bytesworkflows/esp32.mddoc7,859 bytesworkflows/hvr-workflow.mddoc2,461 bytesworkflows/new-light.mddoc2,923 bytesworkflows/new-standard.mddoc4,280 bytesworkflows/req-clarify.mddoc8,083 bytesworkflows/verify-flow.mddoc6,961 bytes
Read SKILL.md
# EA-SKILL(Embedded AI)
> 嵌入式 + AI:对新老嵌入式工程做「新功能开发 → 测试 → 调试 → 验证 → 记录」闭环。
> 命令统一前缀 `/ea`。
你接收到的参数:`$ARGUMENTS`
## 路径约定(重要)
命令文档里的 `<SKILL>` 指**本 skill 的安装根目录**——也就是你正在读的 `SKILL.md`
所在的那个目录。执行任何命令前,先把它换成真实绝对路径。
```
<SKILL> = 本 SKILL.md 所在目录View the complete source on GitHubSkills included
- ea-skill
Repository facts
- License
- MIT
- Created
- Aug 27, 2026
- Last pushed
- Oct 20, 2026
- Forks
- 4
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 11 dangerous shell commandsin 5 files: tools/instrument/scripts/scope.py:99 tests/test_scope.py:166 tools/instrument/scripts/deps_check.py:44 and 2 more
- 23 network referencesin 8 files: tools/jlink-debug/scripts/jlink_debug.py:300 README.md:56 tools/doc-reader/scripts/doc_reader.py:87 and 5 more
- No hidden or obfuscated text
- No instruction overrides
- 40 executable scriptsin 40 files: tests/fake_fail.bat:1 tests/fake_jlink.bat:1 tests/fake_jlink.py:1 and 37 more
- 31 references to secretsin 12 files: tests/fake_jlink.py:30 workflows/esp32.md:25 tests/test_drain.py:46 and 9 more
- No requests to vote in Hot
Show all 105 signals by file
README.md
- Network accessline 56
帮我安装 https://github.com/jzl-maker/EA-SKILL.git 的 skill - Network accessline 71
|---------------|------|------| | Claude × Claude Code | ✅ 开箱即用 | 原生 skill 机制 | | **DeepSeek × Claude Code** | ✅ | Claude Code 设置 `ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic`,`/ea setup` 全流程不变 | - Network accessline 72
| Claude × Claude Code | ✅ 开箱即用 | 原生 skill 机制 | | **DeepSeek × Claude Code** | ✅ | Claude Code 设置 `ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic`,`/ea setup` 全流程不变 | | DeepSeek × Cline | ✅ | Cline 配 DeepSeek 端点 + 安装到 `.claude/skills - Network accessline 73
| **DeepSeek × Claude Code** | ✅ | Claude Code 设置 `ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic`,`/ea setup` 全流程不变 |
USAGE.md
- Network accessline 46
帮我安装 https://github.com/jzl-maker/EA-SKILL.git 这个 skill
commands/build.md
- Access to secretsline 5
[Credential-related source omitted]
commands/setup.md
- Network accessline 104
https://github.com/xpack-dev-tools/openocd-xpack/releases
tests/fake_fail.bat
- Executable scriptline 1
Executable file
tests/fake_jlink.bat
- Executable scriptline 1
Executable file
tests/fake_jlink.py
- Executable scriptline 1
Executable file - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted]
tests/test_drain.py
tests/test_experience.py
tests/test_fixes.py
tests/test_jlink_flash.py
tests/test_la_cli.py
- Executable scriptline 1
Executable file
tests/test_scope.py
tests/test_spi_i2c.py
- Executable scriptline 1
Executable file
tests/test_watermark.py
- Executable scriptline 1
Executable file
tests/test_waveform.py
- Executable scriptline 1
Executable file
tools/build-keil/scripts/keil_builder.py
tools/doc-reader/scripts/deps_check.py
tools/doc-reader/scripts/doc_reader.py
- Executable scriptline 1
#!/usr/bin/env python - Network accessline 87
W = "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}" - Network accessline 88
X = "{http://schemas.openxmlformats.org/spreadsheetml/2006/main}" - Network accessline 89
R_ID = "{http://schemas.openxmlformats.org/officeDocument/2006/relationships}id"
tools/flash-jlink/scripts/jlink_flasher.py
- Executable scriptline 1
#!/usr/bin/env python
tools/flash-openocd/scripts/openocd_flasher.py
- Executable scriptline 1
#!/usr/bin/env python
tools/instrument/README.md
- Network accessline 24
1. **Saleae**:必须安装 **Logic 2 GUI 软件**(非 Python 包)。官网下载或 `winget install Saleae.Logic2`。`logic2-automation` 只是客户端,抓取时通过 gRPC 连后台 Logic 2,需在软件设置中开启「脚本服务器」(默认端口 10430),或给脚本传 `--launch` 自动拉起。 2. **Rigol**:示波器 USB 直连需 USB-TMC 驱动。Windows 可用 [Zadi - Network accessline 25
2. **Rigol**:示波器 USB 直连需 USB-TMC 驱动。Windows 可用 [Zadig](https://zadig.akeo.ie/) 给设备装 WinUSB 驱动(配合 `pyvisa-py` 纯 Python 后端),或安装 NI-VISA 用系统后端(脚本 `--backend @py` 失败会自动提示)。
tools/instrument/scripts/common.py
tools/instrument/scripts/deps_check.py
tools/instrument/scripts/logic_analyzer.py
- Executable scriptline 1
#!/usr/bin/env python
tools/instrument/scripts/scope.py
- Executable scriptline 1
#!/usr/bin/env python - Dangerous shell operationline 99
rm = pyvisa.ResourceManager() # 系统 VISA(NI-VISA / RIGOL IVI 等) - Dangerous shell operationline 965
rm = ensure_pyvisa(args, ns) - Dangerous shell operationline 1086
rm = ensure_pyvisa(args, ns) - Dangerous shell operationline 1677
rm = pyvisa.ResourceManager() - Dangerous shell operationline 1739
rm = ensure_pyvisa(args, ns)
tools/instrument/scripts/waveform.py
- Executable scriptline 1
#!/usr/bin/env python
tools/jlink-debug/scripts/jlink_debug.py
- Executable scriptline 1
#!/usr/bin/env python - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Network accessline 300
try: with socket.create_connection(("127.0.0.1", port), timeout=timeout) as s: - Network accessline 301
with socket.create_connection(("127.0.0.1", port), timeout=timeout) as s: - Network accessline 316
def ocd_port_open(port: int) -> bool: try: with socket.create_connection(("127.0.0.1", port), timeout=0.5): - Network accessline 317
try: with socket.create_connection(("127.0.0.1", port), timeout=0.5): return True - Network accessline 318
with socket.create_connection(("127.0.0.1", port), timeout=0.5): - Network accessline 1446
print(" ℹ<U+FE0F> 当前用 JLink Commander 脚本方案(--bp/--mem/--regs),零依赖可用。") print(" 如需源码级调试,安装 GNU Arm 工具链:") print(" https://developer.arm.com/downloads/-/gnu-rm") - Network accessline 1447
print(" 如需源码级调试,安装 GNU Arm 工具链:") print(" https://developer.arm.com/downloads/-/gnu-rm") print(" 安装后请确认 arm-none-eabi-gdb 在 PATH 中。") - Network accessline 1448
print(" https://developer.arm.com/downloads/-/gnu-rm")
tools/resource/scripts/map_parser.py
- Executable scriptline 1
#!/usr/bin/env python
tools/resource/scripts/map_tool.py
- Executable scriptline 1
#!/usr/bin/env python
tools/resource/scripts/size_tool.py
- Executable scriptline 1
#!/usr/bin/env python
tools/serial-mcp/mcp_client.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/serial-mcp/mcp_server.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/serial-mcp/serial_monitor.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/serial-mcp/start.bat
- Executable scriptline 1
Executable file
tools/serial-monitor/scripts/serial_monitor.py
- Executable scriptline 1
#!/usr/bin/env python
tools/shared/detect_tools.py
tools/shared/git_state.py
- Executable scriptline 1
#!/usr/bin/env python
tools/shared/jlink_commander.py
- Executable scriptline 1
#!/usr/bin/env python
tools/shared/probe.py
- Executable scriptline 1
#!/usr/bin/env python
tools/shared/project_guard.py
- Executable scriptline 1
#!/usr/bin/env python
tools/shared/register_claude_md.py
- Executable scriptline 1
Executable file
tools/shared/tool_config.py
tools/svd/scripts/svd_tool.py
- Executable scriptline 1
#!/usr/bin/env python - Access to secretsline 100
[Credential-related source omitted] - Network accessline 353
def _ocd_tcl(port: int, cmd: str, timeout: float = 3.0) -> str | None: try: with socket.create_connection(("127.0.0.1", port), timeout=timeout) as s: - Network accessline 354
try: with socket.create_connection(("127.0.0.1", port), timeout=timeout) as s: s.sendall((cmd + "\x1a").encode("ascii")) - Network accessline 355
with socket.create_connection(("127.0.0.1", port), timeout=timeout) as s:
tools/test-runner/scripts/test_gen.py
- Executable scriptline 1
#!/usr/bin/env python
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Declared and executed: 2 facts
- Contacts schemas.openxmlformats.org, which SKILL.md, the README and the plugin manifest do not mentiontools/doc-reader/scripts/doc_reader.py:87High confidence
- Contacts developer.arm.com, which SKILL.md, the README and the plugin manifest do not mentiontools/jlink-debug/scripts/jlink_debug.py:1448High confidence
Signal confidence: 105 facts
- Network access in code of documentationREADME.md:56Low confidence
- Network access in prose of documentationREADME.md:71Low confidence
- Network access in prose of documentationREADME.md:72Low confidence
- Network access in prose of documentationREADME.md:73Low confidence
- Network access in code of documentationUSAGE.md:46Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuecommands/build.md:5Low confidence
- Network access in code of documentationcommands/setup.md:104Low confidence
- Executable script in code of a testtests/fake_fail.bat:1Low confidence
- Executable script in code of a testtests/fake_jlink.bat:1Low confidence
- Executable script in a comment of a testtests/fake_jlink.py:1Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:30Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:35Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:36Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:37Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:43Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:44Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:47Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:49Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:52Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/fake_jlink.py:135Low confidence
- Executable script in a comment of a testtests/test_drain.py:1Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_drain.py:46Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_drain.py:47Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_drain.py:175Low confidence
- Executable script in a comment of a testtests/test_experience.py:1Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_experience.py:34Low confidence
- Executable script in a comment of a testtests/test_fixes.py:1Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_fixes.py:19Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_fixes.py:109Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_fixes.py:128Low confidence
- Executable script in a comment of a testtests/test_jlink_flash.py:1Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_jlink_flash.py:63Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuetests/test_jlink_flash.py:164Low confidence
- Executable script in a comment of a testtests/test_la_cli.py:1Low confidence
- Executable script in a comment of a testtests/test_scope.py:1Low confidence
- Dangerous shell operation in code of a testtests/test_scope.py:166Low confidence
- Dangerous shell operation in code of a testtests/test_scope.py:343Low confidence
- Executable script in a comment of a testtests/test_spi_i2c.py:1Low confidence
- Executable script in a comment of a testtests/test_watermark.py:1Low confidence
- Executable script in a comment of a testtests/test_waveform.py:1Low confidence
- Executable script in code of a file that runstools/build-keil/scripts/keil_builder.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuetools/build-keil/scripts/keil_builder.py:126Low confidence
- Executable script in code of a file that runstools/doc-reader/scripts/deps_check.py:1High confidence
- Dangerous shell operation in code of a file that runstools/doc-reader/scripts/deps_check.py:33High confidence
- Executable script in code of a file that runstools/doc-reader/scripts/doc_reader.py:1High confidence
- Network access in code of a file that runstools/doc-reader/scripts/doc_reader.py:87High confidence
- Network access in code of a file that runstools/doc-reader/scripts/doc_reader.py:88High confidence
- Network access in code of a file that runstools/doc-reader/scripts/doc_reader.py:89High confidence
- Executable script in code of a file that runstools/flash-jlink/scripts/jlink_flasher.py:1High confidence
- Executable script in code of a file that runstools/flash-openocd/scripts/openocd_flasher.py:1High confidence
and 55 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.