architect
Use for design-level judgement: requirements, quality attributes, trade-offs, ADR, contracts, resilience, security,…
Use when the adopter asks to delegate to local OSS agents (OpenCode) on a READY local runtime.
$ npx -y skills add ShaftHQ/SHAFT_ENGINE --skill local-agency --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/local-agencyContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the adopter asks to delegate to local OSS agents (OpenCode) on a READY local runtime.
name: local-agency description: >- Use when the adopter asks to delegate to local OSS agents (OpenCode) on a READY local runtime. license: MIT
Optional **local coding agency** path. Not a workflow owner; select the canonical workflow in [execution workflows](../../references/execution-workflows.md) first.
**Local agency vs session agents**
| Path | When | Owner | | --- | --- | --- | | Session subagents / Task | Default orchestrator labor on the host | Host adapter + [delegation](../../references/delegation.md) | | Local agency (this skill) | Adopter asked for OpenCode / local OSS agency against local weights | This skill + READY runtime |
llamacpp via [local-openai-compat](../local-runtimes/references/local-openai-compat.md), then Colibri (`:8000`) via [colibri](../local-runtimes/references/colibri.md) (frontier MoE; prefer FreeToken for coding agency).
`OPENCODE_CONFIG_CONTENT` that sets `enabled_providers` to the READY local provider. OpenCode merges global config; the allowlist keeps other providers out of that process. `--pure` only disables external plugins.
**never** `ft launch` / `ft serve`, **never** start local servers from CE.
tell the operator; continue with session agents / `SOLO` / OmniRoute only when the adopter explicitly asked for that path.
docs (README third-party table).
runtime is missing.
`dispatch.py resolve --prefer freetoken` and [`require_rog_freetoken.py`](scripts/require_rog_freetoken.py) fail closed unless the hostname looks like ROG, cwd is the operator ROG checkout (see local-agency guide (repo-only `chaos-engine/guides/local-agency.md`)), or `CE_ALLOW_BOX_LOCAL_AGENCY=1`. Process-owner Shell with `machineId` on ROG is **mandatory** for ROG FreeToken/OpenCode writers. Do **not** dispatch those writers via Task until Grok Bot exposes `machineId` to Task/executor Shell. Diagnostic: [`assert_parent_rog_shell.py`](scripts/assert_parent_rog_shell.py). Clear error when FreeToken is not READY on this host.
Helper: [`chaos-engine/skills/local-agency/scripts/dispatch.py`](scripts/dispatch.py). ROG gate: [`require_rog_freetoken.py`](scripts/require_rog_freetoken.py).
python3 .chaos-engine/skills/local-agency/scripts/dispatch.py resolve python3 .chaos-engine/skills/local-agency/scripts/dispatch.py --prefer freetoken config python3 .chaos-engine/skills/local-agency/scripts/dispatch.py argv --prompt '…' --workdir '<worktree>'
`resolve` ranks FreeToken, then OpenAI-compat peers, then Colibri. Use `--prefer colibri` when the adopter asked for Colibri. On `READY`, `config` / `argv` emit ephemeral OpenCode material (`OPENCODE_CONFIG` path). Run OpenCode yourself with that env; do not persist the config into the durable user file. `argv` defaults include `--pure` and `--variant` (`medium`; use `low` or `medium` for tool loops). `--no-pure` exists for callers that already isolate plugins. `--pure` still only disables plugins.
On demand: [brief and preflight](references/brief-and-preflight.md).
`--mode mechanical` (**default** for small local coding models / 7B tool loops): treat the prompt as one bounded apply command; do not auto-attach CE brief (still allowed via `--with-ce-brief`).
`--mode design`: attach the locator-only CE brief (same as `--with-ce-brief`) for richer design/spec turns. Prefer this only when the host coach wants a design draft, not for mechanical apply.sh loops.
Design/spec turns must follow [design-turn-contract.md](references/design-turn-contract.md) (verbatim `CE_BRIEF_LOCATORS:` closing line; host reject gates).
Parent parser uses `allow_abbrev=False` so `--mode` cannot abbreviate to `--model` . Keep that guard when adding short overlapping flags.
python3 .chaos-engine/skills/local-agency/scripts/dispatch.py --mode mechanical argv --prompt 'bash <abs-dir>/apply.sh' python3 .chaos-engine/skills/local-agency/scripts/dispatch.py --mode design argv --prompt '…' --project .
A READY local coder is a mechanical runner. Procedure: [mechanical-dispatch.md](references/mechanical-dispatch.md). The OpenCode bash timeout is **120s**: after a timeout kill of an apply script, re-run the same idempotent script from the orchestrator so product files are not left half-applied.
When `dispatch.py chat` returns OpenAI-compat `usage` and `--session-id` is set, dispatch records `session_token_usage.py` with `--channel local` and a coarse `--runtime-class` (`freetoken` / `openai-compat` / `colibri`). Never write model or provider ids into the ledger. `brief` / `config` / `argv` do not call the model, so they do not record usage.
Implementers write code directly; this skill is optional. Use local only when the handoff cost is well below generation cost (bulk mechanical edits, spec or ticket drafting, log summarization, offline or private work). See [when-to-use-local.md](references/when-to-use-local.md).
A chosen local writer needs an active coach: verify every artifact, give grounded feedback, and never let it finish unsupervised. Playbook: [coach-loop.md](references/coach-loop.md).
[local-coding-delegate](..
One Java engine for web, mobile, API, CLI, database, and desktop. Drivers, waits, and evidence are handled. Every run ends in an Allure report. Upgrade to SHAFT_ENGINE · ▶ Watch the 26-second clip with sound and captions · 100-second overview
Use for design-level judgement: requirements, quality attributes, trade-offs, ADR, contracts, resilience, security,…
Canonical provider-neutral skill router and working contract. Use at the start of every task, on every host, in every main thread…
Use when PR merge waits are long or CI/CD is being designed, audited, or sped up: targets, PR/main/nightly tiers, opt-in labels,…
Frontier MoE through a disk/RAM/VRAM hierarchy via the optional Colibri process. Use when a large-model offline job needs…
Standalone FreeToken process: install, READY probe and bounded dispatch. Use when the local-runtimes table points a job at…
Use when a git worktree is dirty or another local branch or worktree exists. Ask before cleanup unless the session is unattended.