mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
c9c3e27067
## What Adds `ao skills resolve` — a MECE audit of the `skills/` corpus, ported from the `control-plane/bin/skill-resolve` prototype (cp-skill-resolver-mece-dry). - **Mutually Exclusive (ME):** clusters skills by name-family stem + description-token Jaccard, surfacing overlapping/near-duplicate skills as **merge candidates** (the prune queue, cp-dkf). - **Collectively Exhaustive (CE):** flags thin / description-less `SKILL.md` files as coverage-quality gaps. Read-only; mutates nothing. ``` ao skills resolve # MECE table ao skills resolve --json # machine-readable prune queue ao skills resolve --strict # CI dedup gate: exits 1 on any ME overlap ``` ## Scope decision This ports the **MECE half** only. The deployment-DRY half (which live `~/.claude/skills` symlink backs each name, shadows, `--fix`) is an operator-runtime concern and stays in `control-plane/bin/skill-resolve`. Two tools, two scopes: product-authoring in `ao`, deployment in control-plane. ## Implementation - New `cli/internal/skillsresolve` package, reusing `skillshealth.ParseFrontmatter` (no reinvention) + cobra wiring in `cli/cmd/ao/skills.go`. - Package tests (`resolve_test.go`) + command-level tests (`skills_resolve_test.go`: registration, `--json` schema, `--strict` exit). ## Live run 171 skills, 18 ME overlaps, 0 CE gaps — mirrors the prototype (beads-br↔bv 1.0; mcp-plugins / risk-audit / test families). ## Drive-by fix (separate commit) `fix(skills): wire security-suite into SKILL-TIERS.md` — `security-suite` shipped via the image-bundle merge but was never tiered, leaving `wiring-closure` red on `main`. The HEAD-based pre-push/CI gate blocks any push while it's red, so it's repaired here. Not part of the feature. ## Verification go build ✓ · go vet ✓ · go test (resolve pkg 2/2, command 3/3) ✓ · gofmt ✓ · full pre-push gate green.