# Inquiry

> Orchestrate multi-agent deliberation for INQ work items through all 4 phases Use when this capability is needed.

- Skill: `tomevault-io/inquiry` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/inquiry`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/inquiry/raw
- Safety review: pending (external: skill-scanner PASS, skillspector WARNING)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/inquiry

---


# Skill: Inquiry Orchestration

You are the Inquiry Orchestration agent. Your goal is to guide INQ work items through all four deliberation phases—Research, Synthesis, Debate, and Consensus—coordinating multiple agents to reach well-reasoned decisions.

## Overview

The `/inquiry` skill manages the complete lifecycle of an INQ (Inquiry) work item:

1. **Phase 1: Research** - Spawn independent agents to explore the problem space
2. **Phase 2: Synthesis** - Consolidate findings into unified understanding
3. **Phase 3: Debate** - Resolve conflicts through structured argumentation
4. **Phase 4: Consensus** - Formalize decisions and spawn FEAT work item(s)

## Usage

```bash
# Start or continue an inquiry
/inquiry INQ-001

# Start a specific phase
/inquiry INQ-001 --phase research
/inquiry INQ-001 --phase synthesis
/inquiry INQ-001 --phase debate
/inquiry INQ-001 --phase consensus

# With agent configuration
/inquiry INQ-001 --agents 5 --model claude

# Fallback mode (no ccmux)
/inquiry INQ-001 --mode manual
```

## Arguments

| Argument | Required | Description |
|----------|----------|-------------|
| `inquiry_id` | Yes | The inquiry ID (e.g., INQ-001) or path to inquiry directory |
| `--phase` | No | Start/resume at specific phase (auto-detects if omitted) |
| `--agents` | No | Number of research agents (overrides inquiry_report.json) |
| `--model` | No | Model for spawned agents (claude, gemini, codex) |
| `--mode` | No | Execution mode: `ccmux` (default) or `manual` |
| `--timeout` | No | Timeout per phase in seconds (default: 600) |

## Workflow

### 1. Initialization

Read `inquiry_report.json` to determine:
- Current phase and status
- Number of research agents required
- Constraints and context

```bash
# Locate inquiry
INQUIRY_PATH=$(find_inquiry "$1")

# Load configuration
inquiry_report.json → phase, status, research_agents, constraints
```

### 2. Phase Detection

Automatically detect which phase to execute based on:
- Current `phase` field in inquiry_report.json
- Existence of phase artifacts (research/, SYNTHESIS.md, DEBATE.md, CONSENSUS.md)

```
if phase == "new" or phase == "research":
    → Execute Phase 1: Research
elif phase == "synthesis":
    → Execute Phase 2: Synthesis
elif phase == "debate":
    → Execute Phase 3: Debate
elif phase == "consensus":
    → Execute Phase 4: Consensus
elif phase == "completed":
    → Report completion, show spawned features
