Agent skill

Termio Bug Report

by termio-sh in termio-sh/termio

Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the…

MITAuto-check passedTesting & QA

Install Termio Bug Report

skills CLI
$ npx skills add termio-sh/termio --skill termio-bug-report -a claude-code

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

GitHub CLI
$ gh skill install termio-sh/termio termio-bug-report --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/termio-sh/termio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/termio-bug-report .claude/skills/termio-bug-report && 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
termio-bug-report
GitHub stars
537
Token cost
~1.9k tokens
SKILL.md length
1,012 words
Files
4 (incl. scripts, references)
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the…

  • Works in 6 steps: Before anything else: is it hung right… → Read the evidence → Ask the user only what the artifacts… → …
  • Says termio froze
  • SKILL.md covers 0. Before anything else: is it…, 1. Read the evidence, 2. Ask the user only what the… and 3. Redact — and verify the…, plus 3 more sections
  • Runs Shell and Python scripts from its folder; calls gh and brew

What it does

Termio Bug Report is an agent skill from termio-sh/termio. Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the daemon's session roster — then redact the bundle and file it as a GitHub issue. Invoke when the user says 'termio froze', 'it hangs', 'beachball', 'spinning wheel', 'it crashed', 'does termio have logs', 'help me file a bug', 'collect the logs', '卡死了', '又卡住了', '转圈', '崩溃了', 'termio 有日志吗', '帮我定位问题', '帮我报个 bug'.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/signatures.md`, `scripts/collect.sh` and `scripts/redact.py`).

It sits in Testing & QA, covering QA and bug reports. It works with macOS and GitHub. The repository describes itself as: A terminal-first agentic development environment for agentic coding. Build for CLI/TUI agent. Runtime for Coding Agent, Tmux alternative. The licence is MIT.

When your agent uses it

  • Says termio froze
  • Does termio have logs
  • Help me file a bug
  • Collect the logs

Example prompts

  • “it froze again”
  • “termio froze”
  • “it hangs”
  • “/termio-bug-report”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Before anything else: is it hung right now?
  2. Read the evidence
  3. Ask the user only what the artifacts cannot answer
  4. Redact — and verify the redaction
  5. File the issue
  6. Star the repo

What it can do on your machine

