Skip to content
element-relationship-analyzer logo

Element Relationship Analyzer

element-relationship-analyzer

プラグイン要素間の依存関係や呼び出し順序を分析する。プラグイン整合性確認時、依存関係検証時、またはユーザーが要素間依存、呼び出し順序、循環依存、アーキテクチャ検証に言及した際に使用する。

SKILL.md

Full skill instructions

Element Relationship Analyzer

概要

このSkillは、プラグイン内の要素(エージェント、スキル、コマンド)間の依存関係や呼び出し順序を分析する。プラグインの整合性を確認し、循環依存やアーキテクチャ違反を検出して、適切な依存関係の構築を支援する。

責任範囲

このSkillは以下の範囲をカバーする:

  • プラグイン要素(エージェント、スキル、コマンド)の収集
  • 要素間の依存関係の分析
  • 要素の呼び出し順序の分析
  • 循環依存の検出と報告
  • アーキテクチャ規約違反の検出
  • 依存関係の最適化提案

ワークフロー

フェーズ1: 要素収集

プラグインディレクトリから全ての要素を収集し、基本情報を抽出する。

実施内容:

  1. プラグインディレクトリ構造を確認する
  2. エージェントファイルを収集する
  3. スキルファイルを収集する
  4. コマンドファイルを収集する
  5. 各要素のフロントマター情報を抽出する

収集対象:

  • エージェント: agents/[agent-name].md
  • スキル: skills/​*/​SKILL.md
  • コマンド: commands/[command-name].md

抽出情報:

  • name(要素名)
  • description(説明)
  • tools(エージェントのみ)
  • 依存する要素の参照(本文中のエージェント名、スキル名、コマンド名)

良い例:

【要素収集結果】

プラグイン名: database-design-plugin
プラグインディレクトリ: D:\projects\database-design-plugin

エージェント (1個):
- database-design-agent
  - 説明: データベース設計フェーズ全体に対する責任を持つ
  - tools: "*"

スキル (7個):
ワークフロースキル:
- entity-definition-collector
  - 説明: エンティティ定義を収集する
- normalization-processor
  - 説明: 正規化を実施する
- er-diagram-generator
  - 説明: ER図を生成する
- table-definition-writer
  - 説明: テーブル定義書を作成する
- ddl-script-generator
  - 説明: DDLスクリプトを生成する

コンベンションスキル:
- database-naming-conventions
  - 説明: データベース命名規則を定義
- normalization-rules
  - 説明: 正規化ルールを定義

コマンド (2個):
- design-database
  - 説明: データベース設計全体を実行
- generate-schema
  - 説明: スキーマ定義のみを生成

悪い例:

【要素収集結果】

何かある

フェーズ2: 依存関係分析

各要素が参照する他の要素を分析し、依存関係を明確にする。

実施内容:

  1. 各要素のドキュメント本文を解析する
  2. 他の要素への参照を検出する
  3. 依存関係マップを作成する
  4. 依存の種類を分類する(必須依存、オプション依存)
  5. 依存の方向を確認する(エージェント→スキル、スキル→スキル、コマンド→エージェント/スキル)

依存関係の検出方法:

  • エージェント: 本文中のスキル名参照
  • スキル: 本文中の他のスキル名参照(※プラグインアーキテクチャ規約では推奨されない)
  • コマンド: 「使用するエージェント」「使用するスキル」セクションからの参照

良い例:

【依存関係分析結果】

コマンド: design-database
- 使用するエージェント:
  - database-design-agent(必須)
- 使用するスキル:
  - entity-definition-collector(必須)
  - normalization-processor(必須)
  - er-diagram-generator(必須)
  - table-definition-writer(必須)
  - ddl-script-generator(必須)
  - database-naming-conventions(必須)
  - normalization-rules(必須)

コマンド: generate-schema
- 使用するエージェント:
  - database-design-agent(必須)
- 使用するスキル:
  - entity-definition-collector(必須)
  - normalization-processor(必須)
  - database-naming-conventions(必須)
  - normalization-rules(必須)

エージェント: database-design-agent
- 依存するスキル: なし
  ※アーキテクチャ規約に従い、エージェントは直接スキルを参照しない

スキル: entity-definition-collector
- 依存するスキル: なし
  ※アーキテクチャ規約に従い、スキルは他のスキルを参照しない

スキル: normalization-processor
- 依存するスキル: なし

スキル: er-diagram-generator
- 依存するスキル: なし

スキル: table-definition-writer
- 依存するスキル: なし

スキル: ddl-script-generator
- 依存するスキル: なし

スキル: database-naming-conventions
- 依存するスキル: なし

スキル: normalization-rules
- 依存するスキル: なし

悪い例:

【依存関係分析結果】

いろいろ依存している

フェーズ3: 呼び出し順序分析

コマンドにおけるスキルの呼び出し順序を分析する。

