Add orchestrate skill: main-actor pattern + mav-agent/mav-tmux wrappers

One bot owns the chat and delegates coding to persistent tmux sub-agents,
using a .done file marker for a reliable handoff (status/wait/result).
Includes README + install.sh for one-command setup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
mav
2026-05-29 11:31:15 +02:00
commit f509792872
5 changed files with 348 additions and 0 deletions

35
bin/mav-tmux Executable file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/env bash
# mav-tmux — run a command in the persistent mav tmux session and capture output
# usage: mav-tmux run "command"
# mav-tmux read (capture current pane output)
# mav-tmux clear (clear the pane)
SESSION="mav"
# ensure session exists
TMUX= tmux has-session -t "$SESSION" 2>/dev/null || TMUX= tmux new-session -d -s "$SESSION"
case "${1:-read}" in
run)
CMD="${2:?usage: mav-tmux run <command>}"
MARKER="__DONE_$(date +%s%N)__"
TMUX= tmux send-keys -t "$SESSION" "$CMD; echo $MARKER" Enter
# wait for marker
for i in $(seq 1 60); do
sleep 0.5
OUT=$(TMUX= tmux capture-pane -t "$SESSION" -p 2>/dev/null)
if echo "$OUT" | grep -q "$MARKER"; then
echo "$OUT" | sed "/$MARKER/d" | sed '/^$/d' | tail -30
break
fi
done
;;
read)
TMUX= tmux capture-pane -t "$SESSION" -p 2>/dev/null
;;
clear)
TMUX= tmux send-keys -t "$SESSION" "clear" Enter
;;
*)
echo "usage: mav-tmux run <cmd> | read | clear"
;;
esac