Community코딩 & 개발github.com

OpenClaw 변경 로그 업데이트

베타, 안정화, 또는 확장 안정화 릴리스 전에 Git 기록에서 OpenClaw 릴리스 변경 로그 섹션을 재생성합니다.

OpenClaw 변경 로그 업데이트란 무엇인가요?

이 스킬은 OpenClaw 프로젝트의 릴리스 변경 로그를 자동으로 재생성하는 도구입니다. 베타, 안정화, 확장 안정화 릴리스 전에 Git 기록을 기반으로 `CHANGELOG/<version>.md` 파일의 해당 릴리스 섹션을 완전히 새로 작성합니다. 개발자는 이 스킬을 사용하여 기존의 초안 노트 대신 완전하고 검증된 히스토리 매니페스트로부터 변경 로그를 재구성할 수 있습니다. 스킬은 `release-openclaw-maintainer` 와 함께 사용되며, 변경 로그의 콘텐츠, 순서, 그룹핑, 기여자 표기 규칙을 관리합니다. 주된 워크플로우는 Git 기록 감사, 기여 기록 생성, 그리고 생성된 매니페스트를 사용하여 "Highlights", "Changes", "Fixes" 섹션을 그룹화된 산문으로 다시 작성하는 과정을 포함합니다. 이 스킬은 GitHub Actions, CLI 도구, 그리고 Node.js 환경을 지원하며, 특히 OpenClaw 프로젝트의 릴리스 관리자에게 필수적입니다.

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

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenClaw 변경 로그 업데이트은(는) 무엇을 하나요?

변경 로그 재작성 및 GitHub 릴리스 노트 소스 텍스트에 사용합니다. 일반 베타/안정화 릴리스의 경우, 최종 소스 자격 부여 전에 가능하면 완전한 노트를 준비하세요. Code SHA가 Release SHA가 될 수도 있습니다. 편집 작업은 Code 검증과 겹칠 수 있습니다. 검증-복구 백포트당 이 스킬을 다시 실행하지 마세요. 백포트가 Code SHA를 대체하는 경우, 최종 Code SHA가 통과된 후에 한 번만 다시 실행하세요. 이는 기존 제품 증거 재사용 정책 (타이밍) 에 따라 진정한 CHANGELOG-only 하위 항목으로서 실행됩니다. 확장 안정화(extended-stable)의 경우, 최종 정확한 헤드 검증 및 태깅 전에 실행하세요. 도구 재시도, 게시 재개, 또는 프로모션을 위해 다시 실행하지 마세요. release-openclaw-maintainer와 함께 사용하세요. 이 스킬은 변경 로그 콘텐츠, 순서, 그룹핑, 기여자 표기 규칙을 소유합니다.

목표

타겟 CHANGELOG/<version>.md 릴리스 섹션을 오래된 초안 노트가 아닌 완전하고 생성된 히스토리 매니페스트로부터 재구축합니다. 사용자 관심 순으로 정렬된 그룹화된 사용자 대상 릴리스 노트를 생성하며, 관련된 모든 이슈/PR 참조와 모든 검증된 사람 Thanks @... 표기를 보존합니다.

CHANGELOG.md는 생성된 릴리스 인덱스입니다. 공유 소유자 scripts/lib/release-changelog.mjs는 작업 트리 또는 고정된 Git ref(모노리스를 여전히 포함하는 과거 ref 포함)로부터 릴리스 섹션과 기여 기록을 해석합니다. 섹션을 보려면 node scripts/release-changelog.mjs read --version <version> [--ref <sha-or-tag>]를 사용하고, 기여 기록을 보려면 --record를 추가하세요. 분할 아티팩트가 없는 경우 루트 인덱스로 폴백해서는 안 됩니다. 기록이 없는 과거 릴리스는 발명된 출처를 얻지 않습니다. 생성된 CHANGELOG/** 파일은 정확하게 마이그레이션되거나 미러링된 바이트를 유지하며 루트 변경 로그와 같은 일반적인 포맷팅에서 제외됩니다. 소유자를 통해 pnpm changelog:check로 이 파일들을 검증하세요.

현재 쓰기는 분할 레이아웃을 사용합니다. 완전한 초기 섹션을 저장하려면 node scripts/release-changelog.mjs write --version <version> --file <section.md>를 사용하세요. 이는 릴리스 항목을 업데이트하고, CHANGELOG/records/<version>.md가 있을 경우 이를 일치시키며 인덱스도 함께 업데이트합니다. 초기 생성은 아래 섹션 형식을 유지합니다. 게시된 문서 미러는 이 스킬의 끝에 있는 별도의 포스트 릴리스 경로를 따릅니다. 초기 생성은 이 미러를 덮어써서는 안 됩니다.

입력

  • 타겟 버전: 베타 델타의 경우 정확한 YYYY.M.PATCH-beta.N; 누적 안정화 노트의 경우 YYYY.M.PATCH. 베타 항목과 기록은 별도의 고정된 아티팩트이며, 절대 안정화-베이스 섹션의 복사본이 아닙니다.
  • 베타 베이스 태그: 게시 전에 공개 npm openclaw@beta에서 현재 선택된 버전을 캡처합니다. 마지막 GitHub 프리릴리스 또는 가장 높은 베타 접미사 버전이 아닙니다. 선택기는 latest에서도 선택된 안정화 버전을 가리킬 수 있습니다. 정확한 베타 버전으로 --base를 생략하거나 --base npm-beta를 사용하여 한 번 해결합니다. 생성된 매니페스트에서 해결된 태그를 보존하고 편집, 검증 및 복구를 위해 해당 명시적 --base를 재사용합니다. npm이 이미 후보 또는 더 새로운 버전을 선택하는 경우, 생성은 기록 선택기 상태를 추측하기를 거부합니다. 이전에 캡처된 태그를 제공하세요. 해당 태그가 조상이 아닌 경우(예: 안정화 마무리 forward-port), 검증기는 도달 가능한 병합 베이스를 사용하고 캡처된 배송된 태그의 누적 PR 기록을 --shipped-ref 의미 체계를 통해 뺍니다. 매니페스트와 기록은 두 경계를 모두 유지합니다. 캡처된 태그로 재생하여 동일한 범위를 해결하고, 이전 GitHub 베타를 대신 선택하지 마세요.
  • 안정화 베이스 태그: 마지막으로 도달 가능한 배송된 안정화 릴리스 태그입니다. 타겟의 조상이어야 합니다. 더 새롭지만 분기된 태그는 유효한 히스토리 경계가 아닙니다. 타겟에서도 도달 가능한 경우에만 명시적인 배송된/메인 마무리 SHA를 사용하세요.
  • 타겟 ref: 문서화되는 정확한 제품-완료 히스토리입니다. 그 기여 기록 타겟은 최종 릴리스 타겟의 조상이어야 합니다. 아직 생성되지 않은 변경 로그 커밋을 가리킬 필요는 없습니다. 최종 노트를 확정하기 전에 이후의 수정 사항을 포함하세요. 최종 노트는 자격 부여 전에 커밋되거나, 그린 Code SHA의 CHANGELOG-only 하위 항목으로서 이후에 커밋될 수 있습니다.
  • 표준 메인 ref: 검증 전에 가져온 현재 origin/main입니다. 릴리스 노트는 동일한 작업이 백포트로 전달될 때 원래 병합된 메인 PR을 인용합니다. 현재 메인에 forward-port가 존재하지 않는 경우에만 릴리스 브랜치 PR이 사용됩니다.

워크플로우

  1. 릴리스 브랜치와 정확한 히스토리 타겟 확인:

    • git fetch --tags origin
    • 깨끗한 git status -sb 확인
    • 히스토리 타겟으로 git rev-parse HEAD 기록
    • 자격 부여가 이미 존재하는 경우 전체 릴리스 검증 실행 ID와 시도 기록
    • 최종 소스를 고정하기 전에 보류 중인 제품/버전/백포트 변경 사항 완료; 실제 변경 사항에 대한 인벤토리 새로고침
  2. 직접 커밋을 포함한 히스토리 감사:

    • 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>
    • 타겟에서 도달 가능하지만 베이스에서는 그렇지 않은 모든 커밋(병합된 사이드 브랜치 포함)을 포함합니다. 중복 제거 및 배송된 기록 차감 전에 PR 연결을 해결합니다. 기존 되돌리기 제외를 유지합니다.
    • 릴리스 중에 메인이 이동한 경우 --since='24 hours ago'도 검사합니다.
  3. 그룹화된 산문을 작성하기 전에 완전한 기여 기록 및 편집 매니페스트 생성:

    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
    

    베타 생성을 위해 --version YYYY.M.PATCH-beta.N을 사용하고 첫 번째 인벤토리 실행에서 --base를 생략합니다. 공유 작성기를 사용하여 Highlights, Changes 및 Fixes로 정확한 버전 섹션을 시작합니다. 델타 매니페스트를 생성한 다음 해당 범위에 대해서만 산문을 작성합니다. 후속 실행에서는 캡처된 npm 기준 태그를 명시적으로 사용합니다(분기된 범위의 병합 베이스 SHA만 사용하지 않음). 게시 후에 npm을 다시 쿼리하거나 누적 안정화 항목을 덮어쓰지 마십시오. 안정화 준비 시 누적 안정화 노트를 재생성합니다.

    릴리스 커밋이 출처 메타데이터를 전달할 수 없는 경우 반복 가능한 --release-provenance '<40sha> -> #PR[, #PR]' 입력을 추가합니다. 이들은 커밋 본문 마커와 동일한 정확한 마커 문법 및 소스 검증을 사용합니다. 병합된 릴리스 브랜치 원본은 해당하는 현재 메인 forward-port가 존재하지 않는 동안에만 유효합니다. 해당 GitHub 병합 커밋이 원본 소스를 고정합니다.

    검증기는 작업 트리의 git 메타데이터 아래 정확한 베이스/타겟 SHA 스냅샷에서 공개 GitHub GraphQL 응답을 자동으로 재사용합니다. 동일한 타겟에서의 반복적인 재작성은 네트워크 재발견을 피합니다. 의심스러운 API 데이터 후에는 --refresh-github-snapshot을, 명시적 아티팩트에 대해서는 --github-snapshot <path>를, 라이브 전용 감사에 대해서는 --no-github-snapshot을 사용하십시오. GitHub 릴리스 본문은 항상 라이브로 읽힙니다. 활성 소스의 명시적 CI #, CI run #, Actions run #, workflow run # 참조는 이슈/PR 해결이 실패하고 라이브 동일 저장소 Actions 조회가 정확한 실행 ID를 확인한 경우에만 별도로 분류됩니다. 활성 소스, 노트 또는 기여 기록에서 해당 번호의 일반적인 발생은 엄격한 이슈/PR 요구 사항으로 남습니다. 확인된 실행은 검증 출력 및 매니페스트에서 workflowRuns로 나타나며, PR 연결 또는 기여자 크레딧으로 나타나지 않습니다. 제목, 종결 참조, 출처 및 노트/기록에 없고 가장 높은 해결된 번호 미만인 커밋 본문 텍스트에 국한된 GitHub NOT_FOUND 참조만 생략되고 매니페스트 unavailableReferences로 크레딧 없이 보고될 수 있습니다.

    • 매니페스트는 재작성에 필요한 입력이며, 사후 감사가 아닙니다. 모든 참조된 PR, 적격 기여자 크레딧, 인라인 이슈 컨텍스트, 모든 직접 커밋, 그리고 PR 및 직접 커밋에 대한 편집 적격성 분류를 포함합니다.
    • 스키마 버전 3은 필수 임시 매니페스트 계약입니다. 이전 매니페스트를 재생성하세요. 버전 2는 지원되는 다운스트림 리더 경계가 아닙니다.
    • 과거 백필(backfill)의 경우, 이전 병합된 커밋이 PR 번호를 생략한 경우에도 이전 변경 로그의 기여 기록이 유지되도록 --seed-ref <pre-backfill-ref>를 한 번 추가하세요. 검증기는 베이스 태그 이후에 되돌려진 작업(안정화 릴리스 이전에 되돌려진 베타 작업 포함)의 기록을 제외합니다.
    • 생성된 출처 보고서는 범위 내 PR과 유지된 시드 전용 PR을 별도로 보고한 다음 고유 행 총계를 명시합니다. 두 인벤토리에 모두 있는 PR은 범위 내로 계산됩니다. 시드 포함 총계를 현재 릴리스 범위에 병합된 작업으로 설명하지 마십시오.
    • 도달 가능한 메인 마무리가 배송된 태그와 다르거나 이후의 forward-port 커밋이 이미 릴리스된 PR을 다시 연결하는 경우 반복 가능한 --shipped-ref <prior-shipped-tag>를 추가하십시오. 각 태그는 누적 배송 경계입니다. 검증기는 번호가 매겨진 릴리스 섹션의 완전한 기여 기록에서 명시적 PR 행을 통합하고, 중복 PR만 제외하며 Unreleased는 무시합니다. 이 경계를 베이스 SHA, 타겟 산문 또는 타겟 기록에서 추론하지 마십시오. 매니페스트와 생성된 출처는 결정적 후보 검증을 위해 각 태그와 정확한 제외 PR 인벤토리 및 개수를 유지합니다.
    • 소스 PR 검색 범위는 GitHub 커밋 연결을 선택된 타겟 히스토리 또는 표준 전달자에 대한 고정된 메인 히스토리로 제한합니다. 컨텍스트 소스 참조는 해당 병합된 커밋이 타겟 히스토리에서 도달 가능하고 병합 시간이 타겟 내에 있는 경우에만 기여가 됩니다. 모든 참조를 해결 가능하게 유지하되, 릴리스 준비가 계속되는 동안 병합된다는 이유만으로 관련 없는 PR을 승격하지 마십시오. 명시적 시드는 과거 멤버십을 유지하고 독립적으로 범위 내임이 입증되지 않는 한 시드 전용으로 남습니다. 모든 연결 페이지를 해결하십시오. 기존 표준, 체리픽 및 출처 계약은 권위를 유지합니다.
    • 명시적 다중 커밋 되돌리기에는 되돌리기 제목과 하나의 독립적인 Reverts <full SHA> and <full SHA>. 선언이 필요합니다(쉼표로 구분된 목록과 마지막 and도 작동함). 정확한 종료 to restore the previous behavior.가 허용됩니다. 중복, 약식, 포함 또는 반복 선언은 되돌리기를 설정하지 않습니다. 명명된 각 커밋은 단일 부모 조상이어야 하며, 명명된 모든 패치를 역적용하면 완전한 되돌리기 트리를 재현해야 합니다. 이 증명에 실패하는 인식된 선언은 검증을 중단합니다. 증명은 후크 또는 외부 diff 없이 개인 Git 인덱스/객체 저장소를 사용합니다. 표준 단일-되돌리기 및 되돌리기-의-되돌리기 계산은 그대로 유지됩니다.
    • 백포트를 main의 원래 병합된 PR로 표준화합니다. 명시적 체리픽 출처가 우선하며, 그 다음 고유한 정규화된 제목 일치는 동일한 작성자와 겹치는 변경된 경로가 필요합니다. 해당하는 메인 PR이 현재 origin/main에 존재할 때마다 릴리스/백포트 PR을 억제합니다. 해당 변경 사항이 먼저 거기에 도착했고 아직 main으로 forward-port되지 않은 경우에만 릴리스 브랜치 PR을 유지합니다.
    • ### Highlights, ### Changes 또는 ### Fixes를 편집하기 전에 매니페스트를 읽으십시오. 재감사 없이 오래된 그룹화된 산문을 전달하지 마십시오.
    • 모호한 커밋에 대해 연결된 PR/이슈 또는 diff를 검사하십시오. 직접 커밋은 편집 입력이며 공개 원장 행이 아닙니다. 제목, 본문, 수정된 파일, 테스트 및 주변 커밋에서 실질적인 사용자 결과를 추론하십시오.
  4. 선택된 하나의 릴리스 섹션만 재작성:

    • 베타: ## YYYY.M.PATCH-beta.N, 캡처된 npm 베타 기준선 이후의 변경 사항만 포함
    • 안정화: ## YYYY.M.PATCH, 이전 안정화 기준선 이후 누적
    • 타겟 릴리스 위에 오래된 ## Unreleased 섹션을 남기지 마십시오.
    • Unreleased에 릴리스 관련 노트가 포함된 경우 삭제하는 대신 타겟 섹션으로 접으십시오.
  5. 섹션 형태:

    • ### Highlights: 안정화의 경우 5-8개 글머리 기호, 베타 델타의 경우 0-8개. 작은 핫픽스 베타에 대해 하이라이트를 발명하지 마십시오.
      • 명확한 사용자 가시 기능 또는 워크플로우 해제, 중대한 안정성/안전 수정, 광범위한 교차 표면 개선, 또는 릴리스 정의 통합/호환성 이정표만 포함
      • 모든 하이라이트는 한 문장으로 사용자에게 무엇이 변경되었는지 말해야 합니다. 글머리 기호당 하나의 사용자 스토리를 사용하고 지원 PR을 그룹화하십시오.
      • 테스트, CI, 리팩터, 문서, 카탈로그 변동 및 구현 세부 사항은 결과가 실질적인 설치/업데이트, 데이터 안전 또는 널리 가시적인 사용자 개선이 아닌 경우 제외합니다.
    • ### Changes: 새로운 기능 및 동작 변경
    • ### Fixes: 사용자 대면 수정 사항을 먼저, 영향과 표면별로 그룹화
    • 관련 변경/수정 사항을 표면과 사용자 영향별로 그룹화하십시오. 여러 커밋이 하나의 사용자 대면 스토리를 말할 때 작은 커밋당 하나의 글머리 기호를 피하십시오.
    • ### Complete contribution record: 그룹화된 산문 후 생성된 PR 우선 기록. 이는 두 번째 릴리스 요약이 아닌 소진 회계 표면입니다.
  6. 검증된 표기 유지:

    • PR 저자는 표준 GitHub PR에서 비롯되며, 릴리스 커밋 작성자, 커미터 또는 백포트 운영자가 아닙니다. 해당 PR의 원래 병합 커밋에서 공동 저자를 해결하십시오. 릴리스-전달자 트레일러 및 상황별 언급은 다른 PR에 대한 크레딧을 설정하지 않습니다.
    • PR, 원래 공동 저자 및 연결된 리포터 증거로부터 생성된 감사를 재구축하십시오. 시드는 검증되지 않은 오래된 데이터가 아닌 멤버십 및 참조를 유지합니다.

[원본 스킬의 추가 내용은 여기에 계속되며, 위의 규칙에 따라 현지화되었습니다.]

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.

관련 스킬