SkillAtlasSkill 详情

ms

AgentOps is the operations layer for agentic engineering.

审核状态:已审核Quality 80Security 80

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月13日

AgentOps

AgentOps is the operations layer for agentic engineering.

AgentOps connects intent, coding agents, software factories, context sources, and independent judgment through portable skills and evidence contracts without replacing the systems that own work, execution, or delivery.

The architecture is a federated integration graph: your tracker keeps the work, Git keeps the history, your coding agents and factories run the execution, deterministic checks prove facts, and a fresh validator judges meaning. AgentOps supplies the semantic work-and-proof protocol that joins those nodes — exact intent, exact subject, evidence, fresh judgment, honest outcomes. The standard traversal through the graph is RPI, one experiment at a time:

RPI -> Plan -> Implement -> fresh Validate -> report and stop

For contested calls, opt into council (independent judges) or idea-genie duel mode (sealed perspectives before Plan).

Quickstart

npx skills@latest add boshu2/agentops --all -g

One command installs the skill bundle into every coding agent you use. The skills run inside your coding agent (Claude Code, Codex, Cursor, …): type /rpi in that agent's chat, or ask for plan, implement, validate, and learn by name. No other runtime is required.

Plugins (Claude Code / Codex)

Prefer a managed bundle that updates with the release:

# Claude Code
claude plugin marketplace add boshu2/agentops
claude plugin install agentops@agentops-marketplace

# Codex
codex plugin marketplace add boshu2/agentops
codex plugin add agentops@agentops-marketplace

Three install paths:

  • npx / skills.sh: universal; copies skills you can edit.
  • Plugins: a read-only bundle that stays current with the repo.
  • Checkout + ao skills link: source-tracked symlinks for contributors (see Install and day-2 operations).

Admission-control hooks (on by default)

AgentOps ships a PreToolUse policy dispatcher: deterministic guards that block a small set of known-destructive commands (staging the private bead ledger, hand-editing the hash-chained provenance ledger, overwriting installed skill copies) and route you to the correct tool instead. Silent on every clean call; every block is one line.

  • Claude Code plugin installs: active automatically; nothing to run.
  • npx / skills.sh copies: run ~/.claude/skills/cc-hooks/scripts/install-hooks.sh once.
  • git clone / brew: run scripts/install-policy-dispatch.sh once.

Disable anytime (/plugin disable agentops, or remove the two PreToolUse matchers from settings). Policy list and design: skills/cc-hooks/SKILL.md.

Remove with your runtime's plugin uninstall, or delete the linked skill directories.

Intent lives in a bead

Beads is the preferred tracker (optional; brew install beads). Plan writes BDD acceptance and DDD ubiquitous language into the bead; Implement builds against it; Validate judges a hashed snapshot under .agents/ao/intents/sha256/. No beads? Plan shapes the caller's issue or chat text and the runtime snapshots those bytes the same way.

validate must run in a fresh context (not the author session). It can use the same model as the author or a different one.

Multi-agent systems

The default is one agent, one writer. When you need a fleet, swarm, agent-native, ntm, and using-gc orchestrate multi-agent work. They dispatch; they do not own the verdict.

Choose a software factory

AgentOps supplies skills and evidence contracts, not another software-factory runtime or a competing Gas City pack. Install the skills in the agent runtime used by the factory you choose; its Mayor, coordinator, and workers can then use plan, implement, test, validate, and the rest of the catalog.

Two factory stacks are supported:

  • Gas City is the preferred choice for durable, supervised workflows. Use the upstream gascity build pack, the workflow family used by Maintainer City. It owns formulas, roles, worktrees, dispatch, draining, and run state. The using-gc skill covers installation, launch, observation, and recovery.
  • Jeffrey Emanuel's Agentic Coding Flywheel is a supported alternative built from Beads, Agent Mail, NTM, and the wider Flywheel tool stack. Use its native workflow and let its agents consume the same AgentOps skills. The using-flywheel skill covers provisioning, skill visibility, and the evidence boundary.

AgentOps does not wrap either factory or translate factory completion into semantic PASS. When proof is required, a fresh validate context judges the exact candidate and evidence.

Optional: ao CLI

Deterministic checks, inspection, and skill linking. Skip it if you only need the skills.

brew tap boshu2/agentops https://github.com/boshu2/homebrew-agentops
brew install agentops

Without Homebrew: go install github.com/boshu2/agentops/cli/cmd/ao@latest

To track skills from a local checkout instead of a release bundle, run ao skills link from that checkout.

