Tuicr
agavra/tuicr
Use tuicr's review CLI to read and add comments in active TUI review sessions, and launch tuicr in cmux, tmux, Zellij, or Herdr when a user needs an interactive review pane.
A skill your agent uses when you need to inspect or control user's own terminals, or if asked to do something with user's specific terminal, or before starting a dev server, watcher, tunnel, REPL…
$ npx skills add maxktz/hitch --skill hitch -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install maxktz/hitch hitch --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "hitch" agent skill from https://github.com/maxktz/hitch/tree/main into .claude/skills/hitch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hitch", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add maxktz/hitch --skill hitch -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install maxktz/hitch hitch --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hitch" agent skill from https://github.com/maxktz/hitch/tree/main into .agents/skills/hitch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hitch", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add maxktz/hitch --skill hitch -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install maxktz/hitch hitch --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "hitch" agent skill from https://github.com/maxktz/hitch/tree/main into .cursor/skills/hitch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hitch", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add maxktz/hitch --skill hitch -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install maxktz/hitch hitch --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "hitch" agent skill from https://github.com/maxktz/hitch/tree/main into .gemini/skills/hitch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hitch", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install maxktz/hitch hitchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add maxktz/hitch --skill hitch -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "hitch" agent skill from https://github.com/maxktz/hitch/tree/main into .github/skills/hitch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hitch", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add maxktz/hitch --skill hitch -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install maxktz/hitch hitch --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "hitch" agent skill from https://github.com/maxktz/hitch/tree/main into .opencode/skills/hitch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hitch", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
hitchA skill your agent uses when you need to inspect or control user's own terminals, or if asked to do something with user's specific terminal, or before starting a dev server, watcher, tunnel, REPL…
Hitch is an agent skill from maxktz/hitch. Use when you need to inspect or control user's own terminals, or if asked to do something with user's specific terminal, or before starting a dev server, watcher, tunnel, REPL, build, or log tail that may already be running by the user.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 37 other files, including scripts and assets (for example `.github/workflows/release.yml`, `CONTRIBUTING.md` and `README.md`).
It works with tmux and Rust. The repository describes itself as: Share your terminal with coding agent in one command. Lightweight shell proxy, written in Rust. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit bcbfca2. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
pythonpnpmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm and curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Hitch loads about 1.8k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 1,074 words of instructions outside code blocks.
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.
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.
The full file from maxktz/hitch at commit bcbfca2, republished under its MIT licence (© maxktz). 1,074 words, ~1,789 tokens.
.claude/skills/hitch/SKILL.md (or your agent's skills folder). This skill also uses 32 other files; get the full folder from GitHub.If skill activated with no concrete task provided - don't act, just remember it. This is reference knowledge for you on how to use hitch.
hitch CLI for agents to see and control shared terminal sessions that the user already has opened.
Useful for tasks when you need to collaborate with the user in the same terminal and you both want to interact with it. Like long running tasks, dev servers, watchers, tunnels, builds. Think of it like tmux but with proper agent tools.
hitch context [TERMINAL]Use first. Shows compact terminal state and recent useful output.
Forms:
hitch context - all terminals of current project
hitch context <terminal> - one specific terminal, more detailed output, usually paired with specific --tail
hitch context --all - all terminals, includes outside of the project
Options:
--tail <n> - recent visible output lines. Default: 20, or 80 for context <terminal>
--head <n> - active process head lines. Default: 5, or 10 for context <terminal>
Output is summarized for agents: no colors, blank lines removed. Avoid using too long --tail for simpler use cases, if unnecessary Always default to without --all, use this flag only when specifically needed Usually in most of simple cases you don't have to pass custom --tail or especially --head
hitch send-keys -t <terminal> [OPTIONS] <keys...>Similar to how tmux send-keys works.
Sends input to a terminal.
If --tail or --wait is passed, it also prints new output produced after sending keys. (will not include previous history output)
Common keys:
EnterTabEscape / EscSpaceBackspace / BSpaceC-c, C-u, etc.Options:
-t, --target <terminal> - terminal id.--wait finish - wait until the foreground command finishes.--wait quiet:<duration> - wait until output stops changing for duration, e.g. quiet:1s.--wait time:<duration> - wait fixed time before returning output, e.g. time:5s.--wait output - wait until any new output appears.--timeout <duration> - max wait time. Default: 30s.--tail <n> - print this many new visible output lines after sending.--force - send input even if the terminal has a running process.Options must come before keys!
Durations support ms, s, m.
Examples:
hitch send-keys -t 1 C-u "npm test" Enterhitch send-keys -t 1 --wait quiet:1s --tail 40 C-u "npm run dev" Enterhitch send-keys -t 1 --wait finish --tail 80 C-u "npm test" EnterOutput behavior:
--wait or --tail, send-keys sends input but prints nothing.--wait is set, Hitch waits, then prints new output from that terminal.--tail <n> is set, Hitch prints up to <n> new visible output lines after sending.--wait without --tail defaults to printing up to 40 new visible output lines, so if you expect an output shorter than 40 lines, passing --tail is not necessary--wait is made to be used instead of commands like "sleep", to not be polling the terminal yourself, prefer using it if needed.
While waiting until finish of command, and expect it to be longer than 30s, pass custom --timeout. But usually you may not want to not wait such longer for processes. Or you may choose to wait for longer commands on your own, by polling output tail after a while.
hitch capture -t <terminal> [OPTIONS]Mirrors tmux capture-pane behavior. To capture one terminal, prefer context <terminal> over capture; use capture only if more options needed. Also works with alias hitch capture-pane.
Options:
-t <terminal> - terminal id.-p - print to stdout, tmux-compatible.-S <start> - start line. Negative values count from the end, e.g. -S -100.-E <end> - end line.-e - raw/escape output, tmux-compatible.Accepted compatibility no-op flags:
-C, -J, -N, -T, -a, -qTerminal ids are numbers. If user says "hitch 2", "terminal 2", or "session 2", they likely mean terminal id 2.
Before interrupting user's processes with C-c, make sure the user asked for it or it is clearly necessary.
Do not send shell commands to terminals with running processes unless you intend to interact with that process. Hitch refuses this by default and prints terminal context; use --force only when intentional. A sequence starting with C-c is allowed because it interrupts the running process first.
If a process is currently running in hitch terminal, you can't run other commands in it without stopping the process, just like with tmux, you would have to send C-c to first, so make sure you were actually asked to stop this process or it's necessary.
If you just started using hitch in fresh chat, usually better to always start with general hitch context, not specific terminal right away
no need to pre check if CLI is installed, this skill comes with it.
in case you or the user facing errors or bugs with hitch, feel free to point them to the github repository https://github.com/maxktz/hitch for feedback or help
You should not run everything in hitch, only the commands you want to share with the user, or explicitly asked to run in hitch. If you're just running short tool calls like reading files, sending requests, there is absolutely no reason to use hitch over your native tools. Only use hitch for collaboration
NEVER send a shell command into a terminal which currently has long running process (examples: next dev, vite, npm run dev, rails server, cargo watch,
python -m http.server) unless the user explicitly asked you to
type into that process itself.
Treat input sent to such a terminal as stdin for the running process, not as a new shell command. Assume it will not execute in a shell.
If you need to make requests against a server running in hitch
terminal N, use a different execution context:
If option 1 fails because of sandbox/network isolation, DO NOT
fall back to hitch send-keys in the same occupied terminal. Use
option 2 or ask the user to make the request, then inspect logs
with hitch context N or hitch capture -t N.
--force is only for intentionally sending input to the running
foreground process itself, not for trying to run another shell
command behind it.
Bad:
pnpm devhitch send-keys -t 1 --force "curl http://localhost:3000" EnterWhy bad:
curl ... to the dev server's stdin; it does not
execute a second shell commandGood:
hitch context 1 --tail 40© maxktz, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 32 other files (scripts, assets) in the repository root of maxktz/hitch.
Open the folder on GitHubat commit bcbfca2
Hitch 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Hitch this skillmaxktz/hitch | 178 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Tuicragavra/tuicr | 3.3k | — | ~3.2k | Automated safety check: Pass | MIT | |
| RmuxHelvesec/rmux | 2.7k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Luvus ModuleRizRiyz/luvus | 957 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| TUI Change Verification for Warpwarpdotdev/warp | 65k | 1 repos | ~5.5k | Automated safety check: Notes | AGPL-3.0 | |
| Update V8 Versionopeninterpreter/openinterpreter | 69k | 2 repos | ~845 | Automated safety check: Pass | Apache-2.0 |
agavra/tuicr
Use tuicr's review CLI to read and add comments in active TUI review sessions, and launch tuicr in cmux, tmux, Zellij, or Herdr when a user needs an interactive review pane.
Helvesec/rmux
Guide for using RMUX with Claude Code, including the tmux-compatible CLI, agent automation waits, the typed SDK, browser web-share, and the rmux claude launcher.
RizRiyz/luvus
Write a luvus module (an extension for luvus, mission control for your AI coding agents).
warpdotdev/warp
Runs Warp's terminal UI for real, drives it with keystrokes and reads the rendered screen back to confirm that a change looks and behaves as intended.
openinterpreter/openinterpreter
Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.
firecrawl/firecrawl
Adds Firecrawl's /scrape endpoint to application code to pull markdown, HTML, links, screenshots or structured data from a single known URL.
A skill your agent uses when you need to inspect or control user's own terminals, or if asked to do something with user's specific terminal, or before starting a dev server, watcher, tunnel, REPL…. Hitch is an agent skill from maxktz/hitch. Use when you need to inspect or control user's own terminals, or if asked to do something with user's specific terminal, or before starting a dev server, watcher, tunnel, REPL, build, or log tail that may already be running by the user.
Hitch fits situations like: you need to inspect; control users own terminals; asked to do something with users specific terminal; before starting a dev server.
Run `npx skills add maxktz/hitch --skill hitch -a claude-code`. Or copy the skill folder (the maxktz/hitch repository) into .claude/skills/hitch in your project. Claude Code loads it when a task matches its description.
Run `npx skills add maxktz/hitch --skill hitch -a codex`. Or copy the skill folder (the maxktz/hitch repository) into .agents/skills/hitch in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add maxktz/hitch --skill hitch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hitch, .gemini/skills/hitch, .github/skills/hitch and .opencode/skills/hitch in your project.
Going by SKILL.md and its folder, Hitch needs the command-line tools its instructions call (python, pnpm and curl). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Hitch is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Hitch: Tuicr (agavra/tuicr, 3.3k stars), Rmux (Helvesec/rmux, 2.7k stars), Luvus Module (RizRiyz/luvus, 957 stars) and TUI Change Verification for Warp (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
maxktz (a GitHub user) maintains it in maxktz/hitch, which has 178 GitHub stars. The repository was last updated on June 7, 2026.
Source: maxktz/hitch on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.