data-wizard について
探索的データ分析からモデルのデプロイ戦略まで扱う、データサイエンスとMLエンジニアリング向けのスキルです。タスクの複雑さに応じて進め方を変え、統計、可視化、実験、時系列、異常検知を支援します。
主な機能
- 01探索的データ分析と品質評価
- 02モデル選択と特徴量エンジニアリングの提案
- 03統計検定と実験設計
- 04データ可視化の計画と生成
- 05時系列予測と異常検知
- 06MLOpsデプロイ戦略の策定
活用シーン
- 01データセットの欠損値や分布の確認
- 02予測タスクのモデルと評価方法の選定
- 03A/Bテストとサンプルサイズ分析の設計
- 04時系列予測や異常検知の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wyattowalsh/ agents --skill data-wizardインストール後、Claude Code で/data-wizardを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
data/feature-engineering-patterns.jsonmodel-catalog.jsonstatistical-tests-tree.jsonvisualization-grammar.jsonevals/eda-mode.jsonevals.jsonexperiment-design.jsonexplicit-invocation.jsonimplicit-trigger.jsonmodel-selection.jsonnegative-control.jsonstats-mode.jsonviz-dashboard.jsonviz-plan.jsonviz-render.jsonreferences/dashboard-design.mddata-quality.mdexperiment-design.mdfeature-engineering.mdmlops-maturity.mdmodel-selection.mdstatistical-tests.mdvisualization.mdscripts/asset_toolkit/__init__.py_shared.pycommon.pypackage.pyvalidate_evals.pyvalidate_hooks.pyvalidate_skill.py詳細
Data Wizard
探索的データ分析からモデルのデプロイ戦略まで、データサイエンスとMLエンジニアリングをフルスタックで支援します。複雑さの分類に基づいてアプローチを調整します。
標準用語
| 用語 | 定義 |
|---|---|
| EDA | 探索的データ分析 — データセットを体系的にプロファイリングし、要約すること |
| feature | モデルへの入力として使用される、個々の測定可能な特性 |
| feature engineering | モデルの性能を向上させるために特徴量を作成、変換、または選択すること |
| hypothesis test | 観測されたデータが主張を裏付けるかどうかを判断する統計的手法 |
| p-value | 帰無仮説が真であると仮定した場合に、実際の結果と同等以上に極端なデータが観測される確率 |
| effect size | サンプルサイズに依存しない、差または関係の大きさ |
| power analysis | 所定の大きさの効果を検出するために必要なサンプルサイズを決定すること |
| CUPED | 実験前データを用いた対照実験 — A/B テストの分散を低減する手法 |
| MLOps maturity | レベル 0(手動)、レベル 1(ML パイプライン)、レベル 2(CI/CD + CT)、レベル 3(完全自動化) |
| data quality score | 完全性、一貫性、正確性、適時性、一意性に基づく複合指標 |
| profile | データセットの統計的要約:型、分布、欠損パターン、相関 |
| anomaly | 期待される挙動から大きく逸脱するデータポイントまたはパターン |
ディスパッチ
$ARGUMENTS | アクション |
|---|---|
eda <data> | EDA — データセットのプロファイリング、要約統計量、欠損パターン、分布 |
model <task> | モデル選定 — タスクに応じたモデル、ライブラリ、学習計画の推奨 |
features <data> | 特徴量エンジニアリング — 変換、エンコーディング、選択パイプラインの提案 |
stats <question> | 統計 — 統計的仮説検定の選定と設計 |
viz <data> | 可視化 — データに適したチャートの種類、エンコーディング、レイアウトの推奨 |
viz plan <data> [goal] | 可視化計画 — viz-planner.py を使って、データと目的から JSON チャート計画を作成 |
viz render <plan> <data> | 可視化レンダリング — viz-renderer.py を使って、計画から PNG/HTML チャートを作成 |
viz dashboard <profile> | 可視化ダッシュボード — dashboard-builder.py を使って HTML EDA ダッシュボードを作成 |
experiment <hypothesis> | 実験設計 — A/B テストの設計、検出力分析、CUPED |
可視化パイプライン:
viz plan→viz render→ 必要に応じてviz dashboard。viz-planner.pyを実行して JSON エンコーディングを作成し、viz-renderer.pyで PNG/HTML アセットを生成します。その後、プロファイルと計画/レンダリングの JSON をdashboard-builder.pyに渡すと、共有可能な EDA レポートを作成できます。 |timeseries <data>| 時系列 — 予測アプローチ、分解、モデル選定 | |anomaly <data>| 異常検知 — 検知アプローチ、アルゴリズム選定、しきい値戦略 | |mlops <model>| MLOps — サービング戦略、デプロイパイプライン、監視計画 | | データに関する自然言語の入力 | 自動判定 — 意図を分類し、適切なモードに振り分け | | 空欄 | ギャラリー — データサイエンスの一般的なタスクと、推奨モードを表示 |
自動判定のヒューリスティック
モードキーワードに一致しない場合:
- データセット、CSV、列、行、欠損値への言及 → EDA
- 予測、分類、回帰、推奨への言及 → モデル選定
- 変換、エンコード、スケーリング、正規化、ワンホットへの言及 → 特徴量エンジニアリング
- 検定、有意、有意性、p 値、仮説、相関への言及 → 統計
- チャート、プロット、グラフ、可視化、ダッシュボードへの言及 → 可視化
- A/B、実験、対照群、処置群、リフトへの言及 → 実験設計
- 予測、季節性、トレンド、時系列、ラグへの言及 → 時系列
- 外れ値、異常、不正、異常な挙動、偏差への言及 → 異常検知
- デプロイ、サービング、パイプライン、監視、再学習への言及 → MLOps
- 曖昧な場合 → 次のように質問します:「どの分野ですか? EDA、モデリング、統計、またはその他ですか?」
ギャラリー(引数なし)
一般的なデータサイエンスのタスクを紹介します。
| # | タスク | モード | 例 |
|---|---|---|---|
| 1 | データセットのプロファイリング | eda | /data-wizard eda customer_data.csv |
| 2 | モデルの選択 | model | /data-wizard model "predict churn from usage features" |
| 3 | 特徴量の作成 | features | /data-wizard features sales_data.csv |
| 4 | 統計検定の選択 | stats | /data-wizard stats "is conversion rate different between groups?" |
| 5 | 可視化の選択 | viz | /data-wizard viz time_series_metrics.csv |
| 5b | グラフの計画と描画 | viz plan / viz render | /data-wizard viz plan sales.csv "compare regions" |
| 5c | EDA ダッシュボードの構築 | viz dashboard | /data-wizard viz dashboard profile.json |
| 6 | 実験の設計 | experiment | /data-wizard experiment "new checkout flow increases conversion" |
| 7 | 時系列の予測 | timeseries | /data-wizard timeseries monthly_revenue.csv |
| 8 | 異常の検出 | anomaly | /data-wizard anomaly server_metrics.csv |
| 9 | デプロイの計画 | mlops | /data-wizard mlops "churn prediction model" |
番号を選ぶか、データサイエンスのタスクを説明してください。
スキルの適合性
開始前に、別のスキルのほうが適していないか確認してください。
| 手がかり | リダイレクト先 |
|---|---|
| データベーススキーマ、SQL の最適化、インデックス作成 | database-architect を提案します |
| フロントエンドのダッシュボードコード、React/D3 コンポーネント | 関連するフロントエンドスキルを提案します |
| データパイプライン、ETL、オーケストレーション(Airflow、dbt) | 対象範囲外です — データエンジニアリングツールを提案します |
| 本番環境のインフラストラクチャ、Kubernetes、スケーリング | devops-engineer または infrastructure-coder を提案します |
複雑さの分類
4 つの観点をそれぞれ 0~2 点で評価します(合計 0~8 点)。
| 観点 | 0 | 1 | 2 |
|---|---|---|---|
| データの複雑さ | 単一テーブルでクリーン | 複数テーブルで、欠損値が一部ある | 不整合が多く、複数ソースで、型が混在 |
| 分析の深さ | 記述統計 | 推測統計/予測分析 | 複数段階のパイプライン、反復 |
| ドメインの専門性 | 一般的/よく知られている | ドメインの慣習が適用される | 高度なドメイン知識が必要 |
| ツールの範囲 | 単一ライブラリで十分 | 2~3 個のライブラリが必要 | ML スタック全体との統合 |
| 合計 | ティア | 戦略 |
|---|---|---|
| 0-2 | クイック | 単一のインライン分析 — eda、viz、stats |
| 3-5 | 標準 | 複数ステップのワークフロー — features、model、experiment、timeseries、anomaly |
| 6-8 | フルパイプライン | オーケストレーション — mlops、複雑な複数段階の分析 |
評価結果をユーザーに提示します。ユーザーはティアを変更できます。
モード別プロトコル
EDA(クイック)
- ファイルパスが指定されている場合は、次を実行します:
!uv run python scripts/data-profiler.py "$1" - JSON の出力を解析し、行数/列数、データ型、欠損パターン、相関の上位項目を提示します
- データ品質の問題、分布の歪み、ターゲットリークの可能性を強調します
- 次のステップとして、クリーニング、特徴量エンジニアリング、またはモデリングを提案します
モデル選択(標準)
- タスクの JSON 入力を渡して、次を実行します:
!uv run python scripts/model-recommender.py - 推奨するモデルを、理由とともにランキング形式で提示します
- データサイズとデータ型に応じた詳細なガイダンスについて、
references/model-selection.mdを読み込みます - 学習/検証/テストデータの分割戦略、評価指標、ベースラインの方法を提案します
特徴量エンジニアリング(標準)
- ファイルパスがある場合は、まずデータプロファイラーを実行して列を分析します
- データ型ごとのパターンについて、
references/feature-engineering.mdを読み込みます - 構造化された推奨事項について、
data/feature-engineering-patterns.jsonを読み込みます - 変換、エンコーディング、交互作用特徴量、特徴量選択手法を提案します
統計(クイック)
- 質問のパラメーターを渡して、次を実行します:
!uv run python scripts/statistical-test-selector.py - 判定木として
data/statistical-tests-tree.jsonを読み込みます - 前提条件と解釈のガイダンスについて、
references/statistical-tests.mdを読み込みます - 推奨する検定、代替案、確認すべき前提条件、解釈のテンプレートを提示します
可視化(クイック)
- グラフの種類を選ぶために、
data/visualization-grammar.jsonを読み込みます - データの特性を可視化の種類に対応させます
- グラフの種類、エンコーディングチャネル、カラーパレット、レイアウトを推奨します
- ユーザーが実行可能な成果物を必要とする場合は、
references/visualization.mdを読み込みます
可視化プラン(クイック)
- 実行します:
!uv run python scripts/viz-planner.py <data> --goal "<goal>" - JSON を解析し、
goal_categoryと、エンコーディングおよび根拠を含むグラフのリストを提示します - 描画する前に、列の対応関係を確認します
可視化の描画(クイック)
- 実行します:
!uv run python scripts/viz-renderer.py <plan.json> <data> --format png|html - JSON を解析し、出力先のパスとグラフごとのエラーがあれば提示します
- レポートやダッシュボードには PNG を、インタラクティブな探索には HTML を使用します
可視化ダッシュボード(クイック)
- プロファイル JSON が存在することを確認します(
data-profiler.pyを実行し、必要に応じてdata-quality-scorer.pyも実行します) - 必要に応じて、可視化プランの作成と描画を実行し、
--viz-planと--render-resultをビルダーに渡します - 実行します:
!uv run python scripts/dashboard-builder.py <profile.json> --output <path> file://経由で出力 HTML を開きます — テンプレートをコンテキストに読み込まないでください- ビューのスキーマについては、
references/dashboard-design.mdを読み込みます
実験デザイン(標準)
- A/B テストのパターンについて、
references/experiment-design.mdを読み込みます - 仮説、指標、サンプルサイズ(検出力分析)、期間を設計します
- 新規性効果、多重比較、CUPED による分散削減に対処します
- 判断基準を含む実験概要を出力します
時系列(標準)
- ファイルパスが指定されている場合は、データプロファイラーを実行して時間的なパターンを調べます
- 定常性、季節性、トレンド、自己相関を評価します
- 分解手法、予測モデル、検証戦略を推奨します
- 時系列の交差検証(ウォークフォワード)と特徴量のラグに対処します
異常検知(標準)
- 点異常、文脈的異常、集合的異常に分類します
- アルゴリズム(Isolation Forest、LOF、DBSCAN、オートエンコーダーなど)を推奨します
- しきい値の選択、誤検知の管理、解釈可能性に対処します
- アラート戦略と根本原因調査のフレームワークを提案します
MLOps(フルパイプライン)
- 成熟度モデルについて、
references/mlops-maturity.mdを読み込みます - 現在の成熟度レベル(0~3)を評価します
- サービング戦略(バッチ対リアルタイム)、監視、再トレーニングのトリガーを設計します
- モデルのバージョン管理、本番環境での A/B テスト、ロールバック戦略に対処します
- デプロイアーキテクチャの概要を出力します
データ品質評価
実行します:!uv run python scripts/data-quality-scorer.py <path>
評価する指標:
| 指標 | 重み | 確認項目 |
|---|---|---|
| 完全性 | 25% | 欠損値、NULL のパターン |
| 一貫性 | 20% | 型の統一性、形式の違反 |
| 正確性 | 20% | 範囲の違反、統計的外れ値 |
| 適時性 | 15% | 古いレコード、時間的なギャップ |
| 一意性 | 20% | 重複、ほぼ重複するデータ |
リファレンスファイル一覧
| ファイル | 内容 | 読み込むタイミング |
|---|---|---|
references/statistical-tests.md | 検定選択の決定木、前提条件、解釈 | Stats モード |
references/model-selection.md | タスクの種類、データサイズ、解釈可能性の要件別のモデルカタログ | Model Selection モード |
references/feature-engineering.md | データ型別のパターン:数値、カテゴリ、時系列、テキスト、地理空間 | Feature Engineering モード |
references/experiment-design.md | A/B テストのパターン、CUPED、検出力分析、多重比較補正 | Experiment Design モード |
references/mlops-maturity.md | 成熟度レベル 0~3、デプロイパターン、モニタリング戦略 | MLOps モード |
references/data-quality.md | 品質フレームワーク、スコアリングの次元、是正策 | EDA モード、Data Quality Assessment |
references/visualization.md | 可視化の計画・描画パイプライン、エンコーディング規則、依存関係の処理 | Viz Plan、Viz Render、Visualization |
references/dashboard-design.md | ダッシュボードの JSON スキーマ、ビルダーの使用方法、ビューの選択 | Viz Dashboard |
読み込みルール:「読み込むタイミング」列に従い、一度に読み込むリファレンスは 1 つだけにしてください。事前に読み込まないでください。
重要なルール
- モデルや特徴量を推奨する前に、必ずデータプロファイラーを実行してください — 根拠なしにデータの特性を推測しないでください
- 分析を実行する前に、分類スコアを提示してください — ユーザーが複雑さのティアを確認し、変更できるようにしてください
- 前提条件を明示せずに統計検定を推奨しないでください — 検証されていない前提条件は結果を無効にします
- p 値とともに必ず効果量を示してください — 実用上の有意性を伴わない統計的有意性は誤解を招きます
- モデルの推奨にはベースラインを含めてください — 常に、実用可能な最も単純なモデル(ロジスティック回帰、線形回帰、ナイーブ予測)から始めてください
- 学習・テスト分割戦略を省略しないでください — データリークは、ML で最もよくある誤りです
- 実験設計には検出力分析を含めてください — 検出力が不足した実験はリソースを浪費します
- 特徴量エンジニアリングでは、ターゲットリークのリスクに対処してください — 結果発生後のデータに由来する特徴量にはフラグを立ててください
- 時系列の交差検証には、必ずウォークフォワード方式を使用してください — ランダム分割は時間的な順序に違反します
- MLOps の推奨では、現在の成熟度を評価してください — Level 0 のチームに Level 3 の自動化を推奨しないでください
- リファレンスファイルは一度に 1 つだけ読み込んでください — すべてのリファレンスをコンテキストに事前読み込みしないでください
- データ品質スコアは推定ではなく、計算してください — 実データに対してスコアラーのスクリプトを実行してください
標準用語(以下を全体を通してそのまま使用してください):
- モード:「EDA」、「Model Selection」、「Feature Engineering」、「Stats」、「Visualization」、「Experiment Design」、「Time Series」、「Anomaly Detection」、「MLOps」
- ティア:「Quick」、「Standard」、「Full Pipeline」
- 品質の次元:「Completeness」、「Consistency」、「Accuracy」、「Timeliness」、「Uniqueness」
- MLOps レベル:「Level 0」(手動)、「Level 1」(パイプライン)、「Level 2」(CI/CD+CT)、「Level 3」(完全自動)