Skip to main content

restore-toggles

編集ツールに剥がされた `<details>` トグルを、git 差分を見て消えたタグだけ戻す。本文の文字は変えない。「restore-toggles」「トグルを復元して」と指示されたとき。

Quellinformationen

Repository
kasiopeiya/claude-dev-template
Letzte Quellaktivität
27. September 2026 um 07:01
Erkannte Sprache von SKILL.md
Japanisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
restore-toggles
description
編集ツールに剥がされた `<details>` トグルを、git 差分を見て消えたタグだけ戻す。本文の文字は変えない。「restore-toggles」「トグルを復元して」と指示されたとき。
argument-hint
[対象ファイルパス。省略時は git diff の変更ファイル全部]
disable-model-invocation
true
# Restore Toggles(剥がれたトグルを戻す) 直前のコミットと作業ツリーを見比べ、**消えた `<details>` のタグだけ**を元の位置に戻す。本文の文字は1文字も変えない。 **対象は文書中のすべてのトグルで、`summary` の中身は問わない。** 剥がすツールはタグを見て落とすのであって、中身を読んで選んでいるわけではないからである。 ## なぜこれが要るか Markdown を見た目のまま編集するエディタ(VSCode 拡張の Markdown for Humans など)は、保存のたびに文書を内部モデルへ変換して書き戻す。そのモデルに生 HTML のノードが無いと、`<details>` と `<summary>` のタグが落ち、`summary` の文字列だけが地の文の段落として残る。 **手動起動なのは、復元と検出が別の仕事だから。** 呼ぶのは「剥がれたと気づいた人」であり、気づく仕組みは CI 側が受け持つ。 ## 前提 正しい形が **git のどこかに残っていること**が前提である。残っていなければこのスキルは使えない。 - **まだコミットしていない**:`HEAD` - **すでにコミットしてしまった**:`git log -S '<details>' -- <path>` で正しい版を探す ## 手順 ### 1. 対象ファイルを決める 引数があればそのファイル。無ければ `git diff --name-only -- '*.md'` の結果を対象にする。1件も無ければ、その旨を伝えて終わる。 ### 2. 比較元のトグルを洗い出す `git show <比較元>:<path>` で元の中身を取り、`<details>` から `</details>` までのブロックを**すべて**拾う。ブロックごとに `summary` の文字列と本文を控える。控えた `summary` は後でそのまま書き戻すので、文字を変えたり揃えたりしない。 ### 3. 作業ツリーの状態で分類する 比較元のブロック1つずつについて、作業ツリーの状態を次の4つに振り分ける。判定に使うのはブロックの有無だけで、`summary` が何と書いてあるかは見ない。 | 作業ツリーの状態 | 判定 | すること | | ---------------------------------------------- | ------ | --------------------------------------------- | | `<details>` があり、比較元と同じ | 無事 | 何もしない | | `summary` の文字列が地の文の行として残っている | 剥がれ | その行を起点にタグを戻す | | ブロックごと消えている | 消失 | **復元しない。** 報告だけする | | 比較元に無い新しい箇所にトグルが無い | 対象外 | **復元しない。** 規約違反の疑いとして報告する | 消失を復元しないのは、本文まで消えているとき「エディタが落としたのか、人が消したのか」を区別できないからである。区別できないものを戻すと、人が消したはずの文章が黙って復活する。 ### 4. タグを戻す 剥がれと判定した箇所だけを直す。地の文として残っている行を `<summary>◯◯</summary>` に置き換え、その前に `<details>`、ブロックの末尾に `</details>` を入れる。 ブロックの末尾は**比較元から取る**。作業ツリーの見た目から推測してはならない。 > [!IMPORTANT] > **(AI・必須)** 挿入してよいのは `<details>` ・ `</details>` ・ `<summary>` 行の3行と、その前後に必要な空行だけである。`summary` の文字列は比較元をそのまま使い、本文の文字は1文字も変えない。整形も、表記ゆれの修正も、削除テストの適用もしない。上記の4分類のどれにも当てはまらない状態を見つけたら、復元せず「対象外」として報告する。 本文が比較元と違っていても、それは同じ保存で人が書き換えた結果なので、**作業ツリーの本文をそのまま残す**。 ### 5. 検証する **復元を始める前に、対象ファイルをスクラッチパッドへ退避しておく。** 退避した版と復元後を `diff` で比べ、増えた行がタグ行と空行だけであることを確かめる。他の行が1行でも動いていたら、その変更を取り消してから報告する。 `git diff` では確かめられない。作業ツリーには剥がれ以外の変更も混ざっているためである。 ## 報告 復元した箇所・しなかった箇所を、ファイルと行番号で挙げる。しなかった箇所は理由(消失/対象外)を書き、消失した箇所には `git show <比較元>:<path>` で本文を取り出せることを添える。 ## 使用方法 ``` /restore-toggles /restore-toggles samples/docs/design/cicd-design.md ```
Auf GitHub ansehen