Agent skill

macOS Rebuild Dev

by termio-sh in termio-sh/termio

Kill the running termio dev app, rebuild it with SwiftPM, and relaunch it as a foreground app.

MITAuto-check passedMobile

Install macOS Rebuild Dev

skills CLI
$ npx skills add termio-sh/termio --skill macos-rebuild-dev -a claude-code

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

GitHub CLI
$ gh skill install termio-sh/termio macos-rebuild-dev --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/macos-rebuild-dev .claude/skills/macos-rebuild-dev && 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
macos-rebuild-dev
GitHub stars
540
Token cost
~1.8k tokens
SKILL.md length
863 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Kill the running termio dev app, rebuild it with SwiftPM, and relaunch it as a foreground app.

  • Works in 6 steps: Kill only the running dev app + its… → Build the dev bundle from the committed… → Re-register the dev bundle with… → …
  • Mobile work in your project
  • SKILL.md covers The dev channel, Instructions, Verifying a termiod-side change and Icons, plus 1 more section
  • Calls swift and git

What it does

macOS Rebuild Dev is an agent skill from termio-sh/termio. Kill the running termio dev app, rebuild it with SwiftPM, and relaunch it as a foreground app. Invoke when the user says 'rebuild', 'rebuild app', 'restart app', 'relaunch', '重新编译', or '重启 app'.

Its SKILL.md is about 1.8k 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. It works with macOS and Swift. 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

  • Mobile work in your project

Example prompts

  • “rebuild”
  • “rebuild app”
  • “restart app”
  • “/macos-rebuild-dev”

Workflow steps

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

  1. Kill only the running dev app + its tunnel. Both channels' inner binary is
  2. Build the dev bundle from the committed packaging/AppIcon.png — do not
  3. Re-register the dev bundle with LaunchServices, then refresh the Dock cache.
  4. Relaunch via open (NOT nohup on the inner binary — that bypasses
  5. Upgrade the running dev daemon. build-app.sh already rebuilt the
  6. Report the result: whether the build succeeded, the app relaunched, and

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:

    • swift
    • git

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

  • Network

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

macOS Rebuild Dev loads about 1.8k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 863 words of instructions outside code blocks.

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

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). 863 words, ~1,839 tokens.