```

---

## Phase 1: Research

**Goal**: Gather diverse perspectives through parallel, independent exploration.

### With ccmux (Recommended)

1. **Generate Prompts** via `/inquiry-prompts`:
   ```bash
   /inquiry-prompts $INQUIRY_PATH --algorithm round-robin --output json
   ```

2. **Spawn Research Agents**:
   ```
   For each agent prompt:
     ccmux_create_session(
       name: "inq-{inquiry_id}-agent-{N}",
       command: "claude --dangerously-skip-permissions",
       tags: ["worker", "{inquiry_id}"]
     )
     ccmux_send_input(pane_id, prompt)
   ```

3. **Monitor Completion** via `/inquiry-collect`:
   ```bash
   /inquiry-collect $INQUIRY_ID --mode ccmux --timeout $TIMEOUT
   ```

4. **Update Status**:
   ```json
   {
     "phase": "synthesis",
     "status": "synthesis",
     "phase_history": [
       {"phase": "research", "entered_date": "...", "notes": "Completed N/N agents"}
     ]
   }
   ```

### Without ccmux (Manual Mode)

1. **Generate Prompts** to files:
   ```bash
   /inquiry-prompts $INQUIRY_PATH --algorithm round-robin --output files
   ```

2. **Display Instructions**:
   ```
   Research prompts generated in research/ directory.

   To complete Phase 1:
   1. Open each research/agent-N.md in separate Claude sessions
   2. Have each agent complete their research independently
   3. Save outputs back to research/agent-N.md
   4. Run: /inquiry $INQUIRY_ID --phase synthesis
   ```

3. **Collect When Ready**:
   ```bash
   /inquiry-collect $INQUIRY_ID --mode file
   ```

### Research Output Structure

Each `research/agent-N.md` contains:
- Problem analysis
- Approaches explored
- Evidence gathered
- Key findings
- Recommendations

---

## Phase 2: Synthesis

**Goal**: Consolidate all research findings into a unified understanding.

### Process

1. **Load Research Reports**:
   ```bash
   Read all research/agent-*.md files
   Read SUMMARY.md (generated by inquiry-collector)
   ```

2. **Generate Synthesis Prompt**:
   ```markdown
   # Synthesis Agent - Consolidate Research Findings

   ## Task
   You are the Synthesis Agent for **{inquiry_title}**.

   Review all research reports and create a comprehensive synthesis.

   ## Research Reports
   {all_agent_reports}

   ## Summary of Findings
   {summary_md_content}

   ## Instructions
   1. Identify common themes across all reports
   2. Note areas of agreement and strong consensus
   3. Highlight conflicts and divergent perspectives
   4. Extract key decision points requiring debate
   5. Create SYNTHESIS.md following the template below

   ## Output Template

   # Synthesis: {inquiry_title}

   ## Overview
   [Executive summary of consolidated findings]

   ## Common Themes
   [Themes that emerged across multiple agents]

   ## Areas of Agreement
   [Points where agents converged]

   ## Areas of Disagreement
   [Points requiring debate]

   ## Key Decision Points
   [Decisions that need to be made]

   ## Evidence Summary
   [Consolidated evidence from all agents]

   ## Questions for Debate
   [Specific questions to resolve in Phase 3]
   ```

3. **Execute Synthesis**:
   - **ccmux mode**: Spawn synthesis agent, collect SYNTHESIS.md
   - **manual mode**: Display prompt, await user completion

4. **Update Status**:
   ```json
   {
     "phase": "debate",
     "status": "debate"
   }
   ```

---

## Phase 3: Debate

**Goal**: Resolve conflicts through structured adversarial argumentation.

### Process

1. **Load Synthesis**:
   ```bash
   Read SYNTHESIS.md
   Extract "Areas of Disagreement" and "Key Decision Points"
   ```

2. **Generate Debate Structure**:
   ```markdown
   # Debate: {inquiry_title}

   ## Decision Points

   ### Decision Point 1: {topic}

   #### Position A: {stance}
   **Advocate**: Agent A

   **Arguments**:
   1. [Argument with evidence]
   2. [Argument with evidence]

   **Supporting Evidence**:
   - [Evidence from research]

   #### Position B: {stance}
   **Advocate**: Agent B

   **Arguments**:
   1. [Counter-argument with evidence]
   2. [Counter-argument with evidence]

   **Supporting Evidence**:
   - [Evidence from research]

   #### Rebuttal Round

   **Agent A Response**:
   [Response to Position B arguments]

   **Agent B Response**:
   [Response to Position A arguments]

   #### Resolution
   **Prevailing Position**: [A or B]
   **Rationale**: [Why this position was chosen]
   **Confidence**: [High/Medium/Low]
   ```

3. **Execute Debate**:
   - **ccmux mode**: Spawn advocate agents for each position
   - **manual mode**: Facilitate structured debate prompt

4. **Generate DEBATE.md**:
   Record all arguments, counter-arguments, and resolutions.

5. **Update Status**:
   ```json
   {
     "phase": "consensus",
     "status": "consensus"
   }
   ```

---

## Phase 4: Consensus

**Goal**: Formalize decisions and spawn implementation work.

### Process

1. **Load Debate Results**:
   ```bash
   Read DEBATE.md
   Extract all resolutions and rationales
   ```

2. **Generate Consensus Document**:
   ```markdown
   # Consensus: {inquiry_title}

   ## Executive Summary
   [Summary of the final decision]

   ## Decision Record

   ### Decision 1: {topic}
   **Resolution**: {chosen_approach}
   **Rationale**: {why_chosen}
   **Alternatives Rejected**:
   - {alternative}: {reason_rejected}

   ## Implementation Plan

   ### Recommended Approach
   [Detailed description of chosen approach]

   ### Success Criteria
   - [Criterion 1]
   - [Criterion 2]

   ### Risks and Mitigations
   | Risk | Mitigation |
   |------|------------|
   | ... | ... |

   ## Work Items

   ### FEAT-XXX: {feature_title}
   **Description**: {description}
   **Priority**: {priority}
   **Estimated Effort**: {effort}

   ## Approval

   **Consensus Reached**: {date}
   **Source Inquiry**: {inquiry_id}
   **Participants**: {agent_list}
   ```

3. **Spawn FEAT Work Item(s)**:
   ```bash
   /work-item-creation FEAT \
     --title "{feature_title}" \
     --component "{component}" \
     --description "Implementation of consensus from {inquiry_id}" \
     --source-inquiry "{inquiry_id}"
   ```

4. **Update Inquiry**:
   ```json
   {
     "phase": "completed",
     "status": "completed",
     "spawned_features": ["FEAT-XXX"]
   }
   ```

---

## Integration Points

### Skills Used

| Skill | Phase | Purpose |
|-------|-------|---------|
| `/inquiry-prompts` | Research | Generate agent prompts from QUESTION.md |
| `/inquiry-collect` | Research | Collect and consolidate agent outputs |
| `/work-item-creation` | Consensus | Create FEAT work items |

### ccmux Tools

| Tool | Purpose |
|------|---------|
| `ccmux_create_session` | Spawn agent sessions |
| `ccmux_send_input` | Send prompts to agents |
| `ccmux_get_status` | Check agent completion |
| `ccmux_read_pane` | Extract agent output |
| `ccmux_set_tags` | Tag sessions with inquiry ID |
| `ccmux_kill_session` | Cleanup after completion |

### File Dependencies

| File | Phase | Description |
|------|-------|-------------|
| `inquiry_report.json` | All | Metadata and state tracking |
| `QUESTION.md` | Research | Problem statement and context |
| `research/agent-N.md` | Research | Independent research reports |
| `SUMMARY.md` | Research→Synthesis | Collector output, synthesis input |
| `SYNTHESIS.md` | Synthesis→Debate | Consolidated findings |
| `DEBATE.md` | Debate→Consensus | Structured arguments |
| `CONSENSUS.md` | Consensus | Final decisions |

---

## Error Handling

### Phase 1: Research
| Error | Behavior |
|-------|----------|
| ccmux unavailable | Fall back to manual mode |
| Agent timeout | Mark partial, continue with available |
| Prompt generation fail | Report error, suggest QUESTION.md fix |

### Phase 2: Synthesis
| Error | Behavior |
|-------|----------|
| Missing research files | Report which agents incomplete |
| SUMMARY.md missing | Generate from available reports |

### Phase 3: Debate
| Error | Behavior |
|-------|----------|
| No disagreements found | Skip debate, proceed to consensus |
| Resolution unclear | Flag for human review |

### Phase 4: Consensus
| Error | Behavior |
|-------|----------|
| FEAT creation fails | Report error, allow manual creation |
| Missing resolutions | Block until debate complete |

---

## Examples

### Complete Inquiry Workflow

```bash
# Start new inquiry
/inquiry INQ-001

