solo-pipeline ยท v1.3.0 ยท 2026-02-21 ยท sha256 5adda7bfdda45f50

solo-pipeline v1.3.0A

Immutable. This exact content is served forever at /api/v1/blob/5adda7bfdda45f50.

---
name: solo-pipeline
description: Launch automated multi-skill pipeline that chains skills into a loop. Use when user says "run pipeline", "automate research to PRD", "full pipeline", "research and validate", "scaffold to build", "loop until done", or "chain skills". Do NOT use for single skills (use the skill directly).
license: MIT
metadata:
  author: fortunto2
  version: "1.3.0"
  openclaw:
    emoji: "๐Ÿ”„"
allowed-tools: Bash, Read, Write, AskUserQuestion
argument-hint: "research <idea> | dev <name> <stack> [--feature desc]"
---

# /pipeline

Launch an automated multi-skill pipeline. The Stop hook chains skills automatically โ€” no manual invocation needed between stages.

## Available Pipelines

### Research Pipeline
`/pipeline research "AI therapist app"`

Chains: `/research` -> `/validate`
Produces: `research.md` -> `prd.md`

### Dev Pipeline
`/pipeline dev "project-name" "stack"`
`/pipeline dev "project-name" "stack" --feature "user onboarding"`

Chains: `/scaffold` -> `/setup` -> `/plan` -> `/build`
Produces: full project with workflow, plan, and implementation

## Steps

### 1. Parse Arguments

Extract from `$ARGUMENTS`:
- Pipeline type: first word (`research` or `dev`)
- Remaining args: passed to the launcher script

If no arguments or unclear, ask:

```
Which pipeline do you want to run?

1. Research Pipeline โ€” /research โ†’ /validate (idea to PRD)
2. Dev Pipeline โ€” /scaffold โ†’ /setup โ†’ /plan โ†’ /build (PRD to running code)
```

### 2. Confirm with User

Show what will happen:

```
Pipeline: {type}
Stages: {stage1} โ†’ {stage2} โ†’ ...
Idea/Project: {name}

This will run multiple skills automatically. Continue?
```

Ask via AskUserQuestion.

### 3. Run Launcher Script

Determine the plugin root (where this skill lives):
- Check if `${CLAUDE_PLUGIN_ROOT}` is set (plugin context)
- Otherwise find `solo-factory/scripts/` relative to project

```bash
# Research pipeline
${CLAUDE_PLUGIN_ROOT}/scripts/solo-research.sh "idea name" [--project name] --no-dashboard

# Dev pipeline
${CLAUDE_PLUGIN_ROOT}/scripts/solo-dev.sh "project-name" "stack" [--feature "desc"] --no-dashboard
```

**Always pass `--no-dashboard`** when running from within Claude Code skill context (tmux is for terminal use only).

### 4. Start First Stage

After the script creates the state file, immediately run the first stage's skill.
The Stop hook will handle subsequent stages automatically.

For research pipeline: Run `/research "idea name"`
For dev pipeline: Run `/scaffold project-name stack`

### 5. Pipeline Completion

When all stages are done, output:
```
<solo:done/>
```

The Stop hook checks for this signal and cleans up the state file.

## State File

Location: `.solo/pipelines/solo-pipeline-{project}.local.md` (project-local) or `~/.solo/pipelines/solo-pipeline-{project}.local.md` (global fallback)
Log file: `.solo/pipelines/solo-pipeline-{project}.log`

Format: YAML frontmatter with stages list, `project_root`, and `log_file` fields.
The Stop hook reads this file on every session exit attempt.

To cancel a pipeline manually: delete the state file `solo-pipeline-{project}.local.md`

## Monitoring

### tmux Dashboard (terminal use)

When launched from terminal (without `--no-dashboard`), a tmux dashboard opens automatically with:
- Pane 0: work area
- Pane 1: `tail -f` on log file
- Pane 2: live status display (refreshes every 2s)

If solo-factory scripts are available, manual dashboard commands:
```bash
# Create dashboard for a pipeline
solo-dashboard.sh create <project>

# Attach to existing dashboard
solo-dashboard.sh attach <project>

# Close dashboard
solo-dashboard.sh close <project>
```

### Manual Monitoring

If solo-factory scripts are available:
```bash
# Colored status display
solo-pipeline-status.sh              # all pipelines
solo-pipeline-status.sh <project>    # specific pipeline

# Auto-refresh
watch -n2 -c solo-pipeline-status.sh
```

Otherwise, use standard tools:
```bash
# Log tail
tail -f .solo/pipelines/solo-pipeline-<project>.log

# Check state file
cat .solo/pipelines/solo-pipeline-<project>.local.md
```

### Real-time Tool Visibility

If solo-factory scripts are available, the pipeline uses `--output-format stream-json` piped through `solo-stream-fmt.py` โ€” tool calls appear in real-time with colored icons:

```
  Read docs/research.md
  Glob "*.md" ~/projects/my-app/
  Bash npm test
  WebSearch voice AI agent developer tools 2026
  Task [Explore] Research task
  kb_search voice agent
```

Disable colors: `--no-color`. Disable sound effects: `--no-sound`.

### Session Reuse

Re-running a pipeline reuses the existing tmux session:
- All panes are cleared (Ctrl-C + clear)
- Log tail and status watch restart fresh
- No need to close/recreate โ€” just run the same command again

### Log Format

```
[22:30:15] START    | my-app | stages: research -> validate | max: 5
[22:30:16] STAGE    | iter 1/5 | stage 1/2: research
[22:30:16] INVOKE   | /research "AI therapist app"
[22:35:42] CHECK    | research | .../research.md -> FOUND
[22:35:42] STAGE    | iter 2/5 | stage 2/2: validate
[22:35:42] INVOKE   | /validate "AI therapist app"
[22:40:10] CHECK    | validate | .../prd.md -> FOUND
[22:40:10] DONE     | All stages complete! Promise detected.
[22:40:10] FINISH   | Duration: 10m
```

## Critical Rules

1. **Always confirm** before starting a pipeline.
2. **Don't skip stages** โ€” the hook handles progression.
3. **Cancel = delete state file** โ€” tell users this if they want to stop.
4. **Max iterations** prevent infinite loops (default 5 for research, 15 for dev).
5. **Use `--no-dashboard`** when running from within Claude Code skill context.