
Operationalize
- 22 installs
- 416 repo stars
- Updated August 5, 2026
- boshu2/agentops
operationalize is a Claude skill that distills a finished artifact into evidence-anchored rules and routes each rule to its weakest durable enforcement shape (skill, workflow, hook, gate, or bead).
About
A skill that distills a finished artifact such as a research report, codebase recon sweep, or painful learning into a handful of evidence-anchored rules, then routes each rule to the automation shape that will enforce it next time. A developer uses it when they have gathered rich context and want it to change behavior instead of dying in the artifact. Every rule uses the form 'When X, do Y because Z' with a cited anchor, conflicts are marked DISPUTED, and gates start warn-only. The output is a rule packet plus one handoff stub per routed rule.
- Distills research, recon, and learnings into evidence-anchored rules
- Routes each rule to its weakest durable enforcement: skill, workflow, hook, gate, or bead
- Every rule cites a source anchor; conflicts are marked DISPUTED, never averaged
Operationalize by the numbers
- 22 all-time installs (skills.sh)
- Ranked #448 of 782 Skill Development skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
operationalize capabilities & compatibility
- Capabilities
- knowledge capture · rule extraction · automation routing
- Use cases
- documentation · research
- Pricing
- Free
What operationalize says it does
Rich context dies in the artifact that gathered it.
Every rule cites a source anchor,** because an unanchored rule is an opinion wearing a rule's clothes
Gates start warn-only,** because a fresh rule promoted straight to a blocking gate ships its false positives as outages.
npx skills add https://github.com/boshu2/agentops --skill operationalizeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 22 |
|---|---|
| repo stars | ★ 416 |
| Last updated | August 5, 2026 |
| Repository | boshu2/agentops ↗ |
What it does
Distill a finished artifact into evidence-anchored rules and route each to a skill, workflow, hook, gate, or bead.
Who is it for?
Turning research, recon, or learnings into durable, anchored rules that fire automatically next time.
Skip if: Curating a corpus; sources stay in place and are never copied into a corpus directory.
When should I use this skill?
A finished artifact of gathered context should become skills, gates, or beads.
What you get
A rule packet of evidence-anchored When-X-do-Y-because-Z rules plus one routed handoff stub per rule.
- Rule packet at .agents/operationalize/YYYY-MM-DD-slug.md
- One handoff stub per routed rule
By the numbers
- 5-step execution (intake to validate)
- 6 routing targets (skill, workflow, hook, gate, beads, playbook)
Files
/operationalize — Distill + Route Bridge
Loop position: move 7 (capture + ratchet) of the operating loop — routes promoted learnings to their weakest durable enforcement (skill, gate, or bead).
Rich context dies in the artifact that gathered it. A deep-research report, a codebase-recon sweep, or a painful learning is read once, agreed with, and never changes behavior again. This skill is the bridge: distill the artifact into a handful of evidence-anchored rules, then route each rule to the automation shape that will actually fire next time — skill, workflow, hook, gate, beads, or playbook.
Use when: "I gathered rich context — operationalize it." The input is a finished artifact; the output is rules with anchors and a handoff per rule.
⚠️ Critical Constraints
- Sources stay in place — to prevent a corpus-curation detour. Name the
source artifacts by path; never copy them into a corpus directory. The artifact you were handed IS the evidence base.
- Every rule cites a source anchor, because an unanchored rule is an
opinion wearing a rule's clothes — it cannot be audited, challenged, or retired when the source is superseded.
- Disagreement is marked DISPUTED, never averaged, because splitting the
difference between conflicting sources produces a rule nobody measured. A DISPUTED entry routes to investigation (beads), not to automation.
- Shape is decided by routing, not by vibe — to prevent everything
becoming a skill. Compose /automation-shape-routing for the shape decision; this skill only extends its target list.
- Gates start warn-only, because a fresh rule promoted straight to a
blocking gate ships its false positives as outages. Promotion to blocking comes after the gate has run quietly on real traffic.
- No rule survives without a counter-example check, because the cheapest
time to find the case where the rule is wrong is before it is wired into anything (see Step 5).
Execution
Step 1: Intake
Name the source artifacts in place — absolute or repo-relative paths plus a one-line provenance note each (who produced it, when, method). Confirm each source has citable anchors (section IDs, finding IDs, line ranges); if not, add anchor IDs to your notes about the source, never by editing the source.
Checkpoint: every source is a named path with a provenance line. No corpus dirs were created.
Step 2: Distill
Extract candidate rules in the canonical form — "When X, do Y because Z" — where Z cites at least one anchor. Work source by source, then reconcile:
- Multiple sources agree → one rule citing all supporting anchors.
- Sources conflict → one DISPUTED entry naming both sides' anchors and
what evidence would settle it. Do not synthesize a compromise rule.
- A finding with no behavioral consequence → drop it (context, not a rule).
Checkpoint: every rule line carries ≥1 anchor; every conflict became a DISPUTED entry, not a blended rule.
Step 3: Route
Hand each rule to /automation-shape-routing and extend its decision with this target table:
| Route | Pick when the rule… | Emit target |
|---|---|---|
| skill | needs judgment at execution time | /skill-builder |
| workflow | is a deterministic multi-step sequence | /workflow-builder |
| hook | must fire mechanically on a runtime event | /cc-hooks |
| gate | should check outputs — start warn-only | a validation gate spec (warn-only first) |
| beads | is unsettled work or a DISPUTED investigation | /beads-workflow |
| playbook | guides a human/operator decision, not an agent | .agents/playbooks/ entry |
Checkpoint: every rule has exactly one route; every DISPUTED entry routed to beads.
Step 4: Emit
Write the rule packet (Output Specification below), then create one handoff stub per routed rule: the rule text, its anchors, the chosen route, and the target skill invocation. The downstream builder owns the artifact; this skill owns the rule and its evidence trail.
Step 5: Validate
For each rule, run the counter-example check: actively search the sources (and your own experience) for one case where following the rule would be wrong. A found counter-example narrows the rule's "When X" or demotes it to DISPUTED. Then request a /validate verdict on the packet before handing off — verify before any downstream builder consumes it.
Worked example (golden fixture)
Input: fixtures/research-excerpt.md — a fake deep-research excerpt on worker-lane retry behavior, anchors RX-1…RX-5.
Distilled packet:
1. When a lane receives a rate-limit response, wait the full advertised cooldown before any same-account retry, because burst retries extend the penalty window (RX-1) and sub-30-second retries re-failed in 84% of logged events (RX-2). → route: hook (mechanical, event-triggered). 2. When one same-account retry has already failed, rotate accounts before the next attempt — capped at three accounts per hour, because post-failure rotation succeeded on the next call in 91% of cases (RX-2) while sustained cycling beyond three accounts/hour risks account review (RX-5). → route: skill (judgment about when the cap binds). 3. DISPUTED — rotate unconditionally on the first rate-limit response. RX-4 (operator interview) asserts it; RX-5 flags rotation frequency itself as a risk, and RX-2 only measured rotation after a failed retry. Settling evidence: telemetry comparing first-response rotation vs post-failure rotation. → route: beads (investigation), not automation.
Note what did NOT happen: rules 1–3 were not averaged into "rotate fairly quickly"; RX-3 (re-dispatch to a warm lane) was held back at Step 5 because its own source records a 9% duplicate-work counter-example.
Output Specification
Format: markdown rule packet — sources-in-place list, numbered rules in "When X, do Y because Z" form with anchors, DISPUTED section, route table, and the validate verdict reference. Path: written to .agents/operationalize/YYYY-MM-DD-<slug>.md; handoff stubs accompany it as a ## Handoffs section (one block per routed rule). Exit signal: packet path + per-rule route summary reported to the caller.
Quality Rubric
- [ ] Every rule cites at least one stable source anchor
- [ ] Zero blended rules: every source conflict appears under DISPUTED
- [ ] Every rule has exactly one route, chosen via automation-shape-routing
- [ ] Any gate route is explicitly marked warn-only
- [ ] Counter-example check ran per rule and is recorded in the packet
- [ ] No source artifact was copied or moved; no corpus directory exists
See Also
- automation-shape-routing — the shape decision this skill composes
- skill-builder, workflow-builder, cc-hooks, beads-workflow — emit targets
- validate — the packet verdict before handoff
- research — typical upstream producer of the input artifact
Research excerpt — worker-lane retry behavior under provider rate limits
Golden fixture for /operationalize. Fake but representative deep-research
output: three sources, stable anchors, one genuine disagreement.
Findings
[RX-1] (source: provider-docs, 2026-05) Burst retries against a 429 extend the penalty window. Both surveyed providers document that immediate re-send after a rate-limit response resets the cooldown clock; clients that waited the full retry-after header value cleared in one cycle.
[RX-2] (source: swarm-telemetry, 2026-06) Across 312 logged rate-limit events in overnight swarm runs, lanes that retried inside 30 seconds hit a second 429 in 84% of cases. Lanes that rotated to a different account first succeeded on the next call in 91% of cases.
[RX-3] (source: swarm-telemetry, 2026-06) Re-dispatching the in-flight work item to a different, already-warm lane resolved 61% of rate-limit stalls faster than waiting out the cooldown on the original lane — but produced duplicate work in the 9% of cases where the original lane later resumed on its own.
[RX-4] (source: operator-interview, 2026-06) The operator reports that account rotation "always beats waiting" and recommends rotating on the first 429, unconditionally.
[RX-5] (source: provider-docs, 2026-05) One provider's terms flag rapid credential cycling as abuse-signal behavior; sustained rotation across more than three accounts in an hour risks a account-level review.
Noted disagreement
RX-4 (rotate unconditionally, immediately) conflicts with RX-5 (rotation frequency itself carries account risk). Telemetry (RX-2) supports rotation but measured it only after a first failed retry, not as a first response.
Related skills
FAQ
What happens when sources conflict?
Disagreement is marked DISPUTED and routed to investigation (beads), never averaged into a compromise rule.
Do new rules become blocking gates immediately?
No. Gates start warn-only; promotion to blocking comes only after the gate has run quietly on real traffic.