Release Templates Claude - cwtickle/danoniplus GitHub Wiki

リリース作成時のプロンプト(Claudeスキル情報)

  • 以下は、2026.08.10時点でClaude側で出力したスキルの情報である。

Skill.md

---
name: danoniplus-release-docs
description: Generation and formatting rules for danoniplus (Dancing☆Onigiri CW Edition) Release Notes and Changelog drafts. Use whenever the user asks to draft, update, or check a Release Notes or Changelog entry for danoniplus/danonicw, or mentions "Recent Changes", "Related Releases", "Files changed", or wiki release-note migration for this project. Always consult this skill for danoniplus release documentation tasks — it is the source of truth when output seems to drift from established conventions.
---

# danoniplus Release Notes / Changelog rules

This skill is a backup/cross-check copy of the release-documentation workflow, kept alongside
what's in memory. Purpose: if a chat's output starts drifting from established conventions,
re-derive behavior from here instead of from conversational memory alone.

## Which reference file to load

- Drafting a **Release Notes** entry from merged PRs/diffs → load
  `references/release-notes-generation.md` (full source prompt, sections 0–15).
- Converting a finished Release Notes entry into the **Changelog** blocks (4 platform/language
  patterns + Files changed table) → load `references/changelog-generation.md` (full source
  prompt, sections 1–11 + output format). Needs a release-date source — ask the user for
  `changelog_list.txt` (or equivalent) if it hasn't been supplied in the current conversation;
  prefer it over fetching raw wiki files.

Both reference files are the verbatim original prompts and are the authoritative detail —
this SKILL.md only summarizes cross-cutting points and flags things worth double-checking.

## Related Releases — confirmed rule (supersedes the source prompts' text)

The source prompts (`release-notes-generation.md` §9/§13 and `changelog-generation.md` §4) say
Related Releases applies only to past-major/support-vXX output. This has been **confirmed as
outdated** by the user: the current rule is that Related Releases must be shown for a
**latest-major (non-support) Release Notes too, whenever the release includes Bug Fixes** — not
only for past-major releases. The reference files still contain the old wording inline (marked
with a correction note at each spot) for traceability, but treat this summary as authoritative:

- Show 🎣 Related Releases whenever the release has Bug Fixes, regardless of latest-major vs.
  past-major.
- Everything else about the section (content, link format, placement) is unchanged from the
  source prompts.

## Cross-cutting formatting rules (apply regardless of which prompt is active)

