CommunityCodierung & Entwicklunggithub.com

OpenClaw Changelog Update

Aktualisiert OpenClaw-Release-Changelog-Abschnitte aus der Git-Historie für Beta-, Stable- oder Extended-Stable-Releases.

Was ist OpenClaw Changelog Update?

Dieses Skill regeneriert die CHANGELOG-Abschnitte eines OpenClaw-Releases basierend auf der vollständigen generierten Git-Historie, anstatt auf veralteten Entwurfsnotizen. Es ist für die Vorbereitung von Beta-, Stable- und Extended-Stable-Releases gedacht und stellt sicher, dass jede Release-Referenz, jeder Issue/PR-Thread und jede bestätigte menschliche `Thanks @...`-Attribution erhalten bleibt. Der Workflow umfasst das Abrufen von Tags, das Überprüfen des Verlaufs, das Generieren eines vollständigen Beitragsprotokolls mit einem dedizierten Skript und das anschließende Neuschreiben des Zielabschnitts in einer strukturierten Gliederung mit Highlights, Änderungen, Korrekturen und dem vollständigen Beitragsprotokoll. Es handelt sich um ein spezialisiertes Tool, das eng mit dem Skill `release-openclaw-maintainer` zusammenarbeitet und die alleinige Kontrolle über die Inhalte, Sortierung, Gruppierung und Attributionsdisziplin des Changelogs besitzt. Die Verwendung wird in Umgebungen wie Claude Code, Cursor und Codex empfohlen, wo eine präzise Changelog-Verwaltung für OpenClaw-Releases erforderlich ist.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-changelog-update

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht OpenClaw Changelog Update?

Verwenden Sie dies für Changelog-Neuschreibungen und GitHub-Release-Notizen-Quelltexte. Für regelmäßige Beta/Stable-Notizen bereiten Sie vollständige Texte vor der abschließenden Quellqualifikation vor, wenn möglich; der Code-SHA kann dann auch der Release-SHA sein. Redaktionelle Arbeit kann die Code-Validierung überlappen. Führen Sie es nicht für jeden Validierung-Wiederherstellungs-Backport erneut aus; wenn Backports den Code-SHA ersetzen, führen Sie es einmal aus, nachdem der endgültige Code-SHA grün ist, als einen echten CHANGELOG-only-Nachfolger unter der bestehenden Produktbeleg-Wiederverwendungsrichtlinie (Timing). Für extended-stable führen Sie es vor der endgültigen exakten Head-Validierung und dem Tagging aus. Führen Sie es nicht für Tooling-Wiederholungen, fortgesetzte Veröffentlichung oder Promotion erneut aus. Verwenden Sie es mit release-openclaw-maintainer; dieses Skill besitzt die Changelog-Inhalte, -Sortierung, -Gruppierung und Attributionsdisziplin.

Ziel

Den Ziel-Release-Abschnitt CHANGELOG/<version>.md aus einem vollständigen, generierten Historienmanifest neu erstellen, nicht aus veralteten Entwurfsnotizen. Gruppierte benutzerorientierte Release- Notizen erstellen, sortiert nach Benutzerinteresse, wobei jede relevante Issue/PR-Referenz und jede bestätigte menschliche Thanks @...-Attribution erhalten bleibt.

