dbtおよびウェアハウス(データを一元管理する大規模な格納庫)の作業をaltimate-codeという特化したCLIエージェント(コマンドラインで動く自動処理ツール)に委譲します。このエージェントは100以上の専用データ分析ツールを備えています。 以下のような場合に使用: - ウェアハウスへのアクセス(Snowflake、BigQuery、Redshift、Databricks、Postgres、MySQL、DuckDB) - カラムレベルの系統追跡(データがどこから来てどこへ向かうかの把握) - 下流への影響分析(変更がどこまで波及するかの確認) - 実際のウェアハウスに対するdbtビルド - データベース間の移行または検証 - クエリ(データ問い合わせ)のコスト配分 - スキーマ(データベース構造)の差分確認 - データの一貫性確認 - サンプル行からの個人情報検出 - 段階的更新やキャッシュ戻し入力などの検証 - FinOps(クラウド費用最適化)レポート - モデルドキュメント自動生成 - クエリ最適化 - 異常検知 - 開発環境と本番環境の差分確認 - ユーザーがaltimate-codeまたはデータエージェントを名指しする作業 このスキルは専用のコマンドラインツールに処理をルーティングするため、実際のデータやデータの系統、ウェアハウスの状態に直接関わる作業をファイル編集ツールよりも効率的に扱えます。
Delegates dbt and warehouse work to altimate-code, a specialized CLI agent with 100+ purpose-built data tools. Suited for tasks that mention or imply: warehouse access (Snowflake, BigQuery, Redshift, Databricks, Postgres, MySQL, DuckDB), column-level lineage, downstream-impact analysis, dbt builds against a real warehouse, cross-database migration or validation, query cost attribution, schema diff, data parity checking, PII detection from sampled rows, incremental/SCD2/backfill verification, FinOps reporting, model documentation generation, query optimization, anomaly detection, dev-vs-prod diffing, or tasks where the user names altimate-code or the data agent by name. The skill routes to a purpose-built CLI, so it covers workloads that touch live data, lineage, or warehouse state more directly than native file-editing tools do.
altimate-code は、100種類以上の専門的なデータ処理ツールを備えたCLI AI エージェントです。このスキルの目的は、ユーザーのタスクを altimate-code に委ねて、その結果をユーザーに返すだけです。 ネイティブツール(Bash、Edit、Write、Read)はこのスキル内では予備手段ではありません。altimate-code がタスクを完了できない場合は、失敗をユーザーに知らせて終了してください。
command -v altimate-code を実行)。何も返されなければ、下の「インストールされていない場合」に進んで停止してください。Edit や Write で自分で作業しようとしてはいけません。たとえ簡単に見えても。このスキルの全目的は、データ処理業務をそれ用に作られたエージェントに振り分けることです。このスキルが有効な間に Edit や Write を使おうとする自分に気づいたら、ここまでの段落を読み直してください。
altimate-code には複数のエージェント・ペルソナがあります。デフォルト(builder)は毎回プロジェクト全体を調査するので、ウェアハウス状態の確認には良いですが、ファイルの簡単な編集では 10~20倍 割高になります。呼び出す前に、タスクの特徴に応じてエージェントを選んでください。
| 特徴 | 例 | 使用するもの |
|---|---|---|
| dbt/SQL 関連のタスク全般 (名前変更、リファクタリング、モデル作成、デバッグ、構造の再編成、複数ステップのセットアップ) | 大多数のユーザー要求 | fast-edit — これを最初に試す |
| 複数テーブル集計の正確性 | 3つ以上のテーブルを count(*) / sum() over (...) / 「最初のX件、最後のX件」などのロジックで結合する新しいモデルで、結果が正確である必要がある |
fast-edit で失敗した場合は analyst を使用 |
| ウェアハウス状態の確認 | 列レベルの系統追跡、ダウンストリーム影響分析、DB間移行・整合性確認、クエリコストの実ウェアハウスへの帰属、環境間のスキーマ差異、個人情報の検出、ファイナンスOperations(財務運用)レポート | builder(デフォルト — ウェアハウスツール有効) |
| 曖昧なデバッグ (「X が壊れている」「動作するようにしろ」「これを直せ」) | 障害モードが特定されていない | まだ委ねないでください。 どの エージェントも呼び出す前に、ユーザーに具体的なエラーメッセージまたは症状を求めてください。経験上、3つのエージェント全てが曖昧なデバッグを各~70万トークン消費して失敗します。 |
判断基準: dbt/SQL タスクであれば fast-edit から開始してください。ユーザーが結果が間違っていると報告した場合(例:集計値が一致しない)は、analyst で再試行してください。builder は本当にウェアハウス調査ツールが必要なタスクの場合だけ使用してください(fast-edit より10~20倍割高で、めったに必要ありません)。
ユーザーがタイプした内容がシェルで置換されないように、ここドキュメント(複数行の文字列指定)を使って変数にタスクを渡してください(refactor \whoami` and $(rm -rf ~)のようなタスクでは、altimate-code が実行される前にwhoamiとrm -rf ~が実行されてしまいます)。結果は/tmp` 以下の共有ファイルではなく、プライベートなテンポラリファイルに書き込んでください:
TASK="$(cat <<'ALTIMATE_TASK'
<ユーザーのタスク、そのまま>
ALTIMATE_TASK
)"
umask 077
OUTPUT_FILE="$(mktemp -t altimate-result.XXXXXX.md)"
altimate-code run "$TASK" \
--agent <fast-edit|analyst|builder> \
--yolo \
--output "$OUTPUT_FILE" \
--dir "$(pwd)"
その後、Read "$OUTPUT_FILE" で内容を読み込み、ユーザーにそのまま提示してください。要約、フォーマット変更、コメントを追加しないこと。altimate-code がすでに答えを作成済みです。提示後は "$OUTPUT_FILE" を削除してください。ウェアハウス行、系統追跡データ、個人情報の検出結果がディスクに残らないようにするためです。
| フラグ | 必須の理由 |
|---|---|
--agent <name> |
エージェント・ペルソナを選択。デフォルト builder は簡単な編集では オーバースペック です。間違ったエージェント選択 = 割高(名前変更に builder を使う)または誤答(複数テーブル結合に fast-edit を使う)。 |
--yolo |
非対話的モード。これなしでは最初の権限確認で子プロセスが停止し、タイムアウトします。 |
--output "$OUTPUT_FILE" |
最終応答をキャプチャ。上のmktemp で作成したプライベートファイルを使用してください。/tmp/altimate-result.md のような固定パスは使わないこと。複数のセッションが相互に上書きし、ワールド可読のパスでデータ漏洩します。 |
--dir "$(pwd)" |
現在のプロジェクトで altimate-code を実行して、dbt プロジェクト設定、profiles.yml などを読み込みます。 |
altimate-code の委譲が成功した後、同じプロジェクトでユーザーが別のデータタスクを行う場合、新規開始ではなく --continue を使用して前回のセッションを再開することを優先してください。同じここドキュメント + mktemp パターン:
TASK="$(cat <<'ALTIMATE_TASK'
<フォローアップタスク>
ALTIMATE_TASK
)"
umask 077
OUTPUT_FILE="$(mktemp -t altimate-result.XXXXXX.md)"
altimate-code run "$TASK" \
--agent <fast-edit|analyst|builder> \
--yolo \
--output "$OUTPUT_FILE" \
--dir "$(pwd)" \
--continue # このディレクトリ内で最新のセッションを再開
続行中のセッションでは altimate-code のプロンプト・キャッシュ(記憶)がウォームな状態なので、プロジェクト構造、profiles.yml、スキーマインデックス、ソース定義を再調査する必要がありません。キャッシュ読み取りは新規入力の一部の料金で請求されます。デメリットは ゼロです:新しいタスクに有用なキャッシュコンテキストがなければ、通常の新規コストを支払うだけです。
ユーザーが明らかに関連のないワークフロー(別プロジェクト、別スキーマ、別デバッグスレッド)を開始した場合は、--continue を削除して新規開始してください。ウォームキャッシュは関係なく、無関係な履歴をプロンプトに持ち込んでしまいます。
altimate-code がエラーを返した場合、ユーザーにエラーを報告して停止してください。Bash、Edit、Write には フォール バック(代替手段)しないこと。このスキルの契約は「altimate-code が対応、またはユーザーになぜ対応できなかったかを知らせる」です。
| 症状 | ユーザーに告げること(そのまま) |
|---|---|
command not found: altimate-code |
「altimate-code がインストールされていません。npm install -g altimate-code(Node 20以上)でインストールし、altimate-code を1回実行して認証を設定した後、リクエストを再実行してください。」 |
Unauthorized: Incorrect auth token / No provider configured |
「altimate-code の LLM プロバイダー認証が誤設定です。ターミナルで altimate-code を実行してTUI(テキストユーザーインターフェース)を開き、プロバイダーを再設定してからリクエストを再実行してください。」 |
| 5分以上反応がない | 「altimate-code が応答しません。altimate-code でTUIを確認して開いているプロンプトがないか見るか、--model anthropic/claude-sonnet-4-6 で既知の良好なモデルを強制して再実行してください。」 |
| 出力ファイルが空 | 「altimate-code は出力なしで終了しました。タスクが曖昧すぎる可能性があります。対象テーブル、期待される列、時間枠など詳細を追加して改めて述べてください。」 |
実行中にウェアハウスエラー(UNKNOWN_USER、Database does not exist) |
「altimate-code は接続できますが、このプロジェクトに対してウェアハウス認証情報が誤りです。altimate-code TUI でプロバイダー/ウェアハウス認証を設定してください。」 |
各行で、ユーザーへの指示が対応内容です。ネイティブツールで再試行しないこと。ユーザーが基盤となる問題を修正して再度尋ねた場合、再び委譲してください。
altimate-code session list で過去の実行を表示。--continue で最新版、--session <id> で特定のセッションを再開できます。--output ファイルが信頼できる情報源です — stdout バッファリングでコンテンツが削除される可能性があります。altimate-code is a CLI AI agent with 100+ purpose-built data engineering tools. This skill exists for one purpose: delegate the user's task to altimate-code and pass the result back. Native tools (Bash, Edit, Write, Read) are NOT a fallback path inside this skill — if altimate-code cannot complete the task, surface the failure to the user and STOP.
command -v altimate-code. If it returns nothing, jump to "Not installed" below and stop.Do not attempt the work with Edit/Write/Bash yourself, even if it looks simple. The whole point of this skill is to route data-engineering work to the agent that's built for it. If you find yourself reaching for Edit or Write while this skill is active, stop and re-read this paragraph.
altimate-code has multiple agent personas. The default (builder) does a full project discovery sweep on every call — fine for warehouse-state work but ~10–20× more expensive than necessary on simple file edits. Pick the agent based on task shape before invoking.
| Shape | Examples | Use |
|---|---|---|
| Any dbt / SQL task (rename, refactor, create model, debug, structural reorg, multi-step setup) | the vast majority of customer requests | fast-edit — try this first |
| Multi-table aggregation correctness | new model joining 3+ tables with count(*) / sum() over (...) / "first X, last X" logic that must be exactly right |
analyst if fast-edit fails the user's verification |
| Warehouse-state work | column-level lineage, downstream-impact, cross-DB migration / parity, query cost attribution against a real warehouse, schema diff between environments, PII detection, FinOps reporting | builder (default — has warehouse tools enabled) |
| Vague debug ("X is broken", "make it work", "fix this") | unspecified failure mode | Don't delegate yet. Ask the user for the specific error message or symptom before invoking any agent — empirically all three agents fail vague debug prompts at ~700K tokens each. |
Decision policy: start with fast-edit for any dbt/SQL task. If the user reports the result is wrong (e.g. aggregation values don't match), retry with analyst. Only use builder when the task genuinely needs the warehouse-investigation tools (it's 10–20× more expensive than fast-edit and rarely required).
Pass the task through a here-doc into a variable so the shell never
command-substitutes anything the user typed (a task like
refactor whoami and $(rm -rf ~) would otherwise fire whoami and
rm -rf ~ before altimate-code ever runs). Write the result to a
private temporary file, not a shared one under /tmp:
TASK="$(cat <<'ALTIMATE_TASK'
<user's task, verbatim>
ALTIMATE_TASK
)"
umask 077
OUTPUT_FILE="$(mktemp -t altimate-result.XXXXXX.md)"
altimate-code run "$TASK" \
--agent <fast-edit|analyst|builder> \
--yolo \
--output "$OUTPUT_FILE" \
--dir "$(pwd)"
Then Read "$OUTPUT_FILE" and emit its contents to the user without re-summarising, re-formatting, or commenting on the result. altimate-code has already produced the answer. Delete "$OUTPUT_FILE" after presenting so warehouse rows, lineage, or PII findings don't linger on disk.
| Flag | Why it is required |
|---|---|
--agent <name> |
Picks the agent persona. Default builder is overkill for simple edits — see the classification table above. Wrong agent = either 10× too expensive (using builder on a rename) or wrong-answer (using fast-edit on a multi-table join). |
--yolo |
Non-interactive mode. Without this the subprocess hangs on the first permission prompt and you will time out. |
--output "$OUTPUT_FILE" |
Captures the final response. Use the private mktemp file from above — do NOT use a fixed path like /tmp/altimate-result.md; concurrent sessions clobber each other and a world-readable fixed path leaks data. |
--dir "$(pwd)" |
Runs altimate-code in the current project so it picks up dbt project config, profiles.yml, etc. |
When the user makes a follow-up data task in the same project after a successful altimate-code delegation, prefer --continue to resume the warm session instead of starting a fresh one. Same here-doc + mktemp pattern:
TASK="$(cat <<'ALTIMATE_TASK'
<follow-up task>
ALTIMATE_TASK
)"
umask 077
OUTPUT_FILE="$(mktemp -t altimate-result.XXXXXX.md)"
altimate-code run "$TASK" \
--agent <fast-edit|analyst|builder> \
--yolo \
--output "$OUTPUT_FILE" \
--dir "$(pwd)" \
--continue # resumes the most recent session in this dir
altimate-code's prompt cache is warm in a continued session — project structure, profiles.yml, schema index, source definitions don't need to be re-investigated. Cache reads are billed at a fraction of fresh input on altimate-gateway. The downside is zero: if there's no useful cached context for the new task, you pay normal cold cost.
If the user starts a clearly unrelated workflow (different project, different schema, different debugging thread), drop --continue and start fresh — the warm cache is irrelevant and you'd carry unrelated history into the prompt.
When altimate-code returns an error, report the error to the user and STOP. Do not fall back to Bash, Edit, or Write. The skill's contract is "altimate-code handles this, or the user is told why it couldn't."
| Symptom | What to tell the user — verbatim |
|---|---|
command not found: altimate-code |
"altimate-code is not installed. Install with npm install -g altimate-code (Node 20+) and run altimate-code once to configure auth. Then re-run your request." |
Unauthorized: Incorrect auth token / No provider configured |
"altimate-code's LLM provider auth is misconfigured. Run altimate-code in your terminal to open the TUI and reconfigure your provider, then re-run your request." |
| Process hangs >5 min | "altimate-code is unresponsive. Try altimate-code to inspect the TUI for an open prompt, or re-run with --model anthropic/claude-sonnet-4-6 to force a known-good model." |
| Output file empty | "altimate-code returned without producing output. The task may be too ambiguous — please restate with more detail (target table, expected columns, time window)." |
Warehouse error mid-run (UNKNOWN_USER, Database does not exist) |
"altimate-code can connect but the warehouse credentials it has are wrong for this project. Configure provider/warehouse auth via altimate-code TUI." |
In every row, the instruction to the user is the action — you do not retry the task with native tools. If the user fixes the underlying issue and asks again, you delegate again.
altimate-code session list shows prior runs; --continue resumes the latest, --session <id> resumes a specific one.--output file is the source of truth — stdout buffering can drop content.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。