# Output:
# Starting INQ-001: Authentication Strategy Decision
# Phase: Research (1/4)
#
# Generating research prompts...
# Spawning 3 research agents...
#   Agent 1: Security Analysis (session: inq-001-agent-1)
#   Agent 2: Implementation Options (session: inq-001-agent-2)
#   Agent 3: Cost Analysis (session: inq-001-agent-3)
#
# Monitoring agent completion...
# Agent 1: Complete (2847 chars)
# Agent 2: Complete (3102 chars)
# Agent 3: Complete (2956 chars)
#
# Research phase complete. Proceeding to synthesis...
# Phase: Synthesis (2/4)
#
# [... synthesis completes ...]
#
# Phase: Debate (3/4)
#
# [... debate completes ...]
#
# Phase: Consensus (4/4)
#
# Generating consensus document...
# Creating FEAT-024: Implement OAuth2 Authentication
#
# INQ-001 completed successfully!
# Spawned features: FEAT-024
```

### Resume Partial Inquiry

```bash
# Resume inquiry stuck in synthesis
/inquiry INQ-001

# Output:
# Resuming INQ-001: Authentication Strategy Decision
# Current phase: synthesis
#
# Research artifacts found:
#   research/agent-1.md ✓
#   research/agent-2.md ✓
#   research/agent-3.md ✓
#   SUMMARY.md ✓
#
# Proceeding with synthesis phase...
```

### Manual Mode

```bash
/inquiry INQ-001 --mode manual

# Output:
# Starting INQ-001 in manual mode (no ccmux)
#
# Phase 1: Research
#
# Generated research prompts:
#   research/agent-1.md - Security Analysis prompt
#   research/agent-2.md - Implementation Options prompt
#   research/agent-3.md - Cost Analysis prompt
#
# Instructions:
# 1. Open each file in a separate Claude session
# 2. Have each agent complete their research independently
# 3. Save their outputs back to the respective files
# 4. Run: /inquiry INQ-001 to continue
#
# Waiting for research completion...
```

---

## Configuration

### inquiry_report.json

```json
{
  "inquiry_id": "INQ-001",
  "title": "Authentication Strategy Decision",
  "component": "auth",
  "priority": "P1",
  "status": "new",
  "phase": "research",
  "research_agents": 3,
  "constraints": [
    "Must support SSO",
    "Must comply with SOC2",
    "Budget: $10k/year max"
  ],
  "context": "Evaluating authentication approaches for new mobile app..."
}
```

### Agent Tags (ccmux mode)

Sessions are tagged for tracking:
```
["worker", "INQ-001", "research"]
["worker", "INQ-001", "synthesis"]
["worker", "INQ-001", "debate-advocate-a"]
["worker", "INQ-001", "debate-advocate-b"]
```

---

## Rules

1. **Phase Order is Mandatory**: Research → Synthesis → Debate → Consensus
2. **Independence in Research**: Agents must not share findings until synthesis
3. **All Constraints Must Be Satisfied**: No proposal can violate stated constraints
4. **Debate Requires Positions**: At least two perspectives per decision point
5. **Consensus Creates Work**: At least one FEAT must be spawned
6. **State is Persistent**: inquiry_report.json tracks all progress
7. **Fallback is Available**: Manual mode works without ccmux

## Scripts

Supporting scripts in `scripts/`:
- `phase_manager.py` - Phase detection and transition logic
- `synthesis_generator.py` - Create synthesis prompts
- `debate_structurer.py` - Structure debate format
- `consensus_builder.py` - Generate consensus documents

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/brendanbecker) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

