
rpi
Drive one accepted change through implementation and checks to done, with one fresh review only where a mistake is costly. Use when: asked to run or orchestrate work through RPI.
- Installs
- 1.5K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/boshu2/agentops --skill rpi- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads rpi automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
RPI
Own the authorized outcome through finish. RPI (research, plan, implement) is one native pass, not fixed phases: use the native coding agent and shell. BD or the caller's tracker owns work and handoffs; Git owns content and delivery. AgentOps supplies a small charter and one fresh judgment where a mistake is costly, not a scheduler.
Operating charter
- Use the existing accepted outcome, scope and real bounds. A clear change needs no Plan, Recall or Learn worksheet. Resolve uncertainty only when it could change the implementation or acceptance decision.
- Take the smallest acceptance-advancing action. Plan shapes missing intent or revises a disproved approach. Once an implementer can act and a validator can judge, implement; do not keep improving the plan. Approach revisions preserve acceptance and authorized scope. Acceptance changes need caller authority.
- Implement and repair ordinary known defects directly. A known test failure needs a fix and a discriminating check, not another planning phase, council or helper.
- Use focused checks during edits and complete required integration checks before finishing. Reuse a check result only while its inputs are unchanged; rerun affected checks after changes. Reserve capacity for integration and repair. Keep a subject unchanged while it is being judged.
- Spend validation where a mistake is costly. For an ordinary change the checks and CI are the gate: finish. Obtain Validate from one fresh author-distinct context only when the caller asks, when a mistake cannot be cheaply undone after it lands (a published release or instructions users will follow, a security boundary, destroying data or tracker state, deleting a check that protects the product), or when no deterministic check covers the changed behavior. Use the author's model family unless the caller selects additional legs; explicitly required reviewers remain required.
- One round. Give the validator the accepted criteria, the exact subject and
one question written before it starts, never the author's confidence or
desired verdict; it does not re-run the checks. Repair what fails the
accepted behavior or would mislead a user, break install or the CLI, or
remove protection for the product; treat the rest as optional notes. Confirm
each repair with a check and finish. A repair does not start another
review, and
NOT_PROVENis reported with its gaps, not chased. Keep review cost a fraction of the cost of the work; when it approaches that cost, stop and report what is unchecked. - Stop at completed acceptance, cancellation, refusal, a spent real bound, a
pending caller decision or an unresolved causal stall after the help below.
A choice the accepted outcome depends on that lies outside existing
authority (changed acceptance, wider scope, an irreversible step it does not
cover) is the caller's decision, not a stall, so no helper applies. Finish
the independent authorized work, then stop and return the choice instead of
waiting on it, handed over in full: what raised it, what you found, the
options with their tradeoffs and your recommendation. A count or a link is
not a handover, and the result is never
donewhile a choice is open. Adjacent improvements are not permission to expand the goal. Report them briefly only when useful; do not turn them into another work batch.
Delegation and handoffs
When delegation is authorized and useful, select the runtime's task-only dispatch option for independent work: a short prompt in a full-history fork still carries the full history, and prompt wording proves neither isolation nor a smaller inherited context. Supply accepted intent and scope, the exact subject, relevant evidence, remaining bounds, the result's consumer and check ownership; resume an author for direct repair when useful. At completion, verify the expected subject and required results; a quiet or partial status is not success. Integrate as Implement describes for delegated work, disclosing missing or truncated evidence in the existing handoff.
Causal stall and bounds
Name a stall by what you observed, never by a count:
- Unknown cause: a check fails and neither its output nor the diff points to a change or assumption you can name.
- Recurrence: a check that passed after a repair fails again for the same cause.
- No progress: the failing check's output and the diff are unchanged since the previous attempt, or a delegated worker's last observed activity has not changed since you last looked.
- Wrong objective: a caller correction, or a check of the accepted example, shows the work aims at something acceptance does not ask for.
Any of the four admits at most one bounded fresh helper for that incident within authority and bounds; if it stays unresolved, the stalled Result names its observed fact. Give it the failed assumption, evidence and one discriminating question. Resume only with a different testable approach; an unhelpful answer ends the attempt. Do not chain helpers or rename the incident. Known failures get direct repair. Cancellation, refusal and spent hard time/cost/quota skip help.
Respect actual caller/native limits, including explicit repair-round bounds. Retries, compaction, helpers and new subjects never renew them; retry count alone is not a spent budget, and prompt text proves no native enforcement. If interruption threatens evidence, preserve accepted intent, exact subject, check results, unresolved cause, bounds and helper use in the native handoff. Outer-goal guidance remains optional.
Evidence and boundaries
When a validator is used, bind accepted intent, complete changed paths, the
exact subject and its check results using
Validate's Subject rules, including its status
listing and file hashes for uncommitted work.
Where the repository records AgentOps evidence bindings, run
ao provenance evidence-orphans --root <repo> --changed <path>... and disclose
the acceptance evidence it reports orphaned. Requested proof goes to protected
storage outside Git that the caller selects; preserve legacy .agents/
evidence. Validate's
decision order sets a requested binding verdict, which the author cannot issue.
Memory, specialists and runtime adapters are on demand; no-match and no-change are valid. Read boundaries when authority, scope, evidence or delivery is at issue. Do not invent a runtime, hidden machine artifact or workflow to finish an ordinary change.
Closeout
Report in this shape. Plans, activity, reviews and saved pages earn no
capability credit, and an unchecked item is reported, not a reason to keep
validating. Machine evidence such as rpi-report.v1 or verdict.v2 is
optional unless a caller or declared consumer requires it. When no machine
artifact is requested or required, return the result without creating one.
Result: done | stopped: <cancelled | refused | needs decision: <choice> | bound spent | stalled: <unknown cause | recurrence | no progress | wrong objective> - <observed fact>> | NOT_PLANNED | NOT_BUILT
Subject: <commit, branch or diff identity>
Acceptance: <criterion> -> <evidence: check, receipt or ref>, one line each
Checked: <checks run on the final subject, with results>
Not checked: <what was not run or not covered, and why> | none
Judgment: none (checks and CI gate an ordinary change) | <validator context id>: PASS | FAIL | NOT_PROVEN
Limits: <material gaps; each open decision in full; departures from the literal ask, one line with its reason each; adjacent work noticed but not done> | none
A departure is a call made within authority that the caller would want to know: building differently than asked, declining or disputing a finding, or following a mid-run steer. Routine fixes stay out; with no such call, add none.
NOT_PLANNED (stopped before an actionable slice existed) and NOT_BUILT
(stopped before a candidate change existed) describe progress, not semantic
verdicts.
When rpi-report.v1 is requested, its status is the validator's verdict when
Judgment ran on the final subject. Otherwise it is NOT_PLANNED or NOT_BUILT
as reported, FAIL when a check on the final subject proves a criterion
failed, and NOT_PROVEN for every other Result, done included; never PASS.
Fill checked and not_checked; fields the runtime did not derive, and both
verdict fields when no validator ran, are null.
FAQ
What does the rpi skill do?
Drive one accepted change through implementation and checks to done, with one fresh review only where a mistake is costly. Use when: asked to run or orchestrate work through RPI.
How do I install rpi?
Run npx skills add https://github.com/boshu2/agentops --skill rpi in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/rpi/ (personal) or .claude/skills/rpi/ (project).
Which AI agents can use rpi?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is rpi safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains rpi?
It is published by boshu2 in boshu2/agentops. It has 1,482 recorded installs.
More from boshu2/agentops
council
boshu2/agentops
Compare independent opinions from several models or contexts without inflating agreement. Use when: wanting a second opinion or debate, or summarizing several reviewers' results.
doc
boshu2/agentops
Write source-checked docs, READMEs, change descriptions and handoffs. Use when: documenting a change, leaving or resuming a handoff, or drafting a questionnaire for someone else.
research
boshu2/agentops
Answer one cited question on code, history, claims or patterns. Use when: asked how it works, why it changed, if a claim or done/shipped report holds, or a pattern warrants a rule.
plan
boshu2/agentops
Shape a request into one end-to-end slice with observable behavior; review write scope and reversible decisions. Use when: planning, breaking down or scoping a change.
swarm
boshu2/agentops
Dispatch explicit disjoint packets exactly once through a caller-selected executor. Triggers: "swarm", "dispatch disjoint packets", "parallel explicit tasks".
implement
boshu2/agentops
Change or repair code, config or services without weakening tests; report what ran and what did not. Use when: implementing a change or fixing a defect.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.