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.
Validates internet access, compares the locally installed pm-skills version against the latest public release, and updates local files with conflict-aware overwrite-or-skip options.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add product-on-purpose/pm-skills --skill utility-update-pm-skills -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install product-on-purpose/pm-skills utility-update-pm-skills --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/product-on-purpose/pm-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills .claude/skills/utility-update-pm-skills && 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 "utility-update-pm-skills" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills into .claude/skills/utility-update-pm-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "utility-update-pm-skills", 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/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skillsType 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 product-on-purpose/pm-skills --skill utility-update-pm-skills -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install product-on-purpose/pm-skills utility-update-pm-skills --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills .agents/skills/utility-update-pm-skills && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "utility-update-pm-skills" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills into .agents/skills/utility-update-pm-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "utility-update-pm-skills", 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 product-on-purpose/pm-skills --skill utility-update-pm-skills -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install product-on-purpose/pm-skills utility-update-pm-skills --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills .cursor/skills/utility-update-pm-skills && 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 "utility-update-pm-skills" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills into .cursor/skills/utility-update-pm-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "utility-update-pm-skills", 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/product-on-purpose/pm-skills.git --path docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills--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 product-on-purpose/pm-skills --skill utility-update-pm-skills -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install product-on-purpose/pm-skills utility-update-pm-skills --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills .gemini/skills/utility-update-pm-skills && 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 "utility-update-pm-skills" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills into .gemini/skills/utility-update-pm-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "utility-update-pm-skills", 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 product-on-purpose/pm-skills utility-update-pm-skillsInstalls 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 product-on-purpose/pm-skills --skill utility-update-pm-skills -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills .github/skills/utility-update-pm-skills && 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 "utility-update-pm-skills" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills into .github/skills/utility-update-pm-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "utility-update-pm-skills", 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 product-on-purpose/pm-skills --skill utility-update-pm-skills -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install product-on-purpose/pm-skills utility-update-pm-skills --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills .opencode/skills/utility-update-pm-skills && 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 "utility-update-pm-skills" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills into .opencode/skills/utility-update-pm-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "utility-update-pm-skills", 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.
utility-update-pm-skillsValidates internet access, compares the locally installed pm-skills version against the latest public release, and updates local files with conflict-aware overwrite-or-skip options.
Utility Update Pm Skills is an agent skill from product-on-purpose/pm-skills. Validates internet access, compares the locally installed pm-skills version against the latest public release, and updates local files with conflict-aware overwrite-or-skip options. Produces an update report listing changed files, skipped files, and new capabilities. Use when you want to bring a local pm-skills installation up to date.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/EXAMPLE.md` and `references/TEMPLATE.md`).
It works with GitHub. The repository describes itself as: 68 plug-and-play, best-practice product management skills for AI agents: 30 Triple Diamond phase + 11 foundation + 12 utility + 15 tool (Foundation Sprint + Design Sprint). Plus… The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1cef1a9. 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.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
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.
Utility Update Pm Skills loads about 3.1k tokens when it runs, and up to ~5.9k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 1,552 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 patterns that need a careful read before installing.
- Overwrite locally modified files without user consentAutomated 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 product-on-purpose/pm-skills at commit 1cef1a9, republished under its Apache-2.0 licence (© product-on-purpose). 1,552 words, ~3,134 tokens.
.claude/skills/utility-update-pm-skills/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
This skill updates a local pm-skills installation to the latest public release. It validates connectivity, compares versions, detects local modifications, gives the user control over conflict resolution, and produces a structured update report documenting every change.
The updater operates in three phases:
/pm-skill-builder or /pm-skill-iterate/pm-skill-validateWhen asked to update pm-skills, follow these steps:
Before attempting any remote operations, confirm connectivity to GitHub.
How to validate:
https://github.com/product-on-purpose/pm-skillscurl, wget, fetch, GitHub CLI (gh),
or the GitHub MCP tools.If connectivity fails:
If connectivity succeeds:
Read the local version from these sources (in priority order):
.claude-plugin/plugin.json -- version fieldmarketplace.json -- plugins[0].version fieldCHANGELOG.md -- most recent version headerv* tagRecord:
2.8.2)If no version can be determined, warn the user and default to 0.0.0
(treat as a fresh install requiring full update).
Query the public repository for the latest release:
Methods (try in order):
GET /repos/product-on-purpose/pm-skills/releases/latestgh release list --repo product-on-purpose/pm-skills --limit 1git ls-remote --tags https://github.com/product-on-purpose/pm-skills.gitRecord:
Compare the local version against the latest public version.
If local version >= latest version:
If local version < latest version:
Local version: v{local}
Latest version: v{latest}
Update type: {major | minor | patch}Before fetching new files, scan the local installation for user modifications. This protects customizations from being silently overwritten.
How to detect modifications:
If the local install is a git repo (preferred):
git status --porcelain to find uncommitted changes.git diff HEAD to see the actual modifications.If the local install is NOT a git repo (downloaded release):
Record a list of locally modified files with their modification type:
modified -- content differs from the installed versionadded -- file exists locally but not in the original releasedeleted -- file was removed locallyPresent the findings:
Locally modified files detected: {n}
- {status} | {file-path}
- {status} | {file-path}
...If no modifications are detected, report: "No local modifications detected. Safe to update all files."
Fetch the latest release content and apply updates file by file.
Update method (try in order):
Git pull/merge (if local is a git repo):
git fetch origingit merge origin/main (or the tagged release)Release archive download (if not a git repo):
.tar.gz or .zip).File-by-file application rules:
For each file in the update:
| Local status | Action | User prompt |
|---|---|---|
| Unmodified | Overwrite silently | None |
| Locally modified | Prompt user | "File {path} has local changes. [overwrite / skip / diff]" |
| New file (not in local) | Add silently | None |
| Deleted locally | Prompt user | "File {path} was deleted locally but exists in the update. [restore / skip]" |
Conflict resolution options:
{path}.local-backup before overwriting.After applying updates, run a quick health check:
.claude-plugin/plugin.json,
marketplace.json, and CHANGELOG.md all reflect the new version.AGENTS.mdskills/ directory with expected skill countcommands/ directory_workflows/ directoryIf validation fails, warn the user with specific details about what looks wrong. Do not roll back automatically -- the user may want to investigate.
Produce the update report using the template in
references/TEMPLATE.md. This is the primary output artifact.
The report includes:
Report delivery:
updates/update-{from}-to-{to}-{date}.md
(e.g., updates/update-v2.8.2-to-v2.9.0-2026-04-09.md).After the update completes, suggest next steps:
## Next Steps
- Review the update report for any skipped files
- Run `/pm-skill-validate --all` to verify skill integrity
- Run local CI: `bash scripts/lint-skills-frontmatter.sh`
- Check the release notes for any migration steps: {release-url}
- If you skipped files with local changes, consider merging manuallyIf running in an environment without direct file system or network access (e.g., MCP or embedded environment):
The updater MUST produce an update report following the format in
references/TEMPLATE.md.
The report:
The updater MUST:
The updater MUST NOT:
Before delivering the update report, verify:
See references/EXAMPLE.md for a completed update report demonstrating
a minor version update with local modifications, conflict resolution,
and new capability discovery.
© product-on-purpose, Apache-2.0. 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 (references) in docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills of product-on-purpose/pm-skills.
Open the folder on GitHubat commit 1cef1a9
Utility Update Pm Skills 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 |
|---|---|---|---|---|---|---|
| Utility Update Pm Skills this skillproduct-on-purpose/pm-skills | 716 | — | ~3.1k | Automated safety check: Warn | Apache-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Greplooponyx-dot-app/onyx | 32k | 4 repos | ~3.3k | Automated safety check: Pass | MIT | |
| GitHub Deep Researchbytedance/deer-flow | 84k | 4 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Diagnosing Superpowers Sessionsobra/superpowers | 297k | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Update V8 Versionopeninterpreter/openinterpreter | 69k | 2 repos | ~845 | Automated safety check: Pass | Apache-2.0 |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
openinterpreter/openinterpreter
Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.
mvanhorn/last30days-skill
Research what people actually say about any topic in the last 30 days.
product-on-purpose/pm-skills
Defines a testable hypothesis with clear success metrics and a validation approach.
product-on-purpose/pm-skills
Creates a Jobs to be Done canvas capturing the functional, emotional, and social dimensions of a customer job.
product-on-purpose/pm-skills
Creates an opportunity solution tree connecting a desired outcome to customer opportunities and candidate solutions, preventing solution-first jumps in continuous discovery.
product-on-purpose/pm-skills
Creates a clear problem framing document with user impact, business context, and success criteria.
product-on-purpose/pm-skills
Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form.
product-on-purpose/pm-skills
Creates a cross-functional pre-launch checklist covering engineering, design, marketing, support, legal, and operations readiness, with owners, dates, and go/no-go criteria so nothing is missed…
Works with
Validates internet access, compares the locally installed pm-skills version against the latest public release, and updates local files with conflict-aware overwrite-or-skip options. Utility Update Pm Skills is an agent skill from product-on-purpose/pm-skills. Validates internet access, compares the locally installed pm-skills version against the latest public release, and updates local files with conflict-aware overwrite-or-skip options.
Utility Update Pm Skills fits situations like: you want to bring a local pm-skills installation up to date.
Run `npx skills add product-on-purpose/pm-skills --skill utility-update-pm-skills -a claude-code`. Or copy the skill folder (docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills in product-on-purpose/pm-skills) into .claude/skills/utility-update-pm-skills in your project. Claude Code loads it when a task matches its description.
Run `npx skills add product-on-purpose/pm-skills --skill utility-update-pm-skills -a codex`. Or copy the skill folder (docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills in product-on-purpose/pm-skills) into .agents/skills/utility-update-pm-skills 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 product-on-purpose/pm-skills --skill utility-update-pm-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/utility-update-pm-skills, .gemini/skills/utility-update-pm-skills, .github/skills/utility-update-pm-skills and .opencode/skills/utility-update-pm-skills in your project.
Going by SKILL.md and its folder, Utility Update Pm Skills needs the command-line tools its instructions call (git and gh).
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.
Utility Update Pm Skills is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Utility Update Pm Skills: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Greploop (onyx-dot-app/onyx, 32k stars), GitHub Deep Research (bytedance/deer-flow, 84k stars) and Diagnosing Superpowers Sessions (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
product-on-purpose (a GitHub organization) maintains it in product-on-purpose/pm-skills, which has 716 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on October 8, 2026.
Source: product-on-purpose/pm-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.