← Back to Skills Marketplace
charlie-morrison

Changelog Linter

by charlie-morrison · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
86
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install changelog-linter
Description
Validate CHANGELOG.md files against the Keep a Changelog format (keepachangelog.com). Checks version ordering, date formats, section types, link references,...
README (SKILL.md)

Changelog Linter

Validate CHANGELOG.md files against the Keep a Changelog specification.

Commands

All commands use the bundled Python script at scripts/changelog_linter.py.

1. Lint a changelog

python3 scripts/changelog_linter.py lint \x3Cfile> [--strict] [--format text|json|markdown]

Run all validation rules against a CHANGELOG.md file.

Flags:

  • --strict — exit code 1 on any warning (not just errors)
  • --format — output format: text (default), json, markdown

2. List versions

python3 scripts/changelog_linter.py versions \x3Cfile> [--format text|json]

Extract and display all versions with dates and change counts.

3. Validate version ordering

python3 scripts/changelog_linter.py order \x3Cfile> [--format text|json]

Check that versions are in descending semver order.

4. Check links

python3 scripts/changelog_linter.py links \x3Cfile> [--format text|json]

Verify that all version headers have corresponding link references at the bottom.

Lint Rules (16 total)

Structure (5 rules)

  1. missing-title — File doesn't start with # Changelog
  2. missing-description — No description paragraph after title
  3. no-versions — No version entries found
  4. empty-version — Version section has no change entries
  5. unreleased-missing — No [Unreleased] section

Versions (4 rules)

  1. invalid-version — Version doesn't follow semver (MAJOR.MINOR.PATCH)
  2. invalid-date — Date doesn't follow ISO 8601 (YYYY-MM-DD)
  3. version-order — Versions not in descending order
  4. duplicate-version — Same version appears twice

Sections (3 rules)

  1. invalid-section — Section type not in spec (Added/Changed/Deprecated/Removed/Fixed/Security)
  2. empty-section — Section header with no list items
  3. section-order — Sections not in recommended order

Formatting (4 rules)

  1. missing-link-ref — Version header has no corresponding link reference
  2. broken-link-ref — Link reference exists but URL is empty or malformed
  3. inconsistent-bullets — Mixed bullet styles (- and *)
  4. trailing-whitespace — Lines with trailing whitespace

Output Formats

Text (default)

CHANGELOG.md:15 error [invalid-date] Version 1.2.0 has invalid date: "March 2024" (expected YYYY-MM-DD)
CHANGELOG.md:28 warning [empty-section] Section "Deprecated" under 1.1.0 has no entries
CHANGELOG.md:45 warning [missing-link-ref] Version 1.0.0 has no link reference

3 issues (1 error, 2 warnings)

JSON / Markdown

Standard structured output with issues, summary, and version list.

CI Integration

- name: Lint Changelog
  run: python3 scripts/changelog_linter.py lint CHANGELOG.md --strict

Exit codes: 0 = valid, 1 = issues found.

Usage Guidance
This skill appears coherent and low-risk: it bundles a pure-Python linter that only reads the changelog file you point it at and reports formatting/version/link issues. Before installing or running: (1) skim the full scripts/changelog_linter.py to verify there are no unexpected filesystem or network operations (the visible code uses only stdlib parsing); (2) run it in a restricted environment (CI container or sandbox) first, especially if you will feed it sensitive files; and (3) remember it will read the file(s) you pass it (so do not point it at directories or files you don't intend to analyze). The STATUS.md notes a price; that is unrelated to technical behavior but may affect purchasing decisions.
Capability Analysis
Type: OpenClaw Skill Name: changelog-linter Version: 1.0.0 The changelog-linter skill is a legitimate utility designed to validate CHANGELOG.md files against the 'Keep a Changelog' specification. The core logic in scripts/changelog_linter.py uses standard Python libraries to perform regex-based parsing and structural checks without any network access, suspicious file operations, or obfuscation. No malicious instructions or prompt injection attempts were found in SKILL.md or the supporting documentation.
Capability Assessment
Purpose & Capability
Name/description match the provided assets: SKILL.md describes using the bundled scripts/changelog_linter.py to lint CHANGELOG.md files, and that script is present. The declared capabilities (lint, versions, order, links) align with the functions implemented in the script.
Instruction Scope
SKILL.md instructs the agent to run the included Python script against a supplied CHANGELOG.md file. The script (as shown) parses the provided text and performs static checks; it does not request reading unrelated system files, environment variables, or sending data externally.
Install Mechanism
No install specification is provided (instruction-only plus a bundled script). No remote downloads or package installs are requested. The script claims to use only the Python stdlib.
Credentials
No environment variables, credentials, or config paths are required. The script operates on a file argument, which is proportional to a linter's needs.
Persistence & Privilege
Skill is not always-enabled and does not request modification of agent configuration or persistent presence. It runs on-demand and only executes the local script.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install changelog-linter
  3. After installation, invoke the skill by name or use /changelog-linter
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Slug changelog-linter
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Changelog Linter?

Validate CHANGELOG.md files against the Keep a Changelog format (keepachangelog.com). Checks version ordering, date formats, section types, link references,... It is an AI Agent Skill for Claude Code / OpenClaw, with 86 downloads so far.

How do I install Changelog Linter?

Run "/install changelog-linter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Changelog Linter free?

Yes, Changelog Linter is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Changelog Linter support?

Changelog Linter is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Changelog Linter?

It is built and maintained by charlie-morrison (@charlie-morrison); the current version is v1.0.0.

💬 Comments