mcpField
C
csv-data-analysis

csv-data-analysis

github.com/eosphoros-aiデータ・データベース20.2k37 回インストール2 日前に更新
リポジトリ

csv-data-analysis について

csv-data-analysisは、CSV、Excel、TSVファイルを分析し、インタラクティブなWebレポートを作るスキルです。スクリプトによる統計抽出とLLMの解釈を組み合わせ、品質、分布、関係、異常、提案を扱います。

主な機能

  1. 01CSV、Excel、TSVファイルの分析
  2. 02統計とデータ品質指標の抽出
  3. 03分布、相関、外れ値の確認
  4. 04インタラクティブなEChartsレポート生成
  5. 05ビジネス上の洞察と提案の追加

活用シーン

  1. 01データセットの構造と品質の調査
  2. 02傾向、グループの特徴、異常の確認
  3. 03表計算データからのレポート作成

インストール

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

$npx skills add https://github.com/eosphoros-ai/db-gpt --skill csv-data-analysis

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

同梱ファイル

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

references/
reference.md
scripts/
csv_analyzer.py
example.py
templates/
report_template.html

詳細

インテリジェントなディープデータ分析ツール

Data Analysis Tool は、フロントエンドの可視化技術(ECharts + Tailwind CSS)を基盤とする、AI を活用した高度な自動データ探索ツールです。統計的特徴、データ品質指標、数値分布、外れ値検出、カテゴリ情報、相関関係、ランキング、時系列トレンドをすばやく抽出します。レポートの後半では、これらに異常の概要、原因特定の手がかり、要約と提案を加え、完成度が高くインタラクティブなウェブベースの分析レポートを作成します。対応形式は CSV、Excel(.xlsx/.xls)、TSV です。

レポートは「前半で基礎的なデータ分析を行い、後半で異常検出と原因特定を強化する」という構成です。主なセクションは次のとおりです。エグゼクティブサマリー、データの概要と品質チェック、数値分布の特徴、特徴分析と構造分析、関係性分析と異常の特定、データ異常の概要、原因特定分析モジュール、分析結果と統計の詳細、根本原因の推定/結論/提案。

コアワークフロー(LLM 向け必読)

AI アシスタントとして、ユーザーが CSV または Excel ファイルをアップロードして分析を依頼した場合は、次の 2 つの手順に厳密に従ってください。

ステップ 1:データ特徴を抽出する(スクリプトを実行)

execute_skill_script_file ツールを使用して csv_analyzer.py を実行し、データファイルのパスを渡します(.csv、.xlsx、.xls、.tsv 形式に対応)。

ツール呼び出しのパラメーター例:

{
  "skill_name": "csv-data-analysis",
  "script_file_name": "csv_analyzer.py",
  "args": {"input_file": "/path/to/data.csv or /path/to/data.xlsx"}
}

スクリプトの戻り値の説明: スクリプトは、次の 2 つの部分を含む大きな text コンテンツブロックを返します。

  1. [統計サマリー]:データセットの基本的な特徴、分布、相関関係、カテゴリ構成を読み取り、理解するための情報です。
  2. [マーカーで囲まれたデータブロック]:スクリプトの出力には、###KEY_START###...###KEY_END### 形式のマーカーデータブロックが含まれます。バックエンドがこれらを自動的に取得してテンプレートに挿入するため、このコンテンツを処理したり、渡したりする必要はありません。
ステップ 2:インサイトを生成してレポートを表示する(テンプレートに挿入)

ステップ 1 で取得した「統計サマリー」を読み、データの背後にあるビジネス上の意義やパターンを分析します。その後、html_interpreter ツールを使用してテンプレートを読み込み、データを挿入してください。