実施内容:

  1. 各コマンドの「実行フロー」セクションを解析する
  2. スキルの実行順序を抽出する
  3. 並列実行可能なスキルを特定する
  4. 順次実行が必要なスキルを特定する
  5. 実行順序の妥当性を検証する

分析基準:

  • スキルの実行順序が明確であるか
  • 依存関係に基づいた順序になっているか
  • 並列実行可能なスキルが適切に識別されているか
  • データの受け渡しが明確であるか

良い例:

【呼び出し順序分析結果】

コマンド: design-database

実行フロー:
1. database-design-agent が entity-definition-collector を使用してエンティティ定義を収集
   - 入力: ユーザーからの要求、既存システムの情報
   - 出力: エンティティ一覧、属性リスト
   - 並列実行: 不可(最初のステップ)

2. database-design-agent が normalization-processor を使用して正規化を実施
   - 入力: エンティティ定義(ステップ1の出力)
   - 出力: 正規化されたテーブル定義
   - 並列実行: 不可(ステップ1に依存)
   - 使用する規約: normalization-rules

3. database-design-agent が以下のスキルを並列実行:
   - er-diagram-generator: ER図を生成
     - 入力: 正規化されたテーブル定義(ステップ2の出力)
     - 出力: ER図(Mermaid形式)
   - table-definition-writer: テーブル定義書を作成
     - 入力: 正規化されたテーブル定義(ステップ2の出力)
     - 出力: テーブル定義書(Markdown形式)
   - ddl-script-generator: DDLスクリプトを生成
     - 入力: 正規化されたテーブル定義(ステップ2の出力)
     - 出力: DDLスクリプト
   - 並列実行: 可能(全てステップ2の出力を使用、相互依存なし)

妥当性: OK
- 各ステップの入力と出力が明確
- 依存関係に基づいた順序
- 並列実行可能なステップが適切に識別されている

コマンド: generate-schema

実行フロー:
1. database-design-agent が entity-definition-collector を使用してエンティティ定義を収集
2. database-design-agent が normalization-processor を使用して正規化を実施

妥当性: OK
- 最小限のステップのみ実行
- 依存関係が明確

悪い例:

【呼び出し順序分析結果】

順番に実行する

フェーズ4: 循環依存検出

要素間の循環依存を検出し、報告する。

実施内容:

  1. 依存関係グラフを構築する
  2. 循環依存を検出するアルゴリズムを実行する
  3. 検出された循環依存を報告する
  4. 循環依存の影響を評価する
  5. 循環依存の解消方法を提案する

検出方法:

  • 深さ優先探索(DFS)による循環検出
  • トポロジカルソートによる順序確認

良い例:

【循環依存検出結果】

循環依存: 検出されませんでした

依存関係グラフ:

design-database コマンド
  ↓
database-design-agent エージェント
  ↓
entity-definition-collector スキル
normalization-processor スキル
er-diagram-generator スキル
table-definition-writer スキル
ddl-script-generator スキル
database-naming-conventions スキル
normalization-rules スキル

generate-schema コマンド
  ↓
database-design-agent エージェント
  ↓
entity-definition-collector スキル
normalization-processor スキル
database-naming-conventions スキル
normalization-rules スキル

トポロジカルソート結果:
1. database-naming-conventions(コンベンション、依存なし)
2. normalization-rules(コンベンション、依存なし)
3. entity-definition-collector(ワークフロー、コンベンションに依存可能)
4. normalization-processor(ワークフロー、コンベンションに依存可能)
5. er-diagram-generator(ワークフロー、依存なし)
6. table-definition-writer(ワークフロー、依存なし)
7. ddl-script-generator(ワークフロー、依存なし)
8. database-design-agent(エージェント、スキルを使用)
9. design-database(コマンド、エージェントとスキルを使用)
10. generate-schema(コマンド、エージェントとスキルを使用)

アーキテクチャ規約遵守: OK
- エージェントは他の要素を参照していない
- スキルは他のスキルを参照していない
- コマンドのみがエージェントとスキルを参照している

悪い例(循環依存が存在する場合):

【循環依存検出結果】

循環依存: 検出されました

循環1:
skill-a → skill-b → skill-c → skill-a

問題: スキルが他のスキルを参照している(アーキテクチャ規約違反)
影響: スキルの独立性が損なわれ、再利用性が低下
解消方法:
- スキル間の参照を削除する
- 共通の処理をコンベンションスキルに分離する
- コマンドで依存関係を管理する

循環2:
command-a → agent-b → command-a

問題: コマンドとエージェントが相互参照している
影響: 無限ループの可能性
解消方法:
- エージェントからコマンドへの参照を削除する
- エージェントはスキルのみを使用するようにする

フェーズ5: 推奨提示

分析結果をまとめ、改善提案をユーザーに提示する。

実施内容:

  1. 分析結果をサマリー化する
  2. 検出された問題をリストアップする
  3. アーキテクチャ規約の遵守状況を報告する
  4. 改善提案を作成する
  5. 次のステップを案内する

