csv-data-analysis について
csv-data-analysisは、CSV、Excel、TSVファイルを分析し、インタラクティブなWebレポートを作るスキルです。スクリプトによる統計抽出とLLMの解釈を組み合わせ、品質、分布、関係、異常、提案を扱います。
主な機能
- 01CSV、Excel、TSVファイルの分析
- 02統計とデータ品質指標の抽出
- 03分布、相関、外れ値の確認
- 04インタラクティブなEChartsレポート生成
- 05ビジネス上の洞察と提案の追加
活用シーン
- 01データセットの構造と品質の調査
- 02傾向、グループの特徴、異常の確認
- 03表計算データからのレポート作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ eosphoros-ai/ db-gpt --skill csv-data-analysisインストール後、Claude Code で/csv-data-analysisを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/reference.mdscripts/csv_analyzer.pyexample.pytemplates/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 コンテンツブロックを返します。
- [統計サマリー]:データセットの基本的な特徴、分布、相関関係、カテゴリ構成を読み取り、理解するための情報です。
- [マーカーで囲まれたデータブロック]:スクリプトの出力には、
###KEY_START###...###KEY_END###形式のマーカーデータブロックが含まれます。バックエンドがこれらを自動的に取得してテンプレートに挿入するため、このコンテンツを処理したり、渡したりする必要はありません。
ステップ 2:インサイトを生成してレポートを表示する(テンプレートに挿入)
ステップ 1 で取得した「統計サマリー」を読み、データの背後にあるビジネス上の意義やパターンを分析します。その後、html_interpreter ツールを使用してテンプレートを読み込み、データを挿入してください。
重要なルール(必ず守ってください):
-
template_pathには必ずcsv-data-analysis/templates/report_template.htmlを設定してください。このテンプレートには、完全な ECharts 描画用 JavaScript コードとすべてのセクションタイトルおよびフッターテキストが組み込まれています。dataパラメーターで入力するのは、9 個のコンテンツ用プレースホルダーだけです。JavaScript のチャート描画コードを自分で記述したり、変更したりしないでください。 -
マーカーデータブロックはバックエンドによって自動挿入されます。
dataに渡してはいけません。バックエンドはスクリプト出力内の###KEY_START###...###KEY_END###マーカーからコンテンツを自動的に抽出し、テンプレートに挿入します。このスキルでは、主にCHART_DATA_JSONが該当します。 -
*_INSIGHTS、EXEC_SUMMARY、CONCLUSIONSには、適切なレイアウトを確保するため、HTML 形式(例:<p>、<ul>、<li>、<strong>、<ol>)を使用してください。これらは、統計サマリーに基づいて作成する、踏み込んだビジネスインサイトです。 -
出力言語はユーザーの入力言語に合わせてください。また、テンプレートの固定セクションタイトル、ラベル、フッターテキストを該当言語で表示するため、
LANGプレースホルダー("en"または"zh")も渡してください。ユーザーの質問から言語を判定します。英語で書かれている場合はLANGを"en"に、中国語で書かれている場合は"zh"に設定してください。判断がつかない場合は、デフォルトで"zh"を使用してください。 -
プレースホルダーは必ず 9 個ちょうど渡してください。自動挿入される
CHART_DATA_JSONなどのマーカーフィールドはバックエンドが処理するため、渡してはいけません。テンプレートにはすべてのセクションタイトル(Distribution Analysis、Correlation Analysis など)、インサイトボックスのタイトル(「Insights」)、およびフッターテキストがすでに記述されているため、これらを渡す必要はありません。テンプレートがLANGプレースホルダーに応じて自動的に翻訳します。 -
インサイトには十分な内容を含めてください。各インサイトモジュールでは、
observation(観察結果)、possible causes(考えられる原因)、business impact(ビジネスへの影響)、action recommendations(推奨アクション)の 4 つの観点を扱ってください。統計値を言い換えるだけの内容や、曖昧な結論を数行書くだけの内容にしないでください。 -
アトリビューションを補足モジュールとして扱い、まず基礎分析を行ってください。レポートの前半では、数値の分布、カテゴリ構造、外れ値、相関、ランキングのパターンなど、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_SUMMARY | HTML | はい | エグゼクティブサマリーです。データ規模の概要、主な調査結果、結論の概要を含めます |
DISTRIBUTION_INSIGHTS | HTML | はい | 数値分布の特徴に関する解釈です。歪度、変動性、分位範囲、ばらつきを含めます |
CORRELATION_INSIGHTS | HTML | はい | 関係性の分析と異常の特定に関する解釈です。相関、関連性、外れ値、構造的な関係性を含めます |
CATEGORICAL_INSIGHTS | HTML | はい | 特徴分析と構造分析に関する解釈です。カテゴリ構造、集中度、ランキング、グループの特性を含めます |
TIME_SERIES_INSIGHTS | HTML | はい | データ異常の概要セクションを補足する解釈です。時間列がある場合はトレンドを、ない場合は層別の差異や異常パターンについて説明します |
CONCLUSIONS | HTML | はい | 根本原因の推測、結論、推奨事項の本文です。「データによる根拠」と「合理的な推測」を区別する必要があります |
注:
csv_analyzer.pyの出力には、###CHART_DATA_JSON_START###...###CHART_DATA_JSON_END###のマーカーデータブロックが含まれます。バックエンドがこれらを自動的に抽出し、テンプレートに挿入するため、dataで渡す必要はありません。テンプレート内のすべてのセクションタイトル(「Distribution Analysis」「Correlation Analysis」「Conclusions & Recommendations」など)、インサイトボックスのタイトル(「Insights」)、フッターのテキストはHTMLにハードコードされており、LANGプレースホルダーに基づいて自動的に翻訳されるため、プレースホルダーで渡す必要はありません。
このツールを選ぶ理由
- 高速で軽量:時間のかかるPythonでのプロット作成や大量のPNG生成は不要です。中核となるJSONデータのみを送信します。
- モダンでインタラクティブなレイアウト:Tailwind CSSのレスポンシブレイアウトとApache EChartsの滑らかなアニメーション付きインタラクションを完全に統合しています。
- 深いビジネスインサイト:機械によるデータ抽出と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)