ソース情報
- リポジトリ
- datadog/pprof-nodejs
- ソースの最終更新活動
- 2026年8月11日 11:55
- 検出された SKILL.md の言語
- 英語
- スター
- 31
- フォーク
- 8
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SOC 職業分類に基づく
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/datadog/pprof-nodejs --skill releaseコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
| name | release |
| description | Create a release proposal for the v5.x branch by cherry-picking commits from main |
| disable-model-invocation | true |
| argument-hint | [version (optional, auto-determined from PR labels)] |
Create a v5.x release proposal. If a version is provided as $ARGUMENTS, use it. Otherwise, determine it automatically (see step 2).
The branch-diff tool must be installed globally:
npm install branch-diff -g
Fetch and fast-forward both branches before doing anything else. Comparing a
stale v5.x against a stale main silently produces a wrong commit list:
git fetch origin && git checkout v5.x && git pull && git checkout main && git pull
Use the branch-diff tool to list commits on main not yet applied to v5.x:
branch-diff v5.x main
Its GitHub issue-lookup errors go to stderr; the commit list is on stdout. PR numbers
appear in the trailing URL (.../pull/393), not as (#393) — parsing the (#NNN)
form instead picks up PR references that happen to appear in commit titles.
branch-diff matches commits, not content, so it reports a substantial number of
false positives — commits whose changes are already on v5.x. Do not cherry-pick
these. They fall into three classes:
a. Squash-merged releases. Releases 5.14.2, 5.14.3 and 5.14.4 were squash-merged rather than rebased, so every commit they contained lost its identity and is reported forever. This set is closed and will not grow — treat all of these as already released:
| Release | Proposal | PRs subsumed |
|---|---|---|
| 5.14.2 | #331 | 284, 310, 311, 315, 316, 317, 320, 323, 324, 325, 326, 327, 329 |
| 5.14.3 | #334 | 328, 332 |
| 5.14.4 | #337 | 333, 335, 336 |
b. Superseded dependency bumps. A Dependabot bump that never landed on v5.x, which
later picked up an equal-or-newer version of the same package directly. Cherry-picking one
would downgrade the branch. Recognise these by comparing the package version in
v5.x:package.json against the bump's target — skip when v5.x is at or ahead of it.
(Examples seen so far: #140, #344, #348, #349, #350.)
c. The main-only version bump. #154 moved main to 6.0.0-pre. It must never be
cherry-picked onto a 5.x release branch.
Anything left after removing those three classes is a genuine candidate. Note that being old is not by itself evidence of a false positive: #352 sat below all of these and was a real, unapplied commit. Classify by the rules above, not by age.
Confirm the list of commits with the user before proceeding.
If the user didn't provide a version, determine it from PR labels. For each commit being cherry-picked, extract the PR number from the commit message (e.g. (#305)) and check its labels:
gh pr view <number> --json labels --jq '.labels[].name'
semver-minor label, the release is a minor bump.semver-patch label, the release is a patch bump.Get the current version from the tip of v5.x (the most recent version commit message), then compute the next version accordingly. Confirm the version with the user.
In the steps below, $VERSION refers to the determined version number.
Create a git worktree from the current repo, checking out a new branch v$VERSION-proposal based on the v5.x branch:
git worktree add ../pprof-nodejs-v5 -b v$VERSION-proposal v5.x
The path is usually still occupied by the previous release's worktree. Once that proposal's PR is merged, it is safe to clear — verify it is clean and merged first, then:
git worktree remove ../pprof-nodejs-v5 && git branch -D v<previous>-proposal
All subsequent steps run in the worktree directory.
Cherry-pick the agreed-upon commits in chronological order (oldest first):
git cherry-pick <hash1> <hash2> ...
If a cherry-pick has conflicts, stop and resolve with the user.
mainBefore bumping the version, diff the worktree against main:
git diff --stat main -- .
The goal is minimal divergence: ideally this reports nothing but package.json and
package-lock.json (the version, plus any dev-dep bump this release includes).
This is the check that validates step 1, and it is worth doing carefully — it is how #352 was caught, a genuinely unapplied commit that a plausible-looking age heuristic had written off as a false positive. Any other file appearing here means one of two things:
Note that a class-(b) superseded bump correctly shows up as a package.json /
package-lock.json difference where v5.x is ahead of main. That is expected and
should be left alone.
Bump the version in package.json and package-lock.json using npm, then commit:
npm version $VERSION --no-git-tag-version
git add package.json package-lock.json
git commit -m "v$VERSION"
Keep this commit last on the branch. If a further cherry-pick turns out to be needed after
this point, drop the version commit (git reset --hard HEAD~1), apply the cherry-pick,
then re-run the bump — rather than stacking the new commit on top of the release commit.
Push the branch and create a PR targeting v5.x:
git push -u origin v$VERSION-proposal
Create the PR with gh pr create --base v5.x. The PR body should categorize the cherry-picked PRs by type, following this pattern:
# New features
* #NNN
# Improvements
* #NNN
# Bug fixes
* #NNN
# Other (build, dev)
* #NNN
Only include sections that have entries. Reference PR numbers from the original commit messages.
See https://github.com/DataDog/pprof-nodejs/pull/295 for an example.