changelog-python-cliff-skill

changelog-python-cliff-skill is a skill for Claude Code, Codex from darellchua2/opencode-config-template. It costs 28 tokens per session (2,560 once invoked), scanned A, original, Apache-2.0.

A release-note workflow for Python projects that uses git-cliff to build a CHANGELOG.md from Git history and supports PEP 440, Python’s standard version format.

In plain words
What is it for?
Use it when preparing Python releases, configuring git-cliff, or connecting changelog generation to CI/CD and versioning tools.
Why use it?
It removes the need to write release notes by hand and helps keep version information and changelogs consistent.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/darellchua2/opencode-config-template/changelog-python-cliff-skill
Any agent
npx skills add darellchua2/opencode-config-template --skill changelog-python-cliff-skill
Clone the repo
git clone --depth 1 https://github.com/darellchua2/opencode-config-template

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for changelog-python-cliff-skill

README.md
[![agentmods](https://agentmods.dev/badge/skills/darellchua2/opencode-config-template/changelog-python-cliff-skill.svg)](https://agentmods.dev/skills/darellchua2/opencode-config-template/changelog-python-cliff-skill)
Your own site
<a href="https://agentmods.dev/skills/darellchua2/opencode-config-template/changelog-python-cliff-skill"><img src="https://agentmods.dev/badge/skills/darellchua2/opencode-config-template/changelog-python-cliff-skill.svg" alt="Measured on agentmods" height="20"></a>
Per session 28 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,560 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00028 $0.02560
Opus 5 $0.00014 $0.01280
Sonnet 5 $0.00006 $0.00512
Haiku 4.5 $0.00003 $0.00256

Measured yesterday against content hash 4df0cc9a105b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

changelog-python-cliff-skill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

opencode_app/.opencode/skills/changelog-python-cliff-skill/SKILL.md · 299 lines

How it starts

The opening of the file, as written. The whole thing — 299 lines — stays where its author put it; the contents beside it link to each section on GitHub.

What I do

I implement automated changelog generation for Python projects using git-cliff:

  1. Detect Python Project: Identify version source (pyproject.toml, __init__.py, setup.py, setup.cfg)
  2. Verify git-cliff: Check if git-cliff is installed and configured
  3. Configure cliff.toml: Generate Python-specific configuration with PEP 440 version support
  4. Generate Changelog: Run git cliff to produce changelogs from conventional commits
  5. Integrate with Release Workflow: Support bump-my-version, semantic-release, or manual versioning

When to use me

Use this workflow when:

  • You need to generate or update a CHANGELOG.md for a Python project
  • You are preparing a release and want an automated changelog
  • You want to configure git-cliff for a Python project with PEP 440 versioning
  • You need CI/CD integration for changelog generation in Python projects
  • You are using conventional commits and want structured release notes

Prerequisites

  • Python project with git repository
  • git-cliff installed (cargo install git-cliff or download from releases)
  • Conventional commits in git history (see git-semantic-commits skill)
  • Version defined in pyproject.toml, __init__.py, setup.py, or setup.cfg

Steps

Step 1: Detect Python Project

Verify this is a Python project and identify the version source:

[ -f pyproject.toml ] && echo "pyproject.toml found"
[ -f setup.py ] && echo "setup.py found"
[ -f setup.cfg ] && echo "setup.cfg found"
find . -name "__init__.py" -path "*/src/*" -o -name "__init__.py" -path "*/pkg/*" | head -5

Extract the current version:

grep -oP 'version\s*=\s*"\K[^"]+' pyproject.toml 2>/dev/null
grep -oP '__version__\s*=\s*"\K[^"]+' src/**/__init__.py 2>/dev/null

Step 2: Verify git-cliff Installation

Check if git-cliff is available:

git cliff --version

If not installed, guide installation:

cargo install git-cliff
# or download binary from https://github.com/orhun/git-cliff/releases

Read the full file on GitHub · 299 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 299 lines · 28 tokens per session scan A 4df0cc9a105b

Subscribe to this mod's changes

changelog-python-cliff-skill is a skill published in the GitHub repository darellchua2/opencode-config-template (6 stars, last pushed 4d ago), licensed Apache-2.0. It adds 28 tokens to every session and 2,560 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

publish-python-release

Build or publish nemo-switchyard Python distributions through the repository's GitHub Actions workflow. Use when asked to build a development wheel, cut a Python release, publish to PyPI, create a release tag, or debug .github/workflows/publish.yml.

NVIDIA-NeMo/Switchyard · 55 tokens

py-shiny-release

Walk through the full Shiny for Python release train interactively, phase by phase. Use when the user says "release", "start a release", "py-shiny release", "release train", or wants to publish new versions of py-shiny and its ecosystem packages (py-htmltools, py-shinyswatch, py-shinywidgets, shinylive, py-shinylive…

posit-dev/py-shiny · 122 tokens

python-packaging

Create distributable Python packages with proper project structure, setup.py/pyproject.toml, and publishing to PyPI. Use when packaging Python libraries, creating CLI tools, or distributing Python code.

RudyCity/superagent · 43 tokens

pypi-release

This skill should be used when releasing tunacode-cli to PyPI. It keeps the existing local release checks, then hands the actual PyPI upload to a GitHub Actions workflow that uses the repository's PYPIAPITOKEN secret.

alchemiststudiosDOTai/tunacode · 52 tokens

release

Releases Plain packages with intelligent version suggestions and parallel release notes generation. Use when releasing packages to PyPI.

dropseed/plain · 24 tokens

plainx-release

Releases plainx packages with version suggestions, changelog generation, and git tagging. Use when releasing a package to PyPI.

dropseed/plain · 30 tokens