# Of

> v0.7.95 — Alias for orderfield. Hosts load this alias; then sibling SKILL.md and references/skill-appendix.md (same contract). Use when /of or orderfield, a field must be resumed, or a multi-slice disk brief. While children fly, status/resume print running + live PULSE + speak; leftover residual does not hide started-only re-spawn; PACKED/spawned=spawn meta not pack (SPAWN≠HOLD). Quote PULSE. Resume next INTEGRATE --RECOMPUTE when report digest drifted; do not next-wave. Checklist → of contrast / of close / residual (not a second doctrine). After wave: must ask consent for a fresh-context review packet (adversary/verifier) before close; never silent. Before pack: consult model-catalog, propose cheap vs frontier, ask same-harness vs mix playbook (detect+doctor PATH≠auth). Mid-mission: doctor balance unknown; never invent; ask before rebalance. Codex recorded worktree: -C plus field/Git add-dir or refuse. Consented --model includes grok/agy (named). Grok streaming-json. Generic OF_AGENT is shlex argv; dry-run p

- Skill: `pedroknigge/of` (Agent Skill)
- Install (CLI): `npx skillmds@latest add pedroknigge/of`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pedroknigge/of/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: pedroknigge (https://skillmd.com/u/pedroknigge)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/pedroknigge/of

---


# /of — alias for orderfield

Two names. One kernel. `/of` is `/orderfield`. Product surface (sibling README) leads with typical problems → what Orderfield does. Mid-flight plan-change H2 sits before Install.

Load the sibling skill and follow it. When that skill names [references/skill-appendix.md](../references/skill-appendix.md), read the appendix before pack, spawn, contrast, or close. Stop if the sibling is missing. Do not invent a second contract.

Human install or verify: the sibling path is `bash docs/demo/mortal-install.sh --global` (or `--root PATH`), then `of doctor` must print `ok`. Closed-field historical packs (older `order_rev` than the retained ORDER) are informational — not FAIL. Open-field stale/aged packs still FAIL. Pack lines name field id + wave. Do not rewrite a closed audit trail to green doctor. Pin recipe stays README / PUBLISH. Not pip. Not a daemon.

Doctor / status / resume / pulse ask the user at most once a day when a newer release exists. On yes: `ORDERFIELD_VERSION=<ver> bash install.sh --global --from-release` (release tar.gz + SHA256SUMS). Do not upgrade mid-ORDER without consent. Not a silent auto-update.

In-flight is not done: while any residual is MISSING, `of status` / `of resume` print `running` + the live `PULSE` + a `speak` line (`quote a PULSE line above to the user; do not claim done while running`). A leftover residual from a prior collect refuse does not hide a started-only re-spawn — stay `running` + speak until that spawn settles. `PACKED` / `spawned 0` / `next SPAWN` mean the packet exists but no spawn record — not ALIVE; `of spawn` or `of handoff`. Spawn stream-json / JSON streams (claude/cursor/codex) and grok `streaming-json` feed the same scratch PULSE. Grok residual extract reuses that stdout path; spawn metadata is finalized on exit, timeout, and missing binary. Before ending a turn or saying the mission is done, run one of them and quote the live PULSE — the human never runs `of pulse` by hand. Follow the sibling.

Close is proof: the sibling names [docs/close-is-proof.md](../docs/close-is-proof.md). Residual empty is not the close.

After a successful `of phase`, `of next-wave` is the next step. The just-integrated wave stays eligible; do not integrate `--recompute` that completed wave. An empty current wave (no packets) has nothing to integrate: after `done_when` is closed, `of phase <next>` succeeds without `--force`. Packets that exist still require integrate. When `of resume` prints `INTEGRATE --RECOMPUTE`, the wave report digest drifted: run `of integrate --wave N --recompute`. Do not next-wave. Spawn `session_id` / `denied_actions` after integrate are not drift (`IntegrationDigest`). Follow the sibling.

Claim shipped is mechanical: run `of contrast` and `of close --checklist` in the same turn. Quote the printed `speak` line (`do not claim shipped unless contrast RESOLVED and residual empty`) plus `contrast RESOLVED` and `residual empty`. If either proof row fails or that `speak` line is not quoted, do not claim shipped. Pair with quote-PULSE while flying. Production checklist language is those verbs (`checklist → of contrast` / `of close` / residual). Not a second checklist. After a wave, **must ask** consent for a fresh-context review packet (`adversary` / `verifier`) before close; never silent. Self-praise is not review. Not a new close gate. Follow the sibling.

Published claims stay ≤98% honest. After skill/docs edits: `python3 docs/audit/check-claims.py` (also inside `validate-skill.sh`). Follow the sibling.

Chat-dump residuals still cannot collect. Structured evidence over 4000 chars (counts, paths, shas) can. A size refuse names `scratch/<child>/notes.md` + re-spawn the same packet. Follow the sibling.

`of learn` length is advisory like pack `--slice`: over 400 chars still stores and prints a note. Over 4 lines still refuse dumps. Put the long record in `work/scratch/leader/<file>.md` and keep a short pointer learning. Follow the sibling.

Gaps as prose: `of contrast --diff` narrates SPEC vs coverage from the same ContrastReport + spec-diff facts. RESOLVED is not CLOSED. No theater. Follow the sibling.

Webhook HMAC signature + replay is pair-shaped: accept a valid delivery AND reject replay / bad signature at the public surface, then `of spec --verified-contract ID --both-sides`. `WebhookPair` is the oracle. Not a webhook server. Follow the sibling.

Timeout, idempotency, health, and version IDs are public-surface VERIFIED_CONTRACT (not closable on VERIFIED_INTERNAL). Idempotency stays PAIR (`--both-sides`). Timeout/health/version: exercise the bound / `/health` / `/version` or a release header at the surface. `ContractSurface` names the shapes. Not a health monitor. Not a timeout supervisor. Not a version server. Follow the sibling.

`status=done` close evidence must name `artifact_sha:` (sha256 of `result_ref` bytes) and `rollback:` a command — not captions. `CloseEvidence`. Collect refuses a missing or mismatched hash and a slogan rollback. Slice done is still not SPEC closed. Follow the sibling.

Production mode: the sibling appendix **Production mode** names Gate A before `--role implementer`. Use the full verb table. Prod§15: name a repo-relative runbook path in `done_when` before close; close refuse without it. Never invent a process supervisor, bot org, `RUNTIME_OWNERSHIP`, `--tokens`, or `of merge`. Follow the sibling.

Orca interactive workers: after residual + `of collect` (and on abandon), **must** `worker-stop` then `worker-release` for dispatches you started. Never leave retained unless the user asked. If `of worktree add` was used, `of worktree remove` when the slice closes. `worker-stop` does not delete worktrees. Follow the sibling. Not a process supervisor.

Recorded worktree + native Codex spawn: `of spawn --adapter codex` uses `-C <worktree>`, `--add-dir <field-home>` for residual/PULSE, and `--add-dir <git-common-dir>` for linked-worktree metadata. Missing, malformed, or non-Git records refuse before launch with remove/re-add guidance. No record leaves Codex argv unchanged. Follow the sibling.

Generic `OF_AGENT` is a shell-quoted argv (`shlex.split`). Quote paths with spaces (`--add-dir "/path/with spaces/.git"`). Dry-run prints `shlex.join` of the real list so a space path stays one token. Follow the sibling.

Per-task model hints: when packing a multi-role wave, **consult** [docs/model-catalog.md](../docs/model-catalog.md) first, then **must propose** cheap vs frontier in chat. Do not assume smarter = costlier. On yes → `of patch --model-hints field|wave` and/or `of pack --model-tier cheap|frontier` / `--model NAME`. Spawn passes `--model` for claude/codex/cursor/grok/agy when the packet names one (claude also maps cheap→haiku / frontier→opus). Grok/agy: named model only; no invented aliases; flags before `-p`. Orca/qwen/opencode/generic stay no-op. Follow the sibling. Not a router. Never `budget.tokens`.

Wave harness plan: before pack (init → first pack, or re-planning), **consult** the catalog, then **must ask** same-harness roles on one harness vs multi-harness mix. Playbook: sibling appendix **Multi-harness mix**. On same → `of patch --harness <adapter>` (or stay on session). On mix → `of doctor` + `of detect` (present / missing / PATH≠auth Partial). Then `of pack` / `of spawn` only from **present**. After residuals: `of collect` → `of contrast` → `of close`. Never claim login from PATH. Never silent mix. Follow the sibling. Not a router.

Conservative agy spawn: if the harness JSON named refused tools, read `residual.denied_actions` (or the spawn `denied_actions=` line). Those tools were refused — **not approval**. Missing/empty is omit; do not invent `[]`. Do not set `OF_TRUST=yolo` to hide them. Follow the sibling.

Missing collect residual: `MISSING` means pending/unavailable. The diagnostic shows known adapter / trust / outcome and actual `denied_actions`. “permissions may be involved for conservative `<adapter>` headless mode” is a possibility, not proof; conservative children may still write scratch and residual files. Follow the sibling.

agy residual schema: `of spawn --adapter agy` passes `--json-schema` to `residual.codex.schema.json` (same Codex file; type unions unique, `usage` is `[object,null]`). Claude omit: `--json-schema` is inline-only and would drop stream-json PULSE. Do not fake a path. Qwen omit: structured_output tool, not residual delivery. Follow the sibling.

`OF_TRUST=plan` maps cursor `--mode plan`, agy `--mode plan`, grok `--sandbox read-only`. `auto-edit`/`auto` stay conservative where the harness has no accept-edits flag. Claude `auto` stays `acceptEdits` (classifier auto is account/model gated). Follow the sibling table.

Adapter resume/continue: `of spawn` emits `--resume ID` only when `residual.session_id` is already set (claude/cursor). Cold residual is a fresh spawn. Do not invent. Never `--continue`. Not `ORDER.origin.session_id`. Follow the sibling.

Leader HITL `--body-file` is `.orderfield/work/scratch/leader/ISSUE.md` (or the child's existing `ISSUE.md` / `issues/<slug>.md`). Refuse names `.orderfield/work/scratch/<child_id>/`. Follow the sibling.

If status/resume prints `efficiency propose …`, ask the human; on yes run the printed `of patch --model-hints` / `--model-tier`. Never silent switch. Never invent token spend. Follow the sibling [docs/efficiency-signal.md](../docs/efficiency-signal.md).

**Long-task efficiency mix:** mid-mission (residuals landed / next-wave replan) quote honest signals only — `of status` efficiency, `of detect`, `of doctor` balance. No published balance/session signal → say **unknown**; never invent. `budget.tokens` stays reserved. Propose cheap/frontier rebalance AND/OR harness mix when those signals exist. **Must ask**; on yes use the sibling verbs. Never silent. Follow the sibling.

After package installation, the full skill is normally at
`../orderfield/SKILL.md` relative to this file. In a source checkout, it is at
`../SKILL.md`. The leader appendix is `../orderfield/references/skill-appendix.md`
(checkout: `../references/skill-appendix.md`). If the sibling skill is missing, stop
and report that the Orderfield skill package is incomplete.

