ワンクリックで
mkdocs-changelog
Analyse doc changes since the last CHANGELOG.md update and draft a major-change entry if the changes qualify.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analyse doc changes since the last CHANGELOG.md update and draft a major-change entry if the changes qualify.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Apply senior UI/UX judgment to interfaces, user flows, interaction details, and product usability decisions.
Build, review, and extend Astro static sites — config, integrations, SEO, deployment to GitHub Pages.
Design system, visual language, tone, and UI conventions for comtechconsulting.dk — reference before adding any new UI, copy, or page to the site.
Apply senior-level engineering judgment to code review, implementation, debugging, refactoring, and delivery planning.
Advise on Confluence Cloud AI — Atlassian Intelligence, Rovo Chat, Rovo Chat macro, plan tier detection, and space-level AI scoping.
Configure and surface Rovo AI features in Confluence Cloud — Chat, custom Agents, Space Agent assignment, and space homepage CTA patterns.
| name | mkdocs-changelog |
| description | Analyse doc changes since the last CHANGELOG.md update and draft a major-change entry if the changes qualify. |
| version | 1.4.1 |
| tags | ["documentation","git","changelog","mkdocs","confluence"] |
| tool_agnostic | true |
| authors | ["Anders Hybertz"] |
| tested_on | [] |
Analyse git changes to the docs directory since the last CHANGELOG.md commit. If any changes qualify as MAJOR, draft a dated changelog entry in the collapsible format and prepend it to CHANGELOG.md. If not, explain why and exit without modifying any file.
mk2conf publishExtract git data — run the bundled data script to get structured, deterministic input:
Normal update (since last CHANGELOG.md commit):
python .mk2conf/scripts/changelog_data.py --docs-dir <docs_dir>
Initial changelog (from a specific date):
python .mk2conf/scripts/changelog_data.py --docs-dir <docs_dir> --since YYYY-MM-DD
The script prints a JSON object to stdout. Use this as your sole source of truth for commits, changed files, and contributors. Do not run git commands yourself.
If the script is missing, tell the user to run mk2conf install-skill first.
When --since is used, the JSON will contain "mode": "since_date". Use this to
trigger the initial changelog flow described below.
Read the existing changelog — read <docs_dir>/CHANGELOG.md for context on what
was previously recorded.
Decide: is this MAJOR?
MAJOR criteria — any one of these qualifies:
NOT major — do not draft an entry for:
If NOT MAJOR — report what was found, explain in one sentence why it did not qualify, and stop. Do not modify any file.
If MAJOR — draft an entry using the collapsible format below and prepend it to
CHANGELOG.md. The previous latest entry (if any) must be converted from ???+ to ???
so only the new entry is expanded by default.
The changes object in the script JSON includes {"path": "...", "title": "..."} for
each file. The script reads the H1 heading from each .md file on disk and populates
title. Use this to link readers to the most relevant pages — but only where it adds
value and reads naturally.
Rules:
Select, don't list. Pick at most two or three files per entry — the ones a reader would actually want to visit. Omit supporting material (images, assets, index stubs, nav-only pages).
Weave into prose, not as a separate list. Example:
Good: Updated the [Configuration reference](configuration/index.md) to cover the new auth options.
Bad: Updated configuration/index.md. See also: getting-started.md, reference.md.
Use title as link text when it reads naturally. Fall back to a short descriptive
phrase if the title is too long or too generic (e.g. "Overview", "Index").
Paths are relative to docs_dir, and CHANGELOG.md lives at the root of docs_dir.
A file at docs/configuration/index.md links as configuration/index.md.
Deleted pages — name them in prose without a link. Do not link to deleted content.
Skip linking entirely if the change is a typo fix, formatting pass, or other non-substantive update — linking draws attention and signals importance.
The latest entry uses ???+ (expanded by default on Material, always visible on Confluence).
All older entries use ??? (collapsed, showing only the date and title as the trigger).
???+ note "YYYY-MM-DD — Brief title describing the major change"
### Added
- …
### Changed
- …
### Deprecated
- …
### Removed
- …
### Fixed
- …
### Security
- …
Contributors: Name One, Name Two
Rules for the entry:
date field from the script output (YYYY-MM-DD)Added (new content), Changed (updated content), Deprecated
(content being phased out), Removed (deleted content), Fixed (corrected errors or
misleading information), Security (security-related documentation updates)Contributors: line — include when the contributors array from the script output has
more than one name. Omit when there is only one contributor. Plain names only — no hyperlinks.???+ opener to ??? firstIf CHANGELOG.md does not exist yet, create it with this header before the first entry:
# Changelog
All notable changes to this documentation are recorded here.
The format is inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
When the script is run with --since and the JSON contains "mode": "since_date",
the user wants to bootstrap a CHANGELOG.md from scratch for a given time window.
Different rules apply:
since value from the JSON as the start
and date as the end, e.g. 2026-05-01 → 2026-05-27.???+.Example title: 2026-05-01 → 2026-05-27 — Initial documentation release
git add
and git commit themselves before publishing..md hrefs via resolve_internal_links, which requires a link_map
built from the full nav. The emitter deliberately degrades unresolved .md hrefs to
plain text (rather than letting Confluence silently strip the anchor). If you see this
symptom, the fix is to ensure publish_changelog() receives link_map at the call
site. In mk2conf: cl_link_map = build_link_map(all_nav_nodes) passed as
link_map=cl_link_map. Without it, effective_link_map = {} and every .md link
hits the fallback. Fixed in v0.13.9.Full JSON output schema with field notes and baseline resolution logic:
references/script-output-schema.md
After drafting, show the user the proposed entry in the terminal and remind them to review
CHANGELOG.md before committing and running mk2conf publish.