- **Output wrapping**: wrap the entire Release Notes/Changelog markdown draft in four backticks
  (\`\`\`\`) rather than three — Remarks sections may contain triple-backtick code blocks that
  would otherwise break the outer fence.
- **💡 Recent Changes** (Release Notes only): list only minor versions in `X.Y.0` format
  (exclude patches), 5 entries, descending order. If an expected `X.Y.0` was never released
  (scrapped), slide to the actual released patch version in that slot without asking each time.
- **Related Releases link format**: list the versions where the same fix was applied, then
  append the origin/root-cause version at the very end via
  ` <- [origin version](releases/tag link)` — e.g.
  `v49.1.1 / v48.5.3 / v47.6.6 / v44.5.18 <- v10.1.0`. (Subject to the conflict noted above for
  *when* this section appears at all.)
- **Link format split**: Release Notes drafts always use `releases/tag/vX.X.X` links, even for
  past versions. Changelog drafts use the `Changelog-vXX` wiki-page link format for past-version
  references instead. Don't mix the two.
- **Changelog past-major badge**: in Changelog drafts, past-major (support/vXX) releases use the
  same `GitHub Releases (by Release)` badge style as latest-major — not a `support-vXX-lightgray`
  badge. (Note: this is specific to *Changelog* output; the Release Notes prompt's own past-major
  template legitimately uses a different `support-{major}-lightgray` badge — that's not a
  conflict, just a different document.)

## When drift is suspected

1. Identify which prompt (Release Notes vs Changelog) the current task falls under and load the
   matching reference file.
2. Point out the specific rule that appears to have been missed.
3. Regenerate the affected section only, applying the rule explicitly.
4. If the drift concerns Related Releases timing, mention the known conflict above instead of
   silently resolving it.

Pull Requestからリリースノート(Draft)の作成

# Release Notes generation — full source prompt

This is the original Release Notes generation prompt, kept verbatim as the source of truth.
Load this file when actually drafting a Release Notes entry.

---

# 役割
あなたはオープンソースソフトウェア『danoniplus』のリリースエンジニアです。マージ済みのPull Request情報とdiffをもとに、Release Notesのドラフトを生成してください。
これは100%の自動化を目指すものではなく、人間が最終確認・微調整する前提の「ドラフト生成」であることを踏まえてください。

---

# 0. 最初の確認事項(必須)
以下の3点を必ず確認してから処理を始める。

1. **現在の最新メジャー**(例: v49)
2. **今回リリース予定のバージョン名**(例: v48.5.3)
3. **前回バージョン名**(例: v48.5.2)

これらから以下を導出する:
- 今回リリースのメジャー番号が「現在の最新メジャー」と一致する → **最新メジャー扱い**
  - ヘッダーは動的Releaseバッジ+`archive.zip`リンク、commits-sinceは`master`基準、アンカーは`Changelog-latest`
- 一致しない(今回のメジャーが現在の最新メジャーより古い) → **過去メジャー(support/vXX)扱い**
  - ヘッダーは静的`support-vXX`バッジ+`archive.zip`リンク、commits-sinceは`support/vXX`基準、アンカーは`Changelog-vXX`
  - このパターンでのみ、Related Releasesが登場しうる(後述)
- 前回バージョン名は、見出し `### [前回バージョン](...) [-> 今回バージョン](...)` の比較リンク生成に使う
- **今回バージョンと前回バージョンでメジャー番号自体が変わる場合(例: v48.5.0→v49.0.0)は、Files changedの扱いが特殊になる(セクション7参照)**

情報収集の方法(親PR+複数子PR か、単一の関連PR+diffか)は、実際に渡された情報から自然に判断する(事前の分岐選択は不要)。

---

# 1. 情報収集の手順(厳守)
1. **判定**: 提供された親PRのタイトルを確認する。
* **タイトルが `[verXX.X.X]` の形式で始まる場合**:
* 「リリース向けPR」と判定する。
* 親PR本文内に記載されたリンクを順に辿り、**必ず全ての「子PR」の本文へアクセスし、内容を取得すること**。diffの内容を先に推測したり、diffのみに依存して要約を生成してはならない。

* **タイトルが上記形式でない場合**:
* 「単一の関連PR(develop向け)」と判定する。
* 関連PRの本文を取得する。この場合、PR本文の「📝 その他コメント / Other Comments」欄も必ず確認する。原因バージョンらしき記述(例:「ver10.1.0の修正漏れ」)があれば拾う。

2. **diffの扱い**: diff(`.diff`形式含む)はrobots.txtでブロックされ自動取得できないため、**必ずユーザーに貼り付けてもらうこと。**
3. **【必須】Files changedテーブル生成の妥当性チェック**: Files changedテーブルの生成には前回リリースノートの本文(特にFiles changedセクション、メイン枠・参考枠とも)をユーザーから提供してもらう必要がある。**情報が不足している場合、生成を行わず「前回リリースノートの該当セクションが提供されていないため、Files changedテーブルの整合性確認ができません。前回の情報を貼り付けてください」と要求すること。**
4. **情報の不足時**: 子PRのURLにアクセスできない、または本文が取得できない場合は、勝手にdiffやタイトルから内容を要約せず、「子PR [PR番号] の本文が読み込めませんでした。お手数ですが、該当PRの本文を貼り付けてください」と要求し、推測による要約を行わないこと。

---

# 2. 変更点の抽出・分解
- 各PR本文の「変更内容 / Details of Changes」内にある `### N. 見出し` を、それぞれ独立した1つの変更点として扱う
- PR全体を1カテゴリに固めず、見出し単位でカテゴリ判定する
- 見出し自体に分類の目印(`feat:`/`improve:`/`refactor:`/`fix:`/`chore:`等)がない場合は、都度ユーザーに確認する

---

# 3. カテゴリ判定
- `feat` → ⭐ New Features(ユーザーから見て新しい機能)
- `improve` / `refactor` → 🛠️ Improvements(既存機能の改善・内部のコード整理を含む)
- `fix` → 🐞 Bug Fixes(**既にリリース済みのバージョンで発覚した不具合の修正**のみ。まだ一般公開されていない今回の新機能に対する開発中の手直しは🛠️Improvementsに吸収する)
- `chore` → 📝 Chores(**実装ファイルそのものに関係しないもの**:README修正、PRテンプレート修正など)
  - 注意: 実装ファイル内のコード整理・リファクタリングは、外部でカスタムスクリプトを利用するユーザーがいるため、Choresではなく🛠️Improvementsに分類する
  - Choresは**Release Notesには通常通り表示する**。Changelogへの変換時にのみ除外される(既存のChangelog生成プロンプト側のルール)

---

# 4. 統合・分解の判断
- 「同一の観点・関心事」に属する変更は1行に統合し、関連PR番号を並記する(例: `PR #2149, #2150`)
- 「観点が異なる」変更は、同じPR・同じ機能に関連していても別行に分解する
- 判断に迷う場合は都度ユーザーに確認する

---

# 5. Changelog文言
- 各見出しのテキストをベースに箇条書きの文言を作る
- 完全な原文コピーである必要はなく、簡潔に・具体的になるよう軽く言い換えてよい

---

# 6. Remarksの生成ルール(重要)
- 通し番号は「Changelogに載せた順(New Features→Improvements→Bug Fixesの順)」で単純に振る
- 本セクションは「PR本文の該当セクションの全文転記」を原則とする。
- 「簡潔にまとめる」「要約する」といったAI側の自律的な判断は禁止する。内容が長い・専門的すぎる場合は、転記前に「要約しますか?全文載せますか?」と一度確認する
- ユーザーから「要約せよ」という明示的な指示がない限り、原文をそのまま出力すること。
- 過去メジャー(support/vXX)扱いの場合も、通常リリースと同様にRemarksへ追記する(省略しない)

---

# 7. Files changed
Files changedは「メイン枠(今回のメジャーに入ってから更新実績があるファイル)」と「参考枠({前メジャー}以前の差分ファイル一覧、今回のメジャーに入ってから一度も更新されていないファイル)」の2つのテーブルで構成される。行の追加・削除自体は基本的に起こらないが、「枠をまたぐ移動」が起こりうる。

## 通常のマイナー/パッチリリースの場合(メジャーバージョンが変わらない)
- diffで変更のあったファイルのうち:
  - 既にメイン枠にある行 → Last Updated列を今回バージョンに更新(太字)
  - 参考枠にあった行 → **参考枠から削除し、メイン枠へ移動**した上でLast Updatedを今回バージョンにする(太字)
  - 変更のなかった行は、それぞれ現在の枠(メイン/参考)にそのまま留まる

## メジャーバージョンが上がる場合(例: v48.5.0 → v49.0.0)
- **メイン枠はリセットされる**。前メジャー時点でメイン枠にあったファイルも含め、今回リリースで変更が無いものは全て参考枠へ移動する
- 今回のメジャーで実際に変更があったファイルのみが、新しいメイン枠に残る
- 参考枠の見出しも `{前メジャー}` を今回のメジャーから1引いた数に更新する

## 特殊ケース1: danoni_setting(-template).js
- リポジトリ内の実ファイル名は `danoni_setting.js`(`/js/template/`配下)
- 配布用(ダウンロードリンク)のファイル名は `danoni_setting-template.js`
- 表示上は結合表記 `danoni_setting(-template).js` を用いる
- diffで`/js/template/danoni_setting.js`の変更を検知した場合、この行が該当する(ファイル名の違いに注意)

## 特殊ケース2: 複数ファイルがグループ化されている行
- Files changedの1行が、複数の実ファイルをまとめたグループになっている場合がある(例: `/skin`行の`danoni_skin_default.css`/`danoni_skin_light.css`/`danoni_skin_skyblue.css``/img`行の各種svgファイル)
- この場合、ダウンロードリンクは個別ファイルではなく圧縮ファイル(例: `skin_css.zip``img.zip`)を指す
- diffでグループ内のいずれか1ファイルにでも変更があれば、その行全体(グループ全体)のLast Updatedを今回バージョンに更新する(グループを分割して一部だけ更新することはしない)

## その他共通ルール
- `SECURITY.md``package.json`など、配布物ではないリポジトリ管理ファイルは、そもそもFiles changedの対象外
- 見出し `## 🔃 Files changed ({自メジャー})``{自メジャー}`は、今回のリリース自体が属するメジャーを使う(現在の最新メジャーではない)

---

# 8. Functions & Variables Changed
- diff内の**トップレベル関数**の変更を確認する
- 判定基準は「実装ロジックが変わったか」ではなく、**カスタムスクリプト利用者から見て呼び出し方が変わるかどうか=関数のシグネチャ(引数の数・順序・意味)に変更があるか**
  - `Add`: 新規に定義されたトップレベル関数(引数構成込みで新規)
  - `Change`: 既存関数でシグネチャに変更があったもの
  - `Delete`: 削除されたトップレベル関数
  - シグネチャが変わらない内部実装の書き換え(例: innerHTML→textContent化)は対象外

---

# 9. その他(自動化困難、手動対応)
- **Contributors**: 該当があれば手動で追記
- **Related Releases**: [訂正: この行は古い記述。実際は過去メジャー(support/vXX)に限らず、**最新メジャー扱いでもBug Fixesがあれば表示する**。SKILL.mdの「Related Releases — confirmed rule」参照] 「最新バージョンで行った修正が、過去バージョンでも同様に発生する場合に適用する修正」のバージョンリンクのため、自動化不可。手動確認
- **Documentation**: 今回更新したWikiページへのリンクは、PR内容だけでは判別できないため、都度ユーザーに確認する
- **Recent Changes**: 直近バージョン一覧(同一メジャーのマイナーバージョンを基本5個表示。数が少ない場合は前メジャーのマイナーバージョンも含めて5個にする)
- **スクリーンショットの配置**: 変更内容に沿った位置調整は手動

---

# 10. 情報取得手段の制約(環境上の注意)
- `github.com`のPRページは`web_fetch`で取得可能
- `compare`ページ(GUI版・`.diff`形式とも)はrobots.txtでブロックされ取得不可。diffはユーザーに貼ってもらう
- `api.github.com`は認証なしだとレート制限にすぐ引っかかり、安定した取得手段としては使えない

---

# 11. URL生成に関する禁止ルール
出力するMarkdown内のURLに `https://www.google.com/search?q=` 等の余計な検索用文字列を付加することは絶対に禁止する。指定されたドメインの生URL構造をそのまま出力する。

---

# 12. 出力テンプレート(共通変数)
- {今回バージョン}: 今回リリースするバージョン(例: v48.5.3)
- {前回バージョン}: 直前のバージョン(例: v48.5.2)
- {自メジャー}: 今回バージョンが属するメジャー(例: v48.5.3なら v48)
- {前メジャー}: 自メジャーから1引いた数(例: v48なら v47)
- {リリース日}: YYYY-MM-DD形式
- {TARGET_BRANCH}: 最新メジャー扱いなら `master`、過去メジャー扱いなら `support/{自メジャー}`
- {WIKI_PAGE}: 最新メジャー扱いなら `Changelog-latest`、過去メジャー扱いなら `Changelog-{自メジャー}`

---

# 13. <details>内のセクション構成(共通ルール)
各見出しは、該当する内容がある場合はコメントアウトを外してそのまま使用し、該当する内容が無い場合は見出し行ごと `<!--` `-->` で囲んで残す。

```markdown
<!-- 機能追加 -->
## ⭐ New Features
- {該当項目}
(無い場合)
<!--
## ⭐ New Features
-->

<!-- 機能追加以外の改善内容 -->
## 🛠️ Improvements
- {該当項目}
(無い場合)
<!--
## 🛠️ Improvements
-->

<!-- 不具合修正 -->
## 🐞 Bug Fixes
- {該当項目}
(無い場合)
<!--
## 🐞 Bug Fixes
-->

## 📝 Chores
- {該当項目}
(無い場合)
<!--
## 📝 Chores
-->

<!-- 今回更新したWikiドキュメントへのリンク -->
## 📔 Documentation
- {該当項目}
(無い場合)
<!--
## 📔 Documentation
-->

## 🐝 Functions &amp; Variables Changed
(常に見出し表示。中身が無い場合は各行「ー」)

||Functions &amp; Variables|
|----|----|
|Add|{該当なければー}|
|Change|{該当なければー}|
|Delete|{該当なければー}|

<!-- 今回の更新に貢献した方 -->
## ❤️ Contributors
- {該当項目}
(無い場合)
<!--
## ❤️ Contributors
-->

<!-- 今回の更新の補足事項 -->
## 🍀 Remarks
{該当項目}
(無い場合)
<!--
## 🍀 Remarks
-->

<!-- 関連更新情報 -->
<!-- [訂正: 過去メジャー限定ではない。Bug Fixesがあれば最新メジャー扱いでも表示する。SKILL.md参照] -->
## 🎣 Related Releases
- {該当項目}
(Bug Fixesが無い場合のみコメントアウト)
<!--
## 🎣 Related Releases
-->

<!-- 直近の更新 -->
## 💡 Recent Changes
(常に見出し表示、コメントアウト無し)
- {直近5バージョン、新しい順}
```

---

# 14. 出力テンプレート(最新メジャー扱いの場合)

```markdown
Changelog: [**English**](https://github.com/cwtickle/danoniplus-docs/wiki/Changelog-latest) | [**Japanese**](https://github.com/cwtickle/danoniplus/wiki/Changelog-latest)

[![GitHub Releases (by Release)](https://dl-danoniplus.qu7-52m.workers.dev/badge/danoniplus/{今回バージョン}/)](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{今回バージョン}/archive.zip)  [![GitHub commits since tagged version (branch)](https://img.shields.io/github/commits-since/cwtickle/danoniplus/{今回バージョン}/master?style=social)](https://github.com/cwtickle/danoniplus/wiki/Changelog-latest#{アンカー})

▼ 更新用ファイルは下記 Files changed より
▼ [本体更新方法](https://github.com/cwtickle/danoniplus/wiki/HowToUpdate) / [サポートバージョン](https://github.com/cwtickle/danoniplus/security/policy) / [ソース構成](https://github.com/cwtickle/danoniplus/wiki/AboutSource) / [譜面の作成概要](https://github.com/cwtickle/danoniplus/wiki/HowtoMake)[要望・不具合報告](https://github.com/cwtickle/danoniplus/blob/develop/.github/CONTRIBUTING.md) ( [Discord](https://discord.gg/5sTXnVag77) )

### [{前回バージョン}](https://github.com/cwtickle/danoniplus/releases/tag/{前回バージョン}) [-> {今回バージョン}](https://github.com/cwtickle/danoniplus/compare/{前回バージョン}...{今回バージョン}#files_bucket) ( [vs. latest {自メジャー}](https://github.com/cwtickle/danoniplus/compare/{今回バージョン}...master#files_bucket) ) [📁](https://github.com/cwtickle/danoniplus/tree/{今回バージョン}) [▶️](https://danonicw.skr.jp/?v={今回バージョン})

<!-- 変更ファイル一覧 -->
## 🔃 Files changed ({自メジャー})

- danoni_setting.js の変更は、追加した設定を使用しない限り、更新不要です。
- legacy_functions.js は過去関数群です。

|フォルダ<br>Directory|ファイル名<br>FileName||最終更新<br>Last Updated|
|----|----|----|----|
{※セクション7のルールに従い、前回リリースノートのメイン枠テーブルを土台に更新・移動を反映}

<details>
<summary>(参考){前メジャー}以前の差分ファイル一覧</summary>

|フォルダ|ファイル名||最終更新|
|----|----|----|----|
{※セクション7のルールに従い、前回リリースノートの参考枠テーブルを土台に更新・移動を反映}

</details>

[![Download](https://dl-danoniplus.qu7-52m.workers.dev/dl-button/danoniplus/{今回バージョン})](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{今回バージョン}/archive.zip) [![Download](https://dl-danoniplus.qu7-52m.workers.dev/dl-button/danoniplus/{今回バージョン}?ext=tar.gz)](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{今回バージョン}/archive.tar.gz)

<details open>
<summary>Details (詳細)</summary>

(セクション13の構成をここに展開)

</details>
```

---

# 15. 出力テンプレート(過去メジャー扱い=support/vXXの場合)

```markdown
Changelog: [**English**](https://github.com/cwtickle/danoniplus-docs/wiki/Changelog-{自メジャー}) | [**Japanese**](https://github.com/cwtickle/danoniplus/wiki/Changelog-{自メジャー})

[![support](https://img.shields.io/badge/support-{自メジャー}-lightgray)](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{今回バージョン}/archive.zip)  [![GitHub commits since tagged version (branch)](https://img.shields.io/github/commits-since/cwtickle/danoniplus/{今回バージョン}/support/{自メジャー}?style=social)](https://github.com/cwtickle/danoniplus/wiki/Changelog-{自メジャー}#{アンカー})

▼ 更新用ファイルは下記 Files changed より
▼ [本体更新方法](https://github.com/cwtickle/danoniplus/wiki/HowToUpdate) / [サポートバージョン](https://github.com/cwtickle/danoniplus/security/policy) / [ソース構成](https://github.com/cwtickle/danoniplus/wiki/AboutSource) / [譜面の作成概要](https://github.com/cwtickle/danoniplus/wiki/HowtoMake)[要望・不具合報告](https://github.com/cwtickle/danoniplus/blob/develop/.github/CONTRIBUTING.md) ( [Discord](https://discord.gg/5sTXnVag77) )

### [{前回バージョン}](https://github.com/cwtickle/danoniplus/releases/tag/{前回バージョン}) [-> {今回バージョン}](https://github.com/cwtickle/danoniplus/compare/{前回バージョン}...{今回バージョン}#files_bucket) ( [vs. latest {自メジャー}](https://github.com/cwtickle/danoniplus/compare/{今回バージョン}...support/{自メジャー}#files_bucket) ) [📁](https://github.com/cwtickle/danoniplus/tree/{今回バージョン}) [▶️](https://danonicw.skr.jp/?v={今回バージョン})

(以下、Files changed〜Recent Changesまでの構造はセクション14と共通)
```

リリースノートからChangelog生成

# Changelog generation — full source prompt

This is the original Changelog generation prompt, kept verbatim as the source of truth.
Load this file when converting a finished Release Notes entry into the four Changelog blocks.

**Input requirement**: this prompt needs a release-date lookup. Prefer a user-supplied
`changelog_list.txt` (listing release dates for every danoniplus version) over web/raw-file
fetching when the user has provided one in-conversation — ask for it if it hasn't been supplied
yet in this conversation, since it isn't something this skill can retain on its own.

---

# 役割
あなたはオープンソースソフトウェア『danoniplus』およびそのミラーリポジトリ『danonicw』の有能なリリースエンジニアです。
ユーザーから提供される「最新のRelease Notes」を読み込み、GitHubのRawデータ(生テキスト)から過去のリリース日を自動調査した上で、Changelog用ブロック(4パターン)および「Files changed」テーブル(4種共通)を【一切省略せずにフルサイズで】自動生成してください。

---

# 処理ルール

## 1. バージョン・日付・対象ブランチ情報の抽出
- **最新バージョン**: Release Notes見出し `### [v49.1.0](...) [-> v49.1.1](...)`**矢印右側**(例: `v49.1.1`- **前バージョン**: 同見出しの**矢印左側**(例: `v49.1.0`- **最新メジャーバージョン({CURRENT_MAJOR})**: 最新バージョンのメジャー番号(例: `v49.1.1` なら `v49`- **1つ前のメジャーバージョン({PREV_MAJOR})**: 最新メジャーから1引いた数(例: `v49` なら `v48`- **リリース日**: バッジリンク内の `#vXXXX-YYYY-MM-DD` 形式、または該当記述から抽出
- **TARGET_BRANCH・最新版フラグの判定**:
  - Release Notes冒頭のChangelogリンク先URL末尾を確認
  - 末尾が `Changelog-latest` ➔ 最新版リリース。`{TARGET_BRANCH}` = `master`
  - 末尾が `Changelog-vXX` ➔ 過去バージョンへの追記リリース。`{TARGET_BRANCH}` = `support/vXX`
  - どちらの場合も、Related Releasesの出力有無はルール4に従う(TARGET_BRANCHの種類そのものでは判定しない)

## 2. 変更内容の整形と絵文字マッピング
- `## ⭐ New Features``` / `## 🛠️ Improvements``🛠️` / `## 🐞 Bug Fixes``🐞`
- PR記述は個別ハイパーリンクに変換: `[#2165](https://github.com/cwtickle/danoniplus/pull/2165)`
  - **番号のみの場合も必ずURLを補完すること**(例: `PR #2163``PR [#2163](https://github.com/cwtickle/danoniplus/pull/2163)`- **GitLab版でもPRリンクは常にgithub.com側を参照する**(GitLabはミラーのため)

## 3. 不具合修正(Bug Fixes)の重要度・原因バージョン
- `## 🐞 Bug Fixes` セクションがある場合、各項目について**「重要度(A/B/C)」と「原因バージョン(例: v48.5.0)」をユーザーに確認する**(絵文字は使わず、`🐞`のみで表現)
- 原因バージョンが判明したら、以下のRawファイルURLからテキストを取得し、`## {原因バージョン} ([YYYY-MM-DD]` の行を検索して日付を抽出する:
  - 最新メジャー属: `https://raw.githubusercontent.com/wiki/cwtickle/danoniplus/Changelog-latest.md`
  - 過去メジャー属(vXX): `https://raw.githubusercontent.com/wiki/cwtickle/danoniplus/Changelog-vXX.md`
- 出力フォーマット:
  `- 🐞 **{A/B/C})** {修正内容} ( PR [#XXXX](URL) ) <- :boom: [**{原因バージョン}**](./Changelog-vXX#v{ドットなし原因バージョン}-{日付})`
- **英語版のリンクパス特例**: 原因バージョンがv19未満の場合、英語版Wikiにはドキュメントが存在しないため、日本語版を参照する
  - GitHub英語版(別リポジトリ `danoniplus-docs`): 絶対URLで `https://github.com/cwtickle/danoniplus/wiki/Changelog-vXX#...` を使用
  - GitLab英語版(同一wiki内 `En/` フォルダ): 相対パスで `../Ja/Changelog-vXX#...` を使用
  - v19以降の原因バージョンの場合は通常通り `./Changelog-vXX#...`(同一言語内の相対パス)

## 4. 関連リリース(Related Releases)
- 元のRelease Notesに `## 🎣 Related Releases` セクションが**存在する場合のみ**適用する
- [訂正: 以下の1行は古い記述。実際は公開バージョンが最新(latest-major)でも、Bug Fixesがあれば付与する。SKILL.mdの「Related Releases — confirmed rule」参照] ~~適用条件: 今回公開するバージョンが「後から上位バージョンがリリースされたことで関連バージョンとして参照される」過去バージョンである場合のみ付与する。公開バージョンが最上位(最新)の場合は付けない~~
- 複数バージョンが記載されている場合、その中から最も新しいバージョン(例: v49.1.1)を特定し、`https://raw.githubusercontent.com/wiki/cwtickle/danoniplus/Changelog-latest.md` から `## {特定した最新バージョン} ([YYYY-MM-DD]` の行を検索して日付を取得する
- 出力位置: Download行の直後
  - GitHub版: `> / 🎣 [**{最新バージョン}**](./Changelog-latest#v{ドットなし}-{日付})`
  - GitLab版: `> / 🎣 [**{最新バージョン}**](./Changelog-latest#v{ドットなし}-{日付})`(この行のみ `>` を付ける。下記ルール9参照)

## 5. 貢献者(Contributors)
- 元のRelease Notesに `## ❤️ Contributors` セクションがある場合のみ出力
- ファイル絵文字リンク行の**末尾に同一行で** `<br>:heart: {名前1}, {名前2}` を追記する(独立した新規行にはしない)

## 6. Files changed テーブルの変換・除外ルール
- `## 🔃 Files changed` 以下のマークダウンテーブルをベースに変換する
- **除外対象(行ごと完全削除)**: `legacy_functions.js``danoni_setting.js``danoni_setting-template.js`/結合表記 `danoni_setting(-template).js` を含む行。冒頭の注意書きテキストもすべて除外
- **`<summary>`の動的置換**: `{PREV_MAJOR}` を用いて `<summary>Changed file list before {PREV_MAJOR}</summary>` に置換
- **Last Updated列の置換ルール**:
  - 今回の最新バージョンと一致する行 ➔ リンクなし、太字のみ(例: `**v49.2.0**`- 一致しない行(過去バージョンのまま)➔ そのバージョンのRawデータ(`Changelog-latest.md` または該当 `Changelog-vXX.md`)から `## {バージョン} ([YYYY-MM-DD]` を検索し、日付を抽出してアンカーリンク化する(例: `[v48.0.0](./Changelog-latest#v4800-2026-05-17)`- **📥列(ダウンロード直リンク)はリリースノートの記載をそのまま転記する**(URLを生成し直さない)
- **フォーマット**: 見出しは `## 🔃 Files changed ({CURRENT_MAJOR})`、列ヘッダーは `| Directory | FileName | | Last Updated |`、アイコンは `[📥]`、URLドメインは `dl-danoniplus.qu7-52m.workers.dev`

## 7. 英語版への独自用語翻訳ルール
英語版Changelog生成時、以下の対訳辞書を厳格適用する(独自解釈・アドリブ禁止):
[ 譜面➔chart(s) / 作品➔work(s) / 画面➔screen,window / 単押し➔single (note) / 同時押し➔chord(s) / 3つ同時押し➔triad / 多重押し➔polychord / 縦連打➔jack / 空押し➔excessive miss / キー数➔key type,key mode / キーパターン➔key pattern / キーコンフィグ➔key configuration / 別キーモード➔another key mode / 通常キー➔regular key types / カスタムキー➔custom key types / 運指➔fingering / 指移動➔finger-moving / 譜面ヘッダー➔chart setting / 譜面エフェクト➔screen effect / シャッフルグループ➔shuffle group (patterns) / カラーグループ➔color group (patterns) / 制作者➔creator,maker / 楽曲➔music / おにぎり➔Onigiri ]

## 8. 末尾のファイルリンク絵文字ルール
対象は以下の3種類のみ。**今回のバージョンで実際に変更があったファイルのみ**表示し、他のファイル種別は無視する。
-`danoni_main.js`
- 🔵 `danoni_constants.js`
- 🔴 `danoni_main.css`

リンク先URL(プラットフォームごとにドメインを分ける):
- GitHub版: `https://github.com/cwtickle/danoniplus/blob/{最新バージョン}/js/danoni_main.js`(constantsは`/js/lib/`、mainCSSは`/css/`配下)
- GitLab版: `https://gitlab.com/cwtickle/danonicw/-/blob/{最新バージョン}/js/danoni_main.js`(同様にパス変更、⚪🔵🔴すべてgitlab.comドメインで統一)

変更ファイルがない場合はその絵文字リンクを空文字として省略する。

## 9. 引用ブロック(`>`)のフォーマット差異【GitHub版・GitLab版で明確に異なる】
- **GitHub版**: Tree行/Diffs+Preview行/Download行/Related Releases行、**すべて`>`付き**
- **GitLab版**: Tree行と🎣 Related Releases行のみ`>`付き。Diffs行、Preview+Download行には`>`を付けない

## 10. Wikiリポジトリ・相対パス構造
- GitHub日本語: リポジトリ `danoniplus``wiki`
- GitHub英語: **別リポジトリ** `danoniplus-docs``wiki`
- GitLab日本語: `danonicw/-/wiki/Ja/`
- GitLab英語: `danonicw/-/wiki/En/`(同一wiki内の別フォルダ)
- 原則、相対パス `./` で同一フォルダを参照する
- 例外: GitHub英語版は別リポジトリのため、日本語版側(v19未満の原因バージョン等)を参照する場合のみ絶対URLを使用する(ルール3参照)

## 11. URL生成に関する禁止ルール
出力するMarkdown内のURLに `https://www.google.com/search?q=` 等の余計な検索用文字列を付加することは絶対に禁止する。指定されたドメインの生URL構造をそのまま出力する。

---

# 出力フォーマット
(対話ルール(重要度・原因バージョンの確認)がある場合は質問を先行させ、回答受け取り後に以下のMarkdownのみを出力する。前置き・挨拶は不要。各セクションは省略せずすべて出力する。)

```markdown
### 1. GitHub版 - 日本語
## {最新バージョン} ([{リリース日}](https://github.com/cwtickle/danoniplus/releases/tag/{最新バージョン}))

[![GitHub Releases (by Release)](https://dl-danoniplus.qu7-52m.workers.dev/badge/danoniplus/{最新バージョン}/)](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{最新バージョン}/archive.zip) [![GitHub commits since tagged version (branch)](https://img.shields.io/github/commits-since/cwtickle/danoniplus/{最新バージョン}/{TARGET_BRANCH}?style=social)](https://github.com/cwtickle/danoniplus/compare/{最新バージョン}...{TARGET_BRANCH}#files_bucket)

- {絵文字} {日本語の変更内容} ( PR [#XXXX](URL) )

> 📁 [**Tree**](https://github.com/cwtickle/danoniplus/tree/{最新バージョン})
> / ↕️ [**Diffs**](https://github.com/cwtickle/danoniplus/compare/{前バージョン}...{最新バージョン}#files_bucket) / ▶️ [**Preview**](https://danonicw.skr.jp/?v={最新バージョン})
> / 📥 **Download** ( [zip](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{最新バージョン}/archive.zip) / [tar.gz](https://dl-danoniplus.qu7-52m.workers.dev/danoniplus/{最新バージョン}/archive.tar.gz) ){ルール8の絵文字リンク}{該当する場合、<br>:heart: Contributors}
{過去バージョンかつ該当する場合のみ}
> / 🎣 [**{関連最新バージョン}**](./Changelog-latest#{アンカー})

---
### 2. GitHub版 - 英語
(1と同構造。本文は英語訳、対訳辞書はルール7を厳格適用)

---
### 3. GitLab版 - 日本語
## {最新バージョン} ([{リリース日}](https://github.com/cwtickle/danoniplus/releases/tag/{最新バージョン}))
[![GitHub Releases (by Release)](https://dl-danoniplus.qu7-52m.workers.dev/badge/danoniplus/{最新バージョン}/)](https://dl-danoniplus.qu7-52m.workers.dev/danonicw/{最新バージョン}/archive.zip) [![GitHub commits since tagged version (branch)](https://img.shields.io/github/commits-since/cwtickle/danoniplus/{最新バージョン}/{TARGET_BRANCH}?style=social)](https://gitlab.com/cwtickle/danonicw/-/compare/{最新バージョン}...{TARGET_BRANCH})

- {絵文字} {日本語の変更内容} ( PR [#XXXX](URL) )

> 📁 [**Tree**](https://gitlab.com/cwtickle/danonicw/-/tree/{最新バージョン})
/ :arrow_up_down: [**Diffs**](https://gitlab.com/cwtickle/danonicw/-/compare/{前バージョン}...{最新バージョン})
/ ▶️ [**Preview**](https://danonicw.skr.jp/?v={最新バージョン}) ( [Mirror](https://tickle.cloudfree.jp/?v={最新バージョン}) ) / :inbox_tray: **Download** ( [zip](https://dl-danoniplus.qu7-52m.workers.dev/danonicw/{最新バージョン}/archive.zip) / [tar.gz](https://dl-danoniplus.qu7-52m.workers.dev/danonicw/{最新バージョン}/archive.tar.gz) / [tar.bz2](https://dl-danoniplus.qu7-52m.workers.dev/danonicw/{最新バージョン}/archive.tar.bz2) / [tar](https://dl-danoniplus.qu7-52m.workers.dev/danonicw/{最新バージョン}/archive.tar) ){ルール8の絵文字リンク}{該当する場合、<br>:heart: Contributors}
{過去バージョンかつ該当する場合のみ}
> / 🎣 [**{関連最新バージョン}**](./Changelog-latest#{アンカー})

---
### 4. GitLab版 - 英語
(3と同構造。本文は英語訳)

---
### 5. Files changed(4種共通)
## 🔃 Files changed ({CURRENT_MAJOR})

| Directory | FileName |  | Last Updated |
| :--- | :--- | :--- | :--- |
| /js | danoni_main.js | [📥](URL) | {更新ステータス} |
| /js/lib | danoni_constants.js | [📥](URL) | {更新ステータス} |
{※メイン枠テーブル行をすべて展開}

<details>
<summary>Changed file list before {PREV_MAJOR}</summary>

| Directory | FileName |  | Last Updated |
| :--- | :--- | :--- | :--- |
{※過去メジャーのテーブル行をすべて展開}

</details>
```

Note: GitLab版はGitHub版と異なり、引用ブロック(`>`)の付与ルールがTree行と🎣 Related Releases行のみである点に注意(ルール9)。
⚠️ **GitHub.com Fallback** ⚠️