agentsclimarketplace

Uselink changelog

Skill spartan-hieuvo/claude-skills/skills/uselink-changelog

Generate a changelog or release notes from git history and publish to uselink. Use when the user wants to share release notes, a changelog between versions, or a 'what shipped this week' summary with stakeholders.From its SKILL.md

Install
npx -y skills add spartan-hieuvo/claude-skills --skill uselink-changelog

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Changelog → Uselink

Generate formatted release notes from git history and publish as a shareable uselink page.

When to Use

  • "Generate release notes for this version"
  • "What shipped this week? Share it."
  • "Create a changelog from v1.2 to v1.3"
  • "Share what we deployed today"

Prerequisites

which uselink || echo "MISSING"
test -f ~/.uselink/config.json && echo "OK" || echo "NO_CONFIG"

Workflow

1. Determine range

Between tags:

git tag --sort=-version:refname | head -5
git log <old-tag>..<new-tag> --oneline --no-merges

Time-based (last week, last sprint):

git log --since="7 days ago" --oneline --no-merges

Since last deploy (if deploy tags exist):

git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges

If no range specified, default to the last 7 days.

2. Gather data

# All commits in range
git log <range> --format="%H|%an|%s|%ai" --no-merges

# PRs merged in range (if gh is available)
gh pr list --state merged --search "merged:>=<start-date>" --limit 100 \
  --json number,title,author,labels,mergedAt 2>/dev/null

# Group by conventional commit type
git log <range> --oneline --no-merges | grep -c "^[a-f0-9]* feat"
git log <range> --oneline --no-merges | grep -c "^[a-f0-9]* fix"

3. Categorize changes

Group into sections by commit prefix or PR labels:

CategoryCommit prefix / labelIcon
New Featuresfeat, feature
Bug Fixesfix, bugfix🐛
Improvementsrefactor, perf, improve
Documentationdocs📝
Infrastructureci, build, chore, deps🔧
Breaking ChangesBREAKING in body, ! suffix⚠️

If commits don't follow conventional format, categorize by reading the diff.

4. Generate HTML

Write to /tmp/uselink-changelog-<version>-<timestamp>.html.

<!-- Version header -->
<div class="card">
  <h3>{{VERSION_OR_TITLE}}</h3>
  <p class="muted">{{DATE_RANGE}} · {{COMMIT_COUNT}} commits · {{CONTRIBUTOR_COUNT}} contributors</p>
</div>

<!-- Highlights (top 3-5 most important changes) -->
<h2>Highlights</h2>
<div class="card">
  <ul>
    <li><strong>{{HIGHLIGHT}}</strong> — {{ONE_SENTENCE_DESCRIPTION}}</li>
  </ul>
</div>

<!-- New Features -->
<h2>✨ New Features</h2>
<div class="card">
  <ul><li>{{FEATURE_DESCRIPTION}} <span class="muted">(#{{PR_NUM}})</span></li></ul>
</div>

<!-- Bug Fixes -->
<h2>🐛 Bug Fixes</h2>
<div class="card">
  <ul><li>{{FIX_DESCRIPTION}} <span class="muted">(#{{PR_NUM}})</span></li></ul>
</div>

<!-- Improvements -->
<h2>⚡ Improvements</h2>
<div class="card">
  <ul><li>{{IMPROVEMENT}}</li></ul>
</div>

<!-- Breaking Changes (if any) -->
<h2>⚠️ Breaking Changes</h2>
<div class="card">
  <ul><li><strong>{{BREAKING}}</strong> — {{MIGRATION_NOTES}}</li></ul>
</div>

<!-- Contributors -->
<h2>Contributors</h2>
<p>{{CONTRIBUTOR_LIST}}</p>

5. Publish

uselink publish /tmp/uselink-changelog-<version>-<timestamp>.html \
  --title "Release Notes -- <version or date range>" \
  --format html

Return the URL to the user.

Gotchas

  • NEVER set background or color on body, table, th, td, code, or pre. uselink's viewer injects theme-adaptive CSS that handles light/dark mode automatically. Any hardcoded color in published HTML overrides the viewer's theme and forces a white background in dark mode. Only style layout (padding, margins, borders, border-radius, font-size, grid). Use opacity for muted text instead of color: #888.
  • Write for the audience, not the git log. "Added real-time notifications for comment replies" is better than "feat(notifications): add WebSocket push for DocumentCommentReply events." Translate commit-speak to user-speak.
  • Highlights section is mandatory. Even for small releases, pick the top 3 changes. Stakeholders read this first and may skip the rest.
  • Omit noise commits. Skip "fix typo", "lint", "merge branch" commits from the changelog. They're git housekeeping, not release content.
  • If no conventional commits, categorize by diff. Read the actual changes to determine if something is a feature, fix, or refactor. Don't just dump uncategorized commits.
  • HTML-escape all commit messages and PR titles. They can contain <, >, &.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.