mcpField
W
wiki-update

wiki-update

github.com/kfchou生産性18872 回インストール17 週間前に更新
リポジトリ

wiki-update について

wiki-updateは、出典を示して既存のWikiページを改訂するスキルです。Wikiのスキーマを確認し、ページごとの承認、リンク先への影響確認、操作記録を行います。

主な機能

  1. 01スキーマとリンク形式の確認
  2. 02出典付き差分の提示
  3. 03書き込み前のページ別確認
  4. 04相互参照への影響確認
  5. 05矛盾の検索とインデックス更新
  6. 06操作ログの記録

活用シーン

  1. 01新たな出典情報によるページ更新
  2. 02lintレポートの推奨事項への対応
  3. 03追跡可能性を保ったWikiの改訂

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kfchou/wiki-skills --skill wiki-update

インストール後、Claude Code で/wiki-updateを入力して読み込まれたか確認します。

詳細

Wiki の更新

既存の wiki ページを改訂します。書き込む前に、必ず差分を表示します。必ずログを記録します。新しい情報には必ず出典を明記します。

前提条件

SCHEMA.md を見つけます(現在の作業ディレクトリから上位へ検索するか、~/wikis/ を検索します)。見つからない場合は、まず wiki-init を実行するようユーザーに伝えます。wiki のルートパスと規約を確認するため、ファイルを読みます。

リンク形式。 SCHEMA.md から link_style: を読み取ります。フィールドがない場合、または <wiki-root>/config/link-style.md が存在しない場合は、obsidian([[slug]])をデフォルトにします。それ以外の場合は、<wiki-root>/config/link-style.md を読み、出力と解析のルールを確認します。既存ページの相互参照をスキャンするときは ## Parse ルールを使用し、新しい相互参照や引用を記述するときは必ず ## Emit ルールを使用します。

手順

1. 更新対象を特定する

ユーザーから、以下のいずれかが提示される場合があります。

  • 特定のページ名 — そのページを更新します
  • 新しい情報 — インデックスを再生成し(python bin/generate-index.py)、wiki/index.md を読んで影響を受けるページを見つけてから、それらのページを読みます
  • lint レポート — 推奨事項を一つずつ確認します
2. 更新するページごとに

現在の内容をすべて読みます。変更案を提示します。

現在: <既存のテキストを引用> 提案: <置き換え後のテキスト> 理由: <この変更が妥当な理由> 出典: <URL、ファイルパス、または情報源の説明>

出典を必ず記載してください。 出典の引用がない編集は追跡不能になり、将来、変更の理由が分からなくなります。

提案する編集で新しい [[slug]] を追加する場合、 書き込む前に、リンク先が既存の wiki/pages/<slug>.md(またはこの作業で作成するページ)に解決されることを確認する必要があります。詳しくは SCHEMA.md の Concept Identity ルールを参照してください。存在を確認していない slug をリンクに追加してはいけません。

ページごとに書き込み前の確認を求めます。ページごとの確認を得ずに、変更をまとめて適用してはいけません。

3. 影響を受ける関連ページを確認する

主な更新対象ページを特定した後、config/link-style.md の ## Parse ルールを使い、wiki/pages/ 全体からそれらのページへの相互参照を検索します。更新対象ページにリンクしている各ページについて、以下を確認します。

  • 更新によって、そのページが述べている内容に変更は生じますか?
  • 変更が生じる場合は、「 もこの変更に基づいて更新が必要となる可能性があります」と明示します
  • 同じ確認後に書き込む手順で、そのページも更新するか提案します
4. 矛盾の確認

新しい情報が wiki の内容と矛盾する場合は、更新前に矛盾する主張を全ページから検索します。同じ内容が複数の場所に記載されている可能性があります。最も明白な箇所だけでなく、該当するすべての箇所を更新します。

5. wiki/index.md を再生成する

インデックスを手作業で編集してはいけません。ページの1行要約またはカテゴリが変わった場合は、ページ自体の frontmatter にある summary / category を編集します。ページの updated 日付は必ず更新し、created は変更しません。その後、再生成します。

python bin/generate-index.py
6. wiki/overview.md を更新する

overview.md を読み直します。更新によって全体の統合的な見解に変化(新たな理解、未解決事項の解決、主要な主張の変更)が生じる場合は、同じ確認後に書き込む手順で overview.md の編集を提案します。

7. 作業を記録する

SCHEMA の Operation Log & Commit Convention に従います。

  • Git 管理の wiki: 変更をステージングし、コミットを提案します(デフォルトでは、更新に Conventional Commits の docs: とトレーラーを使用します)。ユーザーの確認後にコミットします。
    docs: <what changed, briefly>
    
    Wiki-Op: update
    
  • Git 管理外の wiki: wiki/log.md に追記します(ファイルが存在していても省略してはいけません)。
    ## [<today>] update | <list of updated page slugs>
    Reason: <brief description of what changed and why>
    Source: <URL or description>
    

よくある間違い

  • 出典を明記せずに更新する — 新しい情報の出典を必ず記載してください。これにより、Wiki の監査が可能になります。
  • 下流への影響を確認しない — ページの内容と矛盾する更新を行い、そのページへのリンク元ページを変更せずに残すと、気づかれない不整合が生じます。
  • ログを省略する — すべての変更を記録する必要があります。git Wiki の場合は変更をコミットし(Wiki-Op: トレーラーを付けます)、git を使わない Wiki の場合は log.md に追記します。
  • 確認を得ずにまとめて書き込む — 差分を個別に提示してください。ユーザーは一部の変更を承認し、ほかの変更を却下する場合があります。
  • 更新せずに追記する — ページ本文に ## [date] update セクションを追加しないでください。該当するセクションをその場で編集し、フロントマターの updated 日付を更新して、log.md に変更を記録してください。日付入りのセクションがすでにある場合は、更新の一環としてその場に統合することを提案してください。
  • 編集で [[slug]] リンクを捏造する — 改訂時に、参照先が存在しないスラッグへの相互参照を追加してはいけません。参照先が存在することを確認するか、作成してください。SCHEMA.md の Concept Identity ルールを参照してください。

コメント