Skip to content
cccskills
FreePublished on GitHub

data-migration

CSV / JSON などの既存データを Dataverse / Azure Databricks / Microsoft Fabric Lakehouse へ移行する。

ソースのプロファイル → マッピング契約の生成とレビュー → 検証と hash 承認 → 冪等な投入(upsert / MERGE / 全件ロード)→ 件数・キー・列値の照合までをスクリプトで行う。投入先の作成は dataverse / data-platform スキルが担当する。

The English summary is being prepared. Showing the original description.

Works withSharePointAzure
See how to install

Files included (17)

  • SKILL.md5.9 KB
  • references/.env.example814 B
  • references/design.md4.3 KB
  • references/mapping-contract.md2.8 KB
  • references/samples/cold-chain/freezers.csv149 B
  • references/samples/cold-chain/stores.csv117 B
  • references/samples/cold-chain/telemetry.csv610 B
  • references/samples/cold-chain/work_orders.csv187 B
  • references/test-plan.md4.6 KB
  • references/troubleshooting.md3.1 KB
  • scripts/build_mapping.py6.5 KB
  • scripts/migrate_data.py21.2 KB
  • scripts/profile_source.py3.5 KB
  • scripts/source_reader.py4.7 KB
  • tests/test_build_mapping.py2.4 KB
  • tests/test_migrate_data.py9.9 KB
  • tests/test_profile_source.py2.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

データ移行スキル

既存データを、選定済みのデータ基盤へ 安全に・何度実行しても同じ結果になるように投入する。

原則内容
契約を正とする列・型・業務キー・参照関係を mapping.json に固定し、スクリプトはそれだけを読む
業務キー必須各テーブルに一意の業務キーを持たせ、upsert / MERGE で冪等に投入する
先に全件検証キー重複・必須 NULL・型変換・長さ・参照整合性を投入前にすべて検出する
変更は hash 承認plan の planHash を利用者が承認してから apply。ソースが変われば hash も変わる
読み戻して照合件数・キー集合・列値を投入先から読み戻して比較する。削除は行わない
パラメーター化SQL・URL に値を埋め込まない。識別子は正規表現で検証する

サブリファレンス

リファレンス内容
設計責務分担、処理の流れ、投入方式、安全モデル
マッピング契約mapping.json の仕様と型対応
テスト計画Unit / Live の ID と合格基準
サンプル(cold-chain)4 表・22 行。data-platform の基準質問の正解が 1 行に決まる
.env サンプル本スキルのパラメータ
異常系・トラブルシュート実際に踏んだ失敗と恒久対策

ワークフロー(正常系)

$dm = ".github/skills/data-migration/scripts"

Step 1: 投入先と権限を確認する

Code Apps 開発で SharePoint URL を受け取った場合、直接接続・継続利用の明示がなければ 投入先は Dataverse とする。移行か直接接続かを毎回聞き直さず、URL は移行元の参照情報として扱う。 URL を渡されたことだけを読み取り・書き込みの承認とせず、取得範囲と読み取り権限を確認する。 既存の承認済みエクスポートを再利用するか、読み取り権限内で CSV / JSON を取得し、Step 2 に渡す。 取得できなければ所有者へエクスポートを依頼し、SharePoint 直接接続へ黙って切り替えない。 元の SharePoint データは変更・削除せず、移行後の常時同期も明示依頼なしには構築しない。

それ以外は選定済みの投入先(Dataverse / Databricks / Fabric Lakehouse)を再利用する。 AskUserQuestion では不足している書き込み承認、個人情報の扱い、既存データの上書き可否だけを確認する。 投入先が未作成なら先に作るが、Code Apps の初回 push は移行完了を待たせない。 全件検証・hash 承認・投入後の照合は省略しない。

投入先事前に必要なもの担当
Dataverseテーブル・列・Lookup・業務キー列の代替キーdataverse
Databricksworkspace・SQL warehouse・catalog(schema は自動作成)data-platform
Fabric Lakehousecapacity(Active)・workspace・Lakehousedata-platform

Step 2: ソースをプロファイルする

python $dm/profile_source.py --source-dir data/ --out spec/profile.json

型・NULL 数・一意性・キー候補・外部キー候補を確認する。キー候補が無いテーブルは、業務キーを利用者と決める。

Step 3: マッピング契約を作り、レビューする

