Agent skill

Check Ghostty Update

by termio-sh in termio-sh/termio

Check whether ghostty (the terminal core termio embeds via the termio-sh/libghostty-swift fork) has shipped anything worth pulling since the binary termio is currently pinned to.

MITAuto-check passedMobile

Install Check Ghostty Update

skills CLI
$ npx skills add termio-sh/termio --skill check-ghostty-update -a claude-code

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

GitHub CLI
$ gh skill install termio-sh/termio check-ghostty-update --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/check-ghostty-update .claude/skills/check-ghostty-update && 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
check-ghostty-update
GitHub stars
537
Token cost
~1.7k tokens
SKILL.md length
664 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Check whether ghostty (the terminal core termio embeds via the termio-sh/libghostty-swift fork) has shipped anything worth pulling since the binary termio is currently pinned to.

  • Works in 4 steps: Resolve the ghostty sha termio is… → Diff against ghostty main → Pull the gap and separate signal from… → …
  • Says check ghostty update
  • SKILL.md covers What this skill does NOT do, Procedure and Notes
  • Calls gh and git

What it does

Check Ghostty Update is an agent skill from termio-sh/termio. Check whether ghostty (the terminal core termio embeds via the termio-sh/libghostty-swift fork) has shipped anything worth pulling since the binary termio is currently pinned to. Resolves the pinned ghostty sha, diffs it against ghostty main, filters the gap for changes that actually reach termio's embedded VT/terminal core (dropping app-chrome / packaging / i18n noise), and gives a keep-waiting-or-pull-now verdict. Invoke when the user says 'check ghostty update', 'is ghostty out of date', 'did ghostty ship…

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering iOS development and Internationalization. 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 check ghostty update
  • Is ghostty out of date
  • Did ghostty ship anything major
  • Should I bump ghostty/libghostty

Example prompts

  • “check ghostty update”
  • “is ghostty out of date”
  • “did ghostty ship anything major”
  • “/check-ghostty-update”

Workflow steps

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

  1. Resolve the ghostty sha termio is currently on
  2. Diff against ghostty main
  3. Pull the gap and separate signal from noise
  4. Verdict

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

    Shell commands in SKILL.md call:

    • gh
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use gh and git, 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

Check Ghostty Update loads about 1.7k tokens when it runs. Until then it costs about 167 tokens; SKILL.md has 664 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from termio-sh/termio at commit af3b35b, republished under its MIT licence (© termio-sh). 664 words, ~1,673 tokens.

