{
  "markdown": "# AgentOps\n\nAgentOps is the operations layer for agentic engineering. It is a set of\nportable skills and evidence contracts that make one coding-agent change\nindependently judgeable: the context that wrote the code does not get to\ndeclare it done. Your tracker keeps the work, Git keeps the history, and your\ncoding agents keep running the execution; AgentOps joins them as a\nfederated integration graph and adds the judgment step. A fresh context reads\nthe exact change and returns `PASS`, `FAIL`, or `NOT_PROVEN`. The standard\npath is one RPI traversal:\n\n```text\nRPI -> Plan -> Implement -> fresh Validate -> repair to convergence -> report\n```\n\n## Quickstart\n\n```bash\nnpx skills@latest add boshu2/agentops --all -g\n```\n\nOne command installs the skill bundle into every coding agent you use. The\nskills run **inside your coding agent** (Claude Code, Codex, Cursor, …): type\n`/rpi` in that agent's chat, or ask for `plan`, `implement`, `validate`, and\n`learn` by name. Most skills need nothing beyond the coding agent; these need\nmore:\n\n| Skill | Needs | Why |\n|---|---|---|\n| `rpi` | `python3`, conditional | invokes plan and validate, which may run `python3` (see below); rpi's own procedure only cites `scripts/run_once.py` as reference behavior |\n| `plan` | `python3`, conditional | runs `scripts/validate.py snapshot-intent` only when the intent source is not durable |\n| `validate` | `python3` | its helper commands run `python3` against `scripts/validate.py` |\n| `fitness` | `ao` | its whole procedure is running one `ao goals` subcommand |\n| `using-gc` | `ao` | rig prep runs `ao gc prepare` and `ao gc check` |\n| `handoff` | `ao`, optional | `ao session handoff`/`rehydrate` cover the same artifact; the skill can write it directly |\n| `status` | `ao`, optional | describes `ao status`'s output shape; the report can be read directly from `.agents/ao/` |\n| `reverse-engineer` | `python3` | Phase 1's mechanical teardown runs `scripts/reverse_engineer.py` |\n| `skill-builder` | `python3`, conditional | Create mode's `build.sh` runs `scripts/generate-skill-mesh.py`; heal/check/audit modes are bash-only |\n| `ms` | `python3`, conditional, plus `ms` binary | the MCP-search fallback runs `python3 skills/ms/scripts/mcp-search.py`; the `ms` binary is required for CLI load, write, and admin operations |\n| `toil-mining` | `python3`, conditional | the recent-human extractor runs `scripts/recent_human.py` for Codex JSONL session sources |\n| `security` | `python3`, conditional | the composable suite and offline redteam surfaces run `security_suite.py` when that scan type is selected |\n| `cass` | `python3`, optional | `scripts/prompt_miner.py` mines repeated prompts; one of several selectable Scripts-table entries |\n\nThe plugin and `npx skills@latest add boshu2/agentops --all -g` install all 54 skills today, regardless of whether you have `python3` or `ao`.\n\nRan it? Tell us what it judged. Open an issue, and paste the `verdict.v2` if\nyou asked `validate` to persist one:\n<https://github.com/boshu2/agentops/issues>.\n\n## Plugins (Claude Code / Codex)\n\nPrefer a managed bundle that updates with the release:\n\n```bash\n# Claude Code\nclaude plugin marketplace add boshu2/agentops\nclaude plugin install agentops@agentops-marketplace\n\n# Codex\ncodex plugin marketplace add boshu2/agentops\ncodex plugin add agentops@agentops-marketplace\n```\n\nThree install paths:\n\n- **npx / [skills.sh](https://skills.sh)**: universal; copies skills you can edit.\n- **Plugins**: a read-only bundle that stays current with the repo.\n- **Checkout + `ao skills link`**: source-tracked symlinks for contributors\n  (see [Install and day-2 operations](docs/install-day2-ops.md)).\n\n## Admission-control hooks (on by default)\n\nAgentOps ships a PreToolUse **policy dispatcher**: deterministic guards that\nblock a small set of known-destructive commands (staging the private bead\nledger, hand-editing the hash-chained provenance ledger, overwriting installed\nskill copies) and route you to the correct tool instead. Silent on every clean\ncall; every block is one line.\n\n- **Claude Code plugin installs:** active automatically; nothing to run.\n- **npx / skills.sh copies:** run `~/.claude/skills/cc-hooks/scripts/install-hooks.sh` once.\n- **git clone / brew:** run `scripts/install-policy-dispatch.sh` once.\n\nDisable anytime (`/plugin disable agentops`, or remove the two PreToolUse\nmatchers from settings). Policy list and design:\n`skills/cc-hooks/SKILL.md`.\n\nRemove with your runtime's plugin uninstall, or delete the linked skill\ndirectories.\n\n## Intent lives in a bead\n\n[Beads](https://github.com/steveyegge/beads) is the preferred tracker\n(optional; `brew install beads`). Plan\nwrites [BDD](https://cucumber.io/docs/bdd/) acceptance and DDD [ubiquitous\nlanguage](https://martinfowler.com/bliki/UbiquitousLanguage.html) into the bead;\nImplement builds against it; Validate judges a hashed snapshot under\n`.agents/ao/intents/sha256/`. No beads? Plan shapes the caller's issue or chat\ntext and the runtime snapshots those bytes the same way.\n\n`validate` must run in a fresh context (not the author session). It can use\nthe same model as the author or a different one.\n\n## Multi-agent systems\n\nThe default is one agent, one writer. When you need a fleet,\n[`swarm`](skills/swarm/SKILL.md), [`agent-native`](skills/agent-native/SKILL.md),\n[`ntm`](skills/ntm/SKILL.md), and [`using-gc`](skills/using-gc/SKILL.md)\norchestrate multi-agent work. They dispatch; they do not own the verdict.\n\n### Choose a software factory\n\nAgentOps supplies skills and evidence contracts, not another software-factory\nruntime or a competing Gas City pack. Install the skills in the agent runtime\nused by the factory you choose; its Mayor, coordinator, and workers can then use\n`plan`, `implement`, `test`, `validate`, and the rest of the catalog.\n\nTwo factory stacks are supported:\n\n- [Gas City](https://github.com/gastownhall/gascity) is the preferred choice\n  for durable, supervised workflows. Use the upstream\n  [`gascity` build pack](https://github.com/gastownhall/gascity-packs/tree/main/gascity),\n  the workflow family used by Maintainer City. It owns formulas, roles,\n  worktrees, dispatch, draining, and run state. The\n  [`using-gc`](skills/using-gc/SKILL.md) skill covers installation, launch,\n  observation, and recovery.\n- Jeffrey Emanuel's\n  [Agentic Coding Flywheel](https://agent-flywheel.com) is a supported\n  alternative built from Beads, Agent Mail, NTM, and the wider Flywheel tool\n  stack. Use its native workflow and let its agents consume the same AgentOps\n  skills. The [`using-flywheel`](skills/using-flywheel/SKILL.md) skill covers\n  provisioning, skill visibility, and the evidence boundary.\n\nAgentOps does not wrap either factory or translate factory completion into\nsemantic PASS. When proof is required, a fresh `validate` context judges the\nexact candidate and evidence.\n\n## Optional: `ao` CLI\n\nDeterministic checks, inspection, and skill linking. `fitness` and\n`using-gc` call it directly; the rest of the skills work without it. Install\nsteps (Homebrew or `go install`), and `ao skills link` for\ntracking skills from a local checkout:\n[Install and day-2 operations](docs/install-day2-ops.md#maintainer--contributor-the-ao-binary).\n\n## Why AgentOps exists\n\n### 1. The agent said it was done\n\nSame session that wrote the code also declared victory. AgentOps separates\nauthorship from judgment: `implement` produces a candidate; `validate` must\nrun in a fresh context and may use a different model. It issues `PASS`,\n`FAIL`, or `NOT_PROVEN`.\n\n### 2. One perspective rubber-stamped another\n\nA single context can share blind spots with the author. Opt into\n[`idea-genie`](skills/idea-genie/SKILL.md) or [`council`](skills/council/SKILL.md)\nfor sealed or multi-judge review. They return a report; an author-distinct\n[`validate`](skills/validate/SKILL.md) context issues the binding result.\n\n### 3. Acceptance drifted mid-flight\n\nWithout a fixed behavior and write scope, \"done\" is whatever the agent\nimprovised. `plan` locks acceptance in the bead before anyone builds. Later\nphases bind to that digest.\n\n### 4. Nobody can replay what was judged\n\nChat scrolls away. When replay or automation needs durable evidence, `validate`\nwrites a content-addressed `verdict.v2` under\n`.agents/ao/verdicts/sha256/` with checked scope, omissions, and evidence refs.\nPlain JSON. No hosted service required. Interactive validation does not create\none unless requested.\n\n## Core skills\n\n| Skill | Job |\n|---|---|\n| [`rpi`](skills/rpi/SKILL.md) | run the anti-ceremony guard, then Plan, Implement, and fresh Validate at most once |\n| [`anti-ceremony`](skills/anti-ceremony/SKILL.md) | STOP/CONTINUE guard before Plan: name the consumer, the decision, the defect, and the retirement condition, or do not create the artifact |\n| [`plan`](skills/plan/SKILL.md) | create the bead (BDD + DDD ubiquitous language) |\n| [`implement`](skills/implement/SKILL.md) | TDD against the bead: RED → GREEN → refactor |\n| [`validate`](skills/validate/SKILL.md) | fresh context (optionally different model); optionally persist `verdict.v2` |\n\nOptional later: [`learn`](skills/learn/SKILL.md). Strategies:\n[`council`](skills/council/SKILL.md), [`idea-genie`](skills/idea-genie/SKILL.md),\n[`premortem`](skills/premortem/SKILL.md), [`postmortem`](skills/postmortem/SKILL.md),\n[`one-way-door`](skills/one-way-door/SKILL.md) (is this decision reversible?),\n[`reality-check`](skills/reality-check/SKILL.md) (does the repo match the claim?).\nNot sure which skill owns a request? Ask [`route`](skills/route/SKILL.md).\n\n## One skill, many shapes\n\nAgentOps prefers a smaller skill set you can steer over dozens of near-duplicate\nskills. Modes and flags change behavior inside one contract.\n\n| Skill | Steer with | Examples |\n|---|---|---|\n| [`doc`](skills/doc/SKILL.md) | `--mode` | `readme`, `oss`, default API/docs; README mode runs a docs-prose (de-slop) pass |\n| [`codebase-recon`](skills/codebase-recon/SKILL.md) | mode · view · lens · depth | `baseline`/`delta`; emphasize audit or mental model; one domain lens per pass |\n| [`idea-genie`](skills/idea-genie/SKILL.md) | elicit \\| duel | portfolio vs sealed multi-perspective challenge |\n| [`rpi`](skills/rpi/SKILL.md) | bead / intent ref | one full traversal against a frozen bead |\n\nRead the skill's mode table before inventing a sibling skill. Full inventory:\n[Skill Router](docs/SKILL-ROUTER.md).\n\n## Evidence contract\n\nA `PASS` binds unchanged acceptance, a deterministic subject manifest, complete\nchanged-path coverage inside write scope, distinct author and validator context\nIDs, a freshness attestation, and criterion-level evidence.\n\nMissing identity, mutation, or incomplete coverage → `NOT_PROVEN`. Proven\nout-of-scope change or failed criterion → `FAIL`.\n\n[RPI traversal](docs/architecture/rpi-traversal.md) · [CLI](cli/docs/COMMANDS.md) · [Docs](docs/documentation-index.md)\n\nContributing: [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). License: Apache-2.0.\n",
  "bytes": 10962,
  "sha": "3db8166a582469e74c53685a5122f0aa51b633b529eed9ef890454b4770f4472",
  "repo_slug": "boshu2/agentops",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_boshu2_agentops_goals_17a4bf6c/readme"
}