python $dm/build_mapping.py --profile spec/profile.json --target databricks --catalog <catalog> --schema <schema> --out spec/mapping.json

出力の review を 1 件ずつ解消する(Dataverse は entitySet・代替キー・navigationProperty を dataverse スキルの定義と一致させる)。 確定した mapping.json を利用者に提示して合意を得る。

Step 4: 検証して計画を作る

python $dm/migrate_data.py plan --mapping spec/mapping.json --source-dir data/ --out .data-migration/plan.json

終了コード 2 なら errors を修正して再実行する。成功したら planHash・ロード順・件数を提示し、明示承認を得る。

Step 5: 投入する

python $dm/migrate_data.py apply --plan .data-migration/plan.json --approve-hash <planHash>

blocked(例: Dataverse の代替キー未定義)は前提を整えてから再実行する。途中で失敗しても、同じ plan の再実行で冪等に回復する。

Step 6: 照合する

python $dm/migrate_data.py verify --plan .data-migration/plan.json --out .data-migration/reconcile.json

全テーブルが verified になったら完了。missingKeys / extraKeys / mismatched を報告し、 続けて data-platform の Step 6(セマンティック層)と Step 7(runtime 検証)へ進む。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

admin

Free

Power Platform のテナント / 環境ガバナンスを確認・設定する。通常開発では事前チェックせず、環境チェックの明示依頼時または開発・デプロイ障害時だけ診断する。依頼者の現在有効な委任権限と対象範囲を確認し、権限内の最小診断・承認済み修復・限定リトライ、権限不足なら管理者への依頼へ分岐する。環境・DLP・ACP・環境グループ・テナント戦略の確認と dry-run 付き管理操作を提供する。

The English summary is being prepared. Showing the original description.

geekfujiwara/CodeAppsDevelopmentStandard74Updated Oct 19, 2026

Copilot Studio 新 UI の Agent flows / Workflows を構築・公開・検証する。Dataverse レコード作成/更新トリガーから既存の発行済み Copilot Studio v2 を Agent ノードで呼ぶ標準経路、Code Apps との非同期要求/結果連携、および手動 Start + inline Agent の API ライフサイクル検証を扱う。

The English summary is being prepared. Showing the original description.

geekfujiwara/CodeAppsDevelopmentStandard74Updated Oct 19, 2026

株主総会の想定問答を、IR 抜粋(決算短信・説明資料・招集通知など)を根拠に下書きし、利用者の確認後に Dataverse の想定問答テーブルへ「下書き」として登録するスキル。 Use when ユーザーが「配当について想定問答を作って」「この論点の想定問答を 3 件追加して」「招集通知から想定問答を作って」「想定問答を登録して」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。

The English summary is being prepared. Showing the original description.

geekfujiwara/CodeAppsDevelopmentStandard74Updated Oct 19, 2026

株主総会の想定問答を点検し、根拠の IR 抜粋に無い数値・存在しない根拠 ID・回答者や注意事項の抜け・趣旨の重複・下書きのまま残っているものを一覧にするスキル(書き込みはしない)。 Use when ユーザーが「想定問答を点検して」「根拠の無い数値が無いか確認して」「下書きの想定問答を一覧にして」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data)を使用する。書き込み・削除のツールは使わない。

The English summary is being prepared. Showing the original description.

geekfujiwara/CodeAppsDevelopmentStandard74Updated Oct 19, 2026

株主総会の質疑応答のリハーサル台本(議長・株主・回答役員の読み上げ原稿)を、承認済みの想定問答から作り、Dataverse のリハーサル台本テーブルへ登録するスキル。 Use when ユーザーが「リハーサルの台本を作って」「QA-001〜QA-010 で読み上げ原稿を作って」「番号を言わない株主も入れた台本を作って」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。

The English summary is being prepared. Showing the original description.

geekfujiwara/CodeAppsDevelopmentStandard74Updated Oct 19, 2026

AI Builder の AI プロンプト(GPT Dynamic Prompt)を Dataverse API で作成し、Copilot Studio エージェントにツール(アクション)として追加する。Power Automate フローとの統合パターンも含む。

The English summary is being prepared. Showing the original description.

geekfujiwara/CodeAppsDevelopmentStandard74Updated Oct 19, 2026

See all skills by geekfujiwara

Report a problem with this skill