Xpra Package Changelog
Documentsxpra-package-changelogXpra Package Changelog is an Agent Skill for documents published in the Xpra-org/xpra repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Sync Xpra Markdown release notes from docs/CHANGELOG.md into packaging/rpm/xpra.spec and packaging/debian/xpra/changelog. Use when asked to copy a release entry into RPM or Debian package changelog formats, strip Markdown URLs while preserving descriptions, update release dates and package changelog datetimes, or replace TODO placeholders for an Xpra release.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/Xpra-org/xpra/blob/HEAD/.codex/skills/xpra-package-changelog/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/xpra-package-changelog, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Xpra Package Changelog
Use this skill to mirror one Xpra release entry from docs/CHANGELOG.md into the RPM spec %changelog and Debian debian/changelog format, while also refreshing the release date or datetime in all affected files.
Workflow
- Read the latest or requested release section from
docs/CHANGELOG.md. - Update the Markdown release header date in
docs/CHANGELOG.mdto the current local date inYYYY-MM-DDformat. - Strip Markdown links by replacing
[description](url)withdescription. - Preserve release-note descriptions and inline punctuation. Do not include commit URLs.
- Convert Markdown category bullets to package changelog headings:
- RPM:
- Category:and continuation lines indented with three spaces. - Debian:
* Category:and continuation lines indented with four spaces.
- RPM:
- Update the release datetime in every packaging file you touch:
- Markdown header uses ISO local date like
## [6.5.1] 2026-06-28. - RPM header uses local date format like
* Sun Jun 28 2026 Antoine Martin <[email protected]> 6.5.1-10. - Debian trailer uses RFC 2822 format like
-- Antoine Martin <[email protected]> Sun, 28 Jun 2026 15:44:43 +0700.
- Markdown header uses ISO local date like
- Replace only the matching top release block or TODO placeholder. Leave older releases and unrelated worktree changes untouched.
- Validate with:
dpkg-parsechangelog -l packaging/debian/xpra/changelogrpmspec --parse packaging/rpm/xpra.specwhen available. A missing local source archive warning is acceptable if the command exits 0.git diff --check -- docs/CHANGELOG.md packaging/rpm/xpra.spec packaging/debian/xpra/changelog
Helper Script
Use scripts/format_release_notes.py to convert a Markdown release entry into package-ready text:
python3 ~/.codex/skills/xpra-package-changelog/scripts/format_release_notes.py docs/CHANGELOG.md --version 5.1.6 --format rpm
python3 ~/.codex/skills/xpra-package-changelog/scripts/format_release_notes.py docs/CHANGELOG.md --version 5.1.6 --format debian
If --version is omitted, the script uses the first release section in docs/CHANGELOG.md.