with one click
freeact-interaction
Interact with freeact agent via tmux for testing
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Interact with freeact agent via tmux for testing
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | freeact-interaction |
| description | Interact with freeact agent via tmux for testing |
Freeact's terminal UI (Textual) requires a real TTY. Use tmux to provide a pseudo-TTY.
# Start detached tmux session (120x50 recommended for proper rendering)
tmux new-session -d -s agent -x 120 -y 50
tmux set-option -t agent remain-on-exit on
# Start freeact (do NOT redirect stderr, it breaks Textual's terminal detection)
tmux send-keys -t agent 'uv run freeact' Enter
Wait at least 10 seconds for startup (MCP servers need to initialize).
Textual renders to the terminal's alternate screen buffer. tmux capture-pane captures it correctly as long as stderr is not redirected.
# Capture visible screen
tmux capture-pane -t agent -p
# Capture with scrollback
tmux capture-pane -t agent -p -S -50
Use separate tool calls for sending keys and capturing output. Never chain tmux send-keys and tmux capture-pane in a single bash command -- the shell command text leaks into the Textual prompt.
# Send literal text (use -l to avoid key interpretation)
tmux send-keys -t agent -l 'your message here'
Then in a separate call:
tmux send-keys -t agent Enter
Then wait and capture in another separate call.
# Approve: y, Reject: n, Always: a, Session: s
tmux send-keys -t agent 'y'
tmux send-keys -t agent C-q
sleep 2
tmux kill-session -t agent
/skill-name invocation via the skill picker@path image attachments via the file pickerGenerate output parsers for mcptools with unstructured return types. Use when a tool returns raw strings or Result models with single str fields and needs structured ParseResult output. Covers testing tools, identifying parseable structures, extending modules with ParseResult models, and creating parser implementations.
Save executed Python code as reusable tools in the gentools package. Use when preserving successful code executions for later reuse. Covers creating package structure (api.py, impl.py), defining Pydantic output models, and implementing the run() interface.
Structured task planning workflow with user feedback loops. Use when the user explicitly requests planning (e.g., "make a plan", "plan first", "create a plan"). Covers creating plans with actionable steps, iterating based on feedback, saving confirmed plans, and executing step-by-step with progress tracking.