name: build-research description: | Research dispatcher for enhanced /build command Phase 1. Parses user concept input and delegates to claude-code-guide for capability inventory. Saves results to .agent/builds/{build_id}/ for resume support. Returns L1 summary with complexity level options (0/50/100).
Core Capabilities:
- Concept Parsing: Extract and normalize user concept input
- Research Delegation: Delegate to claude-code-guide subagent
- Capability Inventory: Generate structured capability inventory
- Resume Support: Save state for build session continuity
Output Format:
- L1: Build session summary with complexity options (YAML)
- L2: Full capability inventory (research.json)
- L3: Detailed capability schemas
Pipeline Position:
- Called by /build skill in Concept Mode
- Phase 1 of build workflow user-invocable: false disable-model-invocation: false context: fork model: opus allowed-tools:
- Read
- Grep
- Glob
- Task
- Write
- mcp__sequential-thinking__sequentialthinking
version: "3.0.0"
hooks:
Setup:
- type: command command: "source /home/palantir/.claude/skills/shared/workload-files.sh" timeout: 5000
=============================================================================
P1: Skill as Sub-Orchestrator
=============================================================================
agent_delegation: enabled: true default_mode: true # V1.1.0: Auto-delegation by default max_sub_agents: 1 delegation_strategy: "single-agent" strategies: single_agent: description: "Single delegation to claude-code-guide" use_when: "Concept research phase" sub_agent_permissions: - Read - Glob - WebSearch output_paths: l1: ".agent/prompts/{slug}/build-research/l1_summary.yaml" l2: ".agent/prompts/{slug}/build-research/l2_index.md" l3: ".agent/prompts/{slug}/build-research/l3_details/" return_format: l1: "Research summary with capability count and level options (≤500 tokens)" l2_path: ".agent/prompts/{slug}/build-research/l2_index.md" l3_path: ".agent/prompts/{slug}/build-research/l3_details/" requires_l2_read: false next_action_hint: "/build (Phase 2)"
=============================================================================
P2: Parallel Agent Configuration (Disabled - Single Agent Skill)
=============================================================================
parallel_agent_config: enabled: false reason: "Single-agent research delegation"
=============================================================================
P6: Agent Internal Feedback Loop
=============================================================================
agent_internal_feedback_loop: enabled: true max_iterations: 3 validation_criteria: - "JSON response is valid and parseable" - "All capability fields are present" - "Level 0/50/100 definitions are complete" refinement_triggers: - "Invalid JSON structure" - "Missing required fields" - "Empty capability list"
Auto-Delegation Trigger (CRITICAL)
Reference:
.claude/skills/shared/auto-delegation.mdBehavior: Whenagent_delegation.enabled: trueANDdefault_mode: true, skill automatically operates as Sub-Orchestrator.
// AUTO-DELEGATION CHECK - Execute at skill invocation
// If complex task detected, triggers: analyze → delegate → collect
const delegationDecision = checkAutoDelegation(SKILL_CONFIG, userRequest)
if (delegationDecision.shouldDelegate) {
const complexity = analyzeTaskComplexity(taskDescription, SKILL_CONFIG)
return executeDelegation(taskDescription, complexity, SKILL_CONFIG)
}
// Simple tasks execute directly without delegation overhead
Build Research Skill - Phase 1 Research Dispatcher
Version: 3.0.0 | Context: fork | Model: opus Parent: /build command | Phase: 1 of 3
Purpose
Execute Phase 1 (RESEARCH) of the enhanced /build workflow:
- Parse concept name from user input (
$ARGUMENTS) - Delegate research to claude-code-guide subagent
- Generate capability inventory
- Save results with resume support
- Return L1 summary to Main Agent
1. Input Parsing
Supported Input Patterns
Pattern 1: /build "Progressive-Disclosure" → concept = "Progressive-Disclosure"
Pattern 2: /build concept-name → concept = "concept-name"
Pattern 3: /build --research "concept-name" → concept = "concept-name"
Pattern 4: $ARGUMENTS directly → concept = $ARGUMENTS.strip()
Build ID Generation (표준 Workload 시스템)
# Source centralized slug generator
source "${WORKSPACE_ROOT:-.}/.claude/skills/shared/slug-generator.sh"
source "${WORKSPACE_ROOT:-.}/.claude/skills/shared/workload-files.sh"
# 기본 동작: 항상 새 workload 생성 (독립 스킬)
CONCEPT="$1"
TOPIC="build-${CONCEPT:-research}"
# Workload ID 생성
WORKLOAD_ID=$(generate_workload_id "$TOPIC")
SLUG=$(generate_slug_from_workload "$WORKLOAD_ID")
# Short ID for display (레거시 호환)
BUILD_ID="${CONCEPT:0:3}-$(echo "$WORKLOAD_ID" | md5sum | cut -c1-4)"
# 디렉토리 구조 초기화
BUILD_DIR=".agent/builds/${SLUG}"
mkdir -p "${BUILD_DIR}"
# Workload 활성화
set_active_workload "$WORKLOAD_ID"
echo "🔬 Build research initialized: $SLUG (ID: $BUILD_ID)"
레거시 호환:
Format: {concept_slug[:3]}-{hash[:4]}
Example: "pro-a1b2" for "Progressive-Disclosure"
2. Research Delegation
Claude-Code-Guide Prompt
## Context
User wants to build a "{concept}" implementation using Claude Code native capabilities.
## Task
Research ALL relevant Claude Code native capabilities that could implement "{concept}".
## Required Output Format (JSON)
{
"concept": "{concept}",
"capabilities": [
{
"id": "S1",
"name": "capability name",
"category": "skill|agent|hook|pattern",
"complexity": "basic|intermediate|advanced",
"level": 0|50|100,
"description": "1-2 sentence description",
"fields": ["field1", "field2"],
"dependencies": ["other_capability_id"]
}
],
"levels": {
"0": {
"name": "Basic",
"capabilities": ["S1", "H1"],
"capabilityCount": 2,
"description": "Core functionality only"
},
"50": {
"name": "Recommended",
"capabilities": ["S1", "S2", "H1", "H2", "A1"],
"capabilityCount": 5,
"description": "Standard implementation with error handling"
},
"100": {
"name": "Full",
"capabilities": ["S1", "S2", "S3", "H1", "H2", "H3", "A1", "A2"],
"capabilityCount": 8,
"description": "Complete implementation with all features"
}
},
"summary": {
"total_capabilities": 8,
"by_category": {"skill": 3, "agent": 2, "hook": 3, "pattern": 0},
"recommended_level": 50,
"estimated_complexity": "medium"
}
}
## Research Areas
1. **Skills**: .claude/skills/ patterns, frontmatter fields, execution modes
2. **Agents**: .claude/agents/ patterns, tool restrictions, delegation
3. **Hooks**: Hook event types (13 events), input/output schemas
4. **Patterns**: Orchestration patterns, runtime chaining
5. **Task Tool**: Subagent delegation options
## Constraints
- Only include capabilities directly relevant to "{concept}"
- Categorize by complexity (basic/intermediate/advanced)
- Group into 3 implementation levels (0/50/100)
- Include dependencies between capabilities
3. Directory Structure
.agent/builds/
├── master/
│ ├── capability_index.json # Master capability reference
│ └── complexity_levels.json # Level 0/50/100 definitions
└── {build_id}/
├── research.json # Raw capability inventory (Phase 1)
├── selection.json # User selections (Phase 2/3)
└── artifacts.json # Generated file paths (Phase 3)
4. L1 Output Format (MAX 500 tokens)
Return this format to Main Agent:
taskId: {build_id}
agentType: claude-code-guide
summary: "Researched {total} capabilities for '{concept}' across {categories} categories"
status: success
# Progressive Disclosure Fields
priority: HIGH
recommendedRead:
- anchor: "#capability-details"
reason: "Full capability inventory with fields and dependencies"
- anchor: "#level-definitions"
reason: "Detailed breakdown of 0/50/100 complexity levels"
l2Index:
- anchor: "#summary"
tokens: 150
priority: CRITICAL
description: "Capability counts and recommended level"
- anchor: "#levels"
tokens: 300
priority: HIGH
description: "Level 0/50/100 definitions and capability mapping"
- anchor: "#capability-details"
tokens: 800
priority: MEDIUM
description: "Full capability inventory with schemas"
l2Path: .agent/builds/{build_id}/research.json
requiresL2Read: false
nextActionHint: "Select complexity level (0/50/100) to proceed to Phase 2"
# Build-specific fields
buildId: {build_id}
concept: "{concept}"
researchPath: .agent/builds/{build_id}/research.json
complexityOptions:
- level: 0
name: "Basic"
capabilities: {count}
- level: 50
name: "Recommended"
capabilities: {count}
- level: 100
name: "Full"
capabilities: {count}
5. Execution Flow
┌─────────────────────────────────────────────────────┐
│ 1. Parse Concept │
│ concept, error = parse_concept($ARGUMENTS) │
│ if error: return error message │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 2. Generate Build ID │
│ build_id = generate_build_id(concept) │
│ e.g., "pro-a1b2" │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 3. Delegate Research │
│ Task( │
│ subagent_type="claude-code-guide", │
│ prompt=RESEARCH_PROMPT.format(concept), │
│ model="haiku" │
│ ) │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 4. Save Results │
│ .agent/builds/{build_id}/research.json │
│ Initialize: selection.json, artifacts.json │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 5. Return L1 Summary │
│ MAX 500 tokens → Main Agent │
│ Includes: complexity options, l2Index │
└─────────────────────────────────────────────────────┘
6. Resume Support
Check Existing Build
# If .agent/builds/{build_id}/research.json exists
# → Return existing L1 summary instead of re-running research
Resume Command
/build --resume {build_id}
7. Error Handling
| Error | Cause | Recovery |
|---|---|---|
| No concept provided | Empty $ARGUMENTS | Show usage: /build "concept-name" |
| Invalid concept | Special characters | Normalize and retry |
| Research failed | Subagent error | Retry or manual research |
| Save failed | Permission/path error | Return results in response |
| Parse failed | Invalid JSON from subagent | Retry with explicit format |
8. Integration Points
Phase Transition
Phase 1 (This Skill) Phase 2 (build.md) Phase 3 (build.md)
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ build-research.md │──────│ L1/L2/L3 Roadmap │──────│ Multi-round Q&A │
│ │ │ Presentation │ │ + File Generation │
│ - Parse concept │ │ │ │ │
│ - Research caps │ │ - Display levels │ │ - Select features │
│ - Save research.json│ │ - User selects 0/50 │ │ - Generate files │
│ - Return L1 summary │ │ /100 │ │ - Save artifacts │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
Called By
.claude/commands/build.md(Phase 1 invocation).claude/skills/build.md(delegated execution)
9. Master Reference Files
capability_index.json
Location: .agent/builds/master/capability_index.json
Contains comprehensive capability inventory from claude-code-guide research.
complexity_levels.json
Location: .agent/builds/master/complexity_levels.json
Defines Level 0/50/100 with capability counts and examples.
Instructions
When invoked with $ARGUMENTS containing a concept name:
- Parse the concept from $ARGUMENTS (remove quotes if present)
- Generate build_id using format
{slug[:3]}-{hash[:4]} - Check for existing build at
.agent/builds/{build_id}/research.json- If exists, return existing L1 summary
- Delegate to claude-code-guide with the research prompt above
- Parse the JSON response and validate structure
- Create directory
.agent/builds/{build_id}/ - Save research.json with capability inventory
- Initialize selection.json and artifacts.json (empty, for Phase 2/3)
- Return L1 summary (max 500 tokens) with:
- Build ID
- Concept name
- Complexity level options (0/50/100 with capability counts)
- l2Path pointing to research.json
- nextActionHint for Phase 2
Parameter Module Compatibility (V2.1.0)
/build/parameters/모듈과의 호환성 체크리스트
| Module | Status | Notes |
|---|---|---|
model-selection.md | ✅ | model: haiku 설정 |
context-mode.md | ✅ | context: fork 사용 |
tool-config.md | ✅ | V2.1.0: Read, Grep, Glob, Task, Write |
hook-config.md | N/A | Skill 내 Hook 없음 |
permission-mode.md | N/A | Skill에는 해당 없음 |
task-params.md | ✅ | Task delegation to claude-code-guide |
Version History
| Version | Change |
|---|---|
| 1.0.0 | Build research dispatcher |
| 2.1.0 | V2.1.19 Spec 호환, task-params 통합 |
| 3.0.0 | EFL Pattern Integration (P1/P6), hooks type: command format |
EFL Pattern Implementation (V3.0.0)
P1: Skill as Sub-Orchestrator
Single-agent delegation to claude-code-guide:
/build-research (Main)
│
└─► claude-code-guide (Research Agent)
└─► Capability inventory generation
P6: Agent Internal Feedback Loop
Research agent includes self-validation:
const researchPrompt = `
## Internal Feedback Loop (P6 - REQUIRED)
1. Generate capability inventory
2. Self-validate JSON structure:
- All required fields present
- Level 0/50/100 properly defined
- Dependencies are valid references
3. If validation fails, retry (max 3 times)
4. Output valid JSON after validation passes
`
Created by Plan Agent (a576fce) | 2026-01-23 Updated for EFL V3.0.0 | 2026-01-29