提示形式:

【要素関係分析レポート】

プラグイン名: database-design-plugin
分析日時: 2025-11-15

【サマリー】

要素数:
- エージェント: 1個
- スキル: 7個(ワークフロー: 5個、コンベンション: 2個)
- コマンド: 2個

依存関係:
- 総依存数: 14個
- 循環依存: 0個
- アーキテクチャ規約違反: 0個

品質評価: 優良
- 循環依存なし
- アーキテクチャ規約遵守
- 依存関係が明確

【詳細分析結果】

依存関係マップ:
- design-database → database-design-agent, 5つのワークフロースキル, 2つのコンベンションスキル
- generate-schema → database-design-agent, 2つのワークフロースキル, 2つのコンベンションスキル

呼び出し順序:
- design-database: 3ステップ(ステップ3は3つのスキルを並列実行)
- generate-schema: 2ステップ(順次実行)

循環依存: なし

アーキテクチャ規約遵守:
- ✓ エージェントは他の要素を参照していない
- ✓ スキルは他のスキルを参照していない
- ✓ コマンドのみがエージェントとスキルを参照している
- ✓ 依存関係の方向が正しい(コマンド→エージェント→スキル)

【改善提案】

改善点: なし

このプラグインは適切に設計されています。

【推奨事項】

1. 定期的に要素関係を分析し、循環依存が発生していないか確認する
2. 新しい要素を追加する際は、アーキテクチャ規約を遵守する
3. コマンドの実行フローを明確に記述する
4. 並列実行可能なスキルを適切に識別する

【次のステップ】

1. プラグイン全体の品質検証(plugin-validator スキルを使用)
2. プラグインのパッケージング(plugin-packager スキルを使用)

良い例:

分析結果が明確で、問題点、改善提案、推奨事項が示されている。

悪い例:

【要素関係分析レポート】

分析した
問題なし

アウトプット

このスキルは以下を生成する:

  • 依存関係マップ: 要素間の依存関係を整理したマッピング
  • 呼び出し順序図: コマンドにおけるスキルの呼び出し順序を図示したドキュメント
  • 循環依存レポート: 検出された循環依存とその解消方法
  • 要素関係分析レポート: 分析結果、問題点、改善提案をまとめたレポート

想定されるエラーと対処法

エラー1: 循環依存が検出された

検出例:

skill-a → skill-b → skill-a

対処法:

  • スキル間の参照を削除する
  • 共通の処理をコンベンションスキルに分離する
  • コマンドで依存関係を管理する

エラー2: アーキテクチャ規約違反

検出例:

エージェントがスキルを直接参照している
スキルが他のスキルを参照している

対処法:

  • エージェントからスキルへの直接参照を削除する
  • スキル間の参照を削除する
  • コマンドで依存関係を管理する

エラー3: 呼び出し順序が不明確

検出例:

実行フロー: スキルを実行する

対処法:

  • 実行フローを明確に記述する
  • スキルの実行順序を番号付きで記述する
  • 並列実行可能なスキルを明示する

ベストプラクティス

  • 定期的に要素関係を分析する
  • 循環依存を早期に検出して解消する
  • アーキテクチャ規約を遵守する
  • 依存関係を明確に文書化する
  • 呼び出し順序を明示する
  • 並列実行可能なスキルを適切に識別する

チェックリスト

要素収集完了時

  • プラグインディレクトリ構造が確認されている
  • エージェントファイルが収集されている
  • スキルファイルが収集されている
  • コマンドファイルが収集されている
  • 各要素のフロントマター情報が抽出されている

依存関係分析完了時

  • 各要素のドキュメント本文が解析されている
  • 他の要素への参照が検出されている
  • 依存関係マップが作成されている
  • 依存の種類が分類されている
  • 依存の方向が確認されている

呼び出し順序分析完了時

  • 各コマンドの「実行フロー」セクションが解析されている
  • スキルの実行順序が抽出されている
  • 並列実行可能なスキルが特定されている
  • 順次実行が必要なスキルが特定されている
  • 実行順序の妥当性が検証されている

循環依存検出完了時

  • 依存関係グラフが構築されている
  • 循環依存検出アルゴリズムが実行されている
  • 検出された循環依存が報告されている
  • 循環依存の影響が評価されている
  • 循環依存の解消方法が提案されている

推奨提示完了時

  • 分析結果がサマリー化されている
  • 検出された問題がリストアップされている
  • アーキテクチャ規約の遵守状況が報告されている
  • 改善提案が作成されている
  • 次のステップが案内されている
  • ユーザーの承認を得ている

最終確認

  • 依存関係マップが作成されている
  • 呼び出し順序図が作成されている
  • 循環依存レポートが作成されている(該当する場合)
  • 要素関係分析レポートが作成されている
  • すべてのアウトプットが明確で理解しやすい
  • ユーザーが次のステップに進める状態になっている

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View