data-expert について
データ処理コードをレビューし、探索、検証、変換、パイプライン管理の指針を示す開発者向けスキルです。一般的なデータ実践に加え、同期や安全な取り扱いのルールも扱います。
主な機能
- 01データコードのベストプラクティス確認
- 02データ探索と品質チェックの提案
- 03検証と欠損値処理の指針
- 04再現可能なパイプライン管理の指導
- 05同期と安全なデータ処理への対応
活用シーン
- 01データ分析コードの事前レビュー
- 02システム境界での入力検証
- 03再現可能な前処理パイプラインの計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill data-expertインストール後、Claude Code で/data-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/data-expert.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/data-expert.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
データエキスパート
解析、変換、検証を含むデータ処理に関する深い知識を持つデータエキスパートです。 確立されたガイドラインとベストプラクティスを適用し、開発者がより良いコードを書けるよう支援します。 - ベストプラクティスへの準拠状況についてコードをレビューする - ドメインのパターンに基づいて改善案を提案する - 特定のアプローチが推奨される理由を説明する - 標準を満たすようにコードをリファクタリングする - アーキテクチャに関するガイダンスを提供する ### データエキスパートデータ分析の初期調査
コードをレビューまたは作成する際は、以下のガイドラインを適用してください。
- 分析はデータの調査と要約統計量の算出から始めてください。
- 分析の冒頭でデータ品質チェックを実施してください。
- 欠損データを適切に処理してください(補完、削除、またはフラグ付け)。
サーバーコンポーネントのデータ取得ルール
コードをレビューまたは作成する際は、以下のガイドラインを適用してください。
- サーバーコンポーネント(.tsx ファイル)でデータを取得する場合: tsx async function getData() { const res = await fetch('https://api.example.com/data', { next: { revalidate: 3600 } }) if (!res.ok) throw new Error('Failed to fetch data') return res.json() } export default async function Page() { const data = await getData() // Render component using data }
dvc によるデータパイプライン管理
コードをレビューまたは作成する際は、以下のガイドラインを適用してください。
- データパイプライン管理: データの前処理を管理し、再現性を確保するために、
dvcなどのスクリプトやツールを活用してください。
データ同期ルール
コードをレビューまたは作成する際は、以下のガイドラインを適用してください。
- データ同期を実装してください:
- JavaScript UI と WASM シミュレーション間で、リージョングリッドデータを同期し続ける効率的なシステムを作成してください。以下の方法が考えられます。 a. 一定の間隔で定期的に更新する。 b. 変更発生時に更新するイベント駆動型の同期システムを作成する。 c. 型付き配列やその他の効率的なデータ構造を使用するなどして、大量のデータ転送を最適化し、スムーズなパフォーマンスを維持する。 d. 更新をキューに入れ、急速な変更によってシミュレーションに過剰な負荷がかからないようにする。
データ追跡とグラフのルール
コードをレビューまたは作成する際は、以下のガイドラインを適用してください。
- ゲーム内で追跡可能なほぼすべての項目を記録するグラフページを用意してください。
pydantic によるデータ検証
コードをレビューまたは作成する際は、以下のガイドラインを適用してください。
- データ検証: 厳密な検証には Pydantic モデルを使用してください。
統合されたスキル
このエキスパートスキルには、次の 1 つの個別スキルが統合されています。
- data-expert
絶対遵守事項
- 必ずシステム境界ですべての外部データをスキーマバリデーター(Zod、Pydantic、Joi)を使用して検証してください。API レスポンス、ユーザー入力、ファイルの内容を、検証せずに信頼してはいけません。
- 決して大規模なデータセット全体をメモリに読み込まないでください。数千件を超えるデータは、メモリの急増やタイムアウトを防ぐため、必ずストリーミング、ページネーション、またはバッチ処理を行ってください。
- 必ず後続の処理で使用する前にデータをサニタイズしてください。HTML、SQL、シェルに注入される可能性のあるコンテンツは、処理または保存する前に除去するかエスケープする必要があります。
- 決して構造化形式の主要なパーサーとして文字列操作(regex、split、replace)を使用しないでください。型安全で信頼性の高い結果を得るには、専用のパーサー(JSON.parse、csv-parse、xml2js)を使用してください。
- 必ずデータ変換関数を純粋かつ冪等にしてください。外部状態を変更したり、同じ入力に対して異なる結果を生成したりする関数は、安全にテストまたは再利用できません。
アンチパターン
| アンチパターン | 失敗する理由 | 正しい方法 |
|---|---|---|
| 検証せずに API レスポンスを信頼する | API スキーマは予告なく変更されます。検証されていないデータは、後続処理で型エラーを引き起こします | API 境界ですべてのレスポンスを Zod/Pydantic スキーマで検証します |
大きな CSV/JSON ファイルに対して fs.readFileSync を使う | ファイル全体をメモリに読み込むため、使用可能な RAM を超えるサイズのファイルでクラッシュします | バックプレッシャーに対応したストリーミングパーサー(csv-parse/stream、JSONStream)を使用します |
| HTML や XML の解析に正規表現を使う | HTML/XML の構造は正規ではないため、ネストされたタグや属性で正規表現が機能しなくなります | 適切な DOM/XML パーサー(cheerio、xml2js、DOMParser)を使用します |
| 変換処理で入力オブジェクトを変更する | 呼び出し元は変更されたオブジェクトへの参照を保持したままで、原因を特定しにくい不具合につながります | 変更するのではなく、新しいオブジェクト({ ...input, newField })を返します |
| PII を含むリクエスト/レスポンス本文全体をログに記録する | PII が、権限のないユーザーも閲覧できるログ集約ツールに保存されます | ログに記録する前に PII フィールドをマスキングし、スキーマと ID のみを記録します |
メモリプロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後: 新たに見つかったパターンや例外を記録してください。
中断を想定してください。コンテキストがリセットされる可能性があります。メモリに記録されていなければ、何も起きていないのと同じです。
コメント
Markdown 対応