wb-exec skill
Hands bounded code and test tasks to a headless CLI executor in a separate git worktree and returns a result with the real diff
- 155 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The executor edits files and runs commands in a separate branch and access is limited only by the path list
- A job spends paid executor model tokens on your account
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/wb-execDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The executor edits files and runs commands in a separate branch and access is limited only by the path list
- A job spends paid executor model tokens on your account
This is third-party code. Review the repository files before installing.
What it does
wb-exec is a skill bundle for DeepSeek Harness (with an installer for Codex too) that lets the host agent delegate separate coding, refactoring and test-writing tasks to a headless CLI executor while it only plans and reviews. The default executor is WorkBuddy or CodeBuddy on DeepSeek, but `--executor` switches to `codex`, `claude`, `aider` or `custom` (any CLI via an argument template). Isolation, supervision and out-of-scope checks are identical on every backend. The host writes a task package as JSON: goal, `owned_paths`, acceptance criteria. `dispatch` starts the work in the background and returns a `job_id` at once, `status` shows progress and `collect` fetches a structured `result.json`. In a git repository the work runs in a separate worktree on a `wb-exec/<id>` branch with no commit, push or merge. The real diff comes from `git diff`, and if the executor account disagrees with it, the diff wins. Protections include a path whitelist (changes outside it land in `violations`), path locking between parallel jobs, a recursion guard, a 64 MiB output cap, a `needs_human` flag and a read-only `jobs` command. There are no dependencies beyond Python 3.10+.
Who it is for. Developers who use DeepSeek Harness, Codex or Claude Code as a lead and want to hand bulky repetitive edits to a cheaper executor under review.
Good fit when
- You need tests for a dozen files with clear boundaries while the main agent is busy with the plan
- A refactor splits into independent pieces and each can be done in a separate branch and reviewed by diff
- You want to save main model tokens by handing routine work to a cheaper executor
- You need a guarantee that the executor did not go outside the list of allowed paths
Not a fit when
- You need exploration or work with shifting requirements: the skill targets tasks with a clear boundary
- You need an architectural choice or a rewrite of several modules at once: leave that to the main agent
- You need dependency installation and environment setup: the skill installs nothing and changes no configuration itself
Example request
Hand the executor the writing of unit tests for the modules in src/utils, limit the paths to that directory and show the final diffLimitations
The chosen executor must be installed on the same machine: without it the skill installs, but the first `doctor` command returns `ok=false` and work stops. The WorkBuddy executor needs an account or plan with access to the specified DeepSeek model version. Python 3.10 or newer is required and Git is optional, though without it isolation reduces to in-place work.
The skill fits tasks with an enumerable set of files, while exploratory work and cross-cutting rewrites are not handed to it. The host agent reads the patch and runs acceptance checks before merging: the skill never merges anything itself. Executor errors, boundary violations and job failures are reflected in `result.json`.
How to disable. Delete the `skills/wb-exec` folder from the agent skills directory or the DeepSeek Harness plugin package. Remove `wb-exec/*` branches and worktrees created in your repositories with git commands.
FAQ
Which executors are supported?
WorkBuddy or CodeBuddy by default, plus `codex`, `claude`, `aider` and `custom`, where any CLI with an argument template fits.
What does the doctor command do?
Checks the environment and prints JSON with the found CLI, its version, the executor and Git state. With `ok=false` work stops.
Does the skill change my branch?
No. In a git repository work runs in a separate worktree on a `wb-exec/<id>` branch with no commit, push or merge, and only the host agent integrates the result.
What is owned_paths?
The list of paths the executor may change. Changes outside it appear in `result.violations` and are accepted only after a human decision.
Can I run jobs in parallel?
Yes, if their `owned_paths` do not overlap. An overlapping dispatch is refused with code 4 (`PATHS_LOCKED`).
Discussion
No questions or reviews yet.
Related
SkillsA small terminal coding agent for DeepSeek: edits arrive as patches, and a snapshot before each turn allows undo.
A DeepSeek Harness plugin: Claude Code, Codex, Antigravity and Grok dispatch work to DSH agents, progress in the native task panel
A team of AI agents from one request: it plans the task, writes code in parallel branches, tests, reviews and opens a pull request
A planner for Claude Code, Codex and OpenCode: one goal becomes a task plan and independent tasks run in parallel
dsh-baton hands tasks from Claude Code or Codex to a local DeepSeek Harness and brings the result back with checks.
A local control panel for coding agents: it runs Claude Code and Codex, keeps a task queue and merges verified work into main.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| wb-exec (this card) | no | 155 | |
| codex-deepseek-subagent | no | 394 | connects DeepSeek as a Codex subagent without a path whitelist or locks |
| delegate-skills | no | 2,597 | general delegation skills without worktree isolation |
README in short
The author describes the skill as a way to give bounded coding tasks to another CLI agent while keeping planning, supervision and review. The repository includes architecture and workflow diagrams, an installer for Codex and a DeepSeek Harness package manifest.
README badge
Original SKILL.md
--- name: wb-exec description: Delegate bounded coding, refactoring and test-writing tasks to a headless CLI executor (WorkBuddy by default, or codex/claude/aider/custom) and collect a structured result plus the real diff. Use when the task can be finished independently, the file set is enumerable, and the host agent only wants to plan and review instead of writing code itself. metadata: # Codex reads name/description/metadata; a bare `whenToUse` key was not part of # the frontmatter shape any shipped skill uses, so the same guidance lives in # the key Codex demonstrably defines. The `description` above still carries the # "use when" clause, so nothing is lost for loaders that only read that. short-description: "Outsource bounded implementation to a headless CLI executor: enumerable file sets, cheaper volume work, or changes needing an isolated worktree." --- # wb-exec You are the host: you plan, supervise and review. **The WorkBuddy subprocess does the implementation; you do not write business code yourself.** Always address the script through this skill's absolute directory, never through the terminal's current directory: ``` python <SKILL_DIR>/scripts/wb_exec.py <subcommand> ... ``` On Windows, if `python` is not on `PATH`, use `py -3` or the absolute path of a local Python. ## 0. Self-check first (at most once per session) ``` python <SKILL_DIR>/scripts/wb_exec.py doctor ``` Returns JSON with `ok` / `cli` (the resolved entry point) / `cli_version` / `git` / `is_git_repo` / `state_root`. `ok=false` or a non-empty `cli_error` → stop, report the raw output to the user, and do not install or reconfigure anything yourself. `doctor` proves the CLI is present and answers `--version`. It does **not** prove authentication, quota or model access — a run can still fail after a clean self-check, and that failure belongs in `stderr.log`, not in a guess. ## 1. Write the task package (this is your most important job) The task package is JSON; field definitions are in `references/protocol.md` and an example is in `assets/task.example.json`. Three hard rules: 1. `goal` says in one sentence what changed once the work is done. No implementation steps. 2. `owned_paths` must be enumerable. For a directory write `src/auth/`; for a file write the full path. **An empty list means the executor may only create new files.** 3. `acceptance` is executable commands (`pytest -q tests/test_auth.py`), never "make sure it works". Write the package to a file first