claudeboss 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +17 -0
- package/.claude-plugin/plugin.json +8 -0
- package/LICENSE +21 -0
- package/README.md +59 -0
- package/bin/claudeboss.js +34 -0
- package/package.json +37 -0
- package/scripts/claudeboss-run.sh +30 -0
- package/scripts/install-opencode.sh +66 -0
- package/scripts/select-model.sh +51 -0
- package/skills/boss/SKILL.md +42 -0
- package/skills/team/SKILL.md +39 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "claudeboss",
|
|
4
|
+
"description": "Delegate tasks to free opencode agents from Claude Code — Team mode (pair review) or Boss mode (manage, approve, deploy).",
|
|
5
|
+
"owner": {
|
|
6
|
+
"name": "xWael9",
|
|
7
|
+
"url": "https://github.com/xWael9"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "claudeboss",
|
|
12
|
+
"description": "Team and Boss modes for delegating work to free opencode agents.",
|
|
13
|
+
"source": "./",
|
|
14
|
+
"category": "productivity"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 xWael9
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# ClaudeBoss
|
|
2
|
+
|
|
3
|
+
Delegate tasks to **free** opencode agents, straight from Claude Code — as a teammate you review, or as a worker you manage.
|
|
4
|
+
|
|
5
|
+
Claude Code can spend a lot of its own context/tokens doing every step of a task itself. ClaudeBoss routes the actual work to [opencode](https://opencode.ai)'s free-tier models (OpenCode Zen, no login required), while Claude reviews the result, fixes what's wrong, and — in Boss mode — supervises deployment. You keep Claude's judgment; the free model does the token-heavy grinding.
|
|
6
|
+
|
|
7
|
+
## Install (one command)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g claudeboss
|
|
11
|
+
claudeboss install
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
`claudeboss install` checks for the `opencode` CLI (installs it via npm if missing), confirms at least one free model is reachable, and prints manual OpenRouter fallback steps if not — **it never creates third-party accounts on your behalf.**
|
|
15
|
+
|
|
16
|
+
### Via the Claude Code plugin marketplace
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
/plugin marketplace add xWael9/ClaudeBoss
|
|
20
|
+
/plugin install claudeboss@claudeboss
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Either install path gives you the same two skills inside Claude Code:
|
|
24
|
+
|
|
25
|
+
| Command | What it does |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `/claudeboss:team` | You and opencode work as a pair. Opencode drafts, Claude reviews like a second engineer and implements/finishes it. |
|
|
28
|
+
| `/claudeboss:boss` | Claude manages, doesn't code. Delegates to opencode, requests revisions (max 3 rounds), shows you a summary, waits for your approval, then supervises deployment end-to-end. |
|
|
29
|
+
|
|
30
|
+
## Why this exists
|
|
31
|
+
|
|
32
|
+
Spawning a full Claude subagent for routine work still burns Claude's own context/tokens. Opencode's free tier (OpenCode Zen — DeepSeek V4 Flash Free, Nemotron 3 Ultra Free, North Mini Code Free, MiMo V2.5 Free, and more) does real work at zero API cost. ClaudeBoss:
|
|
33
|
+
|
|
34
|
+
- **Picks the model live, per task.** `claudeboss model code` and `claudeboss model write` query `opencode models` at run time and rank by keyword heuristics (coder/code-tuned models for coding tasks, larger general models for prose/research). Free-tier catalogs change without notice — nothing here is hardcoded to a specific model ID.
|
|
35
|
+
- **Extracts only the final answer.** Opencode's own reasoning/tool-call trace never reaches Claude's context — only the last text output does.
|
|
36
|
+
- **Never auto-creates accounts.** If OpenCode Zen's free tier is ever unavailable, you get exact manual steps for a free OpenRouter key — no silent browser automation signing you up for a third-party service.
|
|
37
|
+
|
|
38
|
+
## Manual CLI usage (outside Claude Code)
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
claudeboss model code # -> best free model id for a coding task
|
|
42
|
+
claudeboss run code "add input validation to the signup form"
|
|
43
|
+
claudeboss run write "draft a 3-paragraph changelog entry for v0.2.0"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Requirements
|
|
47
|
+
|
|
48
|
+
- Node.js >= 18 (for the npm install path)
|
|
49
|
+
- `jq` (installed automatically via Homebrew/apt if missing, or install manually: https://jqlang.org/download/)
|
|
50
|
+
|
|
51
|
+
## Limitations
|
|
52
|
+
|
|
53
|
+
- Free models are weaker than Claude — don't expect them to solve hard/ambiguous problems unsupervised. Both modes cap revision loops (2 in team mode, 3 in boss mode) and escalate to you instead of grinding forever.
|
|
54
|
+
- Boss mode's deployment step assumes you've already told Claude what "deploy" means for your project (push to a branch, run a script, SSH to a server, etc.) — it doesn't invent a deploy pipeline for you.
|
|
55
|
+
- Free-tier model catalogs are provider-controlled and can shrink or disappear. `claudeboss install` re-checks live, every time.
|
|
56
|
+
|
|
57
|
+
## License
|
|
58
|
+
|
|
59
|
+
MIT
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const { spawnSync } = require('child_process');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const SCRIPTS_DIR = path.join(__dirname, '..', 'scripts');
|
|
6
|
+
const [, , cmd, ...rest] = process.argv;
|
|
7
|
+
|
|
8
|
+
function run(script, args) {
|
|
9
|
+
const res = spawnSync('bash', [path.join(SCRIPTS_DIR, script), ...args], { stdio: 'inherit' });
|
|
10
|
+
process.exit(res.status === null ? 1 : res.status);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
switch (cmd) {
|
|
14
|
+
case 'install':
|
|
15
|
+
run('install-opencode.sh', rest);
|
|
16
|
+
break;
|
|
17
|
+
case 'model':
|
|
18
|
+
run('select-model.sh', rest);
|
|
19
|
+
break;
|
|
20
|
+
case 'run':
|
|
21
|
+
run('claudeboss-run.sh', rest);
|
|
22
|
+
break;
|
|
23
|
+
default:
|
|
24
|
+
console.log(`ClaudeBoss -- delegate tasks to free opencode agents from Claude Code.
|
|
25
|
+
|
|
26
|
+
Usage:
|
|
27
|
+
claudeboss install Check/install opencode CLI, verify a free model is reachable
|
|
28
|
+
claudeboss model <task-type> Print the best free model id for a task type (code|write|research|general)
|
|
29
|
+
claudeboss run <task-type> "<task>" Run a task through the selected free model, print only the final answer
|
|
30
|
+
|
|
31
|
+
Claude Code usage: install this as a plugin, then use /claudeboss:team or /claudeboss:boss inside a session.
|
|
32
|
+
Repo: https://github.com/xWael9/ClaudeBoss`);
|
|
33
|
+
process.exit(cmd ? 1 : 0);
|
|
34
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claudeboss",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Delegate tasks to free opencode agents and supervise them from Claude Code -- Team mode (pair review) or Boss mode (manage, approve, deploy).",
|
|
5
|
+
"bin": {
|
|
6
|
+
"claudeboss": "bin/claudeboss.js"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"bin",
|
|
10
|
+
"scripts",
|
|
11
|
+
"skills",
|
|
12
|
+
".claude-plugin",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"keywords": [
|
|
17
|
+
"claude-code",
|
|
18
|
+
"opencode",
|
|
19
|
+
"ai-agent",
|
|
20
|
+
"plugin",
|
|
21
|
+
"delegation",
|
|
22
|
+
"free-llm"
|
|
23
|
+
],
|
|
24
|
+
"author": "xWael9",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/xWael9/ClaudeBoss.git"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://github.com/xWael9/ClaudeBoss",
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/xWael9/ClaudeBoss/issues"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Delegates one task to the best free opencode model and prints ONLY the
|
|
3
|
+
# final answer text -- opencode's internal tool calls/reasoning never reach
|
|
4
|
+
# the caller's context.
|
|
5
|
+
set -uo pipefail
|
|
6
|
+
|
|
7
|
+
TASK_TYPE="${1:-general}"
|
|
8
|
+
shift || true
|
|
9
|
+
TASK="$*"
|
|
10
|
+
|
|
11
|
+
if [ -z "$TASK" ]; then
|
|
12
|
+
echo "Usage: claudeboss run <task-type> \"<task text>\"" >&2
|
|
13
|
+
echo "task-type: code | write | research | general" >&2
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
18
|
+
MODEL=$("$SCRIPT_DIR/select-model.sh" "$TASK_TYPE")
|
|
19
|
+
STATUS=$?
|
|
20
|
+
|
|
21
|
+
if [ $STATUS -ne 0 ] || [ -z "$MODEL" ]; then
|
|
22
|
+
echo "No usable free model found. Run: claudeboss install" >&2
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo "[claudeboss] model: $MODEL" >&2
|
|
27
|
+
|
|
28
|
+
opencode run --agent build --model "$MODEL" --format json "$TASK" 2>&1 \
|
|
29
|
+
| jq -r 'select(.type=="text") | .part.text' \
|
|
30
|
+
| tail -1
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# ClaudeBoss setup: ensure opencode CLI + jq are present, verify a free model is reachable.
|
|
3
|
+
# Never creates third-party accounts automatically -- prints manual steps instead.
|
|
4
|
+
set -uo pipefail
|
|
5
|
+
|
|
6
|
+
echo "== ClaudeBoss: opencode setup =="
|
|
7
|
+
|
|
8
|
+
if ! command -v jq >/dev/null 2>&1; then
|
|
9
|
+
echo "jq not found (needed to parse opencode's JSON output)." >&2
|
|
10
|
+
if command -v brew >/dev/null 2>&1; then
|
|
11
|
+
echo "Installing jq via Homebrew..."
|
|
12
|
+
brew install jq
|
|
13
|
+
elif command -v apt-get >/dev/null 2>&1; then
|
|
14
|
+
echo "Installing jq via apt-get..."
|
|
15
|
+
sudo apt-get update -y && sudo apt-get install -y jq
|
|
16
|
+
else
|
|
17
|
+
echo "Install jq manually: https://jqlang.org/download/" >&2
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
if command -v opencode >/dev/null 2>&1; then
|
|
23
|
+
echo "opencode CLI found: $(opencode --version 2>/dev/null)"
|
|
24
|
+
else
|
|
25
|
+
echo "opencode CLI not found. Installing..."
|
|
26
|
+
if command -v npm >/dev/null 2>&1; then
|
|
27
|
+
npm install -g opencode-ai
|
|
28
|
+
else
|
|
29
|
+
echo "npm not found. Install Node.js first, or run: curl -fsSL https://opencode.ai/install | bash" >&2
|
|
30
|
+
exit 1
|
|
31
|
+
fi
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
if ! command -v opencode >/dev/null 2>&1; then
|
|
35
|
+
echo "opencode install failed. Install manually: https://opencode.ai/docs" >&2
|
|
36
|
+
exit 1
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
FREE_MODELS=$(opencode models 2>/dev/null | grep -i 'free' || true)
|
|
40
|
+
|
|
41
|
+
if [ -n "$FREE_MODELS" ]; then
|
|
42
|
+
echo ""
|
|
43
|
+
echo "Free models available (no login needed):"
|
|
44
|
+
echo "$FREE_MODELS" | sed 's/^/ - /'
|
|
45
|
+
echo ""
|
|
46
|
+
echo "ClaudeBoss is ready. Use /claudeboss:team or /claudeboss:boss in Claude Code."
|
|
47
|
+
exit 0
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
cat <<'EOF'
|
|
51
|
+
|
|
52
|
+
No free OpenCode Zen models detected on this install.
|
|
53
|
+
|
|
54
|
+
Manual fallback (ClaudeBoss does not create third-party accounts on your behalf):
|
|
55
|
+
1. Create a free account: https://openrouter.ai
|
|
56
|
+
2. Generate an API key: https://openrouter.ai/keys
|
|
57
|
+
3. Connect it to opencode:
|
|
58
|
+
opencode providers login
|
|
59
|
+
(choose OpenRouter, paste the key)
|
|
60
|
+
4. Re-run: claudeboss install
|
|
61
|
+
|
|
62
|
+
If you'd rather have your AI assistant do steps 1-3 for you interactively (via
|
|
63
|
+
browser/computer control), ask it directly -- ClaudeBoss intentionally does not
|
|
64
|
+
automate account creation for anyone who installs this package.
|
|
65
|
+
EOF
|
|
66
|
+
exit 1
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Picks the best available free opencode model for a task type.
|
|
3
|
+
# Always checks live `opencode models` output -- never hardcodes a model id
|
|
4
|
+
# that might no longer exist (free catalogs change without notice).
|
|
5
|
+
set -uo pipefail
|
|
6
|
+
|
|
7
|
+
TASK_TYPE="${1:-general}"
|
|
8
|
+
|
|
9
|
+
if ! command -v opencode >/dev/null 2>&1; then
|
|
10
|
+
echo "opencode CLI not found. Run: claudeboss install" >&2
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
FREE_MODELS=$(opencode models 2>/dev/null | grep -i 'free' || true)
|
|
15
|
+
|
|
16
|
+
if [ -z "$FREE_MODELS" ]; then
|
|
17
|
+
echo "No free models detected via 'opencode models'. Run: claudeboss install" >&2
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
pick() {
|
|
22
|
+
echo "$FREE_MODELS" | grep -i -- "$1" | head -1 || true
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
MODEL=""
|
|
26
|
+
case "$TASK_TYPE" in
|
|
27
|
+
code|coding)
|
|
28
|
+
for kw in coder code-free deepseek qwen3 nemotron; do
|
|
29
|
+
MODEL=$(pick "$kw")
|
|
30
|
+
[ -n "$MODEL" ] && break
|
|
31
|
+
done
|
|
32
|
+
;;
|
|
33
|
+
write|writing|research)
|
|
34
|
+
for kw in ultra nemotron gpt-oss-120b deepseek qwen3; do
|
|
35
|
+
MODEL=$(pick "$kw")
|
|
36
|
+
[ -n "$MODEL" ] && break
|
|
37
|
+
done
|
|
38
|
+
;;
|
|
39
|
+
*)
|
|
40
|
+
for kw in deepseek ultra nemotron gpt-oss-120b qwen3; do
|
|
41
|
+
MODEL=$(pick "$kw")
|
|
42
|
+
[ -n "$MODEL" ] && break
|
|
43
|
+
done
|
|
44
|
+
;;
|
|
45
|
+
esac
|
|
46
|
+
|
|
47
|
+
if [ -z "$MODEL" ]; then
|
|
48
|
+
MODEL=$(echo "$FREE_MODELS" | head -1)
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
echo "$MODEL"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: boss
|
|
3
|
+
description: Act as the boss — delegate the task to a free opencode agent, review its output, request revisions, and only after the user approves, supervise deployment end-to-end. Claude does not write code or do heavy implementation in this mode. Use when the user says "be the boss", "/claudeboss:boss", or wants Claude to manage rather than execute.
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ClaudeBoss
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ClaudeBoss — Boss Mode
|
|
9
|
+
|
|
10
|
+
You are the boss. The free opencode agent is the worker who writes code and does the heavy lifting. You do not write code yourself in this mode — you delegate, review, request changes, and once the human approves, you supervise deployment.
|
|
11
|
+
|
|
12
|
+
> **Drift-prone.** Free model catalogs change without notice. Model selection is live via `opencode models`, never hardcoded.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
`claudeboss install` must have succeeded at least once on this machine (see the `team` skill for what it checks).
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. **Classify and delegate.** Same task-type classification as team mode. Run:
|
|
21
|
+
```bash
|
|
22
|
+
claudeboss run <task-type> "<full task spec: what, where, constraints, acceptance criteria>"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. **Review as a manager, not an implementer.** Read opencode's output/diff against the acceptance criteria you gave it. Do NOT rewrite it yourself. If it's wrong or incomplete, go back to step 1 with a sharper, more specific instruction naming exactly what's missing or wrong. **Cap this at 3 revision rounds.** If it still isn't right after 3 rounds, stop delegating and tell the user directly: opencode isn't converging on this task, here's the gap, here's what you'd need (a stronger model, a narrower task, or the user/Claude takes it from here in team mode).
|
|
26
|
+
|
|
27
|
+
3. **Summarize for the human.** Once you approve the output, show the user:
|
|
28
|
+
- What was asked
|
|
29
|
+
- What opencode produced (concrete: files changed, diff summary, or the actual content — not a vague gloss)
|
|
30
|
+
- Your assessment of correctness/risk
|
|
31
|
+
- An explicit question: "Approve to deploy?"
|
|
32
|
+
|
|
33
|
+
Do not proceed past this point without an explicit yes. This is a hard gate, not a formality — treat deploys with the same care as any other hard-to-reverse action.
|
|
34
|
+
|
|
35
|
+
4. **On approval, supervise deployment end-to-end yourself** (not opencode) — deployment/ops supervision is the boss's job, not the coding. Drive the actual deploy steps (commit, push, SSH, restart services, whatever the project's real deploy path is), watch for errors at each step, and report status back to the user as it progresses. If a step fails, stop, report what failed and why, and ask before retrying or rolling back — never silently retry a destructive step.
|
|
36
|
+
|
|
37
|
+
5. **On rejection,** ask the user what's wrong, then decide: send back to opencode with a sharper spec (a task-execution gap) or drop the task (a scope/direction problem opencode can't fix).
|
|
38
|
+
|
|
39
|
+
## What this mode explicitly forbids
|
|
40
|
+
|
|
41
|
+
- You do not write the implementation yourself in this mode, even if opencode's output is bad — that's `/claudeboss:team`'s job, not boss mode's. If opencode can't produce usable output after 3 rounds, escalate to the user instead of quietly doing the work yourself; silently switching modes defeats the point of "the boss doesn't do heavy tasks."
|
|
42
|
+
- You do not deploy without the explicit approval step in #3, regardless of how confident you are in the output.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team
|
|
3
|
+
description: Delegate a task to a free opencode agent, wait for its output, then review and implement it together with the user. Use when the user says "team mode", "/claudeboss:team", or wants Claude Code and opencode working as a pair on a task.
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ClaudeBoss
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ClaudeBoss — Team Mode
|
|
9
|
+
|
|
10
|
+
You (Claude Code) and a free opencode agent work as a pair on one task. Opencode does the first pass; you review it like a second engineer would, then implement/finish it yourself.
|
|
11
|
+
|
|
12
|
+
> **Drift-prone.** Free model catalogs (OpenCode Zen, OpenRouter) change without notice. Model selection happens live via `opencode models` every run — never assume a specific model id still exists.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
Run once per machine: `claudeboss install` — checks/installs the `opencode` CLI, verifies a free model is reachable, and prints manual OpenRouter fallback steps if not (no automated account creation, by design).
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. **Classify the task** into one of: `code`, `write`, `research`, `general`. Coding tasks (features, fixes, refactors) → `code`. Prose/docs/copy → `write`. Fact-finding/comparison → `research`. Anything else → `general`.
|
|
21
|
+
|
|
22
|
+
2. **Delegate.** Run:
|
|
23
|
+
```bash
|
|
24
|
+
claudeboss run <task-type> "<precise task description — same detail you'd give a human contractor>"
|
|
25
|
+
```
|
|
26
|
+
This is a blocking call — wait for it to return, don't poll.
|
|
27
|
+
|
|
28
|
+
3. **Review the output like a code review, not a rubber stamp.** Check:
|
|
29
|
+
- Does it actually satisfy the request, not just look plausible?
|
|
30
|
+
- Correctness — run tests/typecheck/lint if applicable, read the actual diff, don't trust a summary of it.
|
|
31
|
+
- Fit with the existing codebase's conventions.
|
|
32
|
+
|
|
33
|
+
4. **Implement.** You apply the result yourself — edit files with Edit/Write, run verification (tests, the `run` skill, a browser check for UI), and fix anything opencode got wrong or left incomplete. Treat its output as a first draft from a teammate, not a final answer.
|
|
34
|
+
|
|
35
|
+
5. **If opencode's draft is unusable** (wrong approach, missed the point), don't loop forever — after 2 failed delegations, tell the user directly and offer to just do the task yourself. Free models are weaker than you; don't over-trust them on hard problems.
|
|
36
|
+
|
|
37
|
+
## What this mode is NOT
|
|
38
|
+
|
|
39
|
+
Not autonomous. You still show your work and changes to the user like any other task. Team mode changes *who writes the first draft*, not the review/verification bar.
|