원클릭으로
doey-kill-window
Kill a team window — stop processes, remove tmux window, clean runtime files.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Kill a team window — stop processes, remove tmux window, clean runtime files.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Plan-first task creation — research, breakdown, risk analysis, then create tasks from approved plan. Usage: /doey-planned-task <goal>
Request a respawn of the current worker pane. Use when you need to "respawn me", "restart myself", "fresh context", or "reset my pane". Writes an atomic respawn request that kills the current Claude process and relaunches with a fresh context.
Discover scaffolding patterns in this project — structural fingerprints, accretion files, and refactoring patterns from git history. Returns candidates worth turning into templates.
Spawn the doey-scaffy MCP server so workers can drive the Scaffy template engine via tool calls. Loaded automatically when a task needs scaffy_run / scaffy_validate / scaffy_list / scaffy_audit / scaffy_discover / scaffy_new / scaffy_fmt or any scaffy:// resource.
Create a new scaffy template from existing files (--from-files) or interactively. Outputs to .doey/scaffy/templates/<name>.scaffy.
Manage persistent project tasks — list, add, transition, show, subtasks, decisions, notes. Tasks stored in .doey/tasks/ (survives reboot). Use when you need to "show tasks", "add a task", "mark a task done", "what are we working on", or "create a task".
| name | doey-kill-window |
| description | Kill a team window — stop processes, remove tmux window, clean runtime files. |
cat $(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)/session.env 2>/dev/null || truetmux list-windows -t "$(grep SESSION_NAME $(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)/session.env 2>/dev/null | cut -d= -f2)" -F '#{window_index} #{window_name}' 2>/dev/null|| truebash: RD=$(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-); _sv() { grep "^$1=" "${RD}/session.env" 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"'; }; SESSION_NAME=$(_sv SESSION_NAME); PROJECT_DIR=$(_sv PROJECT_DIR); TARGET_WIN="${1:-${DOEY_WINDOW_INDEX:-0}}"; [ "$TARGET_WIN" = "0" ] && { echo "ERROR: Cannot kill window 0. Use /doey-kill-session."; exit 1; }; tmux list-windows -t "$SESSION_NAME" -F '#{window_index}' | grep -qx "$TARGET_WIN" || { echo "ERROR: Not found"; exit 1; }
bash: KILLED=0; for pp in $(tmux list-panes -t "${SESSION_NAME}:${TARGET_WIN}" -F '#{pane_pid}' 2>/dev/null); do C=$(pgrep -P "$pp" 2>/dev/null); [ -n "$C" ] && kill "$C" 2>/dev/null && KILLED=$((KILLED + 1)); done; sleep 3; for pp in $(tmux list-panes -t "${SESSION_NAME}:${TARGET_WIN}" -F '#{pane_pid}' 2>/dev/null); do C=$(pgrep -P "$pp" 2>/dev/null); [ -n "$C" ] && kill -9 "$C" 2>/dev/null; done; sleep 1
/doey-worktree)bash: ev() { grep "^${1}=" "${RD}/team${TARGET_WIN}.env" 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"'; }; _wd=$(_ev WORKTREE_DIR); _wb=$(_ev WORKTREE_BRANCH); if [ -n "$_wd" ] && [ -d "$_wd" ]; then [ -n "$(git -C "$_wd" status --porcelain 2>/dev/null)" ] && git -C "$_wd" add -A 2>/dev/null && git -C "$_wd" commit -m "doey: auto-save before teardown" 2>/dev/null; [ -n "$_wb" ] && { _a=$(git -C "$PROJECT_DIR" rev-list --count "HEAD..${_wb}" 2>/dev/null || echo 0); [ "$_a" -gt 0 ] 2>/dev/null && echo "Branch $_wb has $_a commit(s). Merge: git merge $_wb"; }; git -C "$PROJECT_DIR" worktree remove "$_wd" --force 2>/dev/null; git -C "$PROJECT_DIR" worktree prune 2>/dev/null; fi
bash: tmux kill-window -t "${SESSION_NAME}:${TARGET_WIN}"; rm -f "${RD}/team_${TARGET_WIN}.env"; SS=$(echo "$SESSION_NAME" | tr ':.-' ''); for p in "${RD}/status/${SS}${TARGET_WIN}"* "${RD}/results/pane${TARGET_WIN}"*.json "${RD}/status/crash_pane${TARGET_WIN}_"*; do for f in $p; do [ -f "$f" ] && rm -f "$f"; done; done
bash: CUR=$(grep '^TEAM_WINDOWS=' "${RD}/session.env" 2>/dev/null | cut -d= -f2 | tr -d '"'); NW=$(echo "$CUR" | tr ',' '\n' | grep -v "^${TARGET_WIN}$" | tr '\n' ',' | sed 's/,$//'); TMPENV=$(mktemp "${RD}/session.env.tmp_XXXXXX"); sed "s/^TEAM_WINDOWS=.*/TEAM_WINDOWS=${NW}/" "${RD}/session.env" > "$TMPENV"; mv "$TMPENV" "${RD}/session.env"
Never kill window 0. Kill processes before window.