Skip to content
Development
Skill

/ralph-attach

Attach to a running agent loop's live output stream

From plugin
aiwg
229200 skills199 agents26 commands

Claude Code

$ npx -y skills add jmagly/aiwg --skill ralph-attach --agent claude-code

SKILL.md

ralph-attach.SKILL.md
namespace: aiwg
name: ralph-attach
platforms: [all]
description: Attach to a running agent loop's live output stream
commandHint:
  argumentHint: "[--loop-id <id>]"
  allowedTools: Read
  model: haiku
  category: automation
  platforms: [claude-code, hermes, openclaw]
  modelRole: efficiency
  modelTier: economy

Al Attach

Attach to a running external agent loop and tail its output log in real time. Press Ctrl+C to detach without interrupting the loop.

Natural Language Triggers

Users may say:

  • "ralph attach"
  • "attach to ralph"
  • "follow ralph"
  • "watch ralph output"
  • "tail the agent loop"
  • "stream ralph progress"

Parameters

--loop-id (optional)

The ID of the loop to attach to. If omitted, attaches to the most recently started active loop.

/ralph-attach --loop-id abc123

When multiple loops are active, you must specify `--loop-id`. Run `/ralph-status` first to list active loop IDs.

Behavior

When triggered:

1. Read `.aiwg/ralph-external/loops/` to find active loop state files 2. If `--loop-id` is not provided, select the loop with the most recent `startedAt` timestamp that has `status: "running"` 3. If no active loop is found, report clearly and exit 4. If multiple loops are active and no `--loop-id` is given, list them and prompt the user to specify 5. Resolve the loop's `logFile` path from its state JSON (typically `.aiwg/ralph-external/logs/<loop-id>.log`) 6. Begin reading the log file from the current end, streaming new lines as they are appended 7. Display each new line to the user as it arrives, prefixed with a timestamp 8. Continue until the user presses Ctrl+C or the loop reaches a terminal state (`succeeded`, `failed`, `aborted`) 9. On loop completion, print a final status banner and exit cleanly

**Output format while tailing**:

[10:42:01] Agent loop abc123 — ACTIVE (iteration 3/10)
[10:42:01] Running verification: npm test
[10:42:03] PASS src/auth/auth.test.ts
[10:42:03] Tests: 12 passed, 0 failed
[10:42:04] Iteration 3: VERIFIED — criteria met
[10:42:04] Agent loop: SUCCESS

**On loop completion**:

═══════════════════════════════════════════
Agent Loop Completed: SUCCESS
Loop ID: abc123
Iterations: 3
Duration: 4m 12s
Report: .aiwg/ralph-external/reports/abc123.md
═══════════════════════════════════════════

Detached from loop abc123.

Error Handling

**No active loops**:

No active agent loops found.

Start one with:
  aiwg ralph "your task" --completion "criteria"

Or check completed loops with:
  /ralph-status --all

**Loop ID not found**:

Loop 'xyz999' not found in .aiwg/ralph-external/loops/.

Active loops:
  abc123 — Fix auth tests (running, iteration 2/10)
  def456 — Migrate to ESM (running, iteration 5/20)

Attach with: /ralph-attach --loop-id abc123

**Log file missing or unreadable**:

Cannot read log for loop abc123.

Expected: .aiwg/ralph-external/logs/abc123.log
Check that the loop process is still running and has write access to the log directory.

**Multiple loops active (no --loop-id)**:

Multiple active agent loops. Specify which to attach to:

  abc123 — Fix auth tests (running, iteration 2/10, started 10:38)
  def456 — Migrate to ESM (running, iteration 5/20, started 09:15)

Usage: /ralph-attach --loop-id <id>

State File Location

  • Loop states: `.aiwg/ralph-external/loops/<loop-id>.json`
  • Loop logs: `.aiwg/ralph-external/logs/<loop-id>.log`
  • Reports: `.aiwg/ralph-external/reports/<loop-id>.md`

Examples

Example 1: Attach to the only active loop

/ralph-attach

**Response**: Streams live output from the single running agent loop.

Example 2: Attach to a specific loop by ID

/ralph-attach --loop-id abc123

**Response**: Streams output only from loop `abc123`.

Example 3: Detach without stopping

Press `Ctrl+C` while attached. **Response**: Returns to normal prompt; the agent loop continues running unaffected.

Related

  • `/ralph-status` — Check loop IDs and current iteration progress
  • `/ralph-abort` — Stop a loop entirely
  • `/ralph-resume` — Resume a paused loop
  • `/ralph-external` — Start a new crash-resilient external loop

References

  • @$AIWG_ROOT/src/cli/handlers/ralph.ts — Al handler (attachToLoopOutput)
  • @$AIWG_ROOT/src/cli/handlers/ralph-launcher.ts — Loop launcher and state management
  • @$AIWG_ROOT/agentic/code/addons/agent-loop/README.md — Al documentation
  • @$AIWG_ROOT/tools/ralph-external/README.md — External loop architecture
Read more
@jmagly
Ships withaiwg

Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.

229200 skills199 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
229
Star history of jmagly/aiwg on GitHub, a chart by star-history.com

Other skills on aiwg.

agent-loop-ext

agent-loop-ext

Crash-resilient external agent loop with state persistence and CI/CD integration

@jmagly@jmaglyInstall Skill
agent-loop

agent-loop

Detect requests for iterative autonomous agent loops and route to the appropriate loop executor

@jmagly@jmaglyInstall Skill
auto-test-execution

auto-test-execution

Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern

@jmagly@jmaglyInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about ralph-attach.

Which coding agents can use ralph-attach?
ralph-attach installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.