Use when starting complex implementation work requiring verification guarantees. Activates strict mode with mandatory planning, success criteria, evidence collection, and zero tolerance for partial completion.
/plugin marketplace add mnthe/hardworker-marketplace/plugin install ultrawork@hardworker-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/blocked-patterns.mdreferences/state-schema.mdreferences/verification-protocol.mdUltrawork enforces verification-first development:
/ultrawork "your goal here" # Interactive mode (default)
/ultrawork --auto "your goal here" # Auto mode (no user interaction)
| Aspect | Interactive (default) | Auto (--auto) |
|---|---|---|
| Exploration | Orchestrator spawns explorers | Same |
| Planning | Orchestrator runs planning skill | Planner sub-agent |
| User Questions | AskUserQuestion for decisions | Auto-decide from context |
| Confirmation | User approves plan | No confirmation |
| Best For | Important features, unclear requirements | Well-defined tasks, CI/CD |
┌─────────────────────────────────────────────────────────────┐
│ PHASE 1: EXPLORATION (Orchestrator) - Dynamic │
│ │
│ Stage 1: Quick overview (1 haiku explorer) │
│ → exploration/overview.md │
│ │
│ Stage 2: Analyze overview + goal → generate hints │
│ │
│ Stage 3: Targeted exploration (N explorers, parallel) │
│ → exploration/exp-1.md, exp-2.md, ... │
│ │
│ → Update context.json with summaries │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PHASE 2: PLANNING (Orchestrator - Main Agent) │
│ │
│ → Read context.json and exploration/*.md │
│ → Use planning skill for design │
│ → AskUserQuestion for decisions (one at a time) │
│ → Write design.md │
│ → Decompose into tasks │
│ → User confirms plan │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PHASE 3: EXECUTION │
│ │
│ → Spawn workers for unblocked tasks │
│ → Workers report evidence on completion │
│ → Next tasks unblock automatically │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PHASE 4: VERIFICATION │
│ │
│ → Verification task runs │
│ → All evidence collected and validated │
│ → Quality checks pass │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PHASE 5: COMPLETE │
│ │
│ → All criteria met with evidence │
│ → Session marked complete │
│ → Summary reported to user │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ PHASE 1: EXPLORATION (Orchestrator) - Dynamic │
│ │
│ → Same as interactive (overview → analyze → targeted) │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PHASE 2: PLANNING (Planner Sub-Agent) │
│ │
│ → Read context.json and exploration/*.md │
│ → Auto-decide based on context (no user questions) │
│ → Write design.md │
│ → Decompose into tasks │
│ → No confirmation needed │
└─────────────────────┬───────────────────────────────────────┘
│
▼
[Same execution and verification phases]
~/.claude/ultrawork/sessions/{session-id}/
├── session.json # Session metadata (JSON)
├── context.json # Explorer summaries (JSON)
├── design.md # Design document (Markdown)
├── exploration/ # Detailed exploration (Markdown)
│ ├── overview.md # Project overview (always first)
│ ├── exp-1.md # Targeted exploration
│ └── exp-N.md # (dynamic count based on goal)
└── tasks/ # Task files (JSON)
├── 1.json
├── 2.json
└── verify.json
BLOCKED phrases (cannot claim completion with these):
| Phrase | Why Blocked |
|---|---|
| "should work now" | No evidence |
| "basic implementation" | Incomplete |
| "simplified version" | Partial work |
| "you can extend this" | Not done |
| "implementation complete" | Without evidence |
| Claim | Required Evidence |
|---|---|
| "Tests pass" | Test command output |
| "Build succeeds" | Build command output |
| "Feature works" | Demo or test proving it |
| "Bug fixed" | Before/after showing fix |
| Command | Purpose |
|---|---|
/ultrawork "goal" | Start session (interactive) |
/ultrawork --auto "goal" | Start session (auto) |
/ultrawork-status | Check current state |
/ultrawork-evidence | List collected evidence |
/ultrawork-cancel | Cancel session |
Ultrawork uses:
Read references/ for detailed protocols.
| Phase | Must Delegate | Never Direct |
|---|---|---|
| Exploration | ✓ | ✓ |
| Planning (non-auto) | - | - (direct by design) |
| Planning (auto) | ✓ | ✓ |
| Execution | ✓ | ✓ |
| Verification | ✓ | ✓ |
Exception: User explicitly requests direct execution (e.g., "run this directly").
Sub-agents can be run in foreground (default) or background mode. Choose based on the situation:
| Mode | When to Use |
|---|---|
| Foreground | Sequential tasks, need result immediately |
| Background | Parallel execution, worker pool with limits |
# Foreground (default) - simple, blocking
result = Task(subagent_type="ultrawork:explorer", prompt="...")
# Background - for parallel execution
task_id = Task(subagent_type="ultrawork:worker", run_in_background=True, prompt="...")
# ... do other work ...
result = TaskOutput(task_id=task_id, block=True)
Parallel execution: Call multiple Tasks in a single message for automatic parallelization.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.