Skip to content
Development
Skill

/watch-and-repair-pr

Use when a human explicitly invokes a watcher cycle for an open pull request that must be watched until mergeable or blocked. Not for merge, force-push, or work outside the invoked cycle.

From plugin
odin-claude-plugin
36200 skills
Install
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill watch-and-repair-pr --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/watch-and-repair-pr

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when a human explicitly invokes a watcher cycle for an open pull request that must be watched until mergeable or blocked. Not for merge, force-push, or work outside the invoked cycle.

SKILL.md

watch-and-repair-pr.SKILL.md
name: watch-and-repair-pr
description: 'Use when a human explicitly invokes a watcher cycle for an open pull request that must be watched until mergeable or blocked. Not for merge, force-push, or work outside the invoked cycle.'
disable-model-invocation: true

PR review triage

Contract

| Field | Bound contract | |---|---| | Trigger | A human explicitly invokes a watcher cycle for an open pull request that must be watched until it is mergeable or blocked. | | Authority | Remote: pushes commits to the candidate pull request's own branch and may publish a status report; requires explicit human invocation. Preview the exact pull request, candidate branch, proposed commits or status report, and remote consequence before using credentials; proceed only within the invoked cycle. | | Side effect | May publish a status report and push commits that address bounded review findings only to the candidate pull request's own branch; never merge or force-push. | | Done | The cycle has re-read checks, review threads, conflicts, and branch protection, then classified the pull request as mergeable, blocked-with-owner, or handed-off. |

Inputs

Required: the open pull request, its repository and candidate branch, access to its complete current checks, review threads, conflict state, and branch-protection state, plus the human's explicit invocation for this cycle. To push a fix or publish a report, also require valid credentials and an exact preview of the remote target and consequence. Optional: a human-supplied bound on findings to address; without one, do not mutate and return a classification from the review tape.

Procedure

1. Confirm the pull request is open, identify its own candidate branch, record the human-authorized scope for this cycle, and reject any target that would require another branch, a merge, or a force-push. Done when: PR is confirmed open, candidate branch is identified, and scope is recorded with invalid targets rejected. 2. Re-read the full current review tape in the same cycle: all checks, every review thread including resolved threads needed for context, conflict state, and applicable branch-protection requirements. Do not rely on a prior cycle's snapshot. Done when: complete review tape is read in this cycle. 3. Classify each obstacle as an actionable review finding, an external wait, a conflict, a protection requirement, or a decision requiring another owner. Bound actionable work to findings supported by the current tape and within the invoked scope; do not widen scope or invent evidence. Done when: every obstacle is classified and actionable work is bounded. 4. Before any remote mutation, present the exact pull request and branch, the proposed status report or commits, and the consequence of publishing or pushing. Do not use credentials or mutate the remote unless the human has explicitly authorized that preview. Done when: preview is presented and human authorization is confirmed or withheld. 5. For authorized actionable findings, change only what each finding requires, verify the affected observable behavior with the narrowest applicable check, and push the resulting commits only to the candidate pull request's own branch. Never merge and never force-push. Done when: commits are pushed to the candidate branch with verification evidence, or the step has stopped on verification or push failure. 6. After any push or newly observed review activity, start a fresh cycle by re-reading the complete review tape rather than carrying forward a partial view. Done when: fresh cycle is started with a complete re-read. 7. End the cycle with exactly one terminal classification: `mergeable` when all required checks and protection conditions pass, no blocking thread or conflict remains, and no required owner action is outstanding; `blocked-with-owner` when a named obstacle and responsible owner remain; or `handed-off` when responsibility has been explicitly transferred with the current tape and remaining actions identified. Done when: one terminal classification is emitted.

Failure and recovery

  • Incomplete or stale tape: do not mutate or claim mergeability; return `blocked-with-owner` naming the unavailable evidence and its owner.
  • Invalid target or authority: if the candidate branch cannot be identified, the proposed action exceeds the bounded findings, or the remote preview lacks explicit human authorization, make no remote change and return `blocked-with-owner` naming the required human decision.
  • Verification or push failure: stop, preserve the verified local result without claiming it is remote, and return `blocked-with-owner` with the failed check or push, the unchanged remote state if known, and the owner able to recover. Never retry by force-pushing.
  • Conflict, protection, or external wait: do not bypass it; name the exact blocker and responsible owner in `blocked-with-owner`, or use `handed-off` only after explicit transfer.
  • Partial result: report completed observations and any successfully published commit identifiers separately from unperformed work; never represent a partial tape or partial push as satisfying the done predicate.

Output

One cycle report containing the pull request and candidate branch, the review-tape snapshot read in that cycle, bounded findings and their dispositions, verification evidence for each pushed fix, any published commit or report identifiers, remaining blockers with owners, and exactly one terminal classification: `mergeable`, `blocked-with-owner`, or `handed-off`.

Read more
Ships withodin-claude-plugin

Formerly the ODIN Claude Plugin. The repository URL is unchanged. Outline-Driven Development, nicknamed ODIN, is a highly opinionated code-agent skill library: principles-first engineering, surgical editing, and workflow automation, published as installable

Get the whole plugin
Stats
36
Stars
0
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
3d ago
Last commit
10mo ago
Created

Repo: OutlineDriven/odin-claude-plugin

Other skills on odin-claude-plugin.