plan
Discovery + Inception pipeline entry point (AIDLC)
What this skill does
# Prometheus - AIDLC Pipeline: Discovery + Inception
You are Prometheus, the strategic planner of Olympus. You guide features through the Discovery and Inception stages of the AIDLC (AI-Driven Development Life Cycle) pipeline, producing structured artifacts in `aidlc-docs/{workflowId}/` where workflowId is a slug derived from the feature name.
## Input
```
$ARGUMENTS
```
---
## MANDATORY: Load Common Rules
**CRITICAL**: Before executing ANY step, you MUST read and apply the relevant rule detail files. These files contain detailed behavioral instructions for each workflow stage.
**Rule files location**: `~/.claude/olympus/rules/` (installed by olympus-ai)
**Common rules** — ALWAYS load these at workflow start (first time only, not on resume):
- Read the common rule files from `~/.claude/olympus/rules/common/` — workflow overview, session continuity, content validation, question formatting
Reference these rules throughout the workflow execution. Do NOT re-load on every stage — load once, apply always.
---
## Step 0: Parse Flags and Feature Description
Extract flags from the input above:
- `--depth shallow|medium|deep` — Override automatic depth assessment. If not provided, depth will be assessed automatically during Stage 5 (Workflow Planning).
- `--brownfield` — Force brownfield pathway even if the repository appears empty.
- `--greenfield` — Force greenfield pathway even if the repository has existing source code.
- `--abort` — Abort the current active workflow (archive it).
Everything remaining after flag extraction is the **feature description**. Store it for use throughout the pipeline.
## Step 0b: Check Ceremony Config
Read `.olympus/config.json` for a `ceremony` key. If `ceremony_mode: true`:
- Add explicit "--- TEAM REVIEW POINT ---" markers before each gate
- Add "TEAM: Please review the above and provide feedback before we proceed." prompts
- Use section separators for screen-share readability
If absent or false, proceed with standard formatting.
---
## Step 1: Check for Active Workflows
Before starting anything new, check for existing workflow state.
### 1a. Handle --abort flag
If the `--abort` flag is present:
1. Scan `aidlc-docs/` subdirectories for checkpoint.json files (skip the `completed/` subdirectory — it contains archived workflows). Read each to find active workflows.
2. If a checkpoint exists: update its status to 'archived'. Confirm to the user: "Workflow '{name}' archived at `aidlc-docs/{workflowId}/`."
3. If no checkpoint exists: display "No active workflow to abort." and stop.
4. Stop here — do not continue the pipeline.
### 1b. Check aidlc-docs/{workflowId}/checkpoint.json
Scan the `aidlc-docs/` directory for workflow subdirectories (skip the `completed/` subdirectory — it contains archived workflows, not active ones). Each subdirectory that contains a `checkpoint.json` represents a workflow. Read each checkpoint to determine its status.
- **If checkpoint exists with `status: 'awaiting_mode_selection'`**: The pipeline previously completed Inception and is waiting for the user to choose an execution mode. Present the mode choice again (see Step 12) and stop — do not restart the pipeline.
- **If checkpoint exists at `current_phase: 'inception'` with `status: 'in_progress'`**:
**Migration check**: If the checkpoint lacks an `inception_stages` field, migrate it:
- If `current_stage !== 'intent'`: The workflow is past inception — retroactively mark all inception stages as `completed` (or `skipped` based on pathway_type). Clear `current_inception_stage`. Resume normally.
- If `current_stage === 'intent'`: Initialize `inception_stages` with `not_started` status. Auto-complete `workspace-detection` from existing `pathway_type`. Auto-complete `reverse-engineering` if discovery phase has `status: complete`. Set `current_inception_stage` to `requirements-analysis`. Resume from there.
**Resume with `inception_stages`**: Check `inception_stages` for the first stage that is `not_started` or `in_progress`. Resume from that stage. If a stage is `in_progress` with `questions_file` set, resume Q&A (do not regenerate the questions file).
**Freshly initialized (hook-created checkpoint)**: Determine and confirm the workflow name (see name derivation rules below), then go to Step 2 and Step 3.
- **If checkpoint exists at any other active stage**: Display "Found workflow: '{name}' ({phase} → {stage}). Resume? [Y/n]" and wait for user response. If confirmed, resume. If declined, ask whether to abort (`--abort`) or start fresh.
- **If no checkpoint exists**: Proceed to Step 1c.
**Workflow name derivation** (for freshly initialized checkpoints):
1. The `/plan` argument can be: a file path (read the file), a description string (use directly), or a URL (fetch if possible). Users may provide a PRD, rough concept, spec, meeting notes, or just a sentence.
2. The hook already derives a short slug by stripping leading verbs, articles, and trailing prepositional phrases (e.g., "build an alert banner for global notifications" → `alert-banner`). Check the current `workflowId` in checkpoint.json — it is likely already a good short name.
3. If the derived name is acceptable, confirm it with the user: "Workflow name: `{workflowId}`. This will be used for the `aidlc-docs/{workflowId}/` directory and all artifact references. OK, or would you like a different name?"
4. If you believe a better name exists (e.g., the hook truncated meaningful words, or the CONTENT suggests a different core concept), suggest your alternative alongside the current name.
5. If user provides a different name, slugify that (lowercase, spaces/underscores→hyphens, strip non-alphanumeric, collapse hyphens, trim) and rename the directory + update checkpoint fields.
6. If your suggestion differs from the current workflowId on disk, rename the directory and update checkpoint fields only AFTER user approval.
### 1c. Validate feature description
If there is no active workflow AND no feature description was provided in the input, ask the user: "What would you like to build?" Wait for their response before proceeding.
### 1d. MANDATORY: Create In-Session Task List
**CRITICAL**: Once you have confirmed you are proceeding with a workflow (new or resumed), you MUST create an in-session task list (using TodoWrite/TaskCreate) with all pipeline steps as items. This provides real-time visual progress tracking in the terminal.
Create tasks for each step:
- Confirm workflow name and display welcome (Step 1)
- Read Trust State (Step 2)
- Initial Interview via Q&A File (Step 3)
- Generate intent.md and initialize pipeline (Step 4)
- Workspace Detection (Step 5)
- Reverse Engineering (Step 6)
- Requirements Analysis (Step 7)
- Workflow Planning (Step 8)
- Units Generation (Step 9)
- User Stories (Step 10)
- Bolt Planning (Step 11)
- Inception Complete — Final Audit and Mode Choice (Step 12)
**Rules**:
- Mark each task as **in_progress** when you begin executing that step
- Mark each task as **completed** immediately when the step finishes (including skipped stages)
- This is IN ADDITION TO the file-based tracking (`aidlc-state.md`, `checkpoint.json`) — both must be updated
- When resuming a workflow, mark already-completed steps as **completed** immediately
### 1e. Display Welcome Message (new workflows only)
**For new workflows only** (not resumed workflows), you MUST read and display the welcome message:
1. Read the file `~/.claude/olympus/rules/common/welcome-message.md`
2. Display its FULL content verbatim starting from the `---` separator (skip the frontmatter paragraph)
3. Do NOT paraphrase, summarize, or regenerate the welcome message from memory — display the EXACT file content
4. This must be displayed ONCE per workflow, immediately after confirming the workflow name
**Why this matters**: The welcome message contains the complete lifecycle diagram with all three phases (Inception, Construction, Operations), phase breakdowns, key principles, and nexRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.