ワンクリックで
run-in-tmux-pane
Run commands in a temporary tmux pane with full interactive zsh environment (login shell, shims, PATH, aliases, TTY).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Run commands in a temporary tmux pane with full interactive zsh environment (login shell, shims, PATH, aliases, TTY).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Keep a GitLab issue's native Status in sync with its merge requests, and start implementing an issue by assigning it to the current user and setting the active milestone. Use when asked to start work on an issue, update an issue's status as MRs progress, or track issue state through the dev/review/complete lifecycle.
Hammerspoon macOS automation. Config in ~/.hammerspoon/. Modules: init.lua, spaces, sleepwake, urlrouter, httpserver, meetings, webcam. Keywords: hammerspoon, hs, lua, audiodevice, hotkey, caffeinate, httpserver, Stream Deck, Rectangle Pro, blueutil, AirPods, URL routing, webcam, uhubctl. Use when: editing ~/.hammerspoon/ files, debugging Hammerspoon modules, adding Hammerspoon features, checking Hammerspoon logs.
Use before any Git branch operation in this repo. SSOT for the branch naming convention (<username>/<issue-id>/<branch-name>) — load before creating a branch instead of guessing the name. Also provides helpers for finding a branch's parent, rebasing related branches, force-pushing feature branches, and understanding commit or diff structure across stacked Git branches.
Iteratively test and refine prompts, skills, and agent configurations using opencode run
Inspect GitLab local ClickHouse tables, schemas, ingestion paths, and data patterns. Use for CH table questions, DESCRIBE TABLE, schema/source-of-truth checks under db/click_house, ClickHouse ingestion debugging, and investigating aggregates, distributions, or anomalous data in the GitLab repo.
Use when list, inspect, and undo branch-specific GitLab database migrations. Use for checking which migrations were introduced by the current branch, rolling them back safely, and understanding migration state during local GitLab database work.
| name | run-in-tmux-pane |
| description | Run commands in a temporary tmux pane with full interactive zsh environment (login shell, shims, PATH, aliases, TTY). |
| version | 1.0.0 |
| license | MIT |
| compatibility | opencode |
| metadata | {"author":"pedropombeiro","audience":"developers"} |
Run a command in a temporary tmux pane that has the user's full interactive zsh environment. The pane opens, runs the command, captures output, and closes automatically.
Agent tools run in a non-interactive shell. Commands that rely on your login
shell — autoloaded zsh functions, mise/asdf shims, custom PATH entries, shell
aliases — silently fail or are not found when invoked from a bare bash -c.
This skill gives the agent access to your real shell environment without
requiring the agent session itself to run inside zsh.
Long command output wastes tokens. Successful commands often produce hundreds of lines the agent never needs. The script automatically truncates successful output to the last 20 lines, keeping token usage low while still returning the full output on failure so the agent can diagnose problems.
Granting broad shell permissions is risky. Instead of allowing the agent to
run arbitrary dangerous commands directly, you can wrap those commands in a
script and grant the agent permission to call run-in-tmux-pane <script> only.
The agent never needs direct access to the underlying tools — just to this
single entry point.
Commands that need a TTY. Some CLI tools (e.g. claude, interactive
installers) refuse to run without a TTY. The tmux pane provides one
transparently.
claude -p)fgdku, gpsup, or test_mrThe script is bundled at scripts/run-in-tmux-pane. To make it available system-wide, symlink it onto your PATH:
ln -s "$(pwd)/scripts/run-in-tmux-pane" ~/.local/bin/run-in-tmux-pane
See references/USAGE.md for quoting rules, temp-file conventions, and examples.
zsh -ilc (interactive login shell)TMUX_PANE_LINGER controls how many seconds the tmux pane stays visible after the
command finishes (default: 3). Set to 0 to close immediately.See references/USAGE.md for concrete examples.
| Variable | Default | Description |
|---|---|---|
TMUX_PANE_LINGER | 3 | Seconds to keep the tmux pane visible after the command finishes. Set to 0 to close immediately. |
TMUX_PANE_TAIL_LINES | 20 | Number of trailing lines to keep when truncating successful output. |
TMUX_PANE_TIMEOUT | 300 | Maximum seconds to wait for the command to finish before killing the pane (exits with code 124). |
TMUX_PANE_TIMEOUTAlways set the Bash tool's timeout parameter higher than TMUX_PANE_TIMEOUT
(e.g. timeout: 360000 for the default TMUX_PANE_TIMEOUT=300). If the Bash tool times out
before the tmux pane finishes, you get partial output with no exit code — and the
tmux command is still running in the background. This can be mistaken for a
completed run, leading to unnecessary retries or incorrect assumptions about the
command's result.
Use this decision order:
run-in-tmux-pane immediately when the command is a zsh function, requires a TTY, or is
known to depend on login-shell state.run-in-tmux-pane.See references/USAGE.md for the Bash-vs-tmux checklist and GitLab-specific examples.
$TMUX must be set)