Agent skill

Terminal

by zhinkgit in zhinkgit/embeddedskills

双向交互终端会话工具,用于串口终端、SSH 交互 Shell、本地 Shell、设备控制台、AT/CLI 菜单、需要保持上下文的交互式调试;当用户提到交互终端、串口终端、SSH 终端、打开 shell、发送命令后继续读输出、保持会话、登录后操作、菜单式命令行时触发,也兼容 /terminal 显式调用。

MITAuto-check: warnings

Install Terminal

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add zhinkgit/embeddedskills --skill terminal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zhinkgit/embeddedskills terminal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zhinkgit/embeddedskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/terminal .claude/skills/terminal && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
terminal
GitHub stars
733
Token cost
~869 tokens
SKILL.md length
192 words
Files
5 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

双向交互终端会话工具,用于串口终端、SSH 交互 Shell、本地 Shell、设备控制台、AT/CLI 菜单、需要保持上下文的交互式调试;当用户提到交互终端、串口终端、SSH 终端、打开 shell、发送命令后继续读输出、保持会话、登录后操作、菜单式命令行时触发,也兼容 /terminal 显式调用。

  • Works in 3 steps: CLI 参数 (--port, --baudrate, --host,… → 会话状态 (.embeddedskills/state.json 中已启动的… → 默认值 - 最低优先级
  • SKILL.md covers 定位, 配置, 子命令 and 后端, plus 5 more sections
  • Runs Python scripts from its folder; calls python

What it does

Terminal is an agent skill from zhinkgit/embeddedskills. 双向交互终端会话工具,用于串口终端、SSH 交互 Shell、本地 Shell、设备控制台、AT/CLI 菜单、需要保持上下文的交互式调试;当用户提到交互终端、串口终端、SSH 终端、打开 shell、发送命令后继续读输出、保持会话、登录后操作、菜单式命令行时触发,也兼容 /terminal 显式调用。

Its SKILL.md is about 870 tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `README.md`, `agents/openai.yaml` and `config.json`).

The repository describes itself as: An open-source collection of embedded development and debugging skills for Claude Code, Copilot, TRAE, and other AI coding assistants that support the Skill protocol. Once… The licence is MIT.

Example prompts

  • “/terminal”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. CLI 参数 (--port, --baudrate, --host, --name 等) - 最高优先级
  2. 会话状态 (.embeddedskills/state.json 中已启动的 terminal_sessions)
  3. 默认值 - 最低优先级

What it can do on your machine

Read from SKILL.md and the folder at commit 536c1f9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Terminal loads about 869 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 192 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~869

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:60
    # 启动 SSH 终端,host 使用 ~/.ssh/config 中的 Host 别名
  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:155
    - SSH 后端使用 `~/.ssh/config` 的 Host 别名;配置主机、跳板机、传输文件仍交给 `ssh` skill。

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from zhinkgit/embeddedskills at commit 536c1f9, republished under its MIT licence (© zhinkgit). 192 words, ~869 tokens.

Download SKILL.mdSave it as .claude/skills/terminal/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
terminal
description
双向交互终端会话工具,用于串口终端、SSH 交互 Shell、本地 Shell、设备控制台、AT/CLI 菜单、需要保持上下文的交互式调试;当用户提到交互终端、串口终端、SSH 终端、打开 shell、发送命令后继续读输出、保持会话、登录后操作、菜单式命令行时触发,也兼容 /terminal 显式调用。

Terminal — 双向交互终端会话

统一封装串口、SSH 和本地 Shell 的双向交互会话。它补齐 serial 的“监控/发送是分离命令”和 ssh 的“远程命令多为一次性执行”之间的空白:当目标需要保持登录状态、菜单状态、REPL 状态或设备 CLI 上下文时,使用本 skill。

定位

  • serial:扫描、监控、单次发送、日志、Hex 查看。
  • ssh:OpenSSH 配置、远程命令、传输、隧道。
  • terminal:保持一个可持续读写的交互式会话,并通过 send/read 驱动下一步判断。

配置

环境级配置 (config.json)

terminal skill 的环境级配置目前为空对象 {}。交互终端的关键参数通常和具体会话绑定,优先通过 start 命令显式传入,避免误连设备或误用凭据。

会话状态 (.embeddedskills/state.json)

后台会话运行时状态保存到工作区的 .embeddedskills/state.json,使用 terminal_sessions 字段记录会话名、后端、PID、TCP 控制端口和日志路径。

参数优先级
  1. CLI 参数 (--port, --baudrate, --host, --name 等) - 最高优先级
  2. 会话状态 (.embeddedskills/state.json 中已启动的 terminal_sessions)
  3. 默认值 - 最低优先级

子命令

子命令用途风险
start启动一个后台交互会话中
list列出现有会话低
status查询单个会话状态低
send向会话写入文本或 Hex 数据中
read读取并清空会话输出缓冲低
attach前台行模式接入会话中
stop停止会话并清理状态中

后端

后端适用场景依赖
serialMCU UART 控制台、AT 命令、Bootloader 菜单、板卡 CLIpyserial
sshLinux 开发板交互 Shell、登录后持续操作OpenSSH 客户端
local本机临时 Shell、REPL、CLI 程序交互Python 标准库

脚本调用

所有脚本位于 skill 目录的 scripts/ 下,通过 python 直接调用。命令示例均以当前 skill 目录为基准。

bash
# 启动串口终端
python scripts/terminal_session.py start serial --port COM11 --baudrate 115200 --name board

# 启动 SSH 终端,host 使用 ~/.ssh/config 中的 Host 别名
python scripts/terminal_session.py start ssh --host 1380-P904 --name devboard

# 启动本地 Shell
python scripts/terminal_session.py start local --name local-shell

# 发送一行命令并追加 CRLF
python scripts/terminal_session.py send board "help" --crlf

# 读取输出,最多等待 1 秒
python scripts/terminal_session.py read board --timeout 1

# 前台行模式接入
python scripts/terminal_session.py attach board

# 查询与停止
python scripts/terminal_session.py list
python scripts/terminal_session.py status board
python scripts/terminal_session.py stop board

会话状态详情

会话元数据保存到工作区:

text
.embeddedskills/state.json

使用 terminal_sessions 字段记录:

json
{
  "terminal_sessions": {
    "board": {
      "backend": "serial",
      "tcp_port": 23145,
      "pid": 1234,
      "started_at": "2026-05-26T10:00:00+08:00"
    }
  }
}

后台进程日志保存到:

text
.embeddedskills/logs/terminal/

输出格式

脚本默认输出 JSON:

json
{
  "status": "ok",
  "action": "read",
  "summary": "读取 42 字节",
  "details": {
    "session": "board",
    "text": "help\r\n..."
  }
}

错误输出:

json
{
  "status": "error",
  "action": "send",
  "error": {
    "code": "session_unreachable",
    "message": "会话不可达,可能已退出"
  }
}

操作流程

  1. 判断是否真的需要保持交互状态;若只是一次性远程命令,优先使用 ssh;若只是串口抓日志,优先使用 serial。
  2. 选择后端:串口控制台用 serial,远程 shell 用 ssh,本机交互程序用 local。
  3. start 后先 read --timeout 1 获取启动横幅、登录提示或 shell prompt。
  4. 每次 send 后都用 read --timeout <秒> 观察反馈,再决定下一步。
  5. 完成后执行 stop,避免后台进程长期占用串口、SSH 连接或本地 Shell。

核心规则

  • 不自动猜测串口端口、波特率、SSH Host 或登录凭据。
  • 未明确用途时不主动发送任何会改变设备状态的命令。
  • 多个会话必须使用不同 --name,避免输出混淆。
  • read 会清空当前输出缓冲;重要输出需要及时记录到最终回复。
  • attach 是行模式,不等同于完整 TTY/raw 模式;需要全屏程序、vim、top、交互式密码输入时,优先让用户使用真实终端工具。
  • 串口会话会独占真实串口;如果需要和外部串口工具共享端口,先使用 serial skill 的 mux 能力。
  • SSH 后端使用 ~/.ssh/config 的 Host 别名;配置主机、跳板机、传输文件仍交给 ssh skill。
  • 失败时保留真实错误:端口占用、缺少 pyserial、ssh 不存在、Host 别名无法解析、进程已退出等都不要吞掉。

© zhinkgit, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts) in terminal of zhinkgit/embeddedskills.

  • SKILL.md
  • README.md
  • agents/openai.yaml
  • config.json
  • scripts/terminal_session.py

