AgentOps v3.3.0
AgentOps is 48 skills your coding agent loads (Claude Code, Codex, Cursor, …): instructions for planning, implementing, and validating work so the agent that wrote the code never grades its own homework.
Install / upgrade
npx skills@latest add boshu2/agentops --all -gOne command installs or refreshes every AgentOps skill in all coding agents on your machine. If you installed via the plugin (you'd have run claude plugin install at some point), you're updated automatically and can skip the command. If you've wired AgentOps hooks into Claude Code (you'd have run install-hooks.sh before; if you don't remember doing that, you haven't), re-run ~/.claude/skills/cc-hooks/scripts/install-hooks.sh once after upgrading.
A much smaller AgentOps
The biggest change in this release is what's gone. Process was never the enemy. Ceremony was. Ceremony is enforcement wrapped around every step; judgment is one independent check at the boundary. Much of AgentOps was ceremony, built when coding models needed dense guardrails to stay on the road. Today's models don't need most of it. Worse, we kept catching strong models getting degraded by it: verbose, rigid process makes them spiral into meta-work. They satisfy the ceremony, re-validate the validators, and second-guess work that was already done. The job itself waits.
So v3.3.0 removes the scaffolding and keeps the checks that still earn their place:
- Tens of thousands of lines of enforcement machinery are gone: retired command surfaces, pre-push gates, injection hooks, tombstone/prune systems, and a 29,000-line orchestration layer that a 1,300-line pack now replaces. Half the CLI's internal packages went with it, 79 down to 43. (Never encountered any of these? That's the point: new users never meet the ceremony at all.)
- Skills are lean contracts now: what the step owns, what it must produce, what it must never do. The scripts that micromanaged a capable model through every move are gone.
- What stays is the part that makes agent work trustworthy regardless of how good models get: your intent stays the acceptance boundary, a fresh agent that didn't write the code judges it, verdicts are durable artifacts, and toolchains are pinned and checksum-verified.
Upgrading from v3.2.0, you'll feel this as fewer prompts, fewer refusals to proceed, and less process narration. Starting fresh, you get the lean version from day one: the checks that remain are the product, not the paperwork.
Gas City pack (preview)
Gas City is an open-source orchestrator that runs teams of coding agents as long-lived, supervised sessions. This release ships a thin AgentOps pack for it: a small set of scripts and configuration (under deploy/gc/ in your checkout of the agentops repo; all the commands below run from there, and setup details are in that directory's README) that stands up a "city", Gas City's name for one running instance: the supervisor process, its agent sessions, and their shared task state. In practice: an always-running workspace where agent workers pick up tasks, implement them in isolated worktrees (separate working copies of your repo, so parallel workers never collide), get validated by a fresh agent that didn't write the code, and merge the finished change onto your repo's main branch.
What makes it worth trying:
- Nothing to build or version-guess. The pack's installer downloads the official Gas City and Beads release binaries for your platform and verifies them against pinned checksums. (Beads is Gas City's task tracker; a bead is one tracked unit of work: an issue, a ticket.)
- You drive it by talking to one agent, the Mayor. The Mayor is the city's standing coordinator session. Open it in your terminal and converse, or let another agent drive it with the pack's control script:
deploy/gc/invoke.sh --city <your-city> mayor tell "dispatch <bead-id>". A built-in timer keeps the Mayor checking for ready work every few minutes, so tasks flow to workers without babysitting. Day-to-day:invoke.sh create "<task title>"to define work,invoke.sh feed <id>to hand it to the city. - You can always see what's happening. The included
using-gcskill (loaded by your coding agent like any other) is an operating manual for watching a live city: which status commands to trust, which lie when a worker is stuck, and what to do when they disagree.
Preview status, stated plainly
The pack is pinned to the current official Gas City release (v1.3.5), which contains three defects we found, reported, and tracked upstream. We ship anyway, because the pack's default flow avoids two of them and the third has a one-line workaround:
- An internal task-claiming step can fail when the coordinator and the task live in different task stores (fixed upstream, not yet in a release). The pack's flow doesn't use that path, so you won't hit it.
- Automatic worker spawning never triggers for external repositories (gastownhall/gascity#4586, filed by us with a clean reproduction). The Mayor-driven flow above exists so this doesn't reach you.
- Session teardown can rarely hang under heavy process churn (fix in review: gastownhall/gascity#3985); if it happens, re-run
teardown.sh.
The preview label comes off when Gas City's next official release ships those fixes: we update the pinned version, re-run our verification against Gas City's own example setup, and do one live end-to-end run. You only ever run official Gas City artifacts. No forks.
Better planning skills
The plan and premortem skills got sharper, from a lesson we paid for ourselves: we once spent days rebuilding things a tool already did, because no step forced us to compare our design against the tool's own documentation. Now:
planmakes you name, up front, what your design will be checked against: the vendor's docs when integrating someone else's tool, your codebase's existing patterns when extending your own. It also asks for the cheapest experiment that would prove the approach works.premortemadds an independent-design check: a second agent designs from the same starting facts without ever seeing your plan, and the differences between the two designs become the review findings. Much harder to yes-man than "please critique my plan."
Smaller improvements
- The pack refuses to dispatch a task id that doesn't exist (Gas City would otherwise invent a new task from the typo).
invoke.sh mayor statusnow tells you the difference between "the Mayor isn't running" and "the status query itself failed."- Setup docs cover the interactive prompts (editor trust dialogs, update notices) that can silently freeze an unattended agent session, and how to pre-clear them.
Less ceremony, same judgment. Full change list: CHANGELOG.md.