一键导入
screen-transition-diagram
フロントエンドコードベースを解析し、Mermaid形式の画面遷移図(flowchart)とイベント表を生成するスキル。 ルーティング設定・ナビゲーションコンポーネント・プログラム的遷移を自動検出し、 画面間の遷移関係をドキュメント化する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
フロントエンドコードベースを解析し、Mermaid形式の画面遷移図(flowchart)とイベント表を生成するスキル。 ルーティング設定・ナビゲーションコンポーネント・プログラム的遷移を自動検出し、 画面間の遷移関係をドキュメント化する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
TerraformプロジェクトのAWSインフラにおけるネットワーク接続性と権限設定を分析します。セキュリティグループ、IAMポリシー、NACLなどを解析し、リソース間の通信可否、不要な接続、権限の過不足を検出します。Terraformファイルやtfstateがあるプロジェクトで、インフラのセキュリティレビューやネットワーク接続の検証が必要な場合に使用します。
要求定義書のレビューを行うスキル。品質チェック・矛盾検出・抜け漏れ検出・曖昧性分析を実施し、 構造化レポートを出力する。以下の場合に使用: (1) 要求定義書・要件定義書をレビューしたい時、 (2) 要求の品質や完全性を確認したい時、 (3) 矛盾・抜け漏れ・曖昧な表現を検出したい時
言語非依存のプログラミングベストプラクティスとガイドライン。コードを書く・関数/クラス/モジュールを実装する・プログラムを新規作成するあらゆる場面でPROACTIVELYに使用すること。コーディング開始前に必ずこのスキルを読み込む。コードレビュー・設計レビューにも使用する。
言語非依存の単体テストベストプラクティスとガイドライン。テストコードを書く・テストケースを追加する・テストスイートを作成するあらゆる場面でPROACTIVELYに使用すること。テストコーディング開始前に必ずこのスキルを読み込む。既存テストのレビューにも使用する。
仕様からテストケースを体系的に生成するスキル。状態機械・自然言語・Mermaid・シーケンス図など多様な入力形式に対応し、CSP安定失敗モデルに基づいて受理テストケース(トレース集合内)と拒否テストケース(トレース集合外)を網羅的に導出する。活性・到達可能性・安全性の3性質を検証するテストスイートを生成する。要求定義・仕様記述・設計成果物からのテストケース生成、テスト設計レビュー、テストカバレッジ分析に使用する。
CSPの安定失敗モデルに基づく状態機械ベースの形式仕様書を作成するスキル。 機能要求(活性・到達可能性・安全性)を入力として、 状態変数・遷移(イベント[ガード]/事後条件)・失敗集合を定義する トップレベル仕様およびコンポーネント仕様を生成する。 画面表示を持つシステムでは画面表示関数も定義する。
| name | screen-transition-diagram |
| description | フロントエンドコードベースを解析し、Mermaid形式の画面遷移図(flowchart)とイベント表を生成するスキル。 ルーティング設定・ナビゲーションコンポーネント・プログラム的遷移を自動検出し、 画面間の遷移関係をドキュメント化する。 |
| disable-model-invocation | true |
フロントエンドコードベースを解析し、Mermaid形式の画面遷移図とイベント表を生成する。
以下の5ステップで画面遷移図を構築する。
package.json の依存関係とディレクトリ構成からフレームワークとルーティング方式を特定する。
検出手順:
package.json を読み、主要フレームワーク(React, Next.js, Vue, Nuxt, Angular, SvelteKit)を特定フレームワークに応じた方法で全画面(ルート)を列挙し、各画面に短いIDを付与する。
ファイルベースルーティングの場合(Next.js, SvelteKit, Nuxt):
page.tsx / +page.svelte 等のルートファイルを検出設定ベースルーティングの場合(React Router, Vue Router, Angular):
routes.tsx, router/index.ts 等)を検索<Route>, createBrowserRouter, routes 配列等のルート定義を解析ID付与ルール:
画面名 の短いIDを付与(例: Login, Home, ProductDetail)各画面のコンポーネントコードを読み、他の画面への遷移を検出する。
検出対象:
| 種別 | パターン例 |
|---|---|
| 宣言的ナビゲーション | <Link to="...">, <router-link to="...">, <a routerLink="..."> |
| プログラム的ナビゲーション | navigate(), router.push(), router.navigate(), goto() |
| リダイレクト | <Navigate to="...">, redirect(), $router.replace() |
| フォーム送信後遷移 | onSubmit ハンドラ内の navigate() 等 |
記録する情報:
各遷移について以下を記録する:
E1, E2, ... の連番遷移に付随する条件(認証チェック、権限チェック等)を検出する。
検出対象:
| レベル | パターン例 |
|---|---|
| ルートレベルガード | Angular canActivate / canDeactivate, Vue beforeEnter / beforeEach, Next.js middleware.ts |
| コンポーネント内ガード | if (!isAuthenticated) navigate('/login'), useEffect 内のリダイレクト |
| HOC / ラッパー | <ProtectedRoute>, withAuth(), requireAuth() |
記録ルール:
isAuth, !isAdmin, cart.length > 0)hasPermission('edit') → editPerm)収集した情報をもとに、イベント表 → Mermaid図 の順で出力を構築する。
完成例は references/output-example.md を参照すること。
Markdown テーブルで出力する。
列構成:
| 列名 | 説明 |
|---|---|
# | イベント番号(E1, E2, ...) |
ソース | 遷移元の画面ID |
イベント | トリガーとなるユーザー操作やイベント |
ガード | 条件式(ガード条件が1件もない場合はこの列自体を省略) |
遷移先 | 遷移先の画面ID |
基本ルール:
flowchart TD(上から下)ScreenId([画面名])Source -->|E1| Destsubgraph で囲む(例: 認証系、商品系)Source -->|E1, E2| DestMermaid記法の注意点:
(, ), [, ])を含む場合は " で囲むsubgraph のタイトルに日本語を使う場合は ["タイトル"] の形式を使用| ケース | 対応方針 |
|---|---|
動的ルート /products/:id | 1つの画面として扱う(パラメータ部分は表記に含める) |
| モーダル / ダイアログ | ルート変更を伴う場合のみ画面として含める |
外部リンク (https://...) | 画面遷移図から除外する |
| 変数による動的遷移先 | 遷移先を [動的] と表記する |
| Catch-all / 404ページ | 1つの画面 NotFound として含める(個別の遷移矢印は不要) |
| ネストレイアウト | レイアウト自体は画面に含めず、子ルートのみを画面とする |
output-example.md — ECサイトを題材にした完成例(Mermaid図 + イベント表)