Download SKILL.mdSave it as .claude/skills/check-ghostty-update/SKILL.md (or your agent's skills folder).
name
check-ghostty-update
description
Check whether ghostty (the terminal core termio embeds via the termio-sh/libghostty-swift fork) has shipped anything worth pulling since the binary termio is currently pinned to. Resolves the pinned ghostty sha, diffs it against ghostty main, filters the gap for changes that actually reach termio's embedded VT/terminal core (dropping app-chrome / packaging / i18n noise), and gives a keep-waiting-or-pull-now verdict. Invoke when the user says 'check ghostty update', 'is ghostty out of date', 'did ghostty ship anything major', 'should I bump ghostty/libghostty', '看看 ghostty 有没有更新', '检查 ghostty 更新', 'ghostty 有什么重大更新', or '要不要更新 libghostty'.

Check ghostty update

termio does not build ghostty itself — it embeds ghostty's terminal core through the termio-sh/libghostty-swift fork, whose weekly CI rebuilds GhosttyKit.xcframework against ghostty main and publishes it as a storage.X.Y.Z release ([[termio-libghostty-swift]]). So "is ghostty up to date" really means: how far is ghostty main ahead of the sha baked into the binary termio is pinned to, and is anything in that gap relevant to termio?

termio is an embedder, so only a slice of ghostty's changes matter. Weight the diff accordingly — see Signal vs. noise below. Local self-build is impossible on this Mac (Tahoe/zig deadlock); updating the binary always goes through the fork's CI.

What this skill does NOT do

Report only. It does not tag the fork, trigger CI, or bump any pin. Those are the follow-up the verdict points to (and separate skills / explicit asks).

Procedure

Run these steps and report; everything is read-only gh + grep.

1. Resolve the ghostty sha termio is currently on

The pin chain is: termio Package.resolved → fork version tag → that tag's Package.swift names a storage.X.Y.Z binary → that storage release's title carries the ghostty sha (format ... · ghostty v1.3.1-<N>-g<sha>).

bash
REPO=$(git rev-parse --show-toplevel)
FORK=termio-sh/libghostty-swift
GHOSTTY=ghostty-org/ghostty

VER=$(grep -A6 '"identity" : "libghostty-swift"' "$REPO/Package.resolved" \
      | grep '"version"' | head -1 | sed -E 's/.*"version" : "([^"]+)".*/\1/')
STORAGE=$(gh api "repos/$FORK/contents/Package.swift?ref=$VER" --jq '.content' \
      | base64 -d | grep -oE 'storage\.[0-9]+\.[0-9]+\.[0-9]+' | head -1)
NAME=$(gh release view "$STORAGE" --repo "$FORK" --json name --jq '.name')
CUR=$(echo "$NAME" | grep -oE 'g[0-9a-f]{7,}' | sed 's/^g//')
echo "termio pin: fork $VER → $STORAGE → ghostty $NAME (sha $CUR)"

If any of these come back empty, fall back: the fork's latest storage.* release is usually what a fresh resolve would pick — gh release list --repo $FORK | grep storage | head -1 — and note the discrepancy.

2. Diff against ghostty main
bash
gh api "repos/$GHOSTTY/compare/$CUR...main" \
  --jq '"ahead: \(.ahead_by), head: \(.commits[-1].sha[0:7]) @ \(.commits[-1].commit.author.date[0:10])"'
  • ahead: 0 → you are current. Stop and report "nothing to pull."
  • Otherwise capture ahead_by and the head sha/date for the report.
3. Pull the gap and separate signal from noise
bash
gh api "repos/$GHOSTTY/compare/$CUR...main" \
  --jq '.commits[].commit.message | split("\n")[0]' > /tmp/ghostty_gap.txt
wc -l /tmp/ghostty_gap.txt

Signal — changes that reach termio's embedded core (surface these): prefixes lib-vt:, terminal:, terminal/…:, renderer:, font:, kitty (graphics / keyboard / protocol), osc, selection, sixel, hyperlink, unicode, perf / throughput, scrollback, resize/reflow, mode/DEC private modes.

Noise — termio host-manages IO and ships its own AppKit/SwiftUI chrome, so ignore: macOS: (splits, tabs, title bar, NSScrollPocket, HIG), gtk/gnome, pkg/… / apple-sdk / build.zig, i18n/translation, nushell/shell-integration, docs, ci, gitignore, VOUCHED/changelog.

bash
grep -iE 'lib-vt|terminal[:/]|renderer|kitty|osc|selection|sixel|hyperlink|unicode|scrollback|reflow|throughput|perf|font' /tmp/ghostty_gap.txt \
  | grep -ivE 'macos:|gtk|gnome|pkg/|apple-sdk|i18n|translat|nushell|docs:|^ci|gitignore|vouched' \
  | sort -u

Read the survivors yourself — the grep is a first pass, not the judgement. For any that look big (memory/perf wins, a new VT/embedder API termio could use, a protocol termio renders like kitty graphics), confirm it isn't already in the pinned binary by date (a commit older than the binary's build date is already in) or with a compare: gh api repos/$GHOSTTY/compare/<that-sha>...$CUR --jq .status → ahead/identical = already have it.

Show full SKILL.md (279 more words)Show less
4. Verdict

Give a short, honest call:

  • Nothing relevant (gap is all app-chrome/packaging/i18n) → "no reason to bump; the Monday cron will roll it forward on its own." This is the common case — ghostty is high-velocity but most of it is app-layer.
  • Something relevant but minor → name it, say it'll arrive with the next weekly build, no rush.
  • Something genuinely major (big perf/memory win, a VT/embedder API termio wants, a correctness fix in a path termio exercises) → name it with its PR #, and offer the pull-now path.
Pull-now path (only when the verdict warrants it)

The binary can't be built locally. To pull ghostty early:

  1. Manually dispatch the fork's CI against a specific ghostty ref — the fork's .github/workflows/build.yml takes a ghostty_ref input (default builds main HEAD): gh workflow run build.yml --repo termio-sh/libghostty-swift -f ghostty_ref=main (or pin an exact sha). It publishes a new storage.X.Y.Z + X.Y.Z tag (~30 min).
  2. Bump termio's pin (Package.swift from: + re-resolve Package.resolved), and the iOS TermioMobile.xcodeproj pin if the phone should get it too (it pins the fork separately — see [[termio-libghostty-swift]]).
  3. macos-rebuild-dev and verify.

