Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alterxyz avatar

Ahelpa

  • 6 installs
  • Updated July 4, 2026
  • alterxyz/ahelpa

ahelpa is a skill that launches, manages, and communicates with persistent helper coding agents via tmux.

About

ahelpa spawns, manages, and communicates with persistent helper agents running in tmux. A developer uses it to delegate long-running tasks, run parallel work across multiple agents, or get a fresh-context second opinion. Tasks and results are exchanged through files, with results landing in a per-session summary.md and artifacts directory.

  • Spawn and manage persistent helper coding agents via tmux
  • Fan out parallel work and wait on multiple helpers at once
  • File-based handoff protocol with summary.md and artifacts per session

Ahelpa by the numbers

  • 6 all-time installs (skills.sh)
  • Ranked #12,825 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

ahelpa capabilities & compatibility

Capabilities
orchestration · planning
Use cases
orchestration · planning
From the docs

What ahelpa says it does

ahelpa lets you spawn, manage, and communicate with persistent helper agents running in tmux.
SKILL.md
**`wait` blocks until completion or timeout.** Default 500 seconds. If it returns `still_running`, re-wait
SKILL.md
npx skills add https://github.com/alterxyz/ahelpa --skill ahelpa

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs6
Last updatedJuly 4, 2026
Repositoryalterxyz/ahelpa

What it does

Spawn and manage persistent helper coding agents in tmux to delegate or parallelize work.

Who is it for?

Developers who want to delegate or parallelize coding tasks across multiple agent instances.

Skip if: Simple single-agent tasks where launching helper sessions adds overhead.

When should I use this skill?

You need to delegate a task to another coding agent, run parallel agents, or get a fresh-context second opinion.

What you get

Helper agents run tasks in tmux and return results via per-session files.

  • summary.md
  • artifacts directory

By the numbers

  • default wait timeout is 500 seconds
  • 12 documented key rules
  • a meaningful task typically takes 2-10 minutes

Files

SKILL.mdMarkdownGitHub ↗

ahelpa — Agent Help Agent

What is ahelpa

ahelpa lets you spawn, manage, and communicate with persistent helper agents running in tmux. Use it to delegate long-running tasks, fan out work across multiple parallel agents, or get a second opinion from a fresh context without polluting your own conversation.

Packaged releases include the runtime bundle. Source checkouts can build it with bun run package:skill.

Public documentation is available in English and Simplified Chinese:

  • README.md / README.zh-CN.md
  • docs/ / docs/zh-CN/

Installation

which ahelpa || {
  mkdir -p ~/.ahelpa/bin
  tar xzf <skill-dir>/bundle/ahelpa-darwin-arm64.tar.gz -C ~/.ahelpa/bin/
  export PATH="$HOME/.ahelpa/bin:$PATH"
}

Replace <skill-dir> with the absolute path to this skill's directory. The binary installs to ~/.ahelpa/bin/. Run ahelpa version to verify. If the bundle is missing in a source checkout, run bun run package:skill first.

Quick Start

result=$(ahelpa launch claude-code --task "Refactor the auth module")
session_id=$(echo $result | jq -r .sessionId)
token=$(echo $result | jq -r .ownerToken)
ahelpa wait "$session_id"
cat ".ahelpa/$session_id/summary.md"

Helper type to CLI binary mapping:

  • claude-codeclaude CLI on PATH
  • codexcodex CLI on PATH

Verify prerequisites with command -v claude or command -v codex, not command -v claude-code.

Key Rules

