commit-trace

Trace a git commit to its published npm versions including transitive SDK resolution.

Updated May 11, 2026
One-click install
npx skills add https://github.com/thachrocky12345/local-agent-train-workstation --skill commit-trace-thachrocky12345
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: commit-trace
Source: https://github.com/thachrocky12345/local-agent-train-workstation/tree/main/qvac/packages/ocr-onnx/.agent/skills/commit-trace
Command: npx skills add https://github.com/thachrocky12345/local-agent-train-workstation --skill commit-trace-thachrocky12345

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When working in a monorepo with multiple publishable npm packages, it is hard to know exactly which released versions contain a given commit — especially when packages are consumed transitively through an SDK with caret semver ranges and publish timing differences. ## Core Features & Use Cases - Direct Release Tracing: Maps a commit's changed files to affected packages and finds the earliest git tags and release branches containing it. - Time-Aware Transitive Resolution: Cross-references npm publish timestamps with the SDK's semver ranges (including 0.x caret semantics) to determine whether a commit was included at SDK release time or only on fresh installs. - Reverse Lookup Mode: Given a package@version, lists all commits between that release and the previous one, grouped by sub-package. - Use Case: A user asks whether a bug fix commit is live for customers on @qvac/[email protected]; the skill checks the addon version, the SDK's pinned range, publish timestamps, and lock files to give a definitive answer. ## Quick Start Ask the assistant to run /commit-trace with a commit SHA, for example: trace commit a1b2c3d to find which npm package versions contain it.

Frequently Asked Questions about commit-trace

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find which npm version contains a specific commit?

Use git tag --contains <sha> to find release tags including the commit, then map changed files to packages via their packages/<dir>/ paths. Cross-reference with npm view <package> time --json to get exact publish dates for those versions.

How to check if an SDK release includes an updated dependency?

Read the SDK's package.json at its release tag to get the pinned semver range, then verify the dependency version satisfies that range and was published before the SDK release. A shipped lock file, if present, is the ground truth for what was included.

Does a caret range like ^0.12.1 allow version 0.13.0?

No. For 0.x versions, caret locks to the minor version: ^0.12.1 resolves to >=0.12.1 <0.13.0. Only when the major version is 1 or higher does caret allow minor and patch updates, e.g. ^1.2.3 allows up to <2.0.0.

Why would a fresh npm install include a commit that the original release did not?

If the dependency version was published after the SDK release but still satisfies the SDK's semver range, fresh installs resolve to the newer version. Users who installed at release time received the older version pinned by the lock file or registry state.

What happens if the npm registry is unreachable during commit tracing?

The skill falls back to git-only analysis using tags and branches to identify containing versions, and skips timestamp-based resolution. Results will lack publish-date accuracy but still show which releases contain the commit.