Why AgentOps exists

1. The agent said it was done

Same session that wrote the code also declared victory. AgentOps separates authorship from judgment: implement produces a candidate; validate must run in a fresh context and may use a different model. It issues PASS, FAIL, or NOT_PROVEN.

2. One perspective rubber-stamped another

A single context can share blind spots with the author. Opt into idea-genie or council for sealed or multi-judge review. They return a report; an author-distinct validate context issues the binding result.

3. Acceptance drifted mid-flight

Without a fixed behavior and write scope, "done" is whatever the agent improvised. plan locks acceptance in the bead before anyone builds. Later phases bind to that digest.

4. Nobody can replay what was judged

Chat scrolls away. When replay or automation needs durable evidence, validate writes a content-addressed verdict.v2 under .agents/ao/verdicts/sha256/ with checked scope, omissions, and evidence refs. Plain JSON. No hosted service required. Interactive validation does not create one unless requested.

Core skills

SkillJob
rpirun Plan, Implement, and fresh Validate at most once
plancreate the bead (BDD + DDD ubiquitous language)
implementTDD against the bead: RED → GREEN → refactor
validatefresh context (optionally different model); optionally persist verdict.v2

Optional later: learn. Strategies: council, idea-genie, premortem, postmortem.

One skill, many shapes

AgentOps prefers a smaller skill set you can steer over dozens of near-duplicate skills. Modes and flags change behavior inside one contract.

SkillSteer withExamples
doc--modereadme, oss, default API/docs; README mode runs a docs-prose (de-slop) pass
codebase-reconmode · view · lens · depthbaseline/delta; emphasize audit or mental model; one domain lens per pass
idea-genieelicit | duelportfolio vs sealed multi-perspective challenge
rpibead / intent refone full traversal against a frozen bead

Read the skill's mode table before inventing a sibling skill. Full inventory: Skill Router.

Evidence contract

A PASS binds unchanged acceptance, a deterministic subject manifest, complete changed-path coverage inside write scope, distinct author and validator context IDs, a freshness attestation, and criterion-level evidence.

Missing identity, mutation, or incomplete coverage → NOT_PROVEN. Proven out-of-scope change or failed criterion → FAIL.

RPI traversal · CLI · Docs

Contributing: docs/CONTRIBUTING.md. License: Apache-2.0.

研究与检索Agent / MCP / Skill 创作

中风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 未检测到明显外部权限要求。
  • 未检测到高风险命令。
  • 扫描发现:1 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/boshu2/agentops.git
  3. 将 "skills/ms" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/boshu2/agentops.git
  3. 将 "skills/ms" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/boshu2/agentops.git
  3. 将 "skills/ms" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/boshu2/agentops.git
  3. 将 "skills/ms" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/boshu2/agentops.git
  3. 将 "skills/ms" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: ms
description: 'meta_skill (ms) — the skill-search/load engine over both corpora (agentops + jsm). Find a skill for a task, search skills, or load runnable skill guidance. Triggers: "ms", "meta_skill", "skill search", "find a skill for", "load skill guidance".'
practices:
- pragmatic-programmer
skill_api_version: 1
user-invocable: false
hexagonal_role: supporting
consumes: []
produces: []
context_rel: []
metadata:
  dependencies: []
  capabilities: [ms]
  effects: [spawn_search_server, write_feedback_outcomes, rebuild_search_index]
  canonical_status: canonical
  disposition: keep_specialist
  tier: execution
  external_dependencies:
  - "ms binary (Jeffrey Emanuel's meta_skill). The 0.1.2 release binary corrupts IDs on Anthropic-frontmatter skills, so it must be built from a source checkout carrying the frontmatter-id fix; this operator builds from ~/dev/meta_skill, branch local/frontmatter-id."
  - jq (required for parsing -O json output)
  - python3 (required by the disposable MCP search helper)
output_contract: search and load results plus source identity on stdout; the local index is disposable state, never a source of truth

ms — meta_skill search/load engine

Core Insight: ms is the skill-search engine over both configured corpora (agentops + jsm). Consume via MCP, write/admin via CLI. One law: after ANY reindex/wipe, every running ms mcp serve MUST be killed (sessions respawn fresh). A surviving server silently reads pre-wipe data and returns recorded:true on writes that land in orphaned files.