Open the folder on GitHubat commit 536c1f9

Compare with similar skills

Terminal next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Terminal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Terminal this skillzhinkgit/embeddedskills733—~869Automated safety check: WarnMIT
Terminal Openeraffaan-m/ECC275k—~635Automated safety check: PassMIT
Shell ScriptingRightNow-AI/openfang18k—~827Automated safety check: PassApache-2.0
Crush Shell Builtinscharmbracelet/crush29k—~790Automated safety check: PassCustom licence
Netmiko Ssh Automationaffaan-m/ECC275k1 repos~1.5kAutomated safety check: PassMIT
Terminal Opsaffaan-m/ECC275k2 repos~750Automated safety check: PassMIT

Similar skills

  • Terminal Opener

    affaan-m/ECC

    Open an executable and its argument array in a visible terminal window through a reusable, shell-free launch plan with dry-run, JSON, capability detection, detached fallback, and standalone recovery…

    275k GitHub stars~635 tokensUpdated 3 days ago
    Marketing & SEOAuto-check passed
  • Shell Scripting

    RightNow-AI/openfang

    Shell scripting expert for Bash, POSIX compliance, error handling, and automation

    18k GitHub stars~827 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Crush Shell Builtins

    charmbracelet/crush

    Explains how to add a new in-process builtin command to Crush's embedded POSIX shell, so it is intercepted before reaching the OS, with context polling and exit-status rules.

    29k GitHub stars~790 tokensUpdated today
    DevelopmentAuto-check passed
  • Safe Python Netmiko patterns for read-only collection, bounded batch SSH, TextFSM parsing, guarded config changes, timeouts, and network automation error handling.

    275k GitHub starsUsed in 1 repo~1.5k tokens
    DevOps & CloudAuto-check passed
  • Terminal Ops

    affaan-m/ECC

    Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.

    275k GitHub starsUsed in 2 repos~750 tokens
    Testing & QAAuto-check passed
  • Terminal Ops

    affaan-m/ECC

    ECCのための証拠優先のリポジトリ実行ワークフロー。ユーザーがコマンドの実行、リポジトリの確認、CIの失敗のデバッグ、正確な実行と検証の証明を伴う狭い修正のプッシュを必要とする場合に使用する。

    275k GitHub stars~439 tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from zhinkgit/embeddedskills