CHANGELOG.md ist der generierte Release-Index. Der gemeinsame Besitzer scripts/lib/release-changelog.mjs löst Release-Abschnitte und Beitragsdatensätze aus einem Arbeitsbaum oder einem gepinnten Git-Ref auf, einschließlich historischer Refs, die noch einen Monolithen enthalten. Verwenden Sie node scripts/release-changelog.mjs read --version <version> [--ref <sha-or-tag>], um einen Abschnitt zu lesen, oder fügen Sie --record hinzu, um seinen Beitragsdatensatz zu erhalten. Ein fehlendes Split-Artefakt darf nicht auf den Stammindex zurückfallen. Historische Releases ohne Datensätze erhalten keine erfundene Herkunft. Generierte CHANGELOG/**-Dateien behalten exakte migrierte oder gespiegelte Bytes und sind von generischer Formatierung ausgeschlossen, wie das Stamm-Changelog. Validieren Sie sie durch ihren Besitzer mit pnpm changelog:check.

Aktuelle Schreibvorgänge verwenden das Split-Layout. Um einen vollständigen Anfangsabschnitt zu speichern, verwenden Sie node scripts/release-changelog.mjs write --version <version> --file <section.md>; es aktualisiert den Release-Eintrag, passend zu CHANGELOG/records/<version>.md wenn vorhanden, und den Index zusammen. Die erstmalige Generierung behält das Abschnittsformat unten bei. Veröffentlichte Docs-Spiegel folgen dem separaten Post-Release-Pfad am Ende dieses Skills; die Erstgenerierung darf diese niemals überschreiben.

Eingaben

  • Zielversion: exakt YYYY.M.PATCH-beta.N für ein Beta-Delta; YYYY.M.PATCH für kumulative Stable-Notizen. Beta-Einträge und -Datensätze sind separate eingefrorene Artefakte, niemals Kopien des Stable-Basis-Abschnitts.
  • Beta-Basis-Tag: Erfassen Sie die Version, die derzeit vom öffentlichen npm openclaw@beta vor der Veröffentlichung ausgewählt wird, nicht das letzte GitHub-Prerelease oder die höchste Beta-suffigierte Version. Der Selektor kann auch eine Stable-Version benennen, die von latest ausgewählt wird. Lassen Sie --base weg (oder verwenden Sie --base npm-beta) mit einer exakten Beta-Version, um sie einmal aufzulösen; bewahren Sie das aufgelöste Tag aus dem generierten Manifest und verwenden Sie dieses explizite --base für Bearbeitungen, Überprüfung und Wiederherstellung erneut. Wenn npm bereits den Kandidaten oder eine neuere Version auswählt, verweigert die Generierung die Schätzung des historischen Selektorzustands; geben Sie das zuvor erfasste Tag an. Wenn dieses Tag kein Vorfahre ist (z. B. ein Stable-Closeout-Forward-Port), verwendet der Prüfer seine erreichbare Merge-Basis und subtrahiert den kumulativen PR-Datensatz des erfassten verschifften Tags durch --shipped-ref-Semantik. Das Manifest und der Datensatz behalten beide Grenzen bei; Wiederholen Sie die Ausführung mit dem erfassten Tag, um denselben Bereich aufzulösen, wählen Sie niemals ein älteres GitHub-Beta stattdessen aus.
  • Stable-Basis-Tag: Letztes erreichbares verschifftes Stable-Release-Tag. Es muss ein Vorfahre des Ziels sein; ein neueres, aber divergentes Tag ist keine gültige Historiengrenze. Verwenden Sie einen expliziten verschifften/main-Closeout-SHA nur, wenn er auch vom Ziel aus erreichbar ist.
  • Ziel-Ref: Die exakte produktvollständige Historie, die dokumentiert wird. Sein Beitragsdatensatz-Ziel muss ein Vorfahre des endgültigen Release-Ziels sein; es muss keinen noch nicht erstellten Changelog-Commit benennen. Fügen Sie alle späteren Korrekturen vor dem Finalisieren der Notizen ein. Endgültige Notizen können vor der Qualifikation übergeben werden, oder danach als CHANGELOG-only-Nachfahre eines grünen Code-SHA.
  • Kanonischer Main-Ref: aktueller origin/main, abgerufen vor der Überprüfung. Release- Notizen zitieren den ursprünglichen zusammengeführten Main-PR, wenn dieselbe Arbeit von einem Backport getragen wird. Ein Release-Branch-PR wird nur verwendet, solange kein Forward-Port auf dem aktuellen Main existiert.

Workflow

  1. Bestätigen Sie den Release-Branch und das exakte Historienziel:

    • git fetch --tags origin
    • bestätigen Sie sauberen git status -sb
    • notieren Sie git rev-parse HEAD als Historienziel
    • notieren Sie die Full Release Validation Run-ID und den Versuch, wenn bereits eine Qualifikation existiert
    • schließen Sie ausstehende Produkt-/Versions-/Backport-Änderungen ab, bevor Sie die endgültige Quelle einfrieren; aktualisieren Sie das Inventar für tatsächliche Änderungen
  2. Auditieren Sie die Historie, einschließlich direkter Commits:

    • git log --topo-order --date=iso-strict --pretty=format:'%h%x09%ad%x09%s' <base-tag>..<target-ref>
    • git log --topo-order --grep='(#' --date=short --pretty=format:'%h%x09%ad%x09%s' <base-tag>..<target-ref>
    • Schließen Sie jeden Commit ein, der vom Ziel, aber nicht von der Basis aus erreichbar ist, einschließlich zusammengeführter Seitenbranches. Lösen Sie PR-Zuordnungen vor dem Deduplizieren und Subtrahieren verschiffter Datensätze auf; behalten Sie die bestehenden Rücknahmeausschlüsse bei.
    • überprüfen Sie auch --since='24 hours ago', wenn sich Main während des Releases bewegt hat.
  3. Generieren Sie den vollständigen Beitragsdatensatz und das redaktionelle Manifest vor dem Schreiben gruppierter Prosa:

    node --import tsx .agents/skills/openclaw-changelog-update/scripts/verify-release-notes.mjs \
      --base <base-tag> \
      --target <target-ref> \
      --release-branch <canonical-release-branch> \
      --main-ref origin/main \
      --version <YYYY.M.PATCH> \
      --manifest /tmp/openclaw-release-<YYYY.M.PATCH>.json \
      --write-ledger
    

    Für die Beta-Generierung verwenden Sie --version YYYY.M.PATCH-beta.N und lassen Sie --base beim ersten Inventarlauf weg. Starten Sie einen Abschnitt mit exakter Version mit Highlights, Changes und Fixes unter Verwendung des gemeinsamen Writers; generieren Sie das Delta-Manifest, dann schreiben Sie Prosa nur für diesen Bereich. Nachfolgende Läufe verwenden das erfasste npm-Baseline-Tag explizit (nicht nur den Merge-Base-SHA eines divergenten Bereichs). Fragen Sie npm nach der Veröffentlichung nicht erneut ab und überschreiben Sie nicht den kumulativen Stable-Eintrag. Generieren Sie kumulative Stable-Notizen bei der Stable-Vorbereitung neu.

    Fügen Sie wiederholbare --release-provenance '<40sha> -> #PR[, #PR]'-Eingaben hinzu, wenn Release-Commits keine Herkunftsmetadaten tragen können. Diese verwenden dieselbe exakte Markierungsgrammatik und aktuelle Main-Validierung wie Commit-Body-Marker.

    Der Prüfer verwendet automatisch öffentliche GitHub GraphQL-Antworten von einem exakten Basis-/Ziel-SHA-Snapshot unter den Git-Metadaten des Arbeitsbaums. Iterative Neuschreibungen am selben Ziel vermeiden wiederholte Netzwerkerkennung. Verwenden Sie --refresh-github-snapshot nach verdächtigen API-Daten, --github-snapshot <path> für ein explizites Artefakt oder --no-github-snapshot für ein Live-Only- Audit. GitHub-Release-Bodies werden immer live gelesen. Explizite CI #, CI run #, Actions run #- und workflow run #-Referenzen in aktivem Quellcode werden nur separat klassifiziert, wenn die Issue/PR-Auflösung fehlschlägt und eine Live-Suche im selben Repository-Actions die genaue Run-ID bestätigt. Jedes gewöhnliche Vorkommen dieser Nummer in aktivem Quellcode, Notizen oder dem Beitragsdatensatz bleibt eine strenge Issue/PR-Anforderung. Bestätigte Runs erscheinen als workflowRuns in der Prüfausgabe und im Manifest, niemals als PR-Zuordnungen oder Beitragenden-Credit. Nur GitHub NOT_FOUND-Referenzen, die auf kontextuellen Commit-Body-Text beschränkt sind, in Betreffs, Closing-Referenzen, Herkunft und Notizen/Datensätzen fehlen und unter der höchsten aufgelösten Nummer liegen, können weggelassen und als Manifest unavailableReferences ohne Credit gemeldet werden.

    • das Manifest ist die erforderliche Eingabe für die Neuschreibung, nicht eine nachträgliche Prüfung; es enthält jeden referenzierten PR, berechtigten Beitragenden-Credit, Inline-Issue-Kontext, jeden direkten Commit und eine redaktionelle Eignungs- Klassifikation für PRs und direkte Commits
    • Schema Version 3 ist der erforderliche flüchtige Manifestvertrag. Generieren Sie ältere Manifeste neu; Version 2 ist keine unterstützte Downstream-Reader-Grenze
    • für historische Backfills fügen Sie --seed-ref <pre-backfill-ref> einmal hinzu, sodass Beitragsdatensätze aus dem vorherigen Changelog erhalten bleiben, auch wenn ein älterer gemergter Commit seine PR-Nummer weggelassen hat; der Prüfer schließt Datensätze für Arbeiten aus, die nach dem Basis-Tag rückgängig gemacht wurden, einschließlich Beta-Arbeiten, die vor dem Stable-Release rückgängig gemacht wurden
    • generierte Herkunft meldet PRs im Bereich separat von beibehaltenen Seed-Only-PRs und gibt dann die eindeutige Zeilenanzahl an. Ein in beiden Inventaren vorhandener PR zählt als im Bereich; beschreiben Sie niemals die Seed-inklusive Gesamtzahl als Arbeit, die im aktuellen Release-Bereich zusammengeführt wurde
    • fügen Sie wiederholbare --shipped-ref <prior-shipped-tag> hinzu, wenn der erreichbare Main Closeout vom verschifften Tag oder späteren Forward-Port-Commits abweicht, die bereits veröffentlichte PRs neu zuordnen. Jedes Tag ist eine kumulative verschiffte Grenze: Der Prüfer vereinigt explizite PR-Zeilen aus vollständigen Beitragsdatensätzen in nummerierten Release-Abschnitten, schließt nur überlappende PRs aus und ignoriert Unreleased. Leiten Sie diese Grenze niemals aus dem Basis-SHA, der Ziel-Prosa oder dem Ziel-Datensatz ab. Das Manifest und die generierte Herkunft behalten jedes Tag plus das genaue ausgeschlossene PR-Inventar und die Anzahl für eine deterministische Kandidatenvalidierung
    • Quell-PR-Erkennung begrenzt GitHub-Commit-Zuordnungen auf die ausgewählte Ziel- Historie oder die eingefrorene Main-Historie für kanonische Träger. Eine kontextuelle Quellreferenz wird nur dann zu einem Beitrag, wenn ihr zusammengeführter Commit in der Zielhistorie erreichbar ist und seine Merge-Zeit innerhalb des Ziels liegt. Behalten Sie alle Referenzen auflösbar, fördern Sie jedoch keine nicht verwandten PRs, nur weil sie zusammenführen, während die Release-Vorbereitung fortgesetzt wird. Explizite Seeds behalten ihre historische Mitgliedschaft und bleiben Seed-Only, es sei denn, sie werden unabhängig als im Bereich nachgewiesen. Lösen Sie jede Zuordnungsseite auf; bestehende kanonische, Cherry-Pick- und Herkunftsverträge bleiben maßgeblich.
    • explizite Multi-Commit-Rücknahmen erfordern einen Rücknahme-Betreff und eine eigenständige Reverts <full SHA> and <full SHA>.-Deklaration (kommagetrennte Listen mit abschließendem and funktionieren ebenfalls). Die exakte Endung to restore the previous behavior. wird akzeptiert. Doppelte, abgekürzte, eingebettete oder wiederholte Deklarationen stellen keine Umkehrung her. Jeder benannte Commit muss ein Single-Parent-Vorfahre sein, und die umgekehrte Anwendung aller benannten Patches muss den vollständigen Rücknahme- Baum reproduzieren. Erkannte Deklarationen, die diesen Beweis nicht bestehen, stoppen die Überprüfung. Der Beweis verwendet privaten Git-Index-/Objekt-Speicher ohne Hooks oder externe Diffs; kanonische Single-Revert- und Revert-of-Revert-Buchhaltung bleibt intakt.
    • kanonische Sie Backports zum ursprünglichen gemergten PR auf main: explizite Cherry-Pick-Ursprünge gewinnen, dann erfordert ein eindeutiger normalisierter Betreff-Treffer denselben Autor und einen überlappenden geänderten Pfad. Unterdrücken Sie Release-/Backport- PRs immer dann, wenn der entsprechende Main-PR auf aktuellem origin/main existiert. Behalten Sie einen Release-Branch-PR nur, wenn diese Änderung zuerst dort gelandet ist und noch nicht an main forward-portiert wurde
    • Lesen Sie das Manifest vor dem Bearbeiten von ### Highlights, ### Changes oder ### Fixes; führen Sie keine alten gruppierten Prosa ohne erneute Prüfung weiter
    • Überprüfen Sie verlinkte PRs/Issues oder Diffs für mehrdeutige Commits. Direkte Commits sind redaktionelle Eingabe, keine öffentlichen Hauptbuchzeilen; leiten Sie materielle Benutzerergebnisse aus Betreff, Body, berührten Dateien, Tests und nahen Commits ab
  4. Schreiben Sie nur einen ausgewählten Release-Abschnitt neu:

    • Beta: ## YYYY.M.PATCH-beta.N, der nur Änderungen seit der erfassten npm-Beta-Baseline enthält
    • Stable: ## YYYY.M.PATCH, kumulativ seit der vorherigen Stable-Baseline
    • Hinterlassen Sie keinen veralteten Abschnitt ## Unreleased über dem Ziel-Release
    • Wenn Unreleased Release-gebundene Notizen enthält, führen Sie diese in den Ziel- Abschnitt ein, anstatt sie zu löschen
  5. Abschnittsform:

    • ### Highlights: 5-8 Aufzählungspunkte für Stable, 0-8 für ein Beta-Delta; erfinden Sie keine Highlights für kleine Hotfix-Betas
      • Fügen Sie nur eine klare benutzersichtbare Fähigkeit oder Workflow-Freischaltung, einen materiellen Zuverlässigkeits-/Sicherheitsfix, eine breite oberflächenübergreifende Verbesserung oder einen Release-definierenden Integrations-/Kompatibilitätsmeilenstein ein
      • Jedes Highlight muss in einem Satz sagen, was sich für einen Benutzer geändert hat; verwenden Sie eine Benutzergeschichte pro Aufzählungspunkt und gruppieren Sie seine unterstützenden PRs
      • Schließen Sie Tests, CI, Refactorings, Docs, Katalog-Churn und Implementierungsdetails aus, es sei denn, das Ergebnis ist eine materielle Installations-/Update-, Datensicherheits- oder weithin sichtbare Benutzerverbesserung
    • ### Changes: Neue Fähigkeiten und Verhaltensänderungen
    • ### Fixes: Benutzerseitige Korrekturen zuerst, gruppiert nach Wirkung und Oberfläche
    • Gruppieren Sie verwandte Änderungen/Korrekturen nach Oberfläche und Benutzerwirkung; vermeiden Sie einen Aufzählungspunkt pro winzigem Commit, wenn mehrere Commits eine benutzerseitige Geschichte erzählen
    • ### Complete contribution record: Generierter PR-erster Datensatz nach der gruppierten Prosa; es ist die erschöpfende Buchhaltungsoberfläche, nicht eine zweite Release-Zusammenfassung
  6. Bewahren Sie bestätigte Attribution:

    • PR-Autorenschaft stammt vom kanonischen GitHub-PR, niemals vom Release-Commit- Autor, Committer oder Backport-Operator. Lösen Sie Co-Autoren aus dem originalen Merge-Commit dieses PRs auf; Release-Carrier-Trailer und kontextuelle Erwähnungen begründen keinen Credit auf einem anderen PR
    • Bauen Sie generierte Danksagungen aus PR, originalem Co-Autor und verlinktem Reporter- Beweis neu auf. Seeds behalten Mitgliedschaft und Referenzen, nicht unverifizierte alte Danksagungen. Neugenerierung ersetzt veralteten generierten Credit in Datensätzen und gruppierter Prosa; Überprüfung lehnt sowohl fehlenden als auch nicht unterstützten Credit ab

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Verwandte Skills