Agent skill

Changelog Entry

by aidenlx in aidenlx/zotlit

Write a user-facing changelog entry under apps/docs/content/changelog/.

AGPL-3.0Auto-check passedDevelopment

Install Changelog Entry

skills CLI
$ npx skills add aidenlx/zotlit --skill changelog-entry -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aidenlx/zotlit changelog-entry --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aidenlx/zotlit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/changelog-entry .claude/skills/changelog-entry && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
changelog-entry
GitHub stars
1k
Token cost
~1.6k tokens
SKILL.md length
801 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Write a user-facing changelog entry under apps/docs/content/changelog/.

  • Works in 9 steps: Decide the version → Pick today's date → Read git history → …
  • The user asks to write the changelog
  • SKILL.md covers Optional context slot, Steps and Out of scope
  • Calls git

What it does

Changelog Entry is an agent skill from aidenlx/zotlit. Write a user-facing changelog entry under apps/docs/content/changelog/. Use when the user asks to "write the changelog", "draft changelog for v...", "add changelog entry", "document this release", or after a batch of obsidian/zotero fixes has landed and they want end-user release notes. Derives content from git history, filtering to user-observable changes only.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes, Citation management and Git workflow. It works with Obsidian and Zotero. The repository describes itself as: Bring your Zotero library into Obsidian. Create literature notes, insert citations, and annotate PDFs without leaving your vault. The licence is AGPL-3.0.

When your agent uses it

  • The user asks to write the changelog
  • Draft changelog for v...
  • Add changelog entry
  • Document this release

Example prompts

  • “write the changelog”
  • “draft changelog for v...”
  • “add changelog entry”
  • “/changelog-entry”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Decide the version
  2. Pick today's date
  3. Read git history
  4. Filter to user-observable changes
  5. Surface test
  6. Group by user-facing category
  7. Link docs inline
  8. Write the entry
  9. Slop check

What it can do on your machine

Read from SKILL.md and the folder at commit 27f5752. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Changelog Entry loads about 1.6k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 801 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aidenlx/zotlit at commit 27f5752, republished under its AGPL-3.0 licence (© aidenlx). 801 words, ~1,630 tokens.

