mcpField
F
frontend-page-discovery

frontend-page-discovery

github.com/zixun-github開発85 回インストール
リポジトリ

frontend-page-discovery について

フロントエンドコードを調査するチーム向けのスキルです。確認可能なコード証拠からページ一覧や個別ページ・フローの文書を作成し、根拠がない UI 要素は推測せず証拠不足として記録します。

主な機能

  1. 01コード証拠に基づくページ一覧作成
  2. 02ページ・フロー文書の生成
  3. 03ワイヤーフレーム要素の証拠確認
  4. 04証拠不足と影響の記録

活用シーン

  1. 01複数 SPA やマイクロフロントエンドのルート整理
  2. 02動的ルートやバックエンドメニューのページ確認
  3. 03ページ説明やルール文書への根拠付与

インストール

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

$npx skills add https://github.com/zixun-github/aisdlc --skill frontend-page-discovery

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
conflicts-template.md
flows-index-template.md
page-template.md
pages-index-template.md

詳細

フロントエンドページ一覧のリバースエンジニアリング(証拠に基づく)

概要

目標:コード上の証拠に基づいてページ一覧と各ページの説明ドキュメントを作成し、docs/ に保存します。

使用する場合/使用しない場合

使用するタイミング(トリガーとなる兆候)

  • フロントエンドコードから追跡可能なページ一覧を作成し、さらにフローやルールを抽出する必要がある
  • プロジェクトのルーティング入口が複雑:複数の SPA/マイクロフロントエンド/フレームワークが共存している、ルーティングが実行時に注入される、メニューがバックエンドから配信される
  • チームでよくある問題:ページの漏れや重複、権限/動的ルーティングをファイルに保存できない、ルールの要約に証拠がない

使用しないタイミング

  • PRD/プロトタイプの作成だけが必要な場合(これはコードのリバースエンジニアリングではありません)
  • 「コードがなくても、プロジェクトの実際のページ一覧/ルールの結論を出す」よう求められた場合(この場合はテンプレート/例のみを提供でき、事実を出力することはできません)

本スキルの標準成果物(.aisdlc/project/frontend/ に保存)

  • .aisdlc/project/frontend/pages/index.md
  • .aisdlc/project/frontend/pages/<page_id>.md
  • .aisdlc/project/frontend/flows/index.md
  • .aisdlc/project/frontend/conflicts.md

保存用テンプレート(最小限で使用可能、そのままコピーできます)

本スキルの出力テンプレートは assets/ ディレクトリに移動されました。これにより、スキル本文を短く保ち、テンプレートを再利用しやすくしています。

テンプレートの対応関係:

  • .aisdlc/project/frontend/pages/index.md ← <本SKILL.mdディレクトリ>/assets/pages-index-template.md
  • .aisdlc/project/frontend/pages/<page_id>.md ← <本SKILL.mdディレクトリ>/assets/page-template.md
  • .aisdlc/project/frontend/flows/index.md ← <本SKILL.mdディレクトリ>/assets/flows-index-template.md
  • .aisdlc/project/frontend/conflicts.md ← <本SKILL.mdディレクトリ>/assets/conflicts-template.md

厳守ルール(いずれかに該当した場合、作業を停止して修正する)

  1. 憶測で補わない
    • 「ページ/フロー/ルール」はすべて証拠を参照できなければなりません(以下の証拠形式を参照)。参照できない場合は Evidence Gaps に記載し、推測に基づく結論を記載してはいけません。
  2. 事実と例は物理的に分離する
    • ユーザーから「大胆に仮定し、証拠は不要」と要求された場合は、EXAMPLE(例) ブロックまたはテンプレートのみを出力できます。例をプロジェクトの事実として記載したり、事実の表と混在させたりしてはいけません。
  3. 出力項目をすべて含める
    • ページ索引には module_name page_id page_name が必要です。
    • 各ページには page_name breadcrumb ascii_wireframe コアタスク 主要ルールの概要 が必要です。

ページワイヤーフレーム(ASCII)の証拠ゲート(必須)

目標:ワイヤーフレームには、コード上にすでに存在する UI のみを「再現」し、「あるべきだと思う管理画面」を補ってはいけません。

