solo-pipeline · v1.2.0 · 2026-02-14 · sha256 97037c5417f6829f
solo-pipeline v1.2.0A
Immutable. This exact content is served forever at /api/v1/blob/97037c5417f6829f.
---
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.2.0"
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`
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: `rm ~/.solo/pipelines/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)
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
```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
# Log tail
tail -f ~/.solo/pipelines/solo-pipeline-<project>.log
```
### Real-time Tool Visibility
The pipeline uses `--output-format stream-json` piped through `solo-stream-fmt.py` — tool calls appear in real-time with colored icons:
```
📖 Read ~/startups/solopreneur/4-opportunities/jarvis/research.md
🔍 Glob "*.md" ~/startups/active/jarvis/
💻 Bash npm test
🌐 WebSearch voice AI agent developer tools 2026
🤖 Task [Explore] Research task
🔌 kb_search jarvis voice agent
```
Disable colors: `--no-color`. Disable sound effects: `--no-sound`.
### 8-bit Background Music
Chiptune background music plays automatically during pipeline runs (pentatonic melodies, square waves, 140 BPM). Stops on completion. Volume: 0.08 (very quiet).
Manual control: `solo-chiptune.sh start|stop|status [--volume 0.1] [--bpm 140]`
### 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 | jarvis | stages: research -> validate | max: 5
[22:30:16] STAGE | iter 1/5 | stage 1/2: research
[22:30:16] INVOKE | /research "Jarvis voice AI agent"
[22:35:42] CHECK | research | .../research.md -> FOUND
[22:35:42] STAGE | iter 2/5 | stage 2/2: validate
[22:35:42] INVOKE | /validate "Jarvis voice AI agent"
[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.