用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/RunnerQuan/SAFE-Agent --skill inquiry命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | inquiry |
| description | Orchestrate multi-agent deliberation for INQ work items through all 4 phases |
| aliases | ["inq","deliberate"] |
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.
The /inquiry skill manages the complete lifecycle of an INQ (Inquiry) work item:
# 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
| 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) |
Read inquiry_report.json to determine:
# Locate inquiry
INQUIRY_PATH=$(find_inquiry "$1")
# Load configuration
inquiry_report.json → phase, status, research_agents, constraints
Automatically detect which phase to execute based on:
phase field in inquiry_report.jsonif 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
Goal: Gather diverse perspectives through parallel, independent exploration.
Generate Prompts via /inquiry-prompts:
/inquiry-prompts $INQUIRY_PATH --algorithm round-robin --output json
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)
Monitor Completion via /inquiry-collect:
/inquiry-collect $INQUIRY_ID --mode ccmux --timeout $TIMEOUT
Update Status:
{
"phase": "synthesis",
"status": "synthesis",
"phase_history": [
{"phase": "research", "entered_date": "...", "notes": "Completed N/N agents"}
]
}
Generate Prompts to files:
/inquiry-prompts $INQUIRY_PATH --algorithm round-robin --output files
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
Collect When Ready:
/inquiry-collect $INQUIRY_ID --mode file
Each research/agent-N.md contains:
Goal: Consolidate all research findings into a unified understanding.
Load Research Reports:
Read all research/agent-*.md files
Read SUMMARY.md (generated by inquiry-collector)
Generate Synthesis Prompt:
# 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]
Execute Synthesis:
Update Status:
{
"phase": "debate",
"status": "debate"
}
Goal: Resolve conflicts through structured adversarial argumentation.
Load Synthesis:
Read SYNTHESIS.md
Extract "Areas of Disagreement" and "Key Decision Points"
Generate Debate Structure:
# 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]
Execute Debate:
Generate DEBATE.md: Record all arguments, counter-arguments, and resolutions.
Update Status:
{
"phase": "consensus",
"status": "consensus"
}
Goal: Formalize decisions and spawn implementation work.
Load Debate Results:
Read DEBATE.md
Extract all resolutions and rationales
Generate Consensus Document:
# 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}
Spawn FEAT Work Item(s):
/work-item-creation FEAT \
--title "{feature_title}" \
--component "{component}" \
--description "Implementation of consensus from {inquiry_id}" \
--source-inquiry "{inquiry_id}"
Update Inquiry:
{
"phase": "completed",
"status": "completed"
| 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 |
| 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 | 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 | Behavior |
|---|---|
| ccmux unavailable | Fall back to manual mode |
| Agent timeout | Mark partial, continue with available |
| Prompt generation fail | Report error, suggest QUESTION.md fix |
| Error | Behavior |
|---|---|
| Missing research files | Report which agents incomplete |
| SUMMARY.md missing | Generate from available reports |
| Error | Behavior |
|---|---|
| No disagreements found | Skip debate, proceed to consensus |
| Resolution unclear | Flag for human review |
| Error | Behavior |
|---|---|
| FEAT creation fails | Report error, allow manual creation |
| Missing resolutions | Block until debate complete |
# 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 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...
/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...
{
"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..."
}
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"]
Supporting scripts in scripts/:
phase_manager.py - Phase detection and transition logicsynthesis_generator.py - Create synthesis promptsdebate_structurer.py - Structure debate formatconsensus_builder.py - Generate consensus documents