PR Babysitter
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
Sets the safety and triage rules for .NET MAUI CI-fixer workflows: classify each ci-scan issue as Continue, Watch, Stop or Skip before proposing any fix.
$ npx skills add dotnet/maui --skill ci-fix -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dotnet/maui ci-fix --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/ci-fix .claude/skills/ci-fix && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ci-fix" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/ci-fix into .claude/skills/ci-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-fix", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dotnet/maui/tree/main/.github/skills/ci-fixType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dotnet/maui --skill ci-fix -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dotnet/maui ci-fix --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/ci-fix .agents/skills/ci-fix && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ci-fix" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/ci-fix into .agents/skills/ci-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-fix", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dotnet/maui --skill ci-fix -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dotnet/maui ci-fix --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/ci-fix .cursor/skills/ci-fix && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ci-fix" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/ci-fix into .cursor/skills/ci-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-fix", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dotnet/maui.git --path .github/skills/ci-fix--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dotnet/maui --skill ci-fix -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dotnet/maui ci-fix --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/ci-fix .gemini/skills/ci-fix && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ci-fix" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/ci-fix into .gemini/skills/ci-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-fix", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dotnet/maui ci-fixInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dotnet/maui --skill ci-fix -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/ci-fix .github/skills/ci-fix && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ci-fix" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/ci-fix into .github/skills/ci-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-fix", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dotnet/maui --skill ci-fix -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dotnet/maui ci-fix --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/ci-fix .opencode/skills/ci-fix && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ci-fix" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/ci-fix into .opencode/skills/ci-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-fix", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ci-fixSets the safety and triage rules for .NET MAUI CI-fixer workflows: classify each ci-scan issue as Continue, Watch, Stop or Skip before proposing any fix.
Before proposing a code change, the agent must return exactly one terminal decision per candidate issue, backed by concrete evidence and never revised later in the response. Continue means no dedup or safety gate blocks analysis. Watch means an open workflow-owned CI-fix pull request already owns the issue, and only that PR is advanced. Stop means an explicit human PR owns the issue. Skip covers issues that are stale, visual, already fixed, out of scope or unsafe to advance.
Deduplication relies on exact Refs references: an open CI-fix PR with the workflow's title prefix is the only Watch case, merged or closed-unmerged CI-fix PRs lead to Skip, and an open human PR that declares it fixes the issue, through a Refs line or a closing keyword, leads to Stop. A bare issue number in a comment, check summary, commit message or diff does not count as ownership. The skill ships two eval files under tests and leaves branch names, labels, attempt limits and write permissions to the calling workflow.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7d38fd0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
CI-Fix Triage Protocol loads about 1.2k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 693 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from dotnet/maui at commit 7d38fd0, republished under its MIT licence (© dotnet). 693 words, ~1,233 tokens.
.claude/skills/ci-fix/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use this protocol before proposing a code change or emitting a CI-fixer safe output. The calling workflow supplies its branch, labels, title prefix, attempt limit, and allowed write surface; preserve those caller-specific restrictions.
For each candidate, state one terminal decision before taking an action:
Decision: Continue — no dedup or safety gate blocks current-evidence analysis.Decision: Watch — exclusively an open workflow-owned CI-fix PR owns the
issue; advance only that PR.Decision: Stop — an explicit human PR owns the issue; do not monitor it or
plan a fallback CI-fix PR.Decision: Skip — the issue is stale, visual, already fixed, out of scope, or
cannot be safely advanced.Explain the concrete evidence for the decision. A search result is evidence to inspect, not a decision by itself.
Reason through all ownership evidence before emitting the decision. Return exactly one terminal decision; never emit a provisional decision and then correct it later in the response.
When the caller requests a strict decision format, complete the classification before writing any response text. Emit only the final decision and requested next action. Do not include a draft, correction, or alternate decision.
Refs: dotnet/maui#<issue> is the only Watch case. Never open a second CI-fix
PR for that issue.Refs: declaration or a
closing/reference keyword such as Fix, Fixes, Fixed, Close, Closes,
Closed, Resolve, Resolves, or Resolved followed by the issue
reference, including #<issue>, dotnet/maui#<issue>, or
https://github.com/dotnet/maui/issues/<issue>.GitHub search normally includes comments and incidental status text. Do not
treat a raw issue number in a comment, check summary, commit message, diff, or
unrelated list as human ownership. Inspect the PR title and body before stopping.
If every result is incidental, return Decision: Continue; an unrelated search
hit is not independently a reason to Stop or Skip.
Before a fresh attempt:
Advance only the existing CI-fix PR and respect the caller's effective attempt
counter. When the cap is reached, return Decision: Skip and defer rather than
advancing the existing PR or opening a replacement.
Never claim the target test is fixed from a category-level result or an unrelated
green leg; require evidence for the specific test on the CI-fix PR's current
head.
Before any code-push safe output, apply the caller's transport gate to the saved base and head. Reject transport unless the saved base is an ancestor, all new commits are append-only and merge-free, and the complete diff stays within the caller's allowed paths, commit count, file count, and patch-byte bounds. Never trim, conceal, or retry an unrelated or oversized diff merely to make it pass.
If a supported safe-output call returns a backend, connection, or validation
error, do not retry that mutation, continue the remaining mutation set, emit a
noop, or use a direct write path. Request one bounded report_incomplete safe
output and stop. A missing expected safe output is a failed/incomplete run, not
a successful no-write result.
© dotnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in .github/skills/ci-fix of dotnet/maui.
Open the folder on GitHubat commit 7d38fd0
CI-Fix Triage Protocol next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| CI-Fix Triage Protocol this skilldotnet/maui | 23k | — | ~1.2k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Exposed Bug Fix WorkflowJetBrains/Exposed | 9.3k | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| Pull Request Babysitterthedotmack/claude-mem | 97k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Pre-Release PR Triagejamiepine/voicebox | 57k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Ouroboros Maintainer TriageQ00/ouroboros | 6.2k | — | ~1.7k | Automated safety check: Pass | MIT |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
JetBrains/Exposed
Takes a GitHub or YouTrack issue for the Exposed project through reproduction, a failing test, a fix, validation and a pull request.
thedotmack/claude-mem
Keeps watching a pull request, fixing real review and CI problems and resolving stale threads, until it is clean and ready to merge.
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
Q00/ouroboros
Triages and works through GitHub issues and pull requests in the Q00/ouroboros repo as a maintainer, within a stated review boundary and clear limits on what it may change.
rtk-ai/rtk
Audits a repository's open pull requests, deep-reviews chosen ones and drafts review comments that are only posted after you approve them.
dotnet/maui
Mines local Copilot CLI session logs for dotnet/maui to rank costly or failing runs, tag recurring failure modes, propose repo edits and emit guard evals.
dotnet/maui
Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.
dotnet/maui
Produces evidence-backed ship-readiness verdicts for .NET MAUI Servicing Releases and Previews, and drafts public-safe release handoff pages from the result.
dotnet/maui
Interprets pinned managed benchmark evidence for a dotnet/maui pull request and writes a narrative for the performance review workflow, without running or publishing anything.
dotnet/maui
Checks that a pull request's title and description match its implementation and reviews the code for best practices before merge, without posting anything.
dotnet/maui
Adds MAUI-specific guardrails on top of the maestro-cli skill and Maestro MCP tools for darc, BAR, and channel or feed lookups in dotnet/maui.
Categories
Sets the safety and triage rules for .NET MAUI CI-fixer workflows: classify each ci-scan issue as Continue, Watch, Stop or Skip before proposing any fix. Before proposing a code change, the agent must return exactly one terminal decision per candidate issue, backed by concrete evidence and never revised later in the response. Continue means no dedup or safety gate blocks analysis.
CI-Fix Triage Protocol fits situations like: handling a ci-scan issue that may already have a CI-fix pull request; deciding whether a human pull request already owns a tracking issue; running a scheduled sweep of ci-scan issues; advancing a manual single-issue CI-fix dispatch safely.
Run `npx skills add dotnet/maui --skill ci-fix -a claude-code`. Or copy the skill folder (.github/skills/ci-fix in dotnet/maui) into .claude/skills/ci-fix in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dotnet/maui --skill ci-fix -a codex`. Or copy the skill folder (.github/skills/ci-fix in dotnet/maui) into .agents/skills/ci-fix in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnet/maui --skill ci-fix -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ci-fix, .gemini/skills/ci-fix, .github/skills/ci-fix and .opencode/skills/ci-fix in your project.
SKILL.md names no scripts, command-line tools or credentials: CI-Fix Triage Protocol is instructions for the agent only. Our summary lists: GitHub access to the dotnet/maui repository.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
CI-Fix Triage Protocol is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with CI-Fix Triage Protocol: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Exposed Bug Fix Workflow (JetBrains/Exposed, 9.3k stars), Pull Request Babysitter (thedotmack/claude-mem, 97k stars) and Pre-Release PR Triage (jamiepine/voicebox, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dotnet (a GitHub organization, an official publisher) maintains it in dotnet/maui, which has 23,322 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 7, 2026.
Source: dotnet/maui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.