All 11 skills in this repo
  • Can

    zhinkgit/embeddedskills

    嵌入式 CAN / CAN-FD 调试工具,用于扫描接口、监控报文、发送测试帧、记录日志、数据库文件解码和总线统计. An agent skill from zhinkgit/embeddedskills.

    733 GitHub stars~1k tokensUpdated 1 mo ago
    Auto-check passed
  • Eide

    zhinkgit/embeddedskills

    EIDE (Embedded IDE) 工程构建工具,用于扫描 .eide/eide.yml 工程、枚举构建 配置 (ConfigName)、执行 build/rebuild/clean 并解析构建日志,返回可供 jlink/openocd 复用的产物路径。当用户提到 EIDE、Embedded IDE、eide.yml、 unifybuilder、VS Code EIDE…

    733 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Jlink

    zhinkgit/embeddedskills

    J-Link 下载与在线调试工具,用于探测设备、烧录固件、读写内存、查看寄存器、复位目标、读取 RTT/SWO 日志, 以及在线调试(暂停/恢复/单步/断点运行/调用栈/变量查看)。

    733 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check passed
  • Keil

    zhinkgit/embeddedskills

    Keil MDK 工程构建工具,用于扫描 .uvprojx/.uvproj/.uvmpw 工程、枚举 Target、执行 build/rebuild/clean 并解析构建日志,返回可供 jlink/openocd 复用的产物路径。

    733 GitHub stars~883 tokensUpdated 1 mo ago
    Auto-check passed
  • Openocd

    zhinkgit/embeddedskills

    OpenOCD 下载与调试工具,用于探针探测、固件烧录、Flash 擦除、GDB Server 启动、目标复位控制、 Telnet 在线调试(halt/resume/step/寄存器/内存/断点)、GDB 源码级调试,以及 Semihosting/ITM 输出捕获和底层查询。

    733 GitHub stars~2.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Serial

    zhinkgit/embeddedskills

    嵌入式串口调试工具,用于扫描串口、实时监控、发送数据、记录日志和 Hex 查看. An agent skill from zhinkgit/embeddedskills.

    733 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Terminal

What does Terminal do?

双向交互终端会话工具,用于串口终端、SSH 交互 Shell、本地 Shell、设备控制台、AT/CLI 菜单、需要保持上下文的交互式调试;当用户提到交互终端、串口终端、SSH 终端、打开 shell、发送命令后继续读输出、保持会话、登录后操作、菜单式命令行时触发,也兼容 /terminal 显式调用。. Terminal is an agent skill from zhinkgit/embeddedskills.

How do I install Terminal in Claude Code?

Run `npx skills add zhinkgit/embeddedskills --skill terminal -a claude-code`. Or copy the skill folder (terminal in zhinkgit/embeddedskills) into .claude/skills/terminal in your project. Claude Code loads it when a task matches its description.

How do I install Terminal in Codex?

Run `npx skills add zhinkgit/embeddedskills --skill terminal -a codex`. Or copy the skill folder (terminal in zhinkgit/embeddedskills) into .agents/skills/terminal in your project. Codex loads it when a task matches its description.

Can I use Terminal in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zhinkgit/embeddedskills --skill terminal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/terminal, .gemini/skills/terminal, .github/skills/terminal and .opencode/skills/terminal in your project.

What does Terminal need to run?

Going by SKILL.md and its folder, Terminal needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Terminal access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Terminal safe to install?

Our automated static check of SKILL.md flagged 2 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Terminal use?

Terminal is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Terminal use?

About 869 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Terminal?

Skills that share tags, products or a category with Terminal: Terminal Opener (affaan-m/ECC, 275k stars), Shell Scripting (RightNow-AI/openfang, 18k stars), Crush Shell Builtins (charmbracelet/crush, 29k stars) and Netmiko Ssh Automation (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Terminal?

zhinkgit (a GitHub user) maintains it in zhinkgit/embeddedskills, which has 733 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 3, 2026.

Source: zhinkgit/embeddedskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.