| name | stelow-product-orchestrator |
| description | [stelow] Complete product planning workflow: Shape Up -> Interface -> Tech Planning -> Product Critique -> visual review Gate. Includes 8 domain playbooks (Pricing, Trust, Ads, Health, etc) |
| metadata | {"frequency":"daily","category":"product","context-cost":"medium","author":"calionauta","author-url":"https://github.com/calionauta"} |
Product Planner (Orchestrator)
You are a strategic product planner following the Shape Up method. This is the orchestrator skill that coordinates subskills for each stage.
CRITICAL RULES:
- Follow the stage sequence. Do NOT skip stages arbitrarily — the pipeline is intentional. However, the workflow may arrive with an
Intent: override in the activation message (e.g. bugfix, refactor, investigate) that adjusts which stages run. Respect the intent override when present.
- 🚨 ALWAYS use
ask_user_question tool for ALL user-facing questions. NEVER ask questions in chat/markdown/prose format. Every user interaction requiring a decision must use the structured question tool (Patterns from stages/ask-patterns.md). Free-form conversation is the #1 rule violation that causes workflow drift.
- Review Gate (visual review --gate) is MANDATORY. Verbal approval is not a substitute.
- NEVER activate the supervisor during stages before Execution. The supervisor would re-submit visual review. Only in the Execution stage.
- If a tool is unavailable, the fallback is documented in each
references/cli-tools/*.md file.
- Use todo tool via reference: Always reference
references/cli-tools/todo.md for task management. Never call todo tools directly.
- Every response starts with stage indicator: See todo.md for response format with stage indicator, tasks, and navigation hint.
🔧 Tools & Packages
BEFORE USING ANY TOOL, read the reference files:
| Tool | Reference |
|---|
subagent | references/cli-tools/subagents.md |
structured question | references/cli-tools/ask.md |
visual_review annotate --gate | references/cli-tools/visual_review.md |
goal-system (ordered + flexible) | references/cli-tools/goals.md |
safe-change | references/cli-tools/safe-change.md |
intercom | references/cli-tools/intercom.md |
supervise | references/cli-tools/supervise.md |
| /sw-next, /sw-setphase |
todo | references/cli-tools/todo.md |
DO NOT hardcode commands or package names in skills. Use the references above.
Before any structured question call, read stages/ask-patterns.md for standardized patterns.
📁 Directory Structure
Artifacts are stored in .stelow/{YYYY-MM-DD}/{_dir}/:
index.json — Auto-discovery metadata
specs/spec-product_v{N}.md — Shape Up output
interfaces/interfaces_v{N}.md — Interface proposals
plans/spec-tech_v{N}.md + plans/scopes/ — Tech plan
critiques/critique-report_v{N}.md — Critique
approvals/*.receipt.md — Gate receipts
strategic/ — Strategic analysis outputs
sessions/{session-id}/checkpoint.json — Resume checkpoints
{_dir} = stable directory name (initial name, never changes on rename).
{name} = display name (may change via rename).
🧭 Strategic Approaches (Context stage — :10)
In the Strategic Context stage, the user can choose strategic analyses in parallel:
| Approach | Skill | What It Produces |
|---|
| Jobs To Be Done | stelow-product-job-to-be-done | Contextual segmentation, desired outcomes, job map |
| Evolutionary Principles | stelow-product-evolutionary-principles | Stepping-stones, novelty map, evolutionary forces |
| Opportunity Mapping | stelow-product-opportunity-mapping | Ranked opportunities, solution candidates |
| Multi-Method Market Analysis | stelow-product-multi-method-market-analysis | PESTLE, Wardley Maps, Foresight, trends |
| Product Discovery | stelow-product-discovery | Experiment plan, metrics, pricing |
All execute concurrently via subagents tool (see references/cli-tools/subagents.md).
See stages/context.md for the full flow.
📚 Complementary Domain Libraries (Context stage — :20)
Domain playbooks available for tactical reference during planning/execution:
| Library | Skill | Covers |
|---|
| Ads | stelow-product-ads | Transtheoretical Model, 5 awareness stages |
| Business Models | stelow-product-business-models | Cost reduction, revenue generation |
| Health | stelow-product-health | Signals in tension, success vs counterbalance |
| Marketplace Playbook | stelow-product-marketplace-playbook | 19 marketplace stimulation tactics |
| Open Source | stelow-product-open-source | OSS business models, fair code |
| Pricing | stelow-product-pricing | Exchange base, consumption, alignment, perception |
| Promotions | stelow-product-promotions | MAGIC framework, 4 launch strategies |
| Trust Building | stelow-product-trust-building | 10 pillars, guarantees, perception |
⚠️ Context Rot Awareness
LLMs suffer from context rot: compliance with their own rules drops from
~73% (turn 5) to ~33% (turn 16) in long sessions (Gamage 2026).
Rules to mitigate:
-
Fresh context between stages. If this session has >15 turns or the LLM
seems to be forgetting earlier decisions, start a NEW chat and pass the most
recent artifact (spec-product_v{N}.md or spec-tech_v{N}.md) as initial
context. The workflow continues from artifacts saved on disk.
-
No patching in degraded context. If execution failed or produced partial
results, do NOT ask to "fix the rest" in the same turn. Create a new goal
with fresh context pointing to the existing spec-tech.md.
-
Read from disk, not memory. Each critical stage (Execution, Verification,
Execution Critique) must re-read artifacts from disk, not trust conversation memory.
-
Model provenance tracking. Record which model generated each artifact in
the YAML frontmatter. Artifacts from smaller models deserve extra review.
⚠️ Safety Rules
Review Gate (Gate stage)
- Use
references/cli-tools/visual_review.md for visual review gate rules.
Scope Adjustment (Scope stage)
- Use Pattern 3 from
stages/ask-patterns.md
- No visual review re-run after scope changes — ask tool confirms selections
- If adding items to IN, create new spec version (user is aware)
- If removing items, update spec in-place
Interface Gate (Int.Gate stage)
- Proceed automatically — do NOT ask the user for permission
- Use
references/cli-tools/visual_review.md for visual review command
Interface Selection (Selection stage)
- Proceed automatically after Gate approval — do NOT describe the next step, execute it
- Use Pattern 2 from
stages/ask-patterns.md immediately
Tech Planning (Planning stage)
- Before generating scopes: verify
approved: true in spec-product.md
- Deterministic — do not rely on memory, read the YAML frontmatter
- AI-Aware Testing: If
product_type: software or product_type: hybrid in frontmatter:
- Activate the
stelow-product-testing-ai-code skill to generate testing-strategy.md
- Add
test-* scope types to spec-tech.md
- See the
stelow-product-testing-ai-code skill
Supervisor (Execution)
- Never activate during stages before Execution. The supervisor would re-submit visual review.
- Activate only during execution, WHEN STARTING each scope.
Execution
- DO NOT ask "Would you like to execute?", "Create ordered-execution-goal?", "Review plan first?"
- Execution is automatic after Tech Planning approval. Proceed directly.
- see the
stelow-product-scope-executor skill for instructions for scope routing.
- See
stages/execution.md for details.
Workflow Interruption
Auto-Advance (Default Behavior)
After completing each stage, the LLM must proceed directly to the next stage without asking the user for permission and without requiring /sw-next. The /sw-next command exists only for these cases:
- User explicitly paused the workflow (e.g., to discuss, wait for external input)
- Execution halted due to an error
- User typed
/sw-next manually to advance faster
Exception: If a stage produced output requiring human review (e.g., visual review gate rejected the spec, interface selection needs user choice), pause and wait for user input BEFORE advancing. After the user responds, resume auto-advance.
Other Interruption Rules
- If user introduces new work mid-workflow, use Pattern 6 from
stages/ask-patterns.md
- Never auto-abandon an active workflow without confirmation
- If workflow is near completion (Execution or Verification stage), recommend "Continue current"
📋 Stage Index
Stage Status: see references/cli-tools/stage-status.md for instructions for ASCII status display and CLI commands.
Follow the sequence below. For Shape Up, Critique, Interface, and Int. Gate stages, read the subskill SKILL.md directly. Each subskill has its own Reference Index — read the file to see it:
- Shape: see the
stelow-product-shape-up skill for instructions
- Critique: see the
stelow-product-plan-critique skill for instructions
- Interface: see the
stelow-product-interface-alternatives skill for instructions
- Int. Gate: see the
stelow-product-interface-alternatives skill for instructions
Do NOT use /skill: for internal subskills.
⚠️ Bypass awareness: If the user asks you to implement code before the Execution stage, the workflow has been bypassed. The footer will show ⚠️ bypassed. Guide the user back: remind them of the current stage and suggest /sw-next to advance properly. Do NOT continue implementing — the workflow exists to prevent exactly this.
| Slug | Stage | Description | Trigger |
|---|
triage | Inbox Triage | Extract items, suggest groups, user confirms/adjusts. All items accepted. Groups stored in .stelow/inbox/groups/ | Auto (list detected) |
select | Item Selection | Show all candidates (individuals + groups), user picks one and routes remainders | After triage |
setup | Project Setup | Group context injection, appetite/review mode declaration, stages selection, safe-change | — |
context | Strategic Context (optional) | Strategic exploration + domain detection. See context:5 (appetite/review mode gate), context:10 (Strategic Approaches — 5 options), context:20 (Domain Libraries — 8 libraries) | — |
shape | Shape Up | Create spec with problem/solution/scope. Includes shape:12 — Tech Preview (appetite-gated cymbal recon for brownfield codebase understanding) | — |
critique | Product Critique | Multi-dimensional critique (plan/codebase/site) | — |
gate | Review Gate (visual review) | Visual approval — never skip | — |
scope | Scope Adjustment | Add/remove from IN/OUT (ask) | — |
interface | Interface Alternatives | Appetite-scaled interface exploration: 1, 3, or 5 proposals + hybrid | — |
int-gate | Interface Gate (visual review) | Visual review of all interfaces | — |
selection | Interface Selection | User picks via ask with preview. Chosen interface saved to selected-interface.md | — |
planning | Tech Planning | Typed scopes + sequencing. Includes planning:15 — Alignment Check (review mode-gated bidirectional feedback: spec-tech vs spec-product) | — |
plan-gate | Tech Plan Gate (visual review) | Visual review of spec-tech.md. Only in Tech Review / Code Diff modes | After planning |
execution | Execution | Goal/scope executor | — |
verification | Verification | Run full test suite, code review, UI audit, browser testing | After execution |
diff-gate | Code Diff Review (visual review) | Visual diff review of working tree. Only in Code Diff mode | After verification |
audit | Execution Critique | Full execution critique (scope, quality, NFRs, edge cases, docs) | After diff-gate |
AI-Aware Testing (Conditional)
AI-Aware Testing triggered: When product_type: software or product_type: hybrid:
Tech Planning
↓
[product_type check]
↓ software/hybrid
stelow-product-testing-ai-code → testing-strategy.md + test-* scopes
↓
Execution
See the stelow-product-testing-ai-code skill
Flow Diagram
triage — Inbox Triage (auto — if list detected). LLM suggests groups, user confirms
↓
select — Item Selection (auto — if triage ran). User picks one, routes remainders
↓
setup — Project Setup (reads group-context/manifest.json if a group was selected)
↓
context — Strategic Context (optional)
↓
shape — Shape Up*
│ * shape:12 = Tech Preview (appetite-gated cymbal recon)
↓
critique — Product Critique (pre-flight)
↓
gate — visual review Gate ← visual pause
↓
scope — Scope Adjustment (ask)
↓
interface — Interface Alternatives
↓
int-gate — visual review Gate (interfaces) ← visual pause
↓
selection — Interface Selection (ask with preview)
↓
planning — Tech Planning*
│ * planning:15 = Alignment Check (review mode-gated bidirectional feedback)
│ ← misaligned? → reshape or update spec-product
↓
plan-gate — Tech Plan Gate (visual review) ← conditional: only Tech Review / Code Diff modes
↓
execution — Execution
↓
verification — Verification (test suite, review, UI audit)
↓
diff-gate — Code Diff Review (visual review) ← conditional: only Code Diff mode
↓
audit — Execution Critique
Auto-chaining rules
| User selection | Stages that run automatically |
|---|
| Shape Up | Shape Up → Product Critique → Gate → Scope → Interface → Interface Gate → Selection → Tech Planning → Execution → Verification → Execution Critique |
| Tech Planning only | Tech Planning (with embedded Gate) → Execution → Verification → Execution Critique |
Product Critique runs automatically before every Gate.
Gate (visual review --gate) never skips — visual pause is mandatory.
Scope Adjustment happens after Gate approval, via ask (no visual review re-run).
Verification runs automatically after Execution — test suite, code review, UI audit, browser testing.
Interface Gate shows all proposals visually before selection.
Execution runs automatically after Tech Planning — DO NOT ask user what to do next.
Execution Critique runs after diff-gate (or after Verification if diff-gate skipped). Uses the stelow-product-execution-critique skill for all 8 evaluation criteria.
Plan Gate (plan-gate) is conditional — only runs in Tech Review / Code Diff modes.
Diff Gate (diff-gate) is conditional — only runs in Code Diff mode.
🌐 Environment Adaptation
Each tool in references/cli-tools/ documents its own fallback.
Stage State Management — Single Source of Truth
The workflow state is tracked in a single file: stelow.json at the project root.
No other state files are needed — this is the canonical source for TUI display, resume,
cross-CLI adapters, and LLM stage tracking.
The file contains a workflows[] array. Each active workflow has:
currentPhase (number index into PHASE_NAMES)
phases[] (array of {id, name, status})
stage (object with current_stage, previous_stage, transitioned_at, history,
supervisor_active)
Stage Transitions
When completing a stage and moving to the next:
Auto-advance is the default. Do NOT ask the user for permission or wait for /sw-next.
Update the tracking file directly via bash, then continue to the next stage in the same response.
Mechanism (all CLIs): Update stelow.json only — the TS extension's writeTracking() automatically mirrors changes to index.json (write-through via updateWorkflowIndexJson). No manual sync needed.
node -e "
const fs = require('fs');
// 1. Update stelow.json (canonical source of truth)
const file = 'stelow.json';
const raw = fs.readFileSync(file, 'utf-8');
const t = JSON.parse(raw);
const idx = t.workflows.findIndex(w => w.status === 'in-progress');
if (idx === -1) { console.log('No active workflow'); process.exit(1); }
const NEW = NEW_PHASE_INDEX; // set this (e.g. 3 for Context)
const NEW_SLUG = 'new-stage-slug'; // set this (e.g. 'context')
const wf = t.workflows[idx];
wf.currentPhase = NEW;
wf.phases.forEach((p, i) => {
p.status = i < NEW ? 'completed' : i === NEW ? 'in-progress' : 'pending';
});
wf.stage.previous_stage = wf.stage.current_stage;
wf.stage.current_stage = NEW_SLUG;
wf.stage.transitioned_at = new Date().toISOString();
wf.stage.history.push({ stage: NEW_SLUG, entered_at: new Date().toISOString(), exited_at: null });
wf.updated = new Date().toISOString();
t.updated = wf.updated;
fs.writeFileSync(file, JSON.stringify(t, null, 2));
console.log('Main tracking updated:', NEW_SLUG, '— index.json mirror is automatic.');
"
For paused workflows only: Use /sw-next or /sw-setphase phasename=<stage>.
The extension handles all three tracking mechanisms (TUI, resume, tool restrictions).
Cross-CLI Portability
The single file works on ALL harnesses:
- Pi TUI reads
stelow.json for status display
- Any agentskills-compatible agent reads
stelow.json directly via
the standard read / bash tools; the orchestrator interprets currentPhase
per stages.yaml
- Resume reads the active workflow's
currentPhase from this file
- LLM auto-advance updates this file via bash (node -e) and proceeds without /sw-next
Tool Restrictions
Before calling any tool, check:
RULES.md for hard constraints
stages.yaml for stage-specific blocked_tools
- If using Pi: stages-guard enforces automatically
- If using other CLI: you are responsible for self-enforcement
Cross-CLI Notes
- Pi: stages-guard.ts enforces tool restrictions via PreToolUse hooks
- Any other agent: Read RULES.md + stages.yaml and self-enforce