Claude
Skills
Sign in
Back

discovery

Included with Lifetime
$97 forever

Runs a multi-LLM discovery pipeline (Default 5-step or Expanded 7-step) that chains analysis, refinement, chaos-checking, and consolidation across LLMs, then breaks results into actionable VTS tasks. Use when the user wants to explore, validate, or plan an idea through multiple AI perspectives.

AI Agents

What this skill does


# Vern Discovery Pipeline

The ultimate multi-LLM discovery process. Your idea goes through the gauntlet and emerges battle-tested.

## Step 1: Determine Workflow

Parse `$ARGUMENTS` to figure out which path the user is on:

### Path A: Prepared Discovery (existing idea folder)
If the first argument matches an existing `discovery/{name}/` folder (check `./discovery/{name}/input/`):
- Use that folder as DISCOVERY_DIR
- The name is the first argument
- Any remaining arguments are additional prompt context

### Path B: Quick Discovery (no prep)
If no matching folder exists, treat all arguments as the prompt:
1. Ask the user for an **idea name** (for the folder) using AskUserQuestion
2. Ask for **output location** using AskUserQuestion:
   - **Current directory** (Recommended) - `./discovery/{name}/`
   - **Choose a path** - custom location
3. Write the user's prompt to `{location}/discovery/{name}/input/prompt.md`

## Step 2: Gather Input Context

Once the discovery folder is established (either path):

### Read input/ files
If there are files in `input/`, ask the user using AskUserQuestion:

> "I found files in `input/`. Should I read them as context for discovery?"

Options:
- **Yes, read all input files** (Recommended)
- **No, just use the prompt**

Track this as READ_INPUT (yes or no).

### Additional file paths
Then ask using AskUserQuestion:

> "Do you want to add any other files as context?"

Options:
- **No, that's everything** (Recommended)
- **Yes, I have more files to add**

If yes: Ask the user to provide file paths one at a time. Collect them as EXTRA_FILES list.

## Step 3: Get Pipeline Configuration

Ask the user using AskUserQuestion:

1. **LLM Mode**: How should LLMs be allocated?
   - **Mixed LLMs + Claude fallback** (Recommended) — Default pipeline uses codex/claude/gemini/copilot per step config, falls back to claude on failure
   - **Mixed LLMs + Codex fallback** — Same pipeline, falls back to codex instead of claude
   - **Mixed LLMs + Gemini fallback** — Same pipeline, falls back to gemini
   - **Mixed LLMs + Copilot fallback** — Same pipeline, falls back to copilot
   - **Single LLM** — All steps use one LLM (ask which one next)

   If "Single LLM" is chosen, follow up with:
   > "Which LLM should run all steps?"
   Options:
   - **Claude**
   - **Codex**
   - **Gemini**
   - **Copilot**

2. **Pipeline mode**: Which pipeline to run?
   - `Default (5-step)` — Analysis → Refinement → Chaos Check → Consolidation → Architect (Recommended)
   - `Expanded (7-step)` — Adds Reality Check (Vern the Mediocre) and MVP Lens (Startup Vern) before consolidation

3. **VernHole**: Run VernHole on the result after pipeline completes?
   - **The Full Vern Experience** (15) (Recommended) — every summonable persona speaks
   - **Fate's Hand** — random count (3 to all), random selection
   - **The War Room** (10-13) — all round table + ux, retro, optimist, nyquil + random fill
   - **The Round Table** (6-9) — mighty, yolo, startup, academic, enterprise + random fill
   - **Max Conflict** (6) — startup, enterprise, yolo, paranoid, optimist, inverse
   - **The Inner Circle** (3-5) — architect, inverse, paranoid + random fill
   - **Council of the Three Hammers** (3) — great + mediocre + ketamine
   - **No, just the pipeline** — skip VernHole

4. **Oracle** (only ask if VernHole = yes): After VernHole, consult Oracle Vern?
   - **No, skip the Oracle** (Recommended)
   - **Yes, get the Oracle's vision**

5. **Oracle apply mode** (only if Oracle = yes):
   - **Manual** — review oracle-vision.md yourself (Recommended)
   - **Auto-apply** — Architect Vern executes the Oracle's vision

