agentleFS
trappletrapple/skills/refactor-doc/SKILL.md

refactor-doc

Skill0 starsChanged 4 months agoMITView on GitHub

既存のドキュメントファイルをプロジェクト標準(frontmatter / prefix / 配置 / 構造)に従ってリファクタリングします。冗長さや陳腐化した記述を整理し、相互参照や frontmatter の整合性、計画書なら実装との整合性も検証します。

The file

Files
SKILL.md

あなたはドキュメントリファクタリングの専門家です。既存のドキュメントファイルをプロジェクト固有の規約に従って再構成することに特化しています。元の事実情報を保ちつつ、構造・配置・frontmatter・相互参照を整え、冗長さや陳腐化した記述を取り除きます。

対象の決定

引数にファイルパスがある場合

$ARGUMENTS で指定されたファイルを対象とする。

引数がない場合

AskUserQuestion ツールでリファクタ対象のファイルパスをユーザーに確認する。会話履歴や git ログから推測しない(このスキルは既存ドキュメントの再構成が主軸であり、対象ファイルがなければ動作しない)。

実行プロセス

Phase 1: 並列エージェント分析

対象ファイルの内容を読み取った上で、以下の観点ごとに別々の Agent を並列起動して分析させる。各エージェントは調査結果のみを返し、ファイル操作は行わない。

エージェント1: コンテンツレビュー(何を残し、何を削るか)

対象ドキュメントの内容を読み、以下を抽出・分類して報告する:

  • 残すべき一次情報(事実、決定事項、調査結果、設定詳細、制約、回避策)
  • 削るべき冗長な記述(同一情報の重複、すぐ陳腐化する実装詳細、自明な情報)
  • コードから読み取れる情報の転記: 変数名・関数シグネチャ・具体的ロジック・型定義など、コードを見れば分かる内容がドキュメントに転記されていないか。該当する場合はコードへの参照(ファイルパス、行番号、関数名)に置き換えることを提案する
  • 分離すべき関心事(別ドキュメントに切り出すべき内容)
  • 不足している重要コンテキスト(決定の背景、why の説明)
  • 事実と意見・推奨事項の混在箇所

エージェント2: 構造・配置分析(どこにどう置くべきか)

既存ドキュメントとプロジェクト規約を確認し、以下を報告する:

  • 対象ファイルの prefix が適切か(analysis_ / plan_ / strategy_)
  • 配置先ディレクトリが適切か(移動が必要なら提案)
  • 関連する既存ドキュメントへの相互参照候補
  • 実行計画書の場合はテンプレート(docs/templates/plan_template.md)との対応
  • 見出し階層の不整合

エージェント3: 品質チェック観点(frontmatter / 形式)

対象ドキュメントに対し以下の品質観点を洗い出す:

  • frontmatter (YAML) が壊れている箇所:
    • 値部分に escape されていないコロン : を含む書き方(YAML parser が key と解釈してしまう)。例: 最終更新: 2026-05-27 (Phase 1 完了: suffixPath 修正) の括弧内 : は NG → - や 、 に置換、または値全体を "..." で quote する
    • 値部分にハッシュ # を含む書き方(コメント開始と誤認される)
    • 必須キー (作成日 / 最終更新 / ステータス) の欠落
    • 日付が YYYY-MM-DD 形式から外れている
    • ステータス が WIP / ACCEPTED / ARCHIVED 以外
  • 散文で書くべきでない箇所(比較・進捗管理は表・チェックリスト推奨)

エージェント4: 実装整合性チェック(計画と実装が一致しているか)

対象ドキュメントが実行計画書(plan_)であり、かつ関連する実装コードが存在する場合のみ起動する。存在しない場合はスキップする。

確認観点:

  • 計画書に記載されたリソース名・設定値と、実装コード(CDK 等)の値が一致しているか
  • 計画書の TODO が実装側で解決済みになっていないか(解決済みならドキュメント更新を提案)
  • 計画書の Phase ステータス(未着手/進行中/完了)と、実際のコミット履歴・デプロイログの状態が乖離していないか
  • 計画書に記載のないリソースやパラメータが実装側に追加されていないか

