feat(background-shell): add persistent tmux session plugin
Adds a background-shell plugin providing the `bgsh` helper: named tmux sessions that survive across tool calls and SSH disconnects, for work ordinary tool calls cannot hold — interactive prompts, REPLs, TUIs, and jobs that must outlive a connection. The skill description is written as a hard gate: over-triggering is the primary failure mode, so it redirects to plain Bash for everyday work. - tty is the default mode (output stays in the pane, cd persists); --log is the alternate for one-shot captured payloads - a local registry keeps remote sessions findable, storing *where to look* and never *what is running* — every read verifies against the host, and prune refuses to act on an unreachable one (UNSURE != STALE) - bin/bgsh is on the plugin PATH, so no symlink step is needed - SKILL.md carries a "why bgsh does it this way" table: each row is a real failure whose output was indistinguishable from success Passes `claude plugin validate` with no warnings; bgsh is shellcheck clean and bash 3.2 compatible. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
9
background-shell/.claude-plugin/plugin.json
Normal file
9
background-shell/.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "background-shell",
|
||||
"version": "1.0.0",
|
||||
"description": "Persistent named tmux sessions for work that ordinary tool calls cannot hold: interactive prompts, REPLs, TUIs, and jobs that must outlive an SSH connection. Ships the bgsh helper plus a registry that keeps remote sessions findable from the machine that started them.",
|
||||
"author": {
|
||||
"name": "Adam Knight"
|
||||
},
|
||||
"keywords": ["tmux", "shell", "ssh", "session", "remote", "interactive", "tty"]
|
||||
}
|
||||
Reference in New Issue
Block a user