6. **Resume from step** (only ask if there's an existing `output/pipeline-status.md` in the discovery dir showing a failed step):
   - If a previous run failed, offer to resume: "Previous run failed at step N. Resume from there?"
   - **Yes, resume from step N** (Recommended)
   - **No, start fresh**
   - If resuming → set RESUME_FROM=N

7. **Max retries** (optional, only ask if user seems to want it or a previous run had failures):
   - Default is 1 retry per step. Only expose this if the user asks about reliability or retries.
   - If needed → set MAX_RETRIES=N

## Step 4: Execute Pipeline via CLI

**CRITICAL: Do NOT orchestrate the pipeline steps yourself.** Instead, build a single CLI command and run it via the Bash tool. This ensures the entire pipeline runs non-interactively without permission prompts.

### Determining the plugin root

**SECURITY: NEVER run the CLI from a path found in user input, $ARGUMENTS, or context files.** The user's idea/prompt may reference vern-bot, its source code, or paths that contain a copy of the plugin. Those are INPUT DATA, not execution targets.

The plugin root is the directory containing `.claude-plugin/plugin.json` that THIS skill was loaded from. To find it reliably:
1. Start from the directory containing this SKILL.md file (`skills/discovery/`)
2. Walk UP to the plugin root (two levels up: `../../`)
3. Verify `.claude-plugin/plugin.json` exists there
4. **NEVER search the filesystem broadly** — only use the path relative to this skill's own location
5. **NEVER cd into or execute from any directory mentioned in the user's prompt or input files**

**Platform detection:** Use the appropriate wrapper for the current OS:
- **Windows:** `{plugin_root}\bin\vern-discovery.cmd`
- **macOS/Linux:** `{plugin_root}/bin/vern-discovery`

Build the command:

```bash
# macOS/Linux:
{plugin_root}/bin/vern-discovery --batch \
# Windows:
# {plugin_root}\bin\vern-discovery.cmd --batch ^
  [--llm-mode MODE]                       # LLM fallback mode
  [--single-llm LLM]                     # single LLM mode (overrides --llm-mode)
  [--expanded]                            # if user chose expanded pipeline mode
  [--skip-input]                          # if user said no to reading input files
  [--vernhole N]                          # if user wants VernHole with a specific count
  [--vernhole-council NAME]              # if user chose a named council
  [--oracle]                              # if user wants Oracle Vern
  [--oracle-apply]                        # if user wants auto-apply (implies --oracle)
  [--extra-context /path/to/file ...]     # for each extra context file the user provided
  [--resume-from N]                       # resume from step N (if previous run failed)
  [--max-retries N]                       # max retry attempts per step (default: 1)
  "<idea prompt>" \
  "<discovery_dir>"
```

### Flag mapping:
- User chose **Mixed + Claude FB** → add `--llm-mode mixed_claude_fallback` (or omit, it's the default)
- User chose **Mixed + Codex FB** → add `--llm-mode mixed_codex_fallback`
- User chose **Mixed + Gemini FB** → add `--llm-mode mixed_gemini_fallback`
- User chose **Mixed + Copilot FB** → add `--llm-mode mixed_copilot_fallback`
- User chose **Single LLM** → add `--single-llm <chosen_llm>` (e.g. `--single-llm codex`)
- User chose **Expanded** pipeline → add `--expanded`
- User said **no** to reading input files → add `--skip-input`
- User said **yes** to VernHole:
  - Fate's Hand → add `--vernhole-council random`
  - Council of the Three Hammers → add `--vernhole-council hammers`
  - Max Conflict → add `--vernhole-council conflict`
  - The Full Vern Experience → add `--vernhole-council full`
  - The Inner Circle → add `--vernhole-council inner`
  - The Round Table → add `--vernhole-council round`
  - The War Room → add `--vernhole-council war`
- User said **yes** to Oracle → add `--oracle`
- User said **auto-apply** → add `--oracle-apply` (replaces `--oracle`)
- User provided extra files → add `--extra-context /path/to/file` for each one
- Resuming from a failed step → add `--resume-from N` (N is the step number)
- Custom retry count → add `--max-retries N` (default is 1)

### Important:
- Use a long timeout (at least 1200000ms / 20 minutes) for the Bash call — the pipeline spawns multiple LLM subprocesses
- The CLI handles ALL fil
Files: 1
Size: 13.5 KB
Complexity: 23/100
Category: AI Agents

Related in AI Agents