報告形式:

  • 乖離がある場合: 具体的な箇所と、ドキュメント側・実装側それぞれの値を対比して報告
  • 乖離がない場合: 「整合性 OK」と報告

Phase 2: メインエージェントによる統合・実行

各エージェントの分析結果を統合し、メインエージェントが以下を実行する:

  1. 分析結果の統合: 各エージェントの報告を突き合わせ、矛盾があれば解消する
  2. ドキュメントの書き換え: 統合結果に基づき、対象ファイルを編集する。元の事実情報を保ったまま構造・配置・frontmatter を整える
  3. 最終検証: 書き換え後のドキュメントが以下を満たすことを確認する
    • frontmatter 構文チェック: 先頭の --- で囲まれた YAML ブロックを python3 -c "import yaml,sys;yaml.safe_load(open(sys.argv[1]).read().split('---')[1])" <file> 等でパース可能か確認する。エラーが出る場合は値内の : や # を quote / 置換する
    • frontmatter 必須キー: 作成日 / 最終更新 / ステータス の 3 つが揃っている
    • frontmatter 値形式: 日付が YYYY-MM-DD 形式、ステータスが WIP / ACCEPTED / ARCHIVED のいずれか
    • ファイル名 prefix 規約: analysis_ / plan_ / strategy_ のいずれか (該当する場合)
    • 相互参照: 関連ドキュメントへの相対リンクが正しい
    • 冗長性: 同一情報の重複転記がない (一次情報の置き場所を 1 か所に決め、他は参照リンクで指す)

ドキュメント原則

  1. 元の事実情報の保持: リファクタの過程で、元のドキュメントに記載された事実・決定事項・調査結果を削除・改変しない。推測や仮定を加えない。
  2. プロジェクト標準の適用: CLAUDE.md に定められたドキュメント標準に従う:

    • prefix 規約を使用(analysis_ = 調査・分析、plan_ = 実行計画、strategy_ = 上位戦略)
    • 日付メタデータを frontmatter で管理(作成日 / 最終更新 / ステータス)
    • docs/ 配下の適切なトピックディレクトリに配置
    • 実行計画書はテンプレートに従う: docs/templates/plan_template.md
    • ドキュメント内容はすべて日本語で記述
  3. 構造の強化: 以下の方法でドキュメントを整理する:

    • 関連情報を論理的なセクションにグループ化
    • 見出し、リスト、表を使って読みやすくする
    • 関連ドキュメントへの相互参照を追加
    • 決定の背景(what だけでなく why)を保持
    • 事実と意見・推奨事項を明確に分離する
    • 選択肢の比較や進捗管理には、散文より構造化フォーマット(表、チェックリスト)を選ぶ
  4. バランスの維持: 以下のようなドキュメントは整理対象:

    • 冗長すぎる、同じ情報を異なる表現で繰り返す
    • すぐに陳腐化する不要な実装詳細を含む
    • 分離すべき異なる関心事を 1 つのドキュメントに混在させる
    • 将来の読者にとって不明確になる重要なコンテキストを省略する
    • 内容より体裁を優先する
    • 自明な情報を記載する
  5. コードと重複する情報を書かない: コードを読めばわかることはドキュメントに転記しない。コードが常に一次情報源であり、ドキュメント側にコピーするとすぐに乖離する。

    • 対象: 変数名・関数シグネチャ・具体的なロジック・import 文・型定義など、コードから直接読み取れる情報
    • 参照が必要な場合は、コードへの参照(ファイルパス、可能なら行番号や関数名)のみを記載する。例: src/foo.ts:42 の parseConfig() を参照
    • 例外: 「なぜその実装にしたか(why)」「コードに表れない設計判断・制約」はドキュメント側の固有情報なので残す

ユーザーが明示的に呼び出した時に動作する。既存ドキュメントをプロジェクト規約に沿った整理された状態に保つことが目標である。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.