Analytics スキル
あらゆるデータセットに対応する柔軟なデータサイエンス分析。スキーマを自動検出し、可視化を推奨し、create-figure 形式でエクスポートします。
クイックスタート(任意のデータセット)
cd .pi/skills/analytics
./run.sh describe data.jsonl
./run.sh chart data.jsonl --name distribution_channel -o chart.json
cd .agent/skills/create-figure
./run.sh metrics -i /path/to/chart.json --type bar -o chart.pdf
シームレスなパイプライン
任意のデータ (JSONL/JSON/CSV)
│
▼
┌─────────────────────────────────┐
│ analytics describe │ ← スキーマを検出、グラフを推奨
│ "5 カテゴリ、2 数値、 │
│ 1 時系列列を検出" │
│ 推奨: │
│ - distribution_channel (棒) │
│ - trend_by_date (折れ線) │
│ - heatmap_hour_x_day │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ analytics chart/group-by │ ← create-figure 形式でグラフデータを生成
│ --name distribution_channel │
│ -o chart.json │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ create-figure metrics │ ← 出版品質の PDF/PNG をレンダリング
│ -i chart.json --type bar │
│ -o channel_distribution.pdf │
└─────────────────────────────────┘
コマンド
探索(ここから開始)
| コマンド | 説明 |
|---|
describe <file> | スキーマを検出、列タイプを識別、グラフを推奨 |
./run.sh describe sales.jsonl
柔軟な分析
| コマンド | 説明 |
|---|
group-by <file> | 任意の列でグループ化し集計 |
stats <file> | 数値統計と相関 |
chart <file> | create-figure 用のグラフ仕様を生成 |
./run.sh group-by data.jsonl --by channel --for-figure -o by_channel.json
./run.sh group-by data.jsonl --by category --agg price --func sum
./run.sh stats data.jsonl --columns revenue,cost,profit
./run.sh chart data.jsonl --name distribution_channel -o chart.json
タイムスタンプ付きデータ(ingest-* の出力)
| コマンド | 説明 |
|---|
insights <file> | 完全な分析サマリー(トレンド、セッション、パターン) |
trends <file> | 移動平均を含む視聴トレンド |
sessions <file> | セッション検出とビンジ分析 |
time-patterns <file> | 時間/曜日分布 |
evolution <file> | 経時的な嗜好の変化 |
出力
| コマンド | 説明 |
|---|
export <file> | すべての標準グラフを一括エクスポート |
report <file> | Horus スタイルのナラティブレポート |
対応フォーマット
| フォーマット | 拡張子 | 自動検出 |
|---|
| JSONL | .jsonl | 行区切り JSON |
| JSON | .json | 配列または {data: [...]} |
| CSV | .csv | カンマ区切り |
列タイプ検出
describe コマンドは自動的に以下を検出します:
| タイプ | 検出ロジック | 推奨グラフ |
|---|
| temporal (時系列) | datetime64、日付のような文字列 | 折れ線、面積、ヒートマップ(時間軸) |
| numerical (数値) | int64、float64 | ヒストグラム、散布図、統計 |
| categorical (カテゴリ) | 低カーディナリティ(≤20 ユニーク) | 棒、円、ヒートマップ |
| boolean (ブーリアン) | bool 型 | 円(true/false) |
| text (テキスト) | 高カーディナリティ文字列 | ワードクラウド、Top-N |
グラフ推奨
列タイプに基づいて、analytics は以下を推奨します:
| データパターン | グラフタイプ | create-figure コマンド |
|---|
| 1 カテゴリ | 棒、円 | metrics --type bar |
| 1 時系列 | 折れ線 | training-curves |
| 2 カテゴリ | ヒートマップ | heatmap |
| 時系列 + カテゴリ | ヒートマップ | heatmap |
| 2+ 数値 | 相関行列 | heatmap |
| 1 数値 | ヒストグラム | metrics --type bar |
Agent ワークフロー
プロジェクトエージェントが任意のデータセットを分析し可視化する場合:
result = run("./run.sh describe data.jsonl --json")
recommendations = result["recommendations"]
chart_name = recommendations[0]["name"]
cmd = recommendations[0]["create_figure_cmd"]
run(f"./run.sh chart data.jsonl --name {chart_name} -o chart.json")
run(f"cd .agent/skills/create-figure && ./run.sh {cmd} -i chart.json -o chart.pdf")
例
Eコマース販売データ
./run.sh describe orders.jsonl
./run.sh group-by orders.jsonl --by category --agg amount --func sum --for-figure -o revenue_by_category.json
cd .agent/skills/create-figure
./run.sh metrics -i revenue_by_category.json --type bar -o revenue.pdf
YouTube 履歴(ingest-yt-history)
./run.sh insights ~/.pi/ingest-yt-history/history.jsonl
./run.sh export ~/.pi/ingest-yt-history/history.jsonl -o ./charts --for-figure
cd .agent/skills/create-figure
./run.sh heatmap -i charts/heatmap.json -o viewing_heatmap.pdf
API レスポンスデータ
./run.sh describe api_logs.json
./run.sh stats api_logs.json --columns response_time
./run.sh group-by api_logs.json --by endpoint --agg response_time --func mean --for-figure -o latency.json
依存関係
dependencies = [
"pandas>=2.0.0",
"typer>=0.9.0",
"rich>=13.0.0",
]
Horus との統合
./run.sh insights ~/.pi/ingest-yt-history/history.jsonl --horus
よくある間違い
./run.sh stats data.jsonl --columns revenue,cost
./run.sh describe data.jsonl
./run.sh group-by data.jsonl --by date --agg views | ./run.sh metrics --type pie