Notes

  • ghostty cuts stable tags rarely (last was v1.3.1, 2026-03), and the fork tracks main, so termio typically rides ~1400+ commits ahead of ghostty's newest stable tag. "No new ghostty release" ≠ "nothing new" — always compare against main, never against tags.
  • The fork's own semver (1.0.x) is the wrapper version and is decoupled from ghostty's version; a wrapper-only change (like the Swift-side InMemoryTerminalSession fixes) bumps the fork tag while reusing the same storage.* ghostty binary. That's why step 1 reads the storage tag from the pinned tag's Package.swift rather than assuming storage.<same-version>.
  • Needs the gh CLI authenticated. All calls are read-only.

© 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

Just SKILL.md in skills/check-ghostty-update of termio-sh/termio.

Open the folder on GitHubat commit af3b35b

Compare with similar skills

Check Ghostty Update 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.

Check Ghostty Update compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Check Ghostty Update this skilltermio-sh/termio537—~1.7kAutomated safety check: PassMIT
Generatorsgustavscirulis/snapgrid1171 repos~4kAutomated safety check: NotesCustom licence
Cometchat Angular V5 Migrationcometchat/cometchat-skills131—~1.9kAutomated safety check: PassMIT
Localizationjohnrogers/claude-swift-engineering231—~749Automated safety check: PassMIT
iOS Patternshanamizuki/solopreneur152—~2.3kAutomated safety check: NotesMIT
LocalizationCamilleScholtz/swmpc239—~1.2kAutomated safety check: PassEUPL-1.2

Similar skills

  • Generators

    gustavscirulis/snapgrid

    Code generator skills that produce production-ready Swift code for common app components.

    117 GitHub starsUsed in 1 repo~4k tokens
    MobileAuto-check: notes
  • Cometchat Angular V5 Migration

    cometchat/cometchat-skills

    Upgrade an Angular app from CometChat UI Kit v4 → v5 (@cometchat/chat-uikit-angular ^4 → ^5).

    131 GitHub stars~1.9k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Localization

    johnrogers/claude-swift-engineering

    A skill your agent uses when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support.

    231 GitHub stars~749 tokensUpdated 8 mo ago
    Frontend & DesignAuto-check passed
  • iOS Patterns

    hanamizuki/solopreneur

    A skill your agent uses when building iOS/macOS apps with SwiftUI — covers localization (String Catalogs), date/time formatting, JSON date decoding, Previews, state management, sheet/navigation…

    152 GitHub stars~2.3k tokensUpdated 12 days ago
    Frontend & DesignAuto-check: notes
  • Localization

    CamilleScholtz/swmpc

    Inspect and edit Xcode String Catalogs (.xcstrings) via bundled l10n.sh and findunusedkeys.sh scripts, and apply Apple localization conventions.

    239 GitHub stars~1.2k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Localization Setup

    rshankras/claude-code-apple-skills

    Generate internationalization (i18n) infrastructure for multi-language support in iOS/macOS apps.

    785 GitHub stars~1.4k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes

More from termio-sh/termio

All 19 skills in this repo
  • Termio Bug Report

    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…

    537 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • 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

Questions about Check Ghostty Update

What does Check Ghostty Update do?

Check whether ghostty (the terminal core termio embeds via the termio-sh/libghostty-swift fork) has shipped anything worth pulling since the binary termio is currently pinned to. Check Ghostty Update is an agent skill from termio-sh/termio. Check whether ghostty (the terminal core termio embeds via the termio-sh/libghostty-swift fork) has shipped anything worth pulling since the binary termio is currently pinned to.

When should I use Check Ghostty Update?

Check Ghostty Update fits situations like: says check ghostty update; is ghostty out of date; did ghostty ship anything major; should I bump ghostty/libghostty.

How do I install Check Ghostty Update in Claude Code?

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

How do I install Check Ghostty Update in Codex?

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

Can I use Check Ghostty Update 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 check-ghostty-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/check-ghostty-update, .gemini/skills/check-ghostty-update, .github/skills/check-ghostty-update and .opencode/skills/check-ghostty-update in your project.

What does Check Ghostty Update need to run?

Going by SKILL.md and its folder, Check Ghostty Update needs the command-line tools its instructions call (gh and git).

Does Check Ghostty Update access the network?

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

Is Check Ghostty Update 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. Review the folder before installing.

What licence does Check Ghostty Update use?

Check Ghostty Update 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 Check Ghostty Update use?

About 1.7k tokens (SKILL.md is roughly 6.7k 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 Check Ghostty Update?

Skills that share tags, products or a category with Check Ghostty Update: Generators (gustavscirulis/snapgrid, 117 stars), Cometchat Angular V5 Migration (cometchat/cometchat-skills, 131 stars), Localization (johnrogers/claude-swift-engineering, 231 stars) and iOS Patterns (hanamizuki/solopreneur, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Check Ghostty Update?

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.