1. File handoff is the protocol. Exchange tasks and results through files. Do not rely on capture to parse terminal output. 2. `wait` blocks until completion or timeout. Default 500 seconds. If it returns still_running, re-wait — this is normal, not an error. 3. Wait on multiple helpers at once. Use ahelpa wait id1 id2 id3, not one-at-a-time waits. 4. Ownership is non-transitive. You can only manage sessions you launched. Your helper's helpers are not yours to control. 5. Results land in files. After completion: .ahelpa/<session-id>/summary.md for the summary, .ahelpa/<session-id>/artifacts/ for supporting files. 6. Use `task` for long instructions. ahelpa task <id> --file <path> avoids tmux keystroke limits. 7. `capture` is for debugging only. Not a communication channel. 8. Tidy up. After reading results, move useful outputs to the project tree and keep .ahelpa/ clean. 9. Helpers have full permissions. They run as the local user. Use --project to scope working directories, or git worktrees for isolation. 10. Inline refresh works without daemon. wait, check, and status refresh session state even if the daemon isn't running. 11. Don't re-derive the CLI. Follow this document for normal helper delegation. Only inspect src/ or tests/ when debugging ahelpa itself. 12. Trust prompt handling is automatic. The codex driver handles directory trust prompts by sending Enter. No manual intervention needed during normal use.

Timing and Patience

Helpers are full coding agents. A meaningful task typically takes 2–10 minutes.

  • Wait first, ask questions later. The 500-second default is generous.
  • `still_running` is normal. Re-wait. The helper is working.
  • Don't capture early. It adds no information in the first few minutes.
  • Don't poll every 30 seconds. One wait, then one re-wait if needed.
  • Escalate after 8–10 minutes of silence. Use capture once to see what's happening, then send to nudge or kill and retry.

Command Reference

CommandDescription
launch <type> --task "..." [--label] [--project]Spawn a helper. Returns JSON: sessionId, ownerToken, tmuxSession.
wait <id...> [--all] [--timeout <seconds>]Block until sessions complete or timeout (default 500s).
check [--parent <id>]Non-blocking status poll.
send <id> "msg" --token <tok>Send a message to a running helper.
capture <id> --token <tok> [--lines N]Snapshot terminal output (debugging only).
task <id> --file <path> --token <tok>Deliver a task file to a running helper.
kill <id> --token <tok>Terminate a helper session.
logs <id> --token <tok>Read session output (live or archived).
statusShow all sessions and daemon state.
cleanRemove dead records and orphan runtime files.
versionShow installed runtime version.
`daemon start\stop`

Sentinel Protocol

Helpers signal completion by printing sentinel strings to stdout:

  • [AHELPA:DONE] — task finished; results written to .ahelpa/<session-id>/
  • [AHELPA:NEED_HELP] — helper is stuck and needs input from the host

The daemon (or inline refresh) detects these and transitions session state: DONEidle, NEED_HELPerror. A wait returning error means the helper asked for help — use capture or logs to see what it needs, then send to intervene.

Messenger Pattern

For long tasks or multiple parallel helpers, spawn a cheap background subagent to poll rather than blocking with wait.

SituationApproach
Short task, single helperahelpa wait <id>
Long task or multiple helpersSpawn a messenger subagent

Messenger prompt template:

You are a messenger. Your only job is:
1. Periodically run: ahelpa check
2. When a session shows idle/error/dead, inspect its .ahelpa/<session-id>/ result directory
3. Report the status and summarize summary.md plus any artifacts
4. Do NOT do any work yourself — no analysis, no coding, no modifications
5. Be patient. No results is normal. Keep checking.

See references/claude-code.md and references/codex.md for platform-specific messenger setup.

Troubleshooting

ahelpa is a thin layer over tmux. Every helper is a plain tmux session:

tmux ls                                # list all sessions
tmux attach -t <session-id>            # attach and see live output
tmux capture-pane -t <session-id> -p   # dump pane content without attaching

Manual tmux intervention is an allowed escape hatch, not a protocol violation. After manual intervention, the sentinel protocol still works.

Closure Gate

For development/testing of ahelpa itself:

bun run closure:gate

Verifies the full launch → wait → capture → kill cycle across both drivers. If codex returns an authentication error, fix the local codex CLI login state before running the gate.

Related skills

FAQ

How do helpers return their results?

Results land in files: .ahelpa/<session-id>/summary.md for the summary and .ahelpa/<session-id>/artifacts/ for supporting files.

What does still_running mean after a wait?

It is normal, not an error; re-wait because the helper is still working. The default wait timeout is 500 seconds.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.