Download SKILL.mdSave it as .claude/skills/macos-rebuild-dev/SKILL.md (or your agent's skills folder).
name
macos-rebuild-dev
description
Kill the running termio dev app, rebuild it with SwiftPM, and relaunch it as a foreground app. Invoke when the user says 'rebuild', 'rebuild app', 'restart app', 'relaunch', '重新编译', or '重启 app'.

Rebuild App (local development)

Kill the running dev build, rebuild it as the isolated termio-dev.app bundle, and relaunch — so every rebuild reflects the current Dock icon and, crucially, does not disturb an installed release build you use daily.

The dev channel

termio ships a TERMIO_CHANNEL=dev build that is a fully separate app from the release one, so both can run at the same time:

releasedev (this skill)
Bundletermio.app (usually /Applications)termio-dev.app (repo root)
Bundle idsh.termio.appsh.termio.app.dev
State + sockets~/Library/Application Support/termio…/termio-dev
User config~/.termio~/.termio-dev
Daemon socket$TMPDIR/termiod-<uid>…-dev
Daemon launchd jobsh.termio.termiodsh.termio.termiod.dev
Companion port87878788
CLI on PATHtermiotermio-dev
Sparkle auto-updateonno update feed (dev never self-updates)

All of this falls out of the .dev bundle-id suffix via Sources/termio/Companion/AppChannel.swift (paths + port) and scripts/build-app.sh (id, name, SUFeedURL deletion, CLI rebind). Sparkle.framework itself is embedded on both channels — the binary links it either way — so a dev bundle still carries it; it just has nothing to check.

termio is a plain SwiftPM executable (Package.swift → executableTarget named termio); swift build alone produces a bare binary with no Dock icon. So this skill builds the real bundle via scripts/build-app.sh. For a dev build the script auto-picks a real codesigning identity from your own keychain (any "Apple Development" / "Developer ID Application" cert — a free Apple ID gives you one) so the dev app can post macOS notifications; usernoted rejects an ad-hoc signature outright, so an unsigned dev build can never banner. A contributor with no signing cert falls back to ad-hoc automatically — the build still succeeds, they just don't get notifications. Set SIGN_IDENTITY=… to force a specific one. The app runs unsandboxed with .exec PTYs — see CLAUDE.md. The icon is packaging/icon-static.svg, rasterized to packaging/AppIcon.png by scripts/render-icon.sh (needs headless Chrome). Note: dev and release currently share the same icon art and differ only by name ("termio dev") — a tinted dev icon is a possible follow-up.

Instructions

When invoked, execute these steps sequentially:

  1. Kill only the running dev app + its tunnel. Both channels' inner binary is named termio (CFBundleExecutable), so pkill -x termio would kill the release app too. Match the dev bundle path instead. SIGKILL skips the app's willTerminate cleanup, so also reap the companion tunnel it spawned on the dev port (8788):

    bash
    pkill -9 -f "termio-dev.app/Contents/MacOS/termio" || true
    pkill -9 -f "cloudflared tunnel --url http://127.0.0.1:8788" || true
    pkill -9 -f "tunelo port 8788" || true
  2. Build the dev bundle from the committed packaging/AppIcon.png — do not re-render the icon (see "Icons" below). Show the tail of the output; if the build fails, show the error and stop — do NOT relaunch:

    bash
    TERMIO_CHANNEL=dev ./scripts/build-app.sh 2>&1 | tail -12
  3. Re-register the dev bundle with LaunchServices, then refresh the Dock cache. macOS resolves an app's icon by its bundle id (sh.termio.app.dev); lsregister -f forces our path to win and killall Dock drops the cached icon:

    bash
    LSREG="/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister"
    "$LSREG" -f "$PWD/termio-dev.app"
    touch ./termio-dev.app
    killall Dock 2>/dev/null || true
  4. Relaunch via open (NOT nohup on the inner binary — that bypasses LaunchServices). open's --stdout / --stderr still capture logs:

    bash
    open ./termio-dev.app --stdout /tmp/termio-dev.log --stderr /tmp/termio-dev.log
    echo "launched ./termio-dev.app (logs: /tmp/termio-dev.log)"
  5. Upgrade the running dev daemon. build-app.sh already rebuilt the daemon into Resources/termiod, but a running dev daemon keeps its old image: a dev app's launch-time reconcile deliberately refuses to stage (its bundle stamp is a placeholder, and that guard is what keeps a dev build from ever deploying itself over a release daemon). Without this step, a termiod-side change gets "verified" against the previous daemon. The deploy is idempotent — same version reports current and does nothing, so it costs nothing on Swift-only rebuilds — and an execve handoff keeps the pid and carries every live session. TERMIOD_SOCK must be unset first: a shell inside a termio session carries it pointed at the release daemon, and it overrides the channel.

    bash
    unset TERMIOD_SOCK
    TERMIO_CHANNEL=dev ./termio-dev.app/Contents/Resources/termiod deploy --json 2>&1 | tail -3

    A daemon that isn't running needs nothing: the first pane starts it from the new bundle.

  6. Report the result: whether the build succeeded, the app relaunched, and the daemon version the deploy reported. If the window doesn't appear, check /tmp/termio-dev.log.

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

Verifying a termiod-side change

Sessions carried across the handoff keep the environment and shell their old daemon spawned them with — a change to session spawning (env, injection, PTY setup) is invisible in them by design. Open a new session to see it.

Icons

scripts/render-icon.sh rasterizes packaging/icon-static.svg into packaging/AppIcon.png (and the iOS asset) through headless Chrome — and its output is not reproducible: rendering the same SVG twice writes two different files, neither matching the committed one. Running it on every rebuild therefore dirtied the tree with two unreviewable binary diffs, cost a Chrome launch, and risked overwriting hand-touched artwork. So it is not part of this loop.

Re-render only when the SVG actually changed, and commit the PNGs as their own change:

bash
./scripts/render-icon.sh && git add packaging/AppIcon.png \
  ios/Sources/Assets.xcassets/AppIcon.appiconset/AppIcon.png

Notes

  • This builds release configuration (via build-app.sh) into the dev channel bundle, so it's a few seconds slower than a bare swift build. For quick code-only iteration without a bundle, run swift build and launch "$(swift build --show-bin-path)/termio" directly — but that has no Dock icon and, running unbundled, uses AppChannel.suffix == "" (i.e. the release state dir and port 8787), so it is not isolated. Use the bundle when you need isolation.
  • A concurrent SwiftPM process holding the .build lock can make a build emit spurious errors mid-write; if that happens, just rerun.
  • Do NOT modify Package.swift or sources during a rebuild.
  • After rebuilding a UI change, pair this with the app-screenshot-debug skill to actually see the result.

© 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/macos-rebuild-dev of termio-sh/termio.

Open the folder on GitHubat commit af3b35b

Compare with similar skills

macOS Rebuild Dev 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.

macOS Rebuild Dev compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
macOS Rebuild Dev this skilltermio-sh/termio540—~1.8kAutomated safety check: PassMIT
macOS Spm App PackagingDimillian/Skills4k5 repos~1.2kAutomated safety check: PassMIT
macOS DevelopmentKartikLabhshetwar/better-shot2.4k2 repos~735Automated safety check: PassCustom licence
Snapshot Testsmicrosoft/SwiftStreamingMarkdown378—~2.2kAutomated safety check: PassMIT
Write SwiftKartikLabhshetwar/better-shot2.4k4 repos~10kAutomated safety check: PassCustom licence
Build Run Debugrobinebers/openusage4.3k—~1.8kAutomated safety check: PassMIT

Similar skills

  • macOS Spm App Packaging

    Dimillian/Skills

    Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project.

    4k GitHub starsUsed in 5 repos~1.2k tokens
    MobileAuto-check passed
  • macOS Development

    KartikLabhshetwar/better-shot

    Comprehensive macOS development guidance including Swift 6+, SwiftUI, SwiftData, architecture patterns, AppKit bridging, and macOS 26 Tahoe APIs.

    2.4k GitHub starsUsed in 2 repos~735 tokens
    MobileAuto-check passed
  • Snapshot Tests

    microsoft/SwiftStreamingMarkdown

    Official

    Record and validate swift-snapshot-testing snapshots in the SwiftStreamingMarkdown package: regenerate reference PNGs, run snapshot tests, and diff failed snapshots.

    378 GitHub stars~2.2k tokensUpdated 13 days ago
    MobileAuto-check passed
  • Write Swift

    KartikLabhshetwar/better-shot

    How to write modern Swift well — modeling with value types, Swift 6 data-race safety and approachable concurrency (@concurrent, main-actor-by-default, actors, task groups), protocols and generics…

    2.4k GitHub starsUsed in 4 repos~10k tokens
    MobileAuto-check passed
  • Build Run Debug

    robinebers/openusage

    Build, run, and debug local macOS apps and desktop executables using shell-first Xcode and Swift workflows.

    4.3k GitHub stars~1.8k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Bootstrap iOS

    RayFernando1337/rayfernando-skills

    Bootstrap agents for iOS, iPadOS, macOS, Swift, SwiftUI, SwiftData/Core Data, Swift Testing, Xcode build/test/debug, Simulator, App Intents, or XcodeBuildMCP work.

    130 GitHub stars~1.1k tokensUpdated 2 mo ago
    MobileAuto-check passed

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…

    540 GitHub stars~1.9k tokensUpdated yesterday
    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…

    540 GitHub stars~1.2k tokensUpdated yesterday
    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).

    540 GitHub stars~2.5k tokensUpdated yesterday
    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…

    540 GitHub stars~1.1k tokensUpdated yesterday
    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.

    540 GitHub stars~1.7k tokensUpdated yesterday
    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.

    540 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about macOS Rebuild Dev

