ワンクリックで
commit-trace
Trace a commit to its published npm versions, including transitive SDK resolution with time-aware accuracy
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Trace a commit to its published npm versions, including transitive SDK resolution with time-aware accuracy
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Team-wide PR dashboard for the SDK pod. Shows open PRs touching SDK pod paths or authored by SDK roster members, sorted oldest-first, grouped by author tier (SDK Core / Platform / External) into needs-your-re-review / stale / needs-review / fully-approved, with merge-conflict and CI-red warnings. Use when checking team SDK pod PR status or invoking /qv-sdk-pr-status.
Generate NOTICE files with third-party attributions for all packages in the monorepo.
Generate changelogs for SDK pod packages using tag-based GitFlow. Use when preparing a release, generating changelog, or creating CHANGELOG_LLM.md.
Inspect GitHub Actions self-hosted runner queues when a developer provides a run URL, job URL, runner label, or reports a blocked CI job, or invokes /qv-devops-runner-queue.
Benchmark an optimization (PR or branch) on a Device Farm device via the vlm-benchmark framework — baseline vs optimized, quality-regression-aware.
Generate PR descriptions for SDK pod packages following template and format rules. Use when creating an SDK pod PR or invoking /qv-sdk-pr-create.
| name | commit-trace |
| description | Trace a commit to its published npm versions, including transitive SDK resolution with time-aware accuracy |
| argument-hint | <commit-sha> |
| disable-model-invocation | true |
Given a commit SHA, determines exactly which npm package versions contain it — both directly and transitively via the SDK. Accounts for publish timestamps to give time-accurate resolution answers.
/commit-trace <commit-sha>
/commit-trace a1b2c3d
/commit-trace a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0
Verify the commit exists:
git cat-file -t <sha>
If invalid, report and stop.
Show the commit summary for context:
git log --oneline -1 <sha>
Get the list of files changed by this commit:
git diff-tree --no-commit-id --name-only -r <sha>
Map each changed file path to its package by matching packages/<dir>/ prefixes.
For each affected directory, read packages/<dir>/package.json to get:
@qvac/llm-llamacpp)Build a list of (directory, npm-name) pairs. If no packages/ files were touched, report "this commit does not affect any publishable package" and stop.
For each affected package, find which release tags contain the commit:
git tag --contains <sha>
Filter to tags relevant to this package. Tag naming conventions in this repo:
llamacpp-llm-v0.12.1 for @qvac/llm-llamacpp (package llm-llamacpp)ocr-onnx-v0.2.0 for @qvac/ocr-onnxwhispercpp-v0.5.0 for @qvac/transcription-whispercppAlso check release branches that contain the commit:
git branch -r --contains <sha>
Filter to origin/release-* branches relevant to this package.
From the tags and branches, determine the earliest version that contains this commit.
For each affected package, query npm for all published versions with their timestamps:
npm view <npm-name> time --json
This returns a JSON object like {"0.12.0": "2026-03-01T...", "0.12.1": "2026-03-10T...", ...}.
Cross-reference: for the version(s) found in Step 3, get their exact publish dates.
If the commit is NOT in any released version yet, report it as unreleased — only on main (dev builds) or a feature branch.
This is the critical step. The SDK (@qvac/sdk) depends on addon packages with caret ranges (e.g., "@qvac/llm-llamacpp": "^0.12.1").
For each affected package that the SDK depends on:
Read packages/sdk/package.json and find the dependency entry for this package. Note the semver range (e.g., ^0.12.1).
npm view @qvac/sdk time --json
For each published SDK version:
Does the SDK's semver range allow the addon version containing the commit?
package.json at that SDK's release tag/branch to get the pinned range^) locks to the minor version, NOT the major. For example:
^0.1.5 → >=0.1.5 <0.2.0 (will NOT pick up 0.2.0, 0.3.0, etc.)^0.12.1 → >=0.12.1 <0.13.0 (will NOT pick up 0.13.0)^1.2.3 → >=1.2.3 <2.0.0 (normal behavior for major >= 1)Was the addon version published before this SDK version?
Would a fresh install TODAY resolve to the addon version?
For the SDK's release branch, check if a lock file exists that pins the exact addon version:
git show origin/release-sdk-<version>:packages/sdk/package-lock.json
or
git show origin/release-sdk-<version>:packages/sdk/npm-shrinkwrap.json
If a lock file exists, it tells us exactly what shipped. This is the ground truth.
Present findings in this format:
Commit: <sha> "<commit message>"
Date: <commit date>
━━━ Direct Packages ━━━
@qvac/llm-llamacpp
✅ Released in: v0.12.2 (published 2026-03-15)
⏳ Also in dev: 0.13.0-dev.4 (from main)
@qvac/sdk (files touched directly)
❌ Not yet released (latest: v0.7.0, commit is after)
━━━ Transitive via @qvac/sdk ━━━
@qvac/llm-llamacpp v0.12.2 → consumed by SDK:
@qvac/sdk@0.7.0 (published 2026-03-10, pins "^0.12.1")
Range allows 0.12.2? ✅ Yes
0.12.2 existed at SDK publish time? ❌ No (published 5 days later)
Fresh install today resolves to? 0.12.2 ✅
Lock file shipped with? 0.12.1 ❌
Verdict: ❌ NOT included at release, ✅ included on fresh install today
@qvac/sdk@0.8.0 (published 2026-03-20, pins "^0.12.1")
Range allows 0.12.2? ✅ Yes
0.12.2 existed at SDK publish time? ✅ Yes
Fresh install today resolves to? 0.12.2 ✅
Lock file shipped with? 0.12.2 ✅
Verdict: ✅ included at release AND on fresh install
━━━ Summary ━━━
To guarantee this commit:
• Direct: install @qvac/llm-llamacpp@>=0.12.2
• Via SDK: install @qvac/sdk@>=0.8.0 (or sdk@0.7.0 with fresh npm install today)
If the argument looks like a package@version instead of a SHA (contains @):
/commit-trace @qvac/sdk@0.7.0
Reverse the flow: