Browse Source

chore(release): v3.2.0 — surface fleet-worker, broaden model framing

Cuts v3.2.0 (fleet-worker landed since v3.1.0). Bookkeeping + doc polish:

- README: new v3.2.0 entry in Recent Updates (was Unreleased)
- CHANGELOG: [Unreleased] -> [3.2.0] - 2026-06-22; model framing aligned
- .claude-plugin/plugin.json: 3.1.0 -> 3.2.0
- AGENTS.md: fleet-worker added to the inline skill examples
- fleet-worker/SKILL.md: broadened "non-Anthropic model" -> "cheaper model"
  (Anthropic Sonnet/Haiku or a non-Anthropic endpoint); new "Giving a worker
  skills" section; "Staying all-Anthropic?" config note; reconciled terms

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0xDarkMatter 2 weeks ago
parent
commit
dd556e26a8
5 changed files with 34 additions and 11 deletions
  1. 1 1
      .claude-plugin/plugin.json
  2. 1 1
      AGENTS.md
  3. 3 2
      CHANGELOG.md
  4. 3 0
      README.md
  5. 26 7
      skills/fleet-worker/SKILL.md

+ 1 - 1
.claude-plugin/plugin.json

@@ -1,7 +1,7 @@
 {
   "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
   "name": "claude-mods",
-  "version": "3.1.0",
+  "version": "3.2.0",
   "description": "Custom commands, skills, agents, rules, hooks, and output styles for Claude Code - session continuity and modern CLI tooling for real-world development workflows",
   "author": {
     "name": "0xDarkMatter"

+ 1 - 1
AGENTS.md

@@ -5,7 +5,7 @@
 This is **claude-mods** - a collection of custom extensions for Claude Code:
 - **3 expert agents** for pure context-isolation/worker roles (git-agent, firecrawl-expert, project-organizer) - every domain-knowledge agent became an `-ops` skill (v3.0, skills-first)
 - **2 commands** for session management (/sync, /save)
-- **94 skills** for CLI tools, patterns, workflows, and development tasks (incl. `ffmpeg-ops` for probe-first media processing and EDL-driven editing, `supply-chain-defense` for behavioural-first dependency security, `prompt-injection-defense` for instruction-integrity scanning, `pypi-ops` for OIDC Trusted Publishing to PyPI, `net-ops` for network troubleshooting, `windows-ops` / `mac-ops` for workstation diagnostics)
+- **94 skills** for CLI tools, patterns, workflows, and development tasks (incl. `ffmpeg-ops` for probe-first media processing and EDL-driven editing, `supply-chain-defense` for behavioural-first dependency security, `prompt-injection-defense` for instruction-integrity scanning, `pypi-ops` for OIDC Trusted Publishing to PyPI, `net-ops` for network troubleshooting, `windows-ops` / `mac-ops` for workstation diagnostics, `fleet-worker` for cheap parallel worker delegation)
 - **13 output styles** for response personality (Vesper, Spartan, Mentor, Executive, Pair, Atlas, Coach, Harbour, Meridian, Noir, Roast, Sage, Scout)
 - **11 hooks** for pre-commit linting, post-edit formatting, dangerous command warnings, uv enforcement, dependency-install + manifest-edit supply-chain advisories, hidden-Unicode scanning (session-start + pre-commit), live config-change + worktree guards, and pmail notifications - security set auto-wired via plugin hooks.json
 - **Pigeon** inter-session messaging (`pigeon send/read/reply`) - SQLite-backed pmail at `~/.claude/pmail.db`

+ 3 - 2
CHANGELOG.md

@@ -5,11 +5,12 @@ All notable changes to claude-mods are documented here. Format follows
 [Semantic Versioning](https://semver.org/). Fuller narrative entries for
 feature releases live in the README "Recent Updates" section.
 
-## [Unreleased]
+## [3.2.0] - 2026-06-22
 
 ### Added
 - **`fleet-worker` skill** - delegate tool-using, multi-step agent tasks to a cheaper
-  headless Claude Code worker on a non-Anthropic model (GLM via z.ai by default; any
+  headless Claude Code worker on a cheaper model — Anthropic Sonnet/Haiku, or a
+  non-Anthropic endpoint (GLM via z.ai by default; any
   Anthropic-compatible endpoint via `ANTHROPIC_BASE_URL`). Each worker is a real
   `claude -p` carrying Claude Code's full tool harness but a "grunt" brain, isolated
   in its own git worktree + `CLAUDE_CONFIG_DIR` (the load-bearing auth-isolation

+ 3 - 0
README.md

@@ -22,6 +22,9 @@ From Python async patterns to Rust ownership models, from AWS Fargate deployment
 
 ## Recent Updates
 
+**v3.2.0** (June 2026)
+- 🤖 **`fleet-worker` skill** — delegate tool-using, multi-step tasks to *cheaper headless Claude Code workers* — a cheaper Anthropic model (Sonnet/Haiku) or any Anthropic-compatible endpoint (e.g. GLM 5.2 via z.ai) — while an Opus orchestrator fans them out in parallel and gates their results before anything lands. Each worker is a real `claude -p` with Claude Code's full tool harness (Read/Write/Edit/Bash/Glob/Grep/Task) and any skills you provision into it, but a cheaper brain — isolated in its own git worktree + `CLAUDE_CONFIG_DIR`. Ships bash + PowerShell launchers, a result-gating collector, an endpoint health verifier, and the fleet-ops handoff recipes. fleet-worker is the **spawn** layer; [`fleet-ops`](skills/fleet-ops/) is the test-gated **landing** layer it hands winning branches to. Provider-agnostic.
+
 **v3.1.0** (June 2026)
 - 🗺️ **`mapbox-ops` skill** - advanced Mapbox GL JS for the web (v3): custom SVG/canvas markers and circular photo pins, thematic dataviz (choropleth, heatmaps, proportional symbols, 3D extrusions), terrain with hillshade and contours, cinematic flight/orbit camera and animated day–night cycles, style composition (v3 Standard slots + config, classic palette recolour, third-party styles), expression-driven styling, and the hard-won gotchas that silently drop your markers. 14 reference files plus a headless-Playwright marker-alignment verifier.
 - 📐 **Skill Creation Protocol** - [docs/SKILL-CREATION-PROTOCOL.md](docs/SKILL-CREATION-PROTOCOL.md), the canonical "how to build a claude-mods skill" doc: one sequenced lifecycle (warranted? → frontmatter → body → resources → tests → repo wiring → ship) that cites the layer-owning docs rather than restating them, with a precedence table for when they disagree.

+ 26 - 7
skills/fleet-worker/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: fleet-worker
-description: "Delegate tool-using, multi-step agent tasks to a cheaper headless Claude Code worker on a non-Anthropic model (GLM via z.ai by default) — a 'grunt worker' an Opus orchestrator fans out in parallel and verifies. Each worker is a real `claude -p` carrying Claude Code's full tool harness (Read/Write/Edit/Bash/Glob/Grep/Task) but a cheaper brain, isolated in its own git worktree + CLAUDE_CONFIG_DIR. Pairs with fleet-ops for test-gated landing. Triggers on: fleet-worker, delegate to GLM, spin up a GLM worker, cheap parallel agent, grunt worker, offload to glm, headless GLM, z.ai worker, GLM-5.2 worker, cheap coding agent, fan out workers, non-Anthropic model in Claude Code, ANTHROPIC_BASE_URL worker."
+description: "Delegate tool-using, multi-step agent tasks to a cheaper headless Claude Code worker on a cheaper model — Anthropic Sonnet/Haiku or a non-Anthropic endpoint (GLM via z.ai by default) — a 'grunt worker' an Opus orchestrator fans out in parallel and verifies. Each worker is a real `claude -p` carrying Claude Code's full tool harness (Read/Write/Edit/Bash/Glob/Grep/Task) but a cheaper brain, isolated in its own git worktree + CLAUDE_CONFIG_DIR. Pairs with fleet-ops for test-gated landing. Triggers on: fleet-worker, delegate to GLM, spin up a GLM worker, cheap parallel agent, grunt worker, offload to glm, headless GLM, z.ai worker, GLM-5.2 worker, sonnet worker, haiku worker, cheap coding agent, fan out workers, non-Anthropic model in Claude Code, ANTHROPIC_BASE_URL worker."
 when_to_use: "Use when you have independent, well-scoped, tool-using subtasks (refactors, test-writing, doc edits, mechanical multi-file changes) that don't need Opus-level judgment, and you want them done cheaply in parallel while the orchestrator reviews and gates the results before they land. Not for tasks needing the orchestrator's conversation context or expensive-if-wrong unreviewed changes."
 license: MIT
 allowed-tools: "Read Bash Glob Grep AskUserQuestion"
@@ -12,12 +12,13 @@ metadata:
 
 # fleet-worker
 
-Run a **cheap headless Claude Code worker on a non-Anthropic model** and let an
+Run a **cheap headless Claude Code worker on a cheaper model** and let an
 Opus orchestrator (this session) fan workers out in parallel, then verify and
 land their work. The worker keeps Claude Code's *entire tool harness*
 (Read/Write/Edit/Bash/Glob/Grep/Task/MCP/hooks) — only the **brain** is swapped
-to a cheaper model via env. GLM-5.2 on z.ai is the default worked example; the
-mechanism is provider-agnostic (any Anthropic-compatible endpoint).
+to a cheaper model via env — a cheaper Anthropic model (Sonnet/Haiku) or a
+non-Anthropic endpoint. GLM-5.2 on z.ai is the default worked example; the
+mechanism is provider- and model-agnostic (any Anthropic-compatible endpoint).
 
 **This is the spawning layer. [`fleet-ops`](../fleet-ops/) is the landing layer.**
 fleet-worker produces branches cheaply; fleet-ops lands them through a test gate
@@ -49,6 +50,16 @@ The launcher sets this automatically. It also gives each worker a clean
 hook/permission/MCP profile so it can't trip the host's hooks. Full analysis in
 [references/fleet-worker-spec.md](references/fleet-worker-spec.md) §4.
 
+## Giving a worker skills
+
+The isolated config dir starts **clean** — the worker inherits none of the host's
+skills, MCP servers, or hooks (that isolation is what keeps it off your
+credentials). So *provision* what a worker should have: drop skill dirs into the
+worker's own config (`$FLEET_WORKER_CONFIG_DIR/skills/<name>/`) or commit them to
+the project's `.claude/skills/` in the worktree. The cheap brain then loads the
+same on-demand, progressively-disclosed procedural knowledge your orchestrator has
+— often the cheapest way to lift a weak model's output on a specialized task.
+
 ## Setup
 
 1. **Install** — these scripts ship with the skill. After `scripts/install.sh`
@@ -79,6 +90,13 @@ Point `FLEET_WORKER_BASE_URL`/`FLEET_WORKER_MODEL` at any other Anthropic-compat
 gateway (this is the documented Claude Code custom-endpoint mechanism) to drive a
 different cheap model.
 
+**Staying all-Anthropic?** The same separate-process trick runs a cheaper *Claude*
+model as the worker — an Opus orchestrator with Sonnet/Haiku workers, no third-party
+account. Point `FLEET_WORKER_BASE_URL` at Anthropic's API and set `FLEET_WORKER_MODEL`/
+`FLEET_WORKER_SMALL_MODEL` to a Claude model, authenticating with an Anthropic API key.
+The defaults target z.ai/GLM only because that's the cheapest brain; the mechanism
+doesn't care which model answers.
+
 ## When to delegate (and when not)
 
 | Delegate to a worker | Keep on the orchestrator |
@@ -176,15 +194,16 @@ credentials. Avoid `--debug` in shared logs (may print headers).
 ## Know your terms (read before publishing or automating)
 
 Using Claude Code with a custom `ANTHROPIC_BASE_URL` is a **documented** feature,
-and the worker's inference never touches Anthropic's API/subscription. But terms
+and a non-Anthropic worker's inference never touches Anthropic's API/subscription. But terms
 change and vary by plan — verify both your **Anthropic** terms and your **model
 provider's** terms for your own use. Two specifics worth knowing:
 
 - **Automated subscription access:** Anthropic's Consumer Terms restrict driving a
   Claude.ai/Pro/Max **subscription** by "automated or non-human means … except
   when accessing via an Anthropic API Key." Keep the orchestrator **interactive**,
-  or run it on an **API key** if you automate it. (Workers are non-Anthropic, so
-  this clause doesn't reach them.)
+  or run it on an **API key** if you automate it. (A non-Anthropic worker isn't
+  reached by this clause; an Anthropic-model worker driven by an **API key** lands
+  in the API-key exemption.)
 - This skill is a tool, not legal advice. When in doubt, ask your provider.
 
 ## Scripts