OpenParable
Skip to content
← Back to skills

Xpra Package Changelog

Documents
xpra-package-changelog

Xpra 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.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
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

  1. Read the latest or requested release section from docs/CHANGELOG.md.
  2. Update the Markdown release header date in docs/CHANGELOG.md to the current local date in YYYY-MM-DD format.
  3. Strip Markdown links by replacing [description](url) with description.
  4. Preserve release-note descriptions and inline punctuation. Do not include commit URLs.
  5. 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.
  6. 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.
  7. Replace only the matching top release block or TODO placeholder. Leave older releases and unrelated worktree changes untouched.
  8. Validate with:
    • dpkg-parsechangelog -l packaging/debian/xpra/changelog
    • rpmspec --parse packaging/rpm/xpra.spec when 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.