Harness Work

SkillProductivity

Executes plans.json tasks — solo, parallel, or breezing team mode. Use when implementing tasks or running the work loop.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Harness Work skill

What this skill tells your AI

The instructions your AI receives, as published by tim-hub/powerball-harness in harness/skills/harness-work/SKILL.md and read by ahel’s review.

Unified execution skill for Harness. Consolidates the following legacy skills:

  • work — plans.json task implementation (auto scope detection)
  • impl — Feature implementation (task-based)
  • breezing — Full team auto-execution
  • parallel-workflows — Parallel workflow optimization
  • ci — CI failure recovery

Quick Reference

User InputSubcommandBehavior
harness-workautoAuto-selects based on task count (see below)
harness-work allautoExecutes all incomplete tasks in auto mode
harness-work 3soloImmediately executes task 3 only
harness-work --parallel 5parallelForces parallel execution with 5 workers
harness-work --codexcodexDelegates to Codex CLI (explicit only)
harness-work --opencodeopencodeDelegates to OpenCode CLI (explicit only)
harness-work --breezingbreezingForces team execution

Execution Mode Auto Selection (auto-selection when no flag is specified)

When no explicit mode flag (--parallel, --breezing, --codex, --opencode) is provided, the optimal mode is automatically selected based on the number of target tasks:

Target Task CountAuto-Selected ModeReason
1 taskSoloMinimal overhead. Direct implementation is fastest
2-3 tasksParallel (Task tool)Threshold where Worker isolation benefits emerge
4+ tasksBreezingLead coordination + Worker parallelism + Reviewer independence is effective

Rules

  1. Explicit flags always override auto mode
    • --parallel N → Parallel mode (regardless of task count)
    • --breezing → Breezing mode (regardless of task count)
    • --codex → Codex mode (regardless of task count)
    • --opencode → OpenCode mode (regardless of task count)
  2. --codex activates only when explicitly specified. Not auto-selected because Codex CLI may not be installed in some environments
  3. --codex can be combined with other modes: --codex --breezing → Codex + Breezing
  4. --opencode activates only when explicitly specified. Not auto-selected because opencode-plugin-cc may not be installed in some environments

Options

OptionDescriptionDefault
allTarget all incomplete tasks-
N or N-MTask number/range specification-
--parallel NNumber of parallel workersauto
--sequentialForce sequential execution-
--codexDelegate implementation to Codex CLI (explicit only, not auto-selected)false
--opencodeDelegate implementation to OpenCode via opencode-plugin-cc (explicit only, not auto-selected)false
--commitCommit after each task is done (default: off)false
--resume <id|latest>Resume previous session-
--breezingLead/Worker/Reviewer team executionfalse
--no-tddSkip TDD phasefalse
--no-simplifySkip Auto-Refinementfalse
--auto-modeExplicitly enable Auto Mode rollout. Only considered when the parent session's permission mode is compatiblefalse

Token Optimization (v2.1.69+): For lightweight tasks that don't involve git operations, enable includeGitInstructions: false in plugin settings to reduce prompt token usage.

1-Hour Prompt Cache (breezing sessions > 30 min): source "${CLAUDE_PLUGIN_ROOT}/scripts/enable-1h-cache.sh" before starting. Exports ANTHROPIC_CACHE_CONTROL=max-age=3600 so all spawned Workers, Reviewers, and hooks share a cached system prompt — reduces token cost and latency across long sessions.

Scope Dialog (when no arguments provided)

Note: A lightweight drift check (bash "${CLAUDE_PLUGIN_ROOT}/scripts/plans-drift-check.sh") runs before the scope dialog regardless of which option the user chooses. If stale markers are detected, the dialog is preceded by a drift summary and a confirmation prompt.

harness-work
How far do you want to go?
1) Next task: The next incomplete task from plans.json → Execute in Solo mode
2) All (recommended): Complete all remaining tasks → Auto-select mode based on task count
3) Specify numbers: Enter task numbers (e.g., 3, 5-7) → Auto-select mode based on count

If arguments are provided, execute immediately (skip dialog):

  • harness-work all → All tasks, auto mode selection
  • harness-work 3-6 → 4 tasks, so Breezing is auto-selected

Effort Level Control (v2.1.68+, simplified in v2.1.72)

Claude Code v2.1.68 sets medium effort () as default for Opus 4.6. v2.1.72 removed the max level, simplifying to 3 levels: low(○)/medium(◐)/high(●). /effort auto resets to default. For complex tasks, use the ultrathink keyword to enable high effort ().

Multi-Factor Scoring

At task start, the following scores are summed, and ultrathink is injected when the threshold reaches 3 or above:

FactorConditionScore
File count4+ files to be changed+1
DirectoryIncludes core/, guardrails/, security/+1
KeywordsContains architecture, security, design, migration+1
Failure historyAgent memory contains failure records for the same task+2
Explicit specificationPM template includes ultrathink notation+3 (auto-adopted)

Injection Method

When score >= 3, prepend ultrathink to the Worker spawn prompt. The same logic applies in breezing mode (managed centrally by harness-work).

Execution Modes

ModeReferenceWhen
Soloreferences/solo-mode.md1 task (auto) or any task number
Parallelreferences/parallel-mode.md2-3 tasks (auto) or --parallel N
Breezingreferences/breezing-mode.md4+ tasks (auto) or --breezing
Codexreferences/codex-work.md--codex explicit only
OpenCodereferences/opencode-work.md--opencode explicit only
Ralphharness-ralph-loop skillTask has [ralph] marker — pre-dispatch, any mode

[ralph] marker pre-dispatch rule: Before any standard worker dispatch (solo or breezing), harness-work checks the task description for the [ralph] marker. If present, it delegates to harness-ralph-loop instead of the standard worker flow. Ralph tasks serialize within a session (only one Ralph loop runs at a time). See references/solo-mode.md and references/breezing-mode.md for dispatch details.

Worker Contracts

TopicReference
NG rules (plans.json ownership via harness plan-cli, no embedded git, no nested spawn)references/worker-ng-rules.md
Self-review gate (worker-report.v1 schema + Lead validation)references/worker-self-review.md
Universal violations session injectionreferences/universal-violations.md
Testing anti-patterns (mocks, test-only methods, incomplete stubs)references/testing-anti-patterns.md

Failure & Review

TopicReference
Review loop (Codex exec / Reviewer fallback, verdict criteria, fix cycle)references/review-loop.md
CI failure handling (3-strike auto-fix loop)references/ci-failure.md
Automatic re-ticketing of failed tasksreferences/re-ticketing.md

Templates

TemplateDescription
templates/worker-report.v1.jsonWorker self-review JSON schema (SR-1 through SR-5)
templates/completion-report.mdRich Completion Report skeleton (solo + breezing formats)

Task Status SSOT

.claude/harness/plans.json is the sole source of truth for task status. All reads via harness plan-cli list/get, all writes via harness plan-cli update. See harness/references/cli-reference.md. The native Claude Code task list is not mirrored.

Related Skills

  • harness-plan — Plan the tasks to execute
  • harness-sync — Sync implementation with plans.json
  • harness-review — Review implementations
  • harness-release — Version bump and release

Signals

GitHub stars
34
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
harness-work-tim-hub
Source
github.com/tim-hub/powerball-harness