AgentSkillsCN

update-changelog

统筹完整的变更日志工作流。按顺序调用 `init-changelog`(如需)、`edit-changelog` 以及 `cleanup-changelog` 等技能。适用于用户或代理需要更新变更日志时使用。

SKILL.md
--- frontmatter
name: update-changelog
description:
  Orchestrate complete changelog workflow. Invoke `init-changelog` (if
  needed), `edit-changelog`, and `cleanup-changelog` skills in sequence.
  Use when the user or agent needs to update the changelog.

Update changelog

GOAL: orchestrate the complete changelog update workflow by invoking init-changelog, edit-changelog, and cleanup-changelog skills in sequence.

WHEN: use when the user requests to update the changelog or when the agent needs to ensure the changelog reflects the latest commits.

Purpose

This skill provides a single entry point for changelog management:

  • Initializes CHANGELOG.md structure if missing (via init-changelog skill)
  • Updates changelog from git commits (via edit-changelog skill)
  • Cleans up formatting and removes empty sections (via cleanup-changelog skill)
  • Handles dependencies and conditional logic intelligently

Prerequisites

  • Requires an initialized Git repository
  • Conventional commit format for user-facing changes (feat:, fix:, etc.)

Workflow

Follow these steps in sequence:

Step 1: Check for CHANGELOG.md

  • Check if CHANGELOG.md exists in the repository root.
  • If missing: Invoke the init-changelog skill to create it.
    • Verify the output status (SUCCESS, WARN, or ERROR).
    • If ERROR: Stop and report the error to the user.
    • If SUCCESS or WARN: Continue to Step 2.
  • If exists: Continue directly to Step 2.

Step 2: Update from git commits

  • Invoke the edit-changelog skill to update from git commits.
  • Capture the status from the first line of output (SUCCESS, WARN, or ERROR).
  • Handle the status:
    • If ERROR: Stop and report the error to the user.
    • If WARN (no new commits): Report to user that changelog already reflects latest commits. Skip Step 3 and proceed to Step 4.
    • If SUCCESS (changes made): Continue to Step 3.

Step 3: Cleanup formatting (conditional)

  • Only run this step if edit-changelog reported SUCCESS.
  • Invoke the cleanup-changelog skill to clean up formatting.
  • This step runs: fix-markdownremove-empty-headers.shfix-markdown

Step 4: Report completion

  • Communicate a summary to the user indicating:
    • What actions the skill performed
    • Whether the changelog received updates
    • Any warnings or errors encountered during the process
  • DONE

Behavior

Smart initialization:

  • Automatically invokes init-changelog if CHANGELOG.md does not exist
  • Skips initialization if CHANGELOG.md already exists

Conditional cleanup:

  • Only runs cleanup-changelog if edit-changelog made changes (SUCCESS status)
  • Skips cleanup if the update requires no changes (WARN status)

Error handling:

  • Stops immediately on ERROR from any sub-skill
  • Reports errors to the user

Output

Files created/modified:

  • CHANGELOG.md - Created (if missing) or updated with new entries
  • .last-aggregated-commit - Created (if missing) or updated to HEAD

Status communication:

  • Reports initialization status when invoking init-changelog
  • Reports update status from edit-changelog
  • Reports cleanup status when invoking cleanup-changelog
  • Provides final summary of all actions taken