skills/tmux-session/SKILL.md
Create and manage grouped tmux sessions where each session focuses on its own window and its own folder. Knows workspace layout, naming conventions, and both multi-project and multi-agent patterns.
npx skillsauth add hasna/skills tmux-sessionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when you need to add a window and session to an existing group, or create a new group from scratch. These are grouped tmux sessions where every named session locks onto its own window so tmux attach -t <name> lands directly in the intended project or tool.
~/workspace/ Linux (spark01, spark02) — always lowercase
~/Workspace/ macOS (apple01) — always capital W
[workspace]/
└── [division]/
└── [area]/
└── [area][status]/
└── [prefix]-[name]/
Examples:
workspace/hasna/opensource/opensourcedev/open-todos
workspace/hasna/opensource/opensourcedev/open-conversations
workspace/hasnaxyz/agent/agentdev/agent-claude
workspace/hasnaxyz/service/servicedev/service-chat
workspace/hasnastudio/hasnastudio-alumia/platform/platform-alumia
workspace/hasnaxyz/internalapp/iapp-takumi
Local tools live under ~/local/local-[name]/.
tmux attach -t open-economy should land in the open-economy window without manual switching.| Work type | Source session | Session/window naming |
|-----------|----------------|-----------------------|
| Multiple OSS repos | opensourcemaintain | open-[name] |
| Multiple agent repos | agentdev | agent-[name] |
| Multiple local tools | local | local-[name] |
| Multiple workers on one project | project name | [project]-01, [project]-02, ... |
Rule: tmux groups live at the area/team level, not the individual repo level.
SOURCE="opensourcemaintain"
NAME="open-economy"
DIR="$HOME/workspace/hasna/opensource/opensourcedev/open-economy"
tmux new-window -t "$SOURCE" -n "$NAME" -c "$DIR"
IDX=$(tmux list-windows -t "$SOURCE" -F "#{window_index}:#{window_name}" | grep ":${NAME}$" | cut -d: -f1)
tmux new-session -d -s "$NAME" -t "$SOURCE"
tmux select-window -t "${NAME}:${IDX}"
SOURCE="opensourcemaintain"
BASE="$HOME/workspace/hasna/opensource/opensourcedev"
WINDOWS=(
"open-todos:$BASE/open-todos"
"open-conversations:$BASE/open-conversations"
"open-mementos:$BASE/open-mementos"
)
tmux new-session -d -s "$SOURCE" -n "open-todos" -c "$BASE/open-todos"
for entry in "${WINDOWS[@]:1}"; do
tmux new-window -t "$SOURCE" -n "$(echo "$entry" | cut -d: -f1)" -c "$(echo "$entry" | cut -d: -f2)"
done
for entry in "${WINDOWS[@]}"; do
name=$(echo "$entry" | cut -d: -f1)
idx=$(tmux list-windows -t "$SOURCE" -F "#{window_index}:#{window_name}" | grep ":${name}$" | cut -d: -f1)
tmux new-session -d -s "$name" -t "$SOURCE"
tmux select-window -t "${name}:${idx}"
done
open-[name]agent-[name]service-[name]local-[name][project]-01..NAlways use the full prefixed name for both the window name and the session name.
tmux display-message -t open-economy -p "#{window_index}:#{window_name} @ #{pane_current_path}"
tmux list-sessions | grep "(group opensourcemaintain)"
tmux list-panes -a -F "#{session_name}:#{window_name} dead=#{pane_dead}" | grep "dead=1"
tools
Generate hosted voiceover variants and short jingles
tools
Generate premium video highlight packages with clip plans, captions, thumbnails, chapter markers, social copy, edit decisions, and manifest metadata.
testing
Generate high-quality articles using parallel AI agents. Supports research, writing, and optional cover image generation. Write single articles or batch process multiple topics with configurable parallelism.
testing
Generate videos using OpenAI Sora, Minimax Hailuo, Gemini Veo, or Seedance through the hosted Skills runtime with provider-cost pricing.