What does macOS Rebuild Dev do?

Kill the running termio dev app, rebuild it with SwiftPM, and relaunch it as a foreground app. macOS Rebuild Dev is an agent skill from termio-sh/termio. Kill the running termio dev app, rebuild it with SwiftPM, and relaunch it as a foreground app.

When should I use macOS Rebuild Dev?

macOS Rebuild Dev fits situations like: mobile work in your project.

How do I install macOS Rebuild Dev in Claude Code?

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

How do I install macOS Rebuild Dev in Codex?

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

Can I use macOS Rebuild Dev 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 macos-rebuild-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/macos-rebuild-dev, .gemini/skills/macos-rebuild-dev, .github/skills/macos-rebuild-dev and .opencode/skills/macos-rebuild-dev in your project.

What does macOS Rebuild Dev need to run?

Going by SKILL.md and its folder, macOS Rebuild Dev needs the command-line tools its instructions call (swift and git).

Does macOS Rebuild Dev access the network?

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

Is macOS Rebuild Dev 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 macOS Rebuild Dev use?

macOS Rebuild Dev 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 macOS Rebuild Dev use?

About 1.8k tokens (SKILL.md is roughly 7.4k 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 macOS Rebuild Dev?

Skills that share tags, products or a category with macOS Rebuild Dev: macOS Spm App Packaging (Dimillian/Skills, 4k stars), macOS Development (KartikLabhshetwar/better-shot, 2.4k stars), Snapshot Tests (microsoft/SwiftStreamingMarkdown, 378 stars) and Write Swift (KartikLabhshetwar/better-shot, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains macOS Rebuild Dev?

termio-sh (a GitHub organization) maintains it in termio-sh/termio, which has 540 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 7, 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.