ti-data-load — データ投入・移行(一括投入の機構)
PSA/IMA を使う顧客 org へ、初期・移行・稼働後を問わず一括のレコードデータを、関係の整合を保って投入・移行する能力スキル。核は「一括投入の機構」であって、稼働前/稼働後の局面ではない。
本書は薄い索引に徹する(詳細は必要な reference だけを読む方式)。手順の実体は各 reference にある。
このスキルが持つもの・持たないもの
| 持つ(投入・移行の中身と機構) | 持たない(型・段取り・判断=委譲先) |
|---|---|
| 移行の4本柱(マスタ先/会計計上レコードは自動作成/tb_ExId関係解決/投入時制御) | 契約モデルごとの型(商品サービス・明細・収益/費用認識)の本体= ti-reference の recipe |
| tb_ExId による親→子→孫の関係解決・サンドボックス間の多段移行 | 書込前の構造ゲート(作れない工程の検出・参照先の有効条件)= ti-reference の write-index |
| 自動作成シーム経由での下流レコード生成【機構】(移行・デモ・サンプル共通) | どのシナリオを何件・どの順で・どんな体験で作るかのワークフロー= ti-poc |
| 投入時の制御・前提セットアップの段取り(会計期間の締め/組織デフォルト/管理会計連携/レート・共有/マスタ seed 閉包) | 各設定・前提が何を止めるかの判定内容=意味定義(索引→atlas_explain)/稼働後の日常の少量(1件〜数件・対話的)な作成・更新・マスタメンテ= ti-update |
| よくあるインポートエラー対処と検証(生成完全性ゲート) | メタデータ定義の差分デプロイ(項目・レイアウト・Flow・権限セット)= ti-metadata/SOQL参照・集計= ti-reference |
主従を崩さない: 本スキルは「入れる機構」を持ち、「型の意味」(ti-reference)・「見せる段取り」(ti-poc)・「稼働後の日常の少量書込」(ti-update)・「定義の配備」(ti-metadata)は持たず、発火点でそれらを参照・委譲する。
境界(誤発火の決め手)
ti-update との分かれ目は稼働前/後の timing ではなく、一括投入の機構か日常の少量書込か。稼働後でも一括なら本スキル、稼働前でも「テスト中に1件だけ対話的に直す」なら ti-update 寄り。
| 言い回し | 発火先 | 決め手 |
|---|---|---|
| 別組織からデータを移す・org間コピー・クレンジング入れ直し | ti-data-load | 移行の投入 |
| マスタ全量投入・期首残高・大量投入 | ti-data-load | 初期・大量 |
| 稼働後にCSV/ファイルで一括登録・一括更新(upsert) | ti-data-load | 稼働後でも一括なら本スキル(timingで判定しない) |
| デモ/PoC/テストデータを自動作成シーム経由で作る | ti-data-load | 生成の機構 |
| 稼働後にこの1件を直す・取引先を1社足す(対話的・少量) | ti-update | 日常の少量書込 |
| この契約モデルの型を知りたい・集計を引きたい・書込前ゲートを引く | ti-reference | 型・参照・構造ゲート |
| このデモで何のシナリオを何件どの順で見せるか | ti-poc | ワークフロー(段取り) |
| カスタム項目・レイアウトを配備したい | ti-metadata | メタデータ定義の配備 |
発火点(いつ・どの reference を読むか)
| チェックポイント | 読む/呼ぶ | 渡す・確認するもの |
|---|---|---|
| そのセッションで最初に TI のスキルを使う瞬間(依頼の内容を問わず・1 セッション 1 回) | ti-core references/version-freshness.md |
同梱 .claude-plugin/plugin.json の版 |
| 移行の原則・関係解決・標準フロー・期首残高で投入計画を作る | references/migration-principles.md |
投入順(マスタ→トランザクション)・tb_ExId 割当・段階移行 |
| 下流を直接作ろうとした瞬間(上流を飛ばす形になっていないか) | references/migration-principles.md §入口を変えると、親のできかたが変わる |
正規の入口・親ヘッダーが用途別に立つか・再ペアレントの可否 |
| 上流の自動作成シーム経由で下流レコードを生成する(移行の後続・デモ/サンプル/テストのトランザクション) | references/migration-principles.md §自動作成シーム経由で下流を生成する |
起点・自動作成フラグ(実名は書込前ゲートで引く)・読み戻し/差分UPDATE・非同期ドレイン待ち |
| 投入するレコードの業務日付を決める瞬間(実績側と予定側の対) | references/migration-principles.md §業務日付は実績側と予定側を対で埋める |
実績の日付と予定の日付の対・支払条件の充足・日付の出どころ(意味定義の横断索引) |
| 明細を作る直前(親と一緒に生まれない明細を1行足す瞬間・種類を問わない) | references/migration-principles.md §明細は明細エディタの公開アクションで作る |
経路の順位(親の機能→明細エディタの公開アクション→ゲートで対象外と確認できたときだけ API)。API へ降りたときだけ §画面が写す項目を API 経路は肩代わりしない も読む |
| シームを倒したのに生成先が見つからない瞬間 | references/migration-principles.md §生成されたかどうかは起点レコードのフィードで確かめる/§空振りに見えたときに、手で作ることは選択肢に入れない |
起点レコードのフィード→待ち→作成可ゲート→止めて知らせる、の4段。手で作ることは選択肢に入れない |
| 投入時の制御・投入先の前提セットアップを整える | references/load-controls-and-prereqs.md(判定内容は同ファイルの引き方表から意味定義を引く) |
データ取込モード・会計期間の締め/組織デフォルト/管理会計連携/レート・共有/マスタ seed 閉包 |
| インポートエラーに当たった・投入結果を検証する | references/import-errors.md |
エラー種別・原因→対処・生成完全性ゲート |
| 投入・移行が一段落した瞬間(指示を待たない・完了条件) | references/import-errors.md §投入後の答え合わせ(3層・完了条件) |
L1 管理会計→L2 伝票の最終形→L3 構造・経路の順で降りた結果・⚠️ の手順への帰属 |
| 隣接スキルとの境界を判定する・着手前ゲートの型索引を引く | references/boundaries-and-gates.md |
局面(一括投入 vs 日常少量)・型索引ファセット・委譲先 |
| create/insert/import の書込直前の構造ゲート(作れない工程の検出・参照先の有効条件) | ti-reference の書込前ゲート(ti-reference references/write-index.md) |
対象API名・auto_create シーム・参照先の有効性(判定 ❌/⚠️/✅ に従う) |
| 製品の操作手順・可否・理由を書こうとした瞬間/製品そのもの(コード・フロー・項目ヘルプ・パッケージのメタデータ)を読もうとした瞬間/実測と期待の食い違いを不具合と書こうとした瞬間/作業の対象範囲を自分で数え上げようとした瞬間 | ti-core references/knowledge-lookup.md |
引きたい製品・機能と、利用者の言い方 |
| org へデータを書き込む直前(投入・自動作成 touch・upsert・前提 seed) | ti-core references/safety-gate.md |
投入対象・件数・承認ドラフト・PIIマスキング |
| 投入手順をユーザーと往復で詰める瞬間(対象オブジェクト・キー項目・投入順の確認) | ti-core references/spec-roundtrip.md |
投入計画(オブジェクト順・キー項目・型判定の前提) |
| 同じ箇所で繰り返し失敗・つまずく摩擦/意味定義・サーバーAPIの不足を検知した瞬間 | ti-core references/feedback.md |
匿名化した摩擦シグナル・不足の内容 |
| 一次解決で解けず利用者が未解決のまま/繰り返し詰まると判定した瞬間 | ti-core references/support-escalation.md |
本人の許可・再現手順(PII・業務データ本体・認証情報は載せない) |
| 投入の前に接続・認証が整っていない(標準 MCP 未接続/ローカル実行用の本人接続が未了) | ti-rollout(ti-rollout references/api-eca-setup.md) |
接続先 org・本人接続(api スコープ ECA)。認証の正本は ti-rollout で、本スキルは再実装しない |
外部書き込み(org 投入)は承認ゲートを通す(発火点表の ti-core references/safety-gate.md=承認ドラフト提示→人が承認)。検知→計画→ドラフトまでは自動、実投入はユーザー承認後。
ti-core・ti-reference は改称発効済みのため、上表のパスは正準名(
ti-core references/...・ti-reference references/write-index.md)をそのまま指す。ti-poc は配置済みだが「ti-poc がモードで本スキルを呼ぶ」一方向参照のため、本スキルからはハードパスを張らず境界の一句で受ける。
reference 索引
| reference | 何を定義するか |
|---|---|
references/migration-principles.md |
移行の4本柱(会計計上レコードは自動作成=個別名で列挙)/tb_ExId 関係解決(親→子→孫・二段構えの引き当て・送るレコードに自分自身の外部IDを含めない・閉包を参照グラフから取る)/サンドボックス間多段移行/標準フロー(導入・デモ共通・期首残高主義・取引先の3段・転記専用項目・再実行の担保)/業務日付は実績側と予定側を対で埋める(計上日の源泉・対で埋める理由・支払条件から算出される日付・計上日を後から直すと外貨建ての金額が動く)/自動作成シーム経由で下流を生成する機構(シーム経由の原則・入口を変えると親のできかたが変わる・手順5段・非同期ドレイン待ち・生成の確認は起点レコードのフィード・空振りに見えても手で作らない・射程)/明細は明細エディタの公開アクションで作る(経路の順位3段)/画面が写す項目を API 経路は肩代わりしない |
references/load-controls-and-prereqs.md |
投入時の制御(データ取込モード・自動計上スイッチ・ロールアップ再計算)/前提セットアップの段取り(会計期間の締め/組織デフォルト/管理会計連携/社員・レート・共有/マスタ seed 閉包/一括移行ツールの回避策)/各前提の判定内容を意味定義から引く引き方表 |
references/import-errors.md |
よくあるエラーと対処/検証(件数・主要項目・業務シナリオ)/投入後の答え合わせ(L1 管理会計→L2 伝票の最終形→L3 構造・経路の3層・完了条件・⚠️ の手順への帰属・金額とは別に時間軸を月別で見る)/生成完全性ゲート(会計計上レコードは個別名で数える)/一次情報URL |
references/boundaries-and-gates.md |
隣接境界(ti-update=一括投入 vs 日常少量〔timingで判定しない〕・ti-poc=機構 vs ワークフロー・ti-reference=ゲート/型・ti-metadata=seed vs 定義配備)/書込前ゲートの ti-reference 委譲/着手前ゲートの型索引と型取り違えの検知サイン |
原則
- 機構はここ、型は ti-reference、段取りは ti-poc。生成の機械(どう作るか)は本スキル、業務モデルの型(何を作るか)は ti-reference の recipe を索引で引く。機械の正しさ ≠ 型の正しさ。
- 一括投入か日常の少量書込かで ti-update と分ける。稼働前/後の timing では分けない(稼働後の一括CSV登録も本スキル)。
- 会計計上レコードは投入せず自動作成させ、呼ぶときは個別名で書く=売上・請求・入金予定・支払予定・支払・仕入経費。総称語「帳票」「会計ヘッダー」は使わない。「請求予定」は使わない(「請求」と「入金予定」を混同した誤りの造語)。
- 直 INSERT 禁止=シーム経由(「原則」は付けない。例外の余地は判定側が持ち、判定は書込直前に ti-reference の write-index を引いて ❌/⚠️/✅ に従う。ゲート機構は再実装しない)。明細は既定で明細エディタの公開アクションが在ると考え、親の機能→公開アクション→(ゲートで対象外と確認できたときだけ)API の順で当てる(
references/migration-principles.md§明細は明細エディタの公開アクションで作る)。API へ降りたときだけ、画面が写す項目を API が肩代わりしないことを前提に置く(同 §画面が写す項目を API 経路は肩代わりしない)。 - シームが空振りに見えても、手で作らない。起点レコードのフィード→待ち→作成可ゲート→止めて知らせる、の4段だけが退避(
references/migration-principles.md§生成されたかどうかは起点レコードのフィードで確かめる/§空振りに見えたときに、手で作ることは選択肢に入れない)。手作りはその場では成功し、構造だけが壊れるため、失敗として観測されない。 - 業務日付は金額・関係と同じ強さで埋める。会計計上レコードの計上日は源泉レコードの業務日付から決まり、源泉が空なら空のまま伝わる(自動作成は日付を補わない)。実績側と予定側を対で入れ、片側だけ入れて金額の検算が通ったことを根拠にしない(
references/migration-principles.md §業務日付は実績側と予定側を対で埋める)。 - 答え合わせは完了条件。投入したら指示を待たずに L1 管理会計→L2 伝票の最終形→L3 構造・経路の順で降り、⚠️ は投入手順の側へ帰属させて直してから再実行する。合計が正解値と一致していても、集計の経路・作り方・時間軸は別に見る(
references/import-errors.md §投入後の答え合わせ(3層・完了条件))。 - 項目属性を安全性の根拠にしない。書けること(describe が作成可能と返すこと)と、書いてよいことは別。転記専用項目・製品が積み上げる合計項目はいずれも作成可能として返る。
- 設定・前提の判定内容は意味定義側が正本。本スキルの reference は投入運用の段取りと復旧手順を持ち、どのスイッチ・どのマスタ欠落が何を止めるかは索引→
atlas_explainで引く(引き方はreferences/load-controls-and-prereqs.mdの表)。食い違ったら意味定義側を採り、同じ判定を二重に走らせない。ただし項目 API 名は describe で確定してから書き込む(引いた内容が用途と噛み合わないときは実行せず裏を取る)。 - 本書は薄く保つ。手順・チェックリストは reference に置き、SKILL.md は索引に徹する。
- 利用者向け出力の規律は ti-core
references/output-discipline.mdが正本(業務語へ翻訳し、レコードはリンク化する)。本スキルへ書き写さず、投入結果のレコードを示す出力を書く直前に読む。