Download SKILL.mdSave it as .claude/skills/changelog-entry/SKILL.md (or your agent's skills folder).
name
changelog-entry
description
Write a user-facing changelog entry under apps/docs/content/changelog/. Use when the user asks to "write the changelog", "draft changelog for v...", "add changelog entry", "document this release", or after a batch of obsidian/zotero fixes has landed and they want end-user release notes. Derives content from git history, filtering to user-observable changes only.

Changelog entry for apps/docs

Writes a new file at apps/docs/content/changelog/<version>.mdx describing user-visible changes since the last release.

The reader is a non-technical academic who uses Obsidian with Zotero for their research workflow. They care what they can feel — faster, smoother, newly possible — not how it was built. Describe benefits and observable differences; leave the mechanism out. Prose is authored by the docs-writer agent following the docs-writing skill — scope the content, then delegate the writing.

Optional context slot

If $ARGUMENTS is provided, treat it as authoritative additional context that overrides defaults. Common uses:

  • a target version (v2.0.0-beta.3, 2.1.0)
  • items to emphasize, downplay, or reword
  • missing context the commit messages do not capture
  • explicit grouping hints

Steps

1. Decide the version

Pick the version in this order:

  1. If $ARGUMENTS names one, use it. Strip a leading v for frontmatter; keep it in the filename.
  2. Otherwise read apps/obsidian/package.json version. If apps/docs/content/changelog/<version>.mdx does not yet exist, that is the version.
  3. Otherwise the version is already documented and package.json has not been bumped. Stop and ask.

The filename tracks the Obsidian plugin version. The Zotero companion version goes in the companion frontmatter field when it ships alongside.

2. Pick today's date

Use today's local date as YYYY-MM-DD. Do not derive it from commit timestamps.

3. Read git history

Find the previous release commit:

bash
git log --oneline --grep='^chore: release obsidian@' -1

Take that commit's hash as <cutoff>, then:

bash
git log <cutoff>..HEAD --no-merges --oneline -- apps/obsidian apps/zotero packages/

Read commit bodies for user-impact detail when subjects are terse. If the body is empty, skim the diff to understand what the user sees differently.

4. Filter to user-observable changes

Most commits get dropped. That is correct.

Include:

  • feat(obsidian|zotero|annot-view|note|batch|...) that adds a command, setting, UI element, or observable behavior
  • fix(...) for bugs the user could actually hit (broken view, wrong data, stuck UI, crash)
  • feat! / fix! breaking changes — always, under ## Breaking Changes
  • Template data changes (feat(db)) when they add or rename a zt.* variable the user writes in templates
  • Zotero companion changes only when the plugin user perceives them (new columns, menu items, reader behavior)

Exclude:

  • chore: — version bumps, dependency updates, CI, release commits, skill/agent updates
  • refactor: — unless the user can perceive the difference
  • fix(...) for code new in this release — whether it fixes a new feature or another new fix, the broken state never shipped. Test: did the bug exist in the previous release? If not, drop it.
  • test:, docs(agents), internal logging, dev-only tooling, type-only changes
  • build:, ci:, perf: that only affect build speed or developer experience
  • Commits whose user-facing effect is already covered by a later commit in the same range

Commit messages are raw material, not copy. Rephrase each change in the reader's language — what they see, touch, or no longer struggle with. Aggregate commits that address the same user-facing problem into one entry.

Show full SKILL.md (346 more words)Show less
5. Surface test

Walk every sentence and ask: would a researcher who has never read source code understand this — and care? Each sentence names what the user gains or what stopped hurting, not the mechanism.

Strip: class names, function names, API internals (AsyncLocalStorage, MessageChannel), return types (null), storage mechanisms (synced plugin settings, localStorage), internal decision logic ("the plugin decides whether to...").

Keep: setting names the user sees in the UI, command palette names, template variables (zt.weblink), Obsidian/Zotero version numbers when they bound the fix.

6. Group by user-facing category

Use these section headings, in this order. Omit empty ones.

## Highlights         (only for genuinely landmark features)
## Breaking Changes
## What's New
## Bug Fixes

Substantial features get ### subheadings. Minor improvements collect under ### Other improvements as bullets.

Bug fixes explain symptom then corrected behavior, not internal cause:

  • "Fixed the annotation view not following a Zotero reader opened in its own window. Only tabbed readers were tracked before; standalone reader windows are now picked up on focus."

When a feature has a dedicated guide or reference page, link it inline at the point where the feature is introduced. Do not collect doc links into a separate ## Documentation section. A standalone documentation heading is justified only when the documentation itself is the news (e.g. a docs site launch) — and even then it goes under ## What's New as a ### subheading, not a top-level section.

Read 2–3 recent entries from apps/docs/content/changelog/ to match tone before writing.

8. Write the entry

Frontmatter:

yaml
---
version: "<exact version, no leading v>"
companion: "<zotero companion version, omit if none>"
date: "<YYYY-MM-DD>"
description: "<short phrase for the changelog list heading>"
---

All values must be quoted strings. The description becomes the clickable heading text on the changelog list page — keep it to a comma-separated list of the top 2–3 changes (e.g. "Per-device Zotero paths, web library links, reader window fix").

Write to apps/docs/content/changelog/<version>.mdx. Do not modify other changelog files.

Print the resulting path back to the user.

9. Slop check

Load the slop-check skill and run it on the finished file. Fix high- and medium-severity flags. Re-run until clean.

Out of scope

  • Bumping versions in package.json.
  • Writing the blog post that accompanies major releases (those live under apps/docs/content/blog/).
  • Pushing tags or creating GitHub releases.
  • Modifying the changelog list page or its routing.

© aidenlx, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/changelog-entry of aidenlx/zotlit.

Open the folder on GitHubat commit 27f5752

Compare with similar skills

Changelog Entry next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Changelog Entry compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Changelog Entry this skillaidenlx/zotlit1k—~1.6kAutomated safety check: PassAGPL-3.0
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills104k2 repos~3.5kAutomated safety check: NotesMIT
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause
Hunk Release Workflowmodem-dev/hunk9.6k—~3.8kAutomated safety check: PassMIT
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence

Similar skills

  • Release Bump

    jamiepine/voicebox

    Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.

    57k GitHub stars~1.1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    104k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.6k GitHub stars~3.8k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • AionUi Version Bump

    iOfficeAI/AionUi

    Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.

    33k GitHub stars~2.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from aidenlx/zotlit

All 16 skills in this repo
  • I18n UI Text

    aidenlx/zotlit

    Obsidian house style for the wording of user-facing UI strings — command names, setting labels, button text, notices, modal copy.

    1k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Obsidian CSS

    aidenlx/zotlit

    Style Obsidian plugin UI with Tailwind + native components. An agent skill from aidenlx/zotlit.

    1k GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Arkregex

    aidenlx/zotlit

    Typed regex authoring with arkregex in this repo. An agent skill from aidenlx/zotlit.

    1k GitHub stars~952 tokensUpdated today
    Auto-check passed
  • Discord Announcement

    aidenlx/zotlit

    Draft a Discord announcement from a changelog entry. An agent skill from aidenlx/zotlit.

    1k GitHub stars~604 tokensUpdated today
    Auto-check passed
  • Inlang I18n

    aidenlx/zotlit

    Define ZotLit UI messages in the Inlang Message Format and consume them through the generated JSON Language Pack facade.

    1k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Obsidian Actions

    aidenlx/zotlit

    Patterns for registering commands (action modules) and building context menus (menu segments) in the Obsidian plugin.

    1k GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Changelog Entry

What does Changelog Entry do?

Write a user-facing changelog entry under apps/docs/content/changelog/. Changelog Entry is an agent skill from aidenlx/zotlit. Write a user-facing changelog entry under apps/docs/content/changelog/.

When should I use Changelog Entry?

Changelog Entry fits situations like: the user asks to write the changelog; draft changelog for v..; add changelog entry; document this release.

How do I install Changelog Entry in Claude Code?

Run `npx skills add aidenlx/zotlit --skill changelog-entry -a claude-code`. Or copy the skill folder (.agents/skills/changelog-entry in aidenlx/zotlit) into .claude/skills/changelog-entry in your project. Claude Code loads it when a task matches its description.

How do I install Changelog Entry in Codex?

Run `npx skills add aidenlx/zotlit --skill changelog-entry -a codex`. Or copy the skill folder (.agents/skills/changelog-entry in aidenlx/zotlit) into .agents/skills/changelog-entry in your project. Codex loads it when a task matches its description.

Can I use Changelog Entry in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aidenlx/zotlit --skill changelog-entry -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/changelog-entry, .gemini/skills/changelog-entry, .github/skills/changelog-entry and .opencode/skills/changelog-entry in your project.

What does Changelog Entry need to run?

Going by SKILL.md and its folder, Changelog Entry needs the command-line tools its instructions call (git).

Does Changelog Entry access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Changelog Entry safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Changelog Entry use?

Changelog Entry is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Changelog Entry use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Changelog Entry?

Skills that share tags, products or a category with Changelog Entry: Release Bump (jamiepine/voicebox, 57k stars), Git Workflow and Versioning (addyosmani/agent-skills, 104k stars), Go-Redis Release Preparation (redis/go-redis, 22k stars) and Hunk Release Workflow (modem-dev/hunk, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Changelog Entry?

aidenlx (a GitHub user) maintains it in aidenlx/zotlit, which has 1,029 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 10, 2026.

Source: aidenlx/zotlit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.