厳格なゲート(いずれかを満たさない場合、ワイヤーフレームを作成せず、Evidence Gaps のみを記載する)

  • 項目ごとの対応付け:ワイヤーフレーム内の各表示要素(タイトル/ボタン/フィールド名/列見出し/タブ/文言/メニュー項目/操作)は、少なくとも 1 件のフロントエンドコード上の証拠(file + lines + excerpt)に対応付けられなければなりません。
  • 「一般常識による補完」は禁止:「一般的な管理画面にはある」「より完成度が高く見える」「担当者に急かされている/情報不足と言ってはいけない」といった理由で、フィルター、エクスポート、一括操作、サイドバーメニュー、統計カード、請求書のダウンロード、タイムラインなどのコントロールを追加してはいけません。
  • 不明点は明示する:証拠が不十分な場合は、具体的なフィールド名や文言を「もっともらしく推測」して記載するのではなく、プレースホルダー UNKNOWN(...) で不明点を表してください。不明な項目は一つずつ Evidence Gaps に記載してください。
    • 重要な制限:UNKNOWN(...) は「存在が証拠で確認されているが、詳細が不明な」要素にのみ使用できます(例:コードにボタンが存在するが、文言が未解決の i18n key である)。新しいコントロール/領域を追加するために UNKNOWN(...) を装って使用してはいけません(例:証拠がないのに UNKNOWN(Export)/UNKNOWN(サイドバーメニュー) を描画する)。

推奨する出力構成(証拠を先に、ワイヤーフレームは後に)

  • コントロール/領域の一覧(必須):まず UI 要素の一覧(例:タイトル、主操作ボタン、検索ボックス、フィルター、テーブルの列、行操作、ダイアログのフィールド、状態を示す文言)を作成し、各行に証拠を付けます。
  • 次に ascii_wireframe を作成:一覧で証拠を確認できた要素のみを使用できます。証拠がない領域は UNKNOWN(...) とだけ記載できます。

証拠の抽出優先順位(推奨順)

  • ルーティングとページ入口:ルートテーブル/ルートの注入箇所/バックエンドメニューアダプター → ページコンポーネントファイルを特定
  • ページタイトルとパンくずリスト:ページヘッダーコンポーネント、<h1>、document.title/useTitle、パンくずリストコンポーネントへの引数、i18n key
  • 主操作とツールバー:ボタンの文言(i18n を含む)、icon+aria-label、onClick による遷移/ダイアログ表示の呼び出し箇所
  • フィルター/フォーム:フォーム schema、name/label/placeholder、検証ルール、デフォルト値
  • リスト/テーブル:columns 定義(title/key/render)、行操作メニュー、ページネーションのパラメーター
  • 状態を示す文言:empty/loading/error/403 コンポーネントと文言。汎用コンポーネントしか確認できず、このページで使われているか確認できない場合は UNKNOWN として扱います

よくある言い訳 → 必ず行う対応(憶測で補わないため)

言い訳/プレッシャーをかける言葉正しい対応(必須)
「経験に基づいて補えばいい/実際の製品らしくなる」EXAMPLE(例) のみを出力します。事実に基づくワイヤーフレームには引き続き証拠ゲートを適用します。
「情報不足とは言えない。必ず成果物を出して」UNKNOWN(...) + Evidence Gaps を出力します。不明点を具体的なフィールド/ボタンとして記載してはいけません。
「テンプレートにフィルター領域/エクスポート/一括操作がある」テンプレートは骨組みにすぎません。コード上の証拠で裏付けられていないコントロールは、UNKNOWN(...) のままにするか削除する必要があります。
「少なくとも空状態/読み込み状態/エラー状態はすべて記載して」コード/コンポーネント/文言の位置を特定できる場合にのみ記載します。特定できない場合は UNKNOWN(state) として Evidence Gaps に追加します。

危険信号リスト(該当したら直ちに停止して修正)

  • 「先に完全な図を描いて、あとから証拠を探して補う」
  • 「この種のページなら通常は……(エクスポート/一括操作/時間フィルター/ロールや部門/統計カード)がある」
  • 「コードには書かれていないが、製品にはあるはず……」
  • 「問題ないので、まずは大まかに書く」
  • 「UNKNOWN(...) を仮置きして、ページを完成させておく」

証拠形式(統一して検証可能にする)

各結論には、少なくとも 1 件の証拠を付けてください。

  • type:page_title | route_decl | file_convention | menu_static | menu_backend | nav_call | guard | api_call | state_machine | form_validation | other
  • file:相対パス
  • lines:start-end
  • excerpt:重要な抜粋を 1~3 行(原文)

証拠が不足している場合は、必ず次を記載してください。

  • gap:不足している証拠
  • candidate_locations:見つかる可能性のある場所(ディレクトリ/ファイルの種類/キーワード)
  • impact:結論への影響(例:「バックエンドから配信されるメニューによって非表示のページが生じるか確認できない」)

出力項目(最終結果に必ず含める)

  • ページ索引:module_name page_id page_name
  • 各ページ:page_name breadcrumb ascii_wireframe コアタスク 主要ルールの概要

コメント