Task Analyzer

Autonomously analyzes and executes tasks with a structured plan.

<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly. Run: node scripts/gen-skill-docs.mjs -->

name: task-analyzer allowed-tools:

  • Bash
  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Agent
  • AskUserQuestion
  • WebSearch description: > Autonomously analyzes and executes tasks with a structured plan. Triggers on "분석해", "작업 계획", "이거 해줘", "자동으로 처리해", "계획 세워", "workflow 만들어", "analyze", "task plan", "do this", "handle automatically", "make a plan", "create a workflow", "break this down", "execute", "run this task" and similar requests. Decomposes complex tasks into subtasks, identifies required tools, delegates to sub-agents, collects results, and reports. The core autonomous execution engine of OpenClaw-CC.

Task Analyzer — Autonomous Task Analysis & Execution Engine

Preamble

Before executing this skill:

  1. Load context from memory:

    memory_search(query: "{skill-relevant-query}", associative: true, limit: 5)
    memory_search(tag: "{skill-name}", limit: 3)
    

    Review returned memories for relevant past context, decisions, and patterns.

  2. Check OMC state for active work:

    state_get_status()
    

    If conflicting active tasks exist, warn the user before proceeding.

  3. Detect current branch (for git-related skills):

    git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "not-a-git-repo"
    
  4. Check proactive mode:

    state_read("occ-proactive")
    

    If "false": do NOT proactively suggest other OpenClaw-CC skills during this session. Only run skills the user explicitly invokes.

  5. Log skill activation:

    memory_daily_log(type: "note", entry: "Skill activated: /{skill-name}")
    

Role

Analyze user requests, transform them into executable plans, and autonomously execute using available tools (MCP servers, sub-agents, file system). Before starting any task, check related context with memory_search. After completion, persist results with memory_store.

Memory Context Loading

Before starting work, load relevant context from the 3-layer memory system:

# Search for related past work
memory_search(query: "{task description}", associative: true, limit: 5)

# Search by relevant tags
memory_search(tag: "{relevant-tag}", limit: 3)

# Check for recent related daily logs
memory_search_date(start: "{7 days ago}", end: "{today}", category: "daily-logs", limit: 5)

Use retrieved context to:

  • Avoid repeating past mistakes
  • Build on previous decisions
  • Maintain consistency with established patterns
  • Reference related knowledge graph nodes

If critical related memories exist, summarize them before proceeding:

Found {N} related memories:
- {memory_1 title}: {brief relevance}
- {memory_2 title}: {brief relevance}

5-Phase Process

Phase 1 — Understanding the Request

Analyze the user request along 4 axes:

AxisQuestionExample
What (intent)What is the goal?"Understand competitor landscape"
Done when (success criteria)What state signals completion?"Report with comparison table finished"
With what (resources)What tools/data are needed?"Web search, existing competitor data from memory"
ConstraintsAre there time/scope/format limits?"English, max 3 pages"

Ask the user a clarifying question for ambiguous requests. Proceed directly to Phase 2 for clear requests.

Phase 2 — Task Decomposition

Decompose complex tasks into an atomic subtask tree.

[Task] Write competitor analysis report
├── [Context]  memory_search("competitor") → check existing data
├── [Collect]  Research competitor A latest news → web_search
├── [Collect]  Research competitor B latest news → web_search (∥ parallel)
├── [Analyze]  Strength/weakness comparison matrix → reasoning
├── [Generate] Draft report → file creation
├── [Store]    memory_store(category:"projects", tags:["competitor","analysis"])
└── [Notify]   messenger_send(platform:"telegram", message:"Report complete")

For 12 decomposition patterns, see references/decomposition-patterns.md.

Phase 3 — Execution Strategy Selection

StrategyConditionExample
SequentialSubtasks have ordering dependenciesResearch → Analyze → Write
ParallelIndependent subtasks (delegate to sub-agents)Research A ∥ Research B ∥ Research C
HybridParallel collection → sequential analysis → parallel outputMost composite tasks
OMC TeamComplex multi-file work (3+ files, cross-cutting)TeamCreate → team-plan → team-exec → team-verify

Delegation criteria: subtask is independent, has 3+ steps, and its result is not immediately needed by another task.

OMC Multi-Agent Delegation (v3)

Route subtasks to specialized OMC agents based on type:

Subtask TypeOMC AgentModelDelegation Method
Code implementationexecutorsonnetAgent(subagent_type: "oh-my-claudecode:executor")
Architecture decisionarchitectopusAgent(subagent_type: "oh-my-claudecode:architect")
Bug investigationdebuggersonnetAgent(subagent_type: "oh-my-claudecode:debugger")
Web researchresearch-agentsonnetProject-local agent
Code reviewcode-revieweropusAgent(subagent_type: "oh-my-claudecode:code-reviewer")
Test writingtest-engineersonnetAgent(subagent_type: "oh-my-claudecode:test-engineer")
Memory operationsmemory-specialistsonnetProject-local agent
Notificationscomms-agenthaikuProject-local agent

For complex tasks (5+ subtasks): Create an OMC team pipeline:

1. TeamCreate(name: "{task}", members: [executor, verifier])
2. SendMessage(to: executor, prompt: "{subtask}")
3. Wait for results
4. SendMessage(to: verifier, prompt: "verify {results}")
5. If verified: collect results
6. If failed: SendMessage(to: executor, prompt: "fix {issues}")

Memory integration: Every agent delegation includes:

  • Pre: memory_search(associative: true) — inject context into agent prompt
  • Post: memory_store — persist agent deliverables

Phase 4 — Execution & Monitoring

