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.
npx agentmods add skills/darellchua2/opencode-config-template/changelog-python-cliff-skillnpx skills add darellchua2/opencode-config-template --skill changelog-python-cliff-skillgit clone --depth 1 https://github.com/darellchua2/opencode-config-templateWrote 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.
[](https://agentmods.dev/skills/darellchua2/opencode-config-template/changelog-python-cliff-skill)<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>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.
| Model | Per session | Once 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 |
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.
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:
- Detect Python Project: Identify version source (
pyproject.toml,__init__.py,setup.py,setup.cfg) - Verify git-cliff: Check if git-cliff is installed and configured
- Configure cliff.toml: Generate Python-specific configuration with PEP 440 version support
- Generate Changelog: Run
git cliffto produce changelogs from conventional commits - 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.mdfor 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-cliffor download from releases) - Conventional commits in git history (see
git-semantic-commitsskill) - Version defined in
pyproject.toml,__init__.py,setup.py, orsetup.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
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.
- yesterday First seen · 299 lines · 28 tokens per session scan A 4df0cc9a105b
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.
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.
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…
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.
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.
release
Releases Plain packages with intelligent version suggestions and parallel release notes generation. Use when releasing packages to PyPI.
plainx-release
Releases plainx packages with version suggestions, changelog generation, and git tagging. Use when releasing a package to PyPI.