MCP HubMCP Hub
스킬 목록으로 돌아가기

utility-update-pm-skills

product-on-purpose
업데이트됨 2 days ago
3 조회
238
33
238
GitHub에서 보기
메타wordtesting

정보

이 스킬은 로컬 pm-skills 설치를 자동으로 확인하여 최신 공개 릴리스로 업데이트합니다. 변경 사항 미리보기를 제공하고 수정된 파일과 새로운 기능에 대한 상세 보고서를 생성합니다. 이를 통해 개발 환경을 최신 프로젝트 관리 스킬 업데이트와 손쉽게 동기화할 수 있습니다.

빠른 설치

Claude Code

추천
기본
npx skills add product-on-purpose/pm-skills -a claude-code
플러그인 명령대체
/plugin add https://github.com/product-on-purpose/pm-skills
Git 클론대체
git clone https://github.com/product-on-purpose/pm-skills.git ~/.claude/skills/utility-update-pm-skills

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->

PM Skills Updater

This skill updates a local pm-skills installation to the latest public release. It validates connectivity, compares versions, previews changes, and produces a structured report documenting what was updated and what new capabilities are available.

When to Use

  • When you want to update local pm-skills to the latest release
  • When you want to check if a newer version is available
  • After a new pm-skills release is announced
  • When onboarding and you want to confirm you have the latest version

When NOT to Use

  • To create or edit individual skills -> use /pm-skill-builder or /pm-skill-iterate
  • To validate skills against conventions -> use /pm-skill-validate
  • If you are a maintainer working directly on the pm-skills repo (use git)
  • To pin a specific older version (this skill always targets the latest release)

Flags

FlagBehavior
(none)Full update flow: pre-flight → preview → confirm → update → report
--report-onlyPre-flight → preview → report (no files written)
--statusLightweight version check . prints current and latest version, then stops

--status behavior

When --status is provided, run only the pre-flight checks and display:

pm-skills v{local} (installed, from {source})
pm-skills v{latest} (latest, released {date})
{Status: up to date | update available ({type})}

Run /update-pm-skills for details, or /update-pm-skills --report-only for a preview.

No report file is generated. No files are written.

Instructions

When asked to update pm-skills (without --status), follow these steps:

Step 1: Pre-Flight