After executing each subtask, determine its status:

  • Success → Collect result and proceed to next task
  • Partial success → Save what was obtained, note missing parts and continue
  • Failure → Try an alternative strategy (up to 2 retries). Report to user if all alternatives fail

Log important information discovered during execution immediately with memory_daily_log.

Phase 5 — Result Collection & Reporting

  1. Integrate all subtask results
  2. Persist key deliverables with memory_store
  3. Record execution log with memory_daily_log(type:"done")
  4. Notify user via messenger_send if needed
  5. Deliver final report using the output format below

Memory Persistence

After completing the workflow, persist results to the 3-layer memory system:

Required Actions

  1. Log completion to daily log:

    memory_daily_log(type: "done", entry: "{skill-name}: {brief result summary}")
    
  2. Store significant findings (importance ≥ 6):

    memory_store(
      category: "{appropriate category}",
      title: "{descriptive title}",
      content: "{structured result content}",
      tags: ["{skill-name}", "{project}", "{relevant-tags}"],
      importance: {6-10 based on significance}
    )
    
  3. Link to related memories (if applicable):

    memory_link(source: "{new_memory_id}", target: "{related_id}", relation: "{related|derived|refines}")
    

Category Routing

Content TypeCategorySubcategory
Bug fix / debuggingknowledgedebugging
Code review resultsprojects{project-name}
Design decisionsprojects{project-name}
Research findingsknowledge{topic}
Release / deployprojects{project-name}
Person-related infopeople
Task / action itemtasks

Messenger Notification

Send notifications for significant events via messenger:

When to Notify

EventPlatformPriority
Task/pipeline completedtelegramNormal
Verification failedtelegramHigh
Long-running task done (10+ min)telegramNormal
Critical error or blockertelegramHigh
PR created / release shippedallNormal
Importance ≥ 8 memory createdtelegramNormal

Notification Format

messenger_send(
  platform: "telegram",
  message: "[{skill-name}] {status_emoji} {brief description}\n\n{details if relevant}"
)

Status Emojis:

  • Completed successfully: ✅
  • Completed with warnings: ⚠️
  • Failed / blocked: ❌
  • Needs attention: 🔔

Do NOT Notify

  • Routine memory operations
  • Intermediate progress steps
  • Read-only operations (search, list, status)

Available Tool Mapping Table

Task TypeMCP ToolNotes
Retrieve past contextmemory_search, memory_getAlways call first at task start
Persist informationmemory_store, memory_updateSave deliverables and insights
Record execution logmemory_daily_logtype: note/decision/todo/done
Check memory statusmemory_stats, memory_listInspect storage state
Delete memorymemory_deleteClean up duplicates and stale data
Web researchweb_search, web_fetchCollect external information
External notificationsmessenger_sendplatform: discord/telegram/all
Read messengermessenger_read, messenger_pollCheck user messages
Messenger statusmessenger_statusPlatform connection status
Register scheduled tasktask_create, task_updateInclude cron expression
Query scheduled taskstask_list, task_historyReview existing tasks
Run/delete scheduled tasktask_run_now, task_deleteImmediate run or delete
Generate crontabtask_generate_crontabOutput system crontab file
Create/edit filesBuilt-in file toolsReports, documents
Execute code/commandsbashPrefer delegating to sub-agent

For detailed routing, see references/tool-routing-matrix.md.

Execution Principles

  1. Least privilege — Use only the tools required. Use bash only when file tools cannot do the job.
  2. Failure recovery — If one step fails, continue with independent remaining steps.
  3. Transparency — Report the current phase to the user when entering each Phase.
  4. Memory leverage — At task start, query memory_search for similar past tasks and use them as reference.
  5. Cost efficiency — Use sub-agents only for independent, complex subtasks.

Output Format

Report using the template below after task completion:

## Task Completion Report

**Request**: [One-line summary of the original request]
**Status**: Completed / Partially completed / Failed

### Execution Steps
1. [Step name] — Completed: [Result summary]
2. [Step name] — Completed: [Result summary]
3. [Step name] — Partially completed: [Reason]

### Key Deliverables
- [List of generated files, data, insights]

### Memory Stored
- [Saved items with category/tags]

### Suggested Next Steps (if applicable)
- [Follow-up action suggestions]

Reference Documents

  • 12 task decomposition patterns: references/decomposition-patterns.md
  • Task-to-tool routing matrix: references/tool-routing-matrix.md
  • 3 complex task execution examples: examples/complex-task-example.md

Completion Status Protocol

Every skill must end with one of these status codes:

CodeMeaningWhen to Use
DONEAll steps completed, evidence providedRoot cause found + fix verified, PR created, review finished
DONE_WITH_CONCERNSCompleted with warnings or caveatsTests pass but coverage dropped, fix applied but can't fully verify
BLOCKEDCannot proceed, requires user intervention3 failed attempts, missing permissions, external dependency down
NEEDS_CONTEXTMissing information to continueUnclear requirements, need user clarification

Escalation Rules

  1. 3-strike rule: After 3 failed attempts at any step, STOP and escalate to user. Do not continue guessing. Present what was tried and ask for direction.

  2. Scope escalation: If fix/change touches 5+ files unexpectedly, pause and confirm with the user before proceeding.

  3. Security uncertainty: If you are unsure about a security implication, STOP and escalate. Never guess on security.

  4. Verification requirement: Never claim DONE without evidence.

    • "Should work" → RUN IT. Confidence is not evidence.
    • "Already tested earlier" → Code changed since. Test again.
    • "Trivial change" → Trivial changes break production.

Output Format

═══════════════════════════════════════
Status: {DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT}
Summary: {one-line description of outcome}
Evidence: {test output, verification results, or blocking reason}
═══════════════════════════════════════