Agent skill

freeact-interaction

Interact with freeact agent via tmux for testing

Stars 129
Forks 9

Install this agent skill to your Project

npx add-skill https://github.com/gradion-ai/freeact/tree/main/.agents/skills/freeact-interaction

SKILL.md

Interacting with Freeact via tmux

Freeact's terminal UI (Textual) requires a real TTY. Use tmux to provide a pseudo-TTY.

Setup

bash
# 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).

Capturing Output

Textual renders to the terminal's alternate screen buffer. tmux capture-pane captures it correctly as long as stderr is not redirected.

bash
# Capture visible screen
tmux capture-pane -t agent -p

# Capture with scrollback
tmux capture-pane -t agent -p -S -50

Sending Input

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.

bash
# Send literal text (use -l to avoid key interpretation)
tmux send-keys -t agent -l 'your message here'

Then in a separate call:

bash
tmux send-keys -t agent Enter

Then wait and capture in another separate call.

Approval Prompt

bash
# Approve: y, Reject: n, Always: a, Session: s
tmux send-keys -t agent 'y'

Quit and Cleanup

bash
tmux send-keys -t agent C-q
sleep 2
tmux kill-session -t agent

Additional guides

  • Slash commands - Testing /skill-name invocation via the skill picker
  • Image attachments - Testing @path image attachments via the file picker

Expand your agent's capabilities with these related and highly-rated skills.

gradion-ai/freeact

output-parsers

Generate 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.

129 9
Explore
gradion-ai/freeact

saving-codeacts

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.

129 9
Explore
gradion-ai/freeact

task-planning

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.

129 9
Explore
gradion-ai/ipybox

codeact

Generate and execute code for acting with Python tools. Activate when user explicitly requests to "use the codeact skill" or similar phrases.

74 18
Explore
zebbern/claude-code-guide

Ethical Hacking Methodology

This skill should be used when the user asks to "learn ethical hacking", "understand penetration testing lifecycle", "perform reconnaissance", "conduct security scanning", "exploit vulnerabilities", or "write penetration test reports". It provides comprehensive ethical hacking methodology and techniques.

3,752 348
Explore
zebbern/claude-code-guide

Red Team Tools and Methodology

This skill should be used when the user asks to "follow red team methodology", "perform bug bounty hunting", "automate reconnaissance", "hunt for XSS vulnerabilities", "enumerate subdomains", or needs security researcher techniques and tool configurations from top bug bounty hunters.

3,752 348
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results