Constraints

  • Load with full: true or --full when the intent is to execute a skill, because metadata cards and packed overviews omit runnable guidance.
  • Keep the consume/write boundary explicit: use MCP for search and load, but use the CLI for feedback and outcomes because only CLI writes are verified to land in the live database.
  • When attached mcp__ms__* tools are unavailable, use the skill-local one-shot MCP helper for search. A zero-result ms search CLI response is not evidence that MCP BM25 found no match and must not silently substitute for it.
  • Reindex only through scripts/ms-reindex.sh, because it sweeps stale servers and proves source equivalence after rebuilding the index.
  • Treat the local index as disposable state, not a source of truth; the non-goal is editing indexed content instead of skills/**.
  • Keep ms retrieval-only for production skill work. It returns search and load results; the caller owns authoring, validation, and every subsequent decision.

Quick Start

Find a skill (MCP-primary — BM25, currently strictly better than CLI search), then load the FULL runnable SKILL.md in one call (always full: true when you mean to use it):

mcp__ms__search {query: "handle a rate limit switching accounts"}
mcp__ms__load {skill: "account-rotation", full: true}

No attached MCP tool: start one disposable stdio server, return only the structured search JSON, and reap it on success, error, or timeout:

python3 skills/ms/scripts/mcp-search.py "switch accounts on rate limit"
ms load account-rotation --full -O json | jq -r '.data.content'

State root: ~/Library/Application Support/ms/.


Consume — MCP-primary (mcp__ms__*)

Prefer the MCP tools whenever a ms mcp serve is attached — they are the fast, verified read path.

ToolUse
mcp__ms__search {query}BM25 search. Currently strictly better than CLI search (see Footguns — CLI hybrid is BM25-only; ms never stores doc embeddings).
mcp__ms__load {skill, full: true}Returns the full runnable SKILL.md in ONE call, zero extraction friction. full: false returns a useless metadata card — always full: true when you intend to use the skill.
mcp__ms__show {skill}Metadata card for a skill.
mcp__ms__suggest {cwd}Suggests skills for a directory. Works — but ignore its project-language detection (misdetects Makefile repos as C; cosmetic only).

No attached MCP tool: use the server-backed one-shot helper so retrieval still follows the MCP BM25 path:

python3 skills/ms/scripts/mcp-search.py "<query>"

The helper writes a clean search object (query, count, results) to stdout, reports transport/protocol errors on stderr, applies a 30-second timeout by default, and owns the disposable server process group through termination and reap. Override its executable with MS_BIN and its timeout with MS_MCP_SEARCH_TIMEOUT or --timeout.

The CLI remains the supported full-load fallback after search:

ms load <id> --full -O json | jq -r '.data.content'   # content lives in .data.content

Do not replace the helper with ms search. The CLI path is useful only for diagnostics while its retrieval parity gap remains; in particular, zero CLI results do not prove the corpus has no matching skill.


Write / Admin — CLI-only (verified landing in the live DB)

The MCP feedback tool exists, but only the CLI write path is verified to land — trust the CLI for writes.

ms feedback add <skill> --positive --comment "..."   # feedback on a skill
ms feedback add <skill> --negative --comment "..."

ms outcome <skill> --success   # record only AFTER downstream factory use + validation
ms outcome <skill> --failure

ms doctor                      # admin: health
scripts/ms-reindex.sh          # (re)index THE way: rebuild + sweep + probe + source-equivalence check
scripts/ms-reindex.sh --check-source  # read-only freshness proof against current skills/** source
# Optional operator policy only; rebuild completeness is derived from live
# discovered/indexed/errors accounting, not a historical absolute count:
MS_REINDEX_MIN_INDEXED=100 scripts/ms-reindex.sh
ms list -O jsonl --limit 1000  # counting / enumeration
ms config                      # resolved config + skill_paths

Output Specification

  • Path: search, load, and admin results are returned on stdout; durable index state remains under ~/Library/Application Support/ms/.
  • Filename: no result filename is created by this skill; callers capture CLI output explicitly when they need a durable artifact.
  • Format: attached MCP returns structured tool data; the one-shot helper unwraps MCP content into clean search JSON; CLI automation uses JSON or JSONL, with full skill text at .data.content for ms load --full -O json.
  • Validation command: run skills/ms/scripts/validate.sh for the retrieval boundary and scripts/ms-reindex.sh --check-source for normalized source equivalence.
  • Downstream handoff: return the loaded guidance and source identity to the caller. Retrieval never chooses or starts a workflow.

Production Skill Handoff

Production-intent handoff: When the query concerns creating or editing a skill, ms retrieves relevant guidance and stops. The caller may separately invoke skill-builder (create, heal, or audit mode) or another authoring tool.

Authority boundary: skills/** is canonical source; the generator owns the ms Codex twin and other projections. Never edit the index, loaded copies, or generated projections as source.

ms never validates or interprets downstream work. A failed search, load, write, or reindex is returned as evidence and ends this invocation.

Outcome timing: Record ms outcome only after the caller has independent evidence about downstream usefulness, never after retrieval alone. That observation does not change core state.


Footguns (measured through 2026-07-15)

FootgunTruth
MCP server survives a DB wipe/reindexAn ms mcp serve NEVER reopens handles — it follows renamed inodes into the backup, giving stale reads AND silent misdirected writes (recorded:true into orphaned files). Reindex via scripts/ms-reindex.sh — THE way to reindex (rebuilds, proves every live-discovered skill was indexed or reported as an allowed error, TERMs every server, probes a fresh server, then compares normalized local loads with current skills/** source); never run bare ms index and leave servers up. Sessions respawn fresh.
ms load --pack NTrap: caps at the gutted overview tier for ANY N (800 == 20000) — drops the executable steps and returns LESS than the no-flag default. Use --full (CLI) or full: true (MCP).
-O plainPrints name-only on load; truncates list output ([N more lines]). The content lives in -O json → .data.content.
CLI ms search "hybrid"Effectively BM25-only — ms never stores doc embeddings (upsert_embedding is called only from a unit test), so hybrid ≡ BM25 under ANY backend; no config/backend change fixes it (upstream gap, feature-noted; measured 2026-07-02, age-s3jf). It can return zero while MCP BM25 returns ranked matches. Without attached tools, use scripts/mcp-search.py; never treat zero CLI results as a successful MCP fallback.
Stale ms.lockms doctor prints "Lock held" for a DEAD pid yet still says all-pass. A dead-pid lock is safe to delete.
Symlinksms does NOT follow directory symlinks — skill_paths must list BOTH roots explicitly: the ~/.claude skills dir AND the ~/dev/agentops/skills repo dir.
BinarySource build only (~/dev/meta_skill, branch local/frontmatter-id); the 0.1.2 release binary corrupts IDs on Anthropic-frontmatter skills. Update: git fetch && git rebase origin/main && cargo install --path . --locked.

Concurrency

Parallel CLI + MCP load measured clean — no lock errors. The lock hazard is the survive-a-wipe case above (kill the serve), not concurrent reads.


Scenarios

Scenario: Load a skill's full runnable guidance
  Given an ms mcp serve is attached
  When I call mcp__ms__load {skill: "account-rotation", full: true}
  Then the full runnable SKILL.md content is returned in one call

Scenario: Search without an attached MCP tool
  Given mcp__ms__search is unavailable
  When I run python3 skills/ms/scripts/mcp-search.py with the query
  Then it returns only structured MCP search JSON
  And its disposable ms mcp serve process is reaped on success, error, or timeout

Scenario: Reindex invalidates every running server
  Given one or more ms mcp serve processes are running
  When I run ms index (or wipe/rebuild the DB)
  Then I kill every ms mcp serve so sessions respawn against fresh data
  And a surviving server would silently read pre-wipe data and mis-land writes

Scenario: A stale local projection fails closed
  Given AgentOps skills are authoritative and ms is a disposable local index
  When a full ms load has a different normalized name or description from source
  Then scripts/ms-reindex.sh exits nonzero and names the stale skill

Quality Checklist

  • Full loads preserve the complete runnable guidance rather than a metadata card or packed overview.
  • Search reads use attached MCP tools or the one-shot MCP helper, never a silent zero-result CLI substitution; full loads use MCP or the verified CLI shape.
  • Any rebuild accounts for every live-discovered skill, rejects an empty searchable index, then finishes with stale servers swept and source equivalence reported.
  • Production skill intent leaves ms after retrieval; generated twins and loaded/indexed copies are never hand-edited as source.
  • Search and load results remain advisory inputs, never proof that downstream work is correct.
  • ms outcome records observed usefulness only after independent downstream evidence.

References

  • Upstream: Jeffrey Emanuel's meta_skill (source at ~/dev/meta_skill, branch local/frontmatter-id).
  • Related consume-tool skill in this repo: cass (session archaeology). The jsm cass-memory (cm) procedural-memory tool is the write-side complement (installed separately, not in this repo).
  • Lifecycle contract validator: scripts/validate.sh.

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!