Run three checks before proceeding:

  1. Network access: Reach the GitHub API or repository URL (https://github.com/product-on-purpose/pm-skills). Use any available method: curl, wget, GitHub CLI (gh), or MCP tools.

  2. Latest version: Query the latest release using this fallback chain (try each in order, use the first that succeeds):

    1. GitHub API: GET /repos/product-on-purpose/pm-skills/releases/latest
    2. GitHub CLI: gh release list --repo product-on-purpose/pm-skills --limit 1
    3. Git: git ls-remote --tags https://github.com/product-on-purpose/pm-skills.git

    If all three fail (rate limiting, 404, malformed response, no network), enter degraded mode (see below).

    Record: version string, release date, release notes URL, release notes body.

  3. Local version: Read from the first available source:

    • .claude-plugin/plugin.jsonversion field
    • marketplace.jsonplugins[0].version field
    • CHANGELOG.md → most recent version header
    • Git tags → most recent v* tag

    Version parsing: Normalize by stripping an optional v prefix and trimming whitespace. If a source is present but yields an empty, non-semver, or malformed string (invalid JSON, missing field), skip it with a warning and try the next source. Only fall back to 0.0.0 after all four sources fail.

If network access fails (degraded mode):

  • Report the failure with error details.
  • Provide manual update instructions:

    Visit https://github.com/product-on-purpose/pm-skills/releases to download the latest release. Extract the archive and copy the skills/, commands/, _workflows/, and other content directories to your local pm-skills installation.

  • Stop execution.

Step 2: Version Comparison

Compare the local version against the latest release using semver.

If local version >= latest version:

  • Report: "Your pm-skills installation is up to date (v{local})."
  • Offer to generate a report-only anyway.
  • Stop execution.

If local version < latest version:

  • Show the version delta:
    Local version:  v{local}
    Latest version: v{latest}
    Update type:    {major | minor | patch}
    
  • Major version warning: If the update is a major bump (e.g., v2.x to v3.x), show a prominent warning:

    This is a major version update. It may include breaking changes to skill contracts. Review the release notes before proceeding.

  • Continue to Step 3.

Step 3: Preview

Show the user what the update includes:

  1. Version delta: local version, latest version, update type.

  2. Value summary: Derive from CHANGELOG entries between the two versions, GitHub release notes, and directory diffs (new skills/, new _workflows/ files):

    • New skills and what they enable
    • Updated skills and what improved
    • New workflows and what they connect
    • Other notable changes
  3. File manifest: List of files and folders that will be written, grouped by directory with counts:

    Files to be written:
      skills/       31 files (2 new, 29 updated)
      commands/     38 files (2 new, 36 updated)
      _workflows/    9 files (1 new, 8 updated)
      other          7 files
      Total:        85 files
    

If --report-only: Generate the report using references/TEMPLATE.md with the banner "Report only . update was not applied." Save to _pm-skills/updates/update-report_v{latest}_report-only_{YYYY-MM-DD_HHMMSS}.md. Stop execution.

Step 4: Confirmation

Prompt the user for two decisions:

  1. Update confirmation: "These files will be overwritten. Proceed? [yes / no]"

    • If major version bump: require typing "yes" explicitly.
    • If the user declines: save a report-only and stop.
  2. Backup offer: "Create a backup of current files before updating? [yes (recommended) / no]"

    • If yes: copy all in-scope files to _pm-skills/backups/v{current}_{YYYY-MM-DD_HHMMSS}/
    • Create the _pm-skills/ directory if it doesn't exist.

Step 5: Update

Execute the update using validated-before-copy with backup:

  1. Download: Fetch the release ZIP asset (pm-skills-vX.Y.Z.zip) from the GitHub Release page to a temporary directory. This is the curated build artifact produced by build-release.sh . it includes only user-facing content and excludes docs/internal/.

  2. Validate: Confirm the extracted archive contains skills/, commands/, AGENTS.md, and .claude-plugin/plugin.json. If validation fails, report the error and stop without writing any files.

  3. Copy: Overwrite in-scope files from the extracted archive to the install root. Show progress per directory:

    Updating pm-skills v2.9.0 -> v2.10.0...
      skills/       31/31 ████████████████████  done
      commands/     38/38 ████████████████████  done
      _workflows/    9/9  ████████████████████  done
      other files    7/7  ████████████████████  done
    
  4. Clean up: Remove the temporary directory.

Step 6: Post-Update

  1. Smoke test:

    • Version consistency: plugin.json, marketplace.json, and CHANGELOG.md all reflect the new version. (Note: version detection in Step 1 uses first-match; the smoke test verifies all sources agree. A mismatch here suggests a release packaging issue.)
    • File integrity: AGENTS.md, skills/, commands/, _workflows/ all exist.
    • Skill count delta: count skills before and after, report the change.
    • If any check fails: warn the user with specific details. Do NOT auto-rollback. Provide recovery guidance:
      • Version mismatch: "Run the update again, or manually edit {file} to set the version to {expected}."
      • Missing files: "Re-run /update-pm-skills to re-download, or restore from backup: cp -r _pm-skills/backups/{dir}/* ."
      • If backup exists: Always remind the user of the backup location and restore command.
  2. Summary line: Show a single scannable confirmation:

    Updated v{old} -> v{new} | +{n} skills, +{n} workflows | Report: _pm-skills/updates/{file}
    
  3. Completion report: Generate using references/TEMPLATE.md and save to _pm-skills/updates/update-report_v{from}-to-v{to}_{YYYY-MM-DD_HHMMSS}.md

  4. MCP advisory: If ../pm-skills-mcp/ exists, try to read pm-skills-source.json. If the file is missing or malformed, show: "pm-skills-mcp detected but pm-skills-source.json not found or unreadable. Check the MCP repo manually." If readable, show:

    pm-skills-mcp detected at ../pm-skills-mcp/
      Embedded skills version: v{embedded}
      Updated pm-skills version: v{new}
    
      To update the MCP server's embedded skills:
        cd ../pm-skills-mcp && npm run embed-skills && npm run build
    
  5. Next steps:

    Next Steps:
    - Review the update report at _pm-skills/updates/{report-file}
    - Run /pm-skill-validate --all to verify skill integrity
    - Run local CI: bash scripts/lint-skills-frontmatter.sh
    - Check release notes: {release-url}
    

File Scope

The updater writes only files present in the release ZIP asset (pm-skills-vX.Y.Z.zip), which is the curated build produced by build-release.sh. The ZIP excludes docs/internal/ and other non-user-facing content . no exclusion logic is needed at copy time.

Files included in the release ZIP (updated):

PathRationale
skills/Core skill files
commands/Slash command definitions
_workflows/Workflow chains
library/Sample library and skill output samples (note: user-added samples may be overwritten)
AGENTS.mdSkill discovery for IDEs
.claude-plugin/plugin.jsonVersion + plugin metadata
marketplace.jsonMarketplace metadata
CHANGELOG.mdRelease history
README.mdPublic docs
docs/ (public guides, reference, workflows)User-facing documentation
scripts/CI/validation scripts
mkdocs.ymlDocs site config

Files NOT in the release ZIP (never overwritten):

PathRationale
docs/internal/Excluded from ZIP by build-release.sh
_NOTES/Local-only, gitignored, not in ZIP
_pm-skills/Local state (reports, backups), not in ZIP
.github/CI workflows, not in ZIP
CONTRIBUTING.md, LICENSENot in ZIP (repo-level files)

Output Contract

The skill MUST:

  • Validate network access before any remote operations
  • Show a preview before writing any files
  • Require explicit user confirmation before overwriting
  • Offer a backup before overwriting
  • Use validated-before-copy (download to temp, validate, then copy; backup is the recovery path for mid-copy failures)
  • Generate a report in both modes (report-only and completion)
  • Run the post-update smoke test
  • Show MCP advisory if sibling repo is detected

The skill MUST NOT:

  • Write files without user confirmation
  • Proceed without network access confirmation
  • Modify files outside the pm-skills directory
  • Modify docs/internal/, _NOTES/, or _pm-skills/ with upstream content
  • Auto-rollback on smoke test failure (inform the user instead)
  • Delete local files that don't exist in the upstream release

Quality Checklist

Before marking the update complete, verify:

  • Pre-flight passed: network, versions detected
  • User was shown preview before any files were written
  • User explicitly confirmed before update proceeded
  • Backup was offered (and created if accepted)
  • Archive was downloaded to temp and validated before copying
  • All in-scope files were written successfully
  • Version consistency: plugin.json, marketplace.json, CHANGELOG match
  • File integrity: AGENTS.md, skills/, commands/, _workflows/ exist
  • Skill count delta is reported (before -> after)
  • Report was generated and saved to _pm-skills/updates/
  • MCP advisory was shown if sibling repo detected
  • Next steps were presented
  • Summary line displayed

FAQ

I'm a contributor who cloned the repo. Should I use this skill? No. Use git pull or git fetch && git merge instead. This skill is for end users who installed pm-skills as a plugin or downloaded a release.

Can I update to a specific version instead of the latest? Not in v1. This skill always targets the latest release. To install a specific version, download it manually from the releases page.

What happens to my local notes and planning docs? They are never touched. The skill explicitly excludes docs/internal/, _NOTES/, and _pm-skills/ from updates. See the File Scope table.

What happens to files I added that aren't in the upstream release? They are left untouched. The skill only overwrites files that exist in the new release . it never deletes local files.

How do I undo an update? If you created a backup (the default offer), restore it: cp -r _pm-skills/backups/v{version}_{timestamp}/* . If you didn't create a backup but have git, use git checkout . to restore tracked files to their last committed state.

The update failed partway through. What do I do? The skill validates before copying (download to temp, check, then write), so partial failures are rare. If it does happen: restore from backup if available, or re-run /update-pm-skills to retry.

Further Reading

For a visual walkthrough and additional context, see the Updating PM Skills Guide.

GitHub 저장소

product-on-purpose/pm-skills
경로: skills/utility-update-pm-skills
0
agent-skillsai-skillsclaude-codeclaude-desktopdesign-sprintfoundation-sprint

연관 스킬

content-collections

메타

이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.

스킬 보기

polymarket

메타

이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.

스킬 보기

creating-opencode-plugins

메타

이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.

스킬 보기

sglang

메타

SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.

스킬 보기