docs/internal/efforts/F-24-update-pm-skills/_discovery/2026-04-09_claude-web-session/skills/utility-update-pm-skills/SKILL.md
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.
npx skillsauth add product-on-purpose/pm-skills utility-update-pm-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 manually
If 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.
tools
Run an ordered sequence of pm-skills against one input via the pm-workflow-orchestrator sub-agent, pausing for go/no-go and stopping on a failed or empty step. Dispatches natively on Claude Code with the pm-skills plugin (invokes @agent-pm-skills:pm-workflow-orchestrator, which delegates each step through the Skill tool); on non-Claude clients (Codex CLI, Cursor, Windsurf, Copilot, Gemini CLI) reads agents/pm-workflow-orchestrator.md and walks the loop inline after a tool-capability pre-flight. Explicit invocation only; never fires proactively. EXPERIMENTAL on all non-Claude clients and on the native path until smoke-tested; run --dry-run first.
development
Produce a comprehensive, evidence-grounded prioritized action plan from any PM input (notes, transcripts, drafts, executive asks, Slack threads, or a raw situation). Outputs one saveable document with an executive summary, input mirror, situation classification (Cynefin), the binding constraint (Theory of Constraints), prioritized questions and open decisions, a ranked action plan with the critical effort plus follow-ons, risks and pre-mortem, copy/paste prompts for downstream pm-skills, and an evidence map. Builds a source ledger and cites exact input quotes; refuses High-confidence plans for Complex or Chaotic situations. Use when you want the critical next effort and how to execute it.
testing
--- name: deliver-y phase: deliver --- # Deliver Y Fixture skill for phase-map and phase-router tests.
testing
--- name: define-x phase: define --- # Define X Fixture skill for phase-map and phase-router tests.