Auto Pipeline
SkillDev toolsFull pipeline — brainstorm → plan → work → review → merge. One command, end to end.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Auto Pipeline skill
What this skill tells your AI
The instructions your AI receives, as published by neuron-mr-white/unipi in packages/workflow/skills/auto/SKILL.md and read by ahel’s review.
Run the complete development pipeline from idea to merged code. This skill is self-contained — it includes all the logic needed to execute each phase without loading other skills.
Command Format
/unipi:auto <string(greedy)>(optional) plan:<path>(optional) specs:<path>(optional)
string(greedy)— what to build (triggers full pipeline from brainstorm)plan:<path>— existing plan to execute (skips brainstorm + plan, starts at work)specs:<path>— existing spec to plan from (skips brainstorm, starts at plan)- No args → ask user what to do
Pipeline Stages
brainstorm → plan → work → review → merge
Each phase must complete before the next begins. User can intervene at any gate.
Phase 1: Determine Entry Point
Based on args:
If string(greedy) provided (no plan/specs):
→ Start at Phase 2 (Brainstorm). Full pipeline.
If specs:<path> provided (no plan):
→ Start at Phase 3 (Plan). Skip brainstorm.
If plan:<path> provided:
→ Start at Phase 4 (Work). Skip brainstorm + plan.
If no args: → Ask user:
- "What do you want to build?" → brainstorm
- "I have a spec, plan from it" → provide spec path
- "I have a plan, execute it" → provide plan path
- "I have a plan, just review + merge" → provide plan path
Exit: Entry point determined. Pipeline scope clear.
Phase 2: Brainstorm
2.1: Explore Context
- Run read-only commands to understand current state:
find . -type f -name "*.ts" | head -20 ls -la src/ cat package.json git log --oneline -10 - Identify relevant files and patterns
- Note existing conventions
2.2: Ask Clarifying Questions
Ask one question at a time:
- "What problem are we actually solving?"
- "Who has this problem and when?"
- "What does success look like?"
Prefer multiple choice when natural options exist.
2.3: Propose Approaches
Propose 2-3 approaches with trade-offs:
- What each optimizes for (speed, flexibility, simplicity)
- What each costs (complexity, maintenance, time)
- Recommendation with reasoning
Present conversationally. Ask user to choose.
2.4: Design
Once approach chosen, present design in sections:
- Architecture / components
- Data flow
- Error handling
- Testing approach
Ask after each section if it looks right.
2.5: Write Spec
Create .unipi/docs/specs/YYYY-MM-DD-<topic>-design.md:
---
title: "{Topic}"
type: brainstorm
date: YYYY-MM-DD
---
# {Topic}
## Problem Statement
{The actual problem, reframed}
## Context
{Key findings from exploration}
## Chosen Approach
{High-level description}
## Why This Approach
{Decision rationale, alternatives rejected}
## Design
{Architecture, components, data flow}
## Implementation Checklist
- [ ] Task 1 — description
- [ ] Task 2 — description
- [ ] Task 3 — description
## Open Questions
{Questions for planning phase}
## Out of Scope
{Explicitly excluded}
2.6: Self-Review
Before presenting:
- Any "TBD", "TODO", incomplete sections? Fix them.
- Do sections contradict each other?
- Could any requirement be interpreted two ways? Pick one.
2.7: Design Gate
"Spec written to
.unipi/docs/specs/YYYY-MM-DD-<topic>-design.md. Please review and let me know if you want changes before we plan."
WAIT for user approval. If changes requested, make them and re-review.
Exit: User approves design. Proceed to Phase 3.
Phase 3: Plan
3.1: Load Spec
- Read the spec file (from Phase 2 or from
specs:arg) - Understand: problem, approach, design, checklist
3.2: Ask Clarifying Questions
- Review spec critically — identify concerns or gaps
- If concerns: raise with user before proceeding
- Ask about work branch:
"Where should this work happen?"
- Main branch — work directly on main (small/medium tasks, low risk)
- New branch — isolated worktree (larger tasks, risky changes)
Record the decision for plan frontmatter.
3.3: Create Implementation Plan
Create .unipi/docs/plans/YYYY-MM-DD-<topic>-plan.md:
---
title: "{Topic} — Implementation Plan"
type: plan
date: YYYY-MM-DD
workbranch: {branch-name} # empty string = work on main branch
specs:
- path/to/spec.md
---
# {Topic} — Implementation Plan
## Overview
{Brief summary of what this plan covers}
## Tasks
- unstarted: Task 1 — {Task Name}
- Description: {What needs to be done}
- Dependencies: {None, or list of tasks}
- Acceptance Criteria: {How to verify done}
- Steps:
1. {Concrete step}
2. {Concrete step}
- unstarted: Task 2 — {Task Name}
- Description: ...
- Dependencies: ...
- Acceptance Criteria: ...
- Steps: ...
## Sequencing
{Order of execution, dependency graph if complex}
## Risks
{Potential blockers or concerns}
Task Status Lifecycle:
| Status | Meaning |
|---|---|
unstarted: | Not started |
in-progress: | Being worked on |
completed: | Done and verified |
failed: | Attempted but failed |
awaiting_user: | Needs user action |
blocked: | Waiting on dependency |
skipped: | Intentionally not doing |
3.4: Update Spec Checkboxes
After plan is complete:
- Read the source spec
- For each checklist item covered by this plan, mark
[x] - Leave items not covered as
[ ] - Write updated spec back
Semantics: Spec [x] means "planned" (covered by a plan). It does NOT mean "done".
3.5: Self-Review
- Every task has clear acceptance criteria
- Dependencies are correct (no circular, no missing)
- Steps are bite-sized (agent can follow without guessing)
- Plan is focused enough for single work session
3.6: Plan Gate
Present plan summary to user.
WAIT for user approval. If changes requested, make them.
Exit: User approves plan. Proceed to Phase 4.
Phase 4: Work
4.1: Setup
- Read
workbranchfrom plan frontmatter - If
workbranchnon-empty:- Create worktree:
git worktree add .unipi/worktrees/{branch} -b {branch} - Work within worktree directory
- Create worktree:
- If
workbranchempty:- Work directly on current branch (main)
4.2: Execute Tasks
For each task in order, skip completed:, skipped:, and awaiting_user: tasks:
If unstarted::
- Change
unstarted:toin-progress:in plan - Follow each step exactly (plan has bite-sized steps)
- Run verifications as specified in acceptance criteria
- Change
in-progress:tocompleted:when complete - Update plan file with progress
If in-progress::
- Continue from where it left off
- Follow remaining steps
- Change to
completed:when done
If failed::
- Read failure notes
- Investigate root cause
- Fix and re-verify
- Change to
completed:when fixed, or keepfailed:if still broken
If awaiting_user::
- Remind user what's needed
- Wait for user response
- Resume when user provides input
If blocked::
- Check if blocker is resolved
- If resolved → change to
unstarted:and continue - If still blocked → skip and move to next task
4.3: When to Stop and Ask
STOP immediately when:
- Hit blocker (missing dependency, test fails, instruction unclear)
- Plan has critical gaps
- You don't understand an instruction
- Verification fails repeatedly
Ask for clarification rather than guessing.
4.4: Commit Progress
After each task or group of tasks:
- Stage changes
- Commit with descriptive message referencing task name
- Continue to next task
Don't wait until end to commit — incremental commits are safer.
4.5: Work Complete
When all tasks are completed::
- Run final verification (tests, lint, build)
- Commit all remaining changes
Exit: All tasks complete. Proceed to Phase 5.
Phase 5: Review
5.1: Setup
- Read
workbranchfrom plan frontmatter - If
workbranchexists and not empty → switch to that branch/worktree - If
workbranchmissing or empty → review on current branch (main)
5.2: Check Task Completion
For each task in plan:
- Read acceptance criteria
- Verify against actual implementation
- Determine status:
- Done — all criteria met →
completed: - Partially Done X/Y — some steps complete, others not
- Unstarted — nothing done
- Failed — attempted but broken
- Done — all criteria met →
5.3: Run Codebase Checks
Run project's verification suite:
- Lint —
npm run lintor equivalent - Type check —
tsc --noEmitor equivalent - Tests —
npm testor equivalent - Build —
npm run buildor equivalent - Docker —
docker build .if Dockerfile exists
Report results. If any fail:
- Note which checks failed
- Identify which tasks are affected
5.4: Write Reviewer Remarks
Add REVIEWER-REMARK at the end of the plan document, behind a divider:
---
## Reviewer Remarks
REVIEWER-REMARK: Done
- All tasks complete, verified against acceptance criteria
Codebase Checks:
- ✓ Lint passed
- ✓ Type check passed
- ✓ Tests passed
- ✓ Build passed
5.5: Review Gate
If all tasks done and checks pass: → Proceed to Phase 6
If tasks incomplete or checks fail:
"Tasks remaining and/or checks failing. Continuing back to work phase." → Go back to Phase 4 with failure context
Exit: All checks pass. Reviewer remarks say Done. Proceed to Phase 6.
Phase 6: Merge (if worktree)
6.1: Check Branch Strategy
If workbranch was set (worktree):
- Load worktree-merge logic
- Merge worktree branch back to main
- Clean up worktree and branch
- Run final verification on main
If workbranch was empty (main branch):
→ Skip merge — changes already on main.
Exit: Code on main. Worktree cleaned (if applicable).
Phase 7: Summary
Report pipeline results:
Pipeline Complete: {topic}
✓ Brainstorm — .unipi/docs/specs/{spec}
✓ Plan — .unipi/docs/plans/{plan}
✓ Work — {N} tasks completed on {branch or "main"}
✓ Review — all checks passed
✓ Merge — {merged to main, worktree cleaned or "already on main"}
Artifacts:
- Spec: .unipi/docs/specs/{spec}
- Plan: .unipi/docs/plans/{plan}
Suggest next steps:
/unipi:consolidate— save learnings/unipi:scan-issues— deeper code review/unipi:document— generate docs
Interruption Handling
If any phase fails or user interrupts:
- Record current phase and progress
- Suggest resuming from the failed phase
- Don't lose context — spec/plan/progress preserved
Example:
"Pipeline paused at review phase. 3/5 tasks complete, tests failing. Resume with:
/unipi:auto plan:<plan-path>"
Coexist Triggers
When packages are present, auto pipeline enhances:
| Package | Enhancement |
|---|---|
@unipi/ask-user | Use ask_user for decision gates |
@unipi/subagents | Parallel task execution in work phase |
@unipi/mcp | MCP tools available throughout |
@unipi/web-api | Web research in brainstorm phase |
@unipi/ralph | Ralph loop for 3+ tasks in work phase |
Notes
- This skill is self-contained — no need to load other skills
- Gates between phases ensure user oversight
- Pipeline is resumable — can restart from any phase
- Worktree isolation protects main branch (skipped for small tasks)
- Auto command has
fullsandbox — all tools available
Signals
- GitHub stars
- 64
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
auto-neuron-mr-white- Source
- github.com/neuron-mr-white/unipi