.github/skills/commit-history/SKILL.md
Fetch commit history between package versions from GitHub when changelog is unavailable. Use this skill when (1) changelog analysis failed to provide sufficient information, (2) changelog exists but breaking changes are unclear, (3) evaluating packages without public release notes. Works with both npm/yarn (Node.js) and Composer (PHP) packages. Requires the package repository to be publicly accessible on GitHub.
npx skillsauth add sergeyklay/groster commit-historyInstall 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.
Fallback analysis when standard changelog sources fail. Only supports public GitHub repositories.
owner/repo format| Indicator | Ecosystem |
| --- | --- |
| package.json exists | Node.js (npm/yarn) |
| composer.json exists | PHP (Composer) |
| Package name starts with @ | Node.js scoped package |
| Package name contains / (e.g., vendor/package) | PHP Composer package |
Find the package's GitHub repository based on ecosystem.
Node.js (npm/yarn):
npm view <package-name> repository.url 2>/dev/null
PHP (Composer):
composer show <vendor/package> --format=json 2>/dev/null | jq -r '.source.url // empty'
Internal packages may point to GitLab/Bitbucket. This skill only supports public GitHub repositories.
Parse the repository URL to extract GitHub owner and repo:
| URL format | Example | Extracted |
| --- | --- | --- |
| git+https://github.com/owner/repo.git | git+https://github.com/axios/axios.git | axios/axios |
| https://github.com/owner/repo | https://github.com/facebook/react | facebook/react |
| git://github.com/owner/repo.git | git://github.com/lodash/lodash.git | lodash/lodash |
| [email protected]:owner/repo.git | [email protected]:symfony/console.git | symfony/console |
Non-GitHub URLs indicate this skill cannot help. Return COMMITS_UNAVAILABLE.
Package versions must map to Git tags. Try patterns in order: v1.2.3, 1.2.3, release-1.2.3.
gh api repos/<owner>/<repo>/tags --jq '.[0:20] | .[].name'
Match the version to the appropriate tag format for both source and target versions.
gh api repos/<owner>/<repo>/compare/<from-tag>...<to-tag>
Returns total_commits, commits[] array, and status (ahead/behind/identical/diverged).
| Prefix | Category | Risk |
| --------------------------------- | ------------ | ------ |
| feat!:, BREAKING CHANGE | Breaking | High |
| fix!: | Breaking fix | High |
| feat:, feat( | Feature | Medium |
| fix:, fix( | Bug fix | Low |
| perf: | Performance | Medium |
| refactor: | Refactor | Medium |
| chore:, docs:, ci:, test: | Maintenance | Low |
Commits without conventional prefixes require manual review.
Produce a structured report:
! marker or message content)See output templates for report formats.
| Limitation | Impact | Mitigation | | ---------------------------- | --------------------------------------------- | ------------------------------------------- | | GitHub only | GitLab, Bitbucket, internal repos unsupported | Report as unsupported | | Public repos only | Private GitHub repos require authentication | Check if repo is accessible | | Tag format varies | Some packages don't tag releases | Try common patterns, fallback if none match | | Non-conventional commits | Cannot auto-categorize impact | Flag for manual review | | Monorepos | Commits may include unrelated changes | Filter by package path if detectable |
This skill must never block the dependency update workflow.
When commit history cannot be retrieved:
COMMITS_UNAVAILABLE status with reasonCommunicate with the user in their language. However, ALL reports, summaries, and documentation written to project files MUST be in English only.
development
Transform raw feature descriptions, bug reports, or ideas into structured task documents with YAML frontmatter and standardized sections. Use when asked to 'create a task', 'write a task file', 'structure this feature', 'turn this into a task', 'make a ticket', or when a .tasks/ directory exists and the user provides an unstructured feature description. Also use when refining or reformatting existing task files. Do NOT use for Jira ticket creation, spec writing, or implementation planning.
development
Use when asked to commit, save, or persist changes to Git. Handles atomic commits, branch safety, Conventional Commits format, and project style matching. Do NOT use for pushing, creating PRs, or branch management beyond safety checks.
research
Use when asked to create a pull request, open a PR, or submit changes for review. Handles branch verification, change analysis, title and description generation, and gh pr create. Do NOT use for committing (use git-commit), pushing without PR, or reviewing existing PRs.
development
Create or validate project context files (AGENTS.md, CLAUDE.md, GEMINI.md). Use when bootstrapping a new project, initializing agent configuration, writing a context file, or when asked to create, review, audit, or validate an existing context file. Handles codebase archaeology, user interviews, golden-rule validation, and platform-specific formatting. Do NOT use for creating Agent Skills (use creating-agent-skills instead) or .instructions.md files (use agent-customization instead).