重要なルール(必ず守ってください):

  1. template_path には必ず csv-data-analysis/templates/report_template.html を設定してください。このテンプレートには、完全な ECharts 描画用 JavaScript コードとすべてのセクションタイトルおよびフッターテキストが組み込まれています。data パラメーターで入力するのは、9 個のコンテンツ用プレースホルダーだけです。JavaScript のチャート描画コードを自分で記述したり、変更したりしないでください。

  2. マーカーデータブロックはバックエンドによって自動挿入されます。data に渡してはいけません。バックエンドはスクリプト出力内の ###KEY_START###...###KEY_END### マーカーからコンテンツを自動的に抽出し、テンプレートに挿入します。このスキルでは、主に CHART_DATA_JSON が該当します。

  3. *_INSIGHTS、EXEC_SUMMARY、CONCLUSIONS には、適切なレイアウトを確保するため、HTML 形式(例:<p>、<ul>、<li>、<strong>、<ol>)を使用してください。これらは、統計サマリーに基づいて作成する、踏み込んだビジネスインサイトです。

  4. 出力言語はユーザーの入力言語に合わせてください。また、テンプレートの固定セクションタイトル、ラベル、フッターテキストを該当言語で表示するため、LANG プレースホルダー("en" または "zh")も渡してください。ユーザーの質問から言語を判定します。英語で書かれている場合は LANG を "en" に、中国語で書かれている場合は "zh" に設定してください。判断がつかない場合は、デフォルトで "zh" を使用してください。

  5. プレースホルダーは必ず 9 個ちょうど渡してください。自動挿入される CHART_DATA_JSON などのマーカーフィールドはバックエンドが処理するため、渡してはいけません。テンプレートにはすべてのセクションタイトル(Distribution Analysis、Correlation Analysis など)、インサイトボックスのタイトル(「Insights」)、およびフッターテキストがすでに記述されているため、これらを渡す必要はありません。テンプレートが LANG プレースホルダーに応じて自動的に翻訳します。

  6. インサイトには十分な内容を含めてください。各インサイトモジュールでは、observation(観察結果)、possible causes(考えられる原因)、business impact(ビジネスへの影響)、action recommendations(推奨アクション)の 4 つの観点を扱ってください。統計値を言い換えるだけの内容や、曖昧な結論を数行書くだけの内容にしないでください。

  7. アトリビューションを補足モジュールとして扱い、まず基礎分析を行ってください。レポートの前半では、数値の分布、カテゴリ構造、外れ値、相関、ランキングのパターンなど、CSV 自体のデータ特性の分析に重点を置き、可能な限りチャートの解釈も含めてください。「データ異常の概要」、「アトリビューション分析」、「根本原因の推定」は、補足モジュールとしてレポートの後半に配置してください。レポート全体をアトリビューション関連の内容だけにしないでください。

html_interpreter の呼び出し例:

{
  "template_path": "csv-data-analysis/templates/report_template.html",
  "data": {
    "LANG": "en",
    "REPORT_TITLE": "Sales Dataset Deep Analysis Report",
    "REPORT_SUBTITLE": "Multi-dimensional Data Feature & Business Insight Mining",
    "EXEC_SUMMARY": "<p>This dataset contains 1,000 rows and 5 columns with good data completeness. Key findings include:</p><ul><li><strong>Audience Distribution:</strong> Primarily concentrated in the 25-35 age group...</li></ul>",
    "DISTRIBUTION_INSIGHTS": "<p>The numerical distribution chart reveals that Metric A exhibits a pronounced right-skewed distribution, suggesting...</p>",
    "CORRELATION_INSIGHTS": "<p>The heatmap between variables reveals strong positive correlations, particularly between..., which implies...</p>",
    "CATEGORICAL_INSIGHTS": "<p>Category proportions show that Beijing and Shanghai account for over 50% of the 'City' field.</p>",
    "TIME_SERIES_INSIGHTS": "<p>The time series trend indicates a significant seasonal uptick toward year-end.</p>",
    "CONCLUSIONS": "<p>Based on the comprehensive multi-dimensional analysis, the data exhibits clear structural features and patterns.</p><h3>Recommendations</h3><ul><li>Regularly monitor missing value ratios...</li><li>Focus on high-growth market segments...</li></ul>"
  }
}