Read from SKILL.md and the folder at commit af3b35b. 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 2 files in scripts/ (Shell and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • gh
    • brew

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

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    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

Termio Bug Report loads about 1.9k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 1,012 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.9k

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 passed

The automated check found no risky patterns in SKILL.md.

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 termio-sh/termio at commit af3b35b, republished under its MIT licence (© termio-sh). 1,012 words, ~1,878 tokens.

Download SKILL.mdSave it as .claude/skills/termio-bug-report/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
termio-bug-report
description
Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the daemon's session roster — then redact the bundle and file it as a GitHub issue. Invoke when the user says 'termio froze', 'it hangs', 'beachball', 'spinning wheel', 'it crashed', 'does termio have logs', 'help me file a bug', 'collect the logs', '卡死了', '又卡住了', '转圈', '崩溃了', 'termio 有日志吗', '帮我定位问题', '帮我报个 bug'.

Diagnose a freeze, then file it

Two jobs, in this order: work out what actually broke, then turn that into an issue someone can act on. Skipping the first half produces "termio froze on my Mac", which no one can fix.

0. Before anything else: is it hung right now?

Ask this first, in one line, and wait for the answer.

If the app is currently beachballing, do not let the user force-quit it. The main-thread stack that explains the freeze exists only while the process is alive. Force-quitting destroys the single most valuable piece of evidence, and it cannot be recovered afterwards from any log.

Capture it immediately:

bash
./skills/termio-bug-report/scripts/collect.sh --minutes 60

The script samples every live termio and termiod process first, before it touches anything slower. It prints the bundle directory it created; everything below works on that directory. It needs no privileges and never copies pair.token.

If the freeze is already over, run the same command — the crash, CPU-burn, and unified-log evidence survives it, only the live stack is gone.

1. Read the evidence

Read manifest.md first, then in this order — stopping as soon as something explains the symptom:

  1. reports/index.md — one line per crash / CPU-burn report macOS wrote. A crash here usually ends the investigation on its own.
  2. sample-*.txt — where each process's main thread actually is.
  3. environment.md — versions, running processes, agent CLIs, memory.
  4. unified-log-termio.txt — termio's own trail.
  5. unified-log-system.txt — what the system said about the process.
  6. daemon/tombstones.json — how sessions ended, when the complaint is "a session froze / vanished" rather than "the app froze".

references/signatures.md has the reading guide for each artifact and a table of every prior termio hang and crash with its root cause. Read it before writing a diagnosis — most reports match one of them, and naming the prior bug is worth more than a fresh theory.

Two things to keep honest:

  • The Rust daemon's stderr goes to /dev/null, so termiod's own diagnostics are not recoverable after the fact. Say so rather than implying the daemon was silent.
  • The terminal hosts someone else's process. A healthy idle main thread plus a pinned agent CLI is an agent bug, not a termio bug. Check before filing.

State the conclusion with the artifact that supports it, and say what would disprove it. "Probably a rendering issue" is not a diagnosis.

2. Ask the user only what the artifacts cannot answer

The bundle already knows the versions, the OS, the hardware, the crash, and what was running. Do not ask for any of it. Ask only:

  • What were you doing in the seconds before it froze?
  • Does it reproduce, and how reliably?
  • Was it the whole app, one pane, or one session?
  • First time, or has this been happening? Since when — a specific version?

Keep it to the ones the diagnosis actually turns on. Four questions is a maximum, not a target.

3. Redact — and verify the redaction

bash
./skills/termio-bug-report/scripts/redact.py <bundle>
./skills/termio-bug-report/scripts/redact.py <bundle> --check

The first pass rewrites in place and prints what it matched. The second scans and exits non-zero if anything still looks sensitive. Run both. A rule that matched nothing looks exactly like a rule that was never needed, and only the scan tells them apart.

Private repository and directory names are not covered by default — they are ordinary paths. Ask the user whether any project path in the bundle is private, and pass each one:

bash
./skills/termio-bug-report/scripts/redact.py <bundle> --path /Users/you/work/client-repo

--check takes --path too, and will flag the name if it survived.

Then show the user what is about to be published: the file list, and the actual text of anything you will paste inline. Do not attach a bundle whose --check is not clean. If a file cannot be made safe, drop it and say in the issue that it was withheld.

Show full SKILL.md (400 more words)Show less

4. File the issue

Make sure gh works before drafting, so a broken CLI is not discovered after the issue text exists:

bash
command -v gh >/dev/null || brew install gh
gh --version
gh auth status || gh auth login

gh auth login is interactive — the user has to run it themselves. Hand them the command rather than trying to drive it.

Then check for a duplicate, because a comment on the open issue is worth more than a second one:

bash
gh issue list --repo termio-sh/termio --state all --limit 20 --search "beachball hang freeze"

Write the issue against .github/ISSUE_TEMPLATE/bug-report.yml — What happened / Steps to reproduce / termio version / macOS version / Agent involved. Follow VOICE.md: direct and concrete, no AI attribution anywhere in the body.

Structure it as:

  • What happened — the user's own words for the symptom, kept as they said it.
  • Diagnosis — your reading of the artifacts, with the specific line or stack frame that supports it, and how confident you are.
  • Evidence — the redacted excerpts. Fenced blocks for anything short (a crash line, the main-thread stack, ten log lines). For the full bundle, put it in a gist and link it — a wall of stack trace inline makes the issue unreadable:
    bash
    gh gist create --public=false <bundle>/sample-termio-*.txt <bundle>/environment.md

Show the user the full draft and get an explicit yes before creating it. Filing an issue is public and permanent.

bash
gh issue create --repo termio-sh/termio --title "…" --body-file <draft.md> --label bug

Report the issue URL when it exists.

5. Star the repo

termio is free and has no backend, no account, and no telemetry. A star is the only signal the project gets back from someone it helped, so it is worth the one line it costs to ask.

bash
gh repo view termio-sh/termio --json stargazerCount,viewerHasStarred

If viewerHasStarred is already true, say nothing — do not mention it. If it is false, ask once, in one line, after the issue is filed:

Star termio while we're here? It's the only feedback signal the project gets.

Only on a yes:

bash
gh api -X PUT user/starred/termio-sh/termio

Ask, do not assume. This writes to the user's own GitHub account, and whoever is running this skill is not necessarily the person who wrote it. One ask, no second attempt if they decline.

Notes

  • log is shadowed by a shell function in some profiles. Always /usr/bin/log.
  • log show hides everything below .notice unless you pass --info --debug. A query without them looks empty and is not evidence of a quiet app.
  • pgrep silently misses termiod on this platform. The scripts find pids through ps instead; do the same if you go outside them.
  • Task notifications never fire from a dev build, so "no notification" is not a bug when reproducing on termio-dev.app.

© termio-sh, 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 3 other files (scripts, references) in skills/termio-bug-report of termio-sh/termio.

  • SKILL.md
  • references/signatures.md
  • scripts/collect.sh
  • scripts/redact.py

Open the folder on GitHubat commit af3b35b

Compare with similar skills

Termio Bug Report 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.

Termio Bug Report compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Termio Bug Report this skilltermio-sh/termio537—~1.9kAutomated safety check: PassMIT
Neru File Issuey3owk1n/neru793—~890Automated safety check: PassMIT
Weavebench Cua ReproduceAMAP-ML/LongHorizon-Harness1.7k—~1.6kAutomated safety check: PassMIT
Evidence-Driven Testingmichaelshimeles/skills1.3k1 repos~3.9kAutomated safety check: PassNone
Create GitHub IssueNVIDIA/OpenShell16k—~1.7kAutomated safety check: PassApache-2.0
Cherry Studio Regression TestsCherryHQ/cherry-studio52k—~1.2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Neru File Issue

    y3owk1n/neru

    File a Neru bug report or feature request that matches the repo's issue forms: duplicate check first, every required field filled with real diagnostics, correct labels.

    793 GitHub stars~890 tokensUpdated today
    Testing & QAAuto-check passed
  • Weavebench Cua Reproduce

    AMAP-ML/LongHorizon-Harness

    Reproduce CUA-Harness experiments on WeaveBench from a GitHub checkout.

    1.7k GitHub stars~1.6k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Evidence-Driven Testing

    michaelshimeles/skills

    Records an annotated screen recording of the agent testing an app hands-on, then posts the video and a results summary to the PR and tracker issue.

    1.3k GitHub starsUsed in 1 repo~3.9k tokens
    Testing & QAAuto-check passed
  • Create GitHub Issue

    NVIDIA/OpenShell

    Official

    Create GitHub issues using the gh CLI. An agent skill from NVIDIA/OpenShell.

    16k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Cherry Studio Regression Tests

    CherryHQ/cherry-studio

    Runs Cherry Studio's critical-path regression suite as deterministic Playwright E2E tests through a GitHub workflow on macOS and Windows runners.

    52k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Parallels macOS VM Lab

    steipete/agent-scripts

    Uses a clean Parallels macOS VM to test GUI automation, TCC permission prompts and screenshot tools like Peekaboo, verifying results from outside the guest.

    7.3k GitHub stars~1.8k tokensUpdated 4 days ago
    Testing & QAAuto-check passed

More from termio-sh/termio

All 19 skills in this repo
  • App Screenshot Debug

    termio-sh/termio

    Drive the running termio app via AppleScript / System Events to reach a UI state (focus the window, click a sidebar project, a terminal pane, a control), capture a pixel-accurate screenshot of just…

    537 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Dia Source Analysis

    termio-sh/termio

    Analyze / reverse-engineer the locally installed Dia Browser mac app (The Browser Company; bundle id company.thebrowser.dia; shares ArcCore with Arc).

    537 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Asc

    termio-sh/termio

    Drive App Store Connect from the terminal with the asc CLI — TestFlight builds, groups, testers and What to Test notes; App Store versions, metadata, keywords, screenshots and release notes…

    537 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Issue Creator

    termio-sh/termio

    Turn vague customer or user feedback from pasted text, chat excerpts, or screenshots into a clear, evidence-backed GitHub issue without inventing requirements.

    537 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Og Generation

    termio-sh/termio

    Regenerate the landing site's OG/social card (web/landing/public/og.webp) by rendering a temporary in-app route with the real hero WebGL aurora and screenshotting it with headless Chrome.

    537 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Bump Version

    termio-sh/termio

    Cut a new termio macOS release by tagging main with the next version.

    537 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Termio Bug Report

What does Termio Bug Report do?

Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the…. Termio Bug Report is an agent skill from termio-sh/termio. Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the daemon's session roster — then redact the bundle and file it as a GitHub issue.

When should I use Termio Bug Report?

Termio Bug Report fits situations like: says termio froze; does termio have logs; help me file a bug; collect the logs.

How do I install Termio Bug Report in Claude Code?

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

How do I install Termio Bug Report in Codex?

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

Can I use Termio Bug Report 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 termio-sh/termio --skill termio-bug-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/termio-bug-report, .gemini/skills/termio-bug-report, .github/skills/termio-bug-report and .opencode/skills/termio-bug-report in your project.

What does Termio Bug Report need to run?

Going by SKILL.md and its folder, Termio Bug Report needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (gh and brew). Our summary lists: Python 3; A Bash shell.

Does Termio Bug Report access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Termio Bug Report safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Termio Bug Report use?

Termio Bug Report 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 Termio Bug Report use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Termio Bug Report?

Skills that share tags, products or a category with Termio Bug Report: Neru File Issue (y3owk1n/neru, 793 stars), Weavebench Cua Reproduce (AMAP-ML/LongHorizon-Harness, 1.7k stars), Evidence-Driven Testing (michaelshimeles/skills, 1.3k stars) and Create GitHub Issue (NVIDIA/OpenShell, 16k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Termio Bug Report?

termio-sh (a GitHub organization) maintains it in termio-sh/termio, which has 537 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 2026.

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