Skip to main content

changelog-credit

Adds CHANGELOG.md entries for CMB2 pull requests, crediting contributors with Props links and linking the PR, following the repo's existing changelog conventions. Takes an explicit PR number/URL, or scans recent commits to find merged PRs not yet credited.

설치로 이동

소스 정보

저장소
CMB2/CMB2
최근 소스 활동
2026년 6월 4일 18:26
감지된 SKILL.md 언어
영어
스타
3,013
포크
558

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
changelog-credit
description
Adds CHANGELOG.md entries for CMB2 pull requests, crediting contributors with Props links and linking the PR, following the repo's existing changelog conventions. Takes an explicit PR number/URL, or scans recent commits to find merged PRs not yet credited.
when_to_use
Use when CMB2's CHANGELOG.md needs updating for one or more merged PRs — phrases like "PR #N was merged, update the changelog", "add a changelog entry for #N", "credit the contributor for this PR", "log this in CHANGELOG.md". Also in discovery mode with no PR given: "log any uncredited PRs", "catch up the changelog", "any recent commits missing from the changelog?". And when landing your own PR and the Unreleased section needs the new line.
argument-hint
[pr-number-or-url]
allowed-tools
["Bash(gh pr view*)","Bash(gh pr list*)","Bash(git log*)","Bash(grep*)","Read","Edit"]
# changelog-credit Add a `CHANGELOG.md` entry for a CMB2 pull request, in the repo's house style. ## Modes Two entry points: - **Explicit PR** — the user gives a PR number or URL. Use it directly. - **Discovery** — no PR given (e.g. "log any uncredited PRs", "catch up the changelog"). Scan recent commits for merged PRs **not yet in CHANGELOG.md** and process each. ### Discovery 1. **List recent PR-referencing commits.** Most CMB2 merges put `(#N)` in the subject (squash merges) or `Merge pull request #N`: ```bash git log --max-count=40 --pretty='%H%x09%s' ``` Extract every `#N` from the subjects. 2. **Filter to uncredited.** For each PR number, check whether it already appears in `CHANGELOG.md` (the changelog links PRs as `pull/N)`): ```bash grep -q "pull/N)" CHANGELOG.md # if found → already credited, skip ``` Keep only PR numbers with no changelog hit. 3. **Confirm the list** with the user before writing — show the candidate PRs (number + subject) so they can drop any that shouldn't be logged (reverts, internal noise, already-released-but-unlinked work). Then process each through the per-PR steps below. Skip commits with no PR reference unless the user asks to log a bare commit. ## Per-PR steps 1. **Fetch PR metadata** — title, body, author login, merge state: ```bash gh pr view <N> --json title,body,number,mergedAt,author,url ``` The `author.login` is the GitHub handle for the Props link. Read the title and body to write an accurate, user-facing summary (what changed and why it matters), not a verbatim copy of the title. 2. **Read `CHANGELOG.md`** to match current conventions before editing. ## House style (match exactly) - The top section is `## Unreleased`. Add new entries there. Released sections are dated headers like `## [2.12.0 - 2026-05-30](...releases/tag/v2.12.0)` — never edit a released section. - Entries are grouped under `### Enhancements` and `### Bug Fixes` (`###` H3). Pick the right group from the PR's nature. Create the subheading if Unreleased doesn't have it yet. If `## Unreleased` holds only a placeholder `*`, replace the placeholder rather than leaving an empty bullet. - Each entry is a single `*` bullet, past tense, ending with a period: - **Props** the contributor: `Props [@login](https://github.com/login)`. Omit Props only when the author is a core maintainer landing their own routine work and the existing nearby entries also omit it (e.g. internal `[Development]` lines often have no Props). - Link the PR: `([#N](https://github.com/CMB2/CMB2/pull/N))`. - For tooling/build/CI work, prefix the summary with `[Development]`. - When the PR fixes a tracked issue, also link it: `Fixes [#M](...issues/M)`. Reference template: ``` * <What changed, user-facing.> Props [@login](https://github.com/login) ([#N](https://github.com/CMB2/CMB2/pull/N)). ``` Example (from PR #1559): ``` * Sanitized the `field_id` input (with an `isset()` guard) and escaped the `rel` attribute in the oEmbed AJAX handler, addressing a reflected XSS vector flagged by WordPress Plugin Check. Props [@thisismyurl](https://github.com/thisismyurl) ([#1559](https://github.com/CMB2/CMB2/pull/1559)). ``` 3. **Edit `CHANGELOG.md`** with the new bullet under the correct subheading in `## Unreleased`. In discovery mode, add a bullet per uncredited PR (newest last, to match chronological order within a group). 4. **Report** the added line(s) back to the user. Do not commit or push unless asked.
GitHub에서 보기