厳禁事項:

  • data に CHART_DATA_JSON や自動挿入されるマーカーフィールドを渡さないでください(バックエンドが自動処理します)。
  • data に JavaScript コードを追加しないでください。
  • template_path パラメーターを省略しないでください(省略するとチャートが描画されません)。
  • 静的な PNG 画像を返さないでください。このツールは ECharts による動的なフロントエンド描画に全面的にアップグレードされています。
  • 存在しないプレースホルダーを渡さないでください(テンプレートにあるのは 9 個のテキスト用プレースホルダーと、自動挿入される CHART_DATA_JSON だけです。それ以外の名前は無視されます)。

プレースホルダーの参照(全9個、LLMからdata経由で渡されます)

テンプレートに入力するプレースホルダーは次のとおりです。

プレースホルダー型必須説明
LANGテキストはいレポートの言語です。英語の場合は "en"、中国語の場合は "zh" を指定します。すべてのセクションタイトル、ラベル、フッターの言語を決定します。ユーザーの入力言語から判定し、デフォルトは "zh" です
REPORT_TITLEテキストはいレポートのタイトルです。例:「Sales Dataset Deep Analysis Report」
REPORT_SUBTITLEテキストはいレポートのサブタイトルです。例:「Multi-dimensional Data Feature & Business Insight Mining」
EXEC_SUMMARYHTMLはいエグゼクティブサマリーです。データ規模の概要、主な調査結果、結論の概要を含めます
DISTRIBUTION_INSIGHTSHTMLはい数値分布の特徴に関する解釈です。歪度、変動性、分位範囲、ばらつきを含めます
CORRELATION_INSIGHTSHTMLはい関係性の分析と異常の特定に関する解釈です。相関、関連性、外れ値、構造的な関係性を含めます
CATEGORICAL_INSIGHTSHTMLはい特徴分析と構造分析に関する解釈です。カテゴリ構造、集中度、ランキング、グループの特性を含めます
TIME_SERIES_INSIGHTSHTMLはいデータ異常の概要セクションを補足する解釈です。時間列がある場合はトレンドを、ない場合は層別の差異や異常パターンについて説明します
CONCLUSIONSHTMLはい根本原因の推測、結論、推奨事項の本文です。「データによる根拠」と「合理的な推測」を区別する必要があります

注: csv_analyzer.py の出力には、###CHART_DATA_JSON_START###...###CHART_DATA_JSON_END### のマーカーデータブロックが含まれます。バックエンドがこれらを自動的に抽出し、テンプレートに挿入するため、data で渡す必要はありません。テンプレート内のすべてのセクションタイトル(「Distribution Analysis」「Correlation Analysis」「Conclusions & Recommendations」など)、インサイトボックスのタイトル(「Insights」)、フッターのテキストはHTMLにハードコードされており、LANG プレースホルダーに基づいて自動的に翻訳されるため、プレースホルダーで渡す必要はありません。

このツールを選ぶ理由

  1. 高速で軽量:時間のかかるPythonでのプロット作成や大量のPNG生成は不要です。中核となるJSONデータのみを送信します。
  2. モダンでインタラクティブなレイアウト:Tailwind CSSのレスポンシブレイアウトとApache EChartsの滑らかなアニメーション付きインタラクションを完全に統合しています。
  3. 深いビジネスインサイト:機械によるデータ抽出とLLMによる論理的な推論を分離することで、価値の高いデータ分析レポートを作成できます。

ファイル構成

csv-data-analysis/
├── SKILL.md                        # The skill guide you are currently reading
├── scripts/
│   └── csv_analyzer.py             # Python analysis engine (supports CSV/Excel/TSV, lightweight, no graphics dependencies)
└── templates/
    └── report_template.html        # Responsive ECharts report template (with built-in rendering logic and hardcoded titles)

コメント