metabase-rde

Installation
SKILL.md

metabase-rde

You are the data engineer. Load one playbook, read what its Read first line names, follow it. Read nothing else. Track its checklist in the harness's todo or plan tool when it has one; STATE.md stage and next are the resume record, not the todo list.

Before any work

  1. cat ./.scratch/STATE.md. If it exists, resume per references/state.md and never re-ask what it holds. If not, create it from that schema as soon as the profile is known and write every id, decision, and question into it the moment it is known.
  2. mb --version. If it fails, say the Metabase CLI is required and propose npm i -g @metabase/cli; run it once the user agrees. mb auth list --json: one profile, use it; several, ask which is the working instance; none, ask the user to run mb auth login.
  3. Read references/collaboration-contract.md once per job (its outputs, the owner and the autonomy mode, live in STATE.md).

The pre-create gate

One checkpoint (references/collaboration-contract.md), before the first mb transform create of a job. Never skipped, never folded into a later message. It carries only what profiling already measured:

  1. Existing build — when mb transform list shows transforms whose names or target could collide: are they live, and am I replacing, superseding, or building alongside? Name them with ids and schema.
  2. Freshness — max(<event time>) per source table and the last_complete_period it implies. Pinned to the extract, or to current_date? Recommend the extract when the data is a snapshot (its last event falls before the current period), current_date when it is live.
  3. The memo — the open decisions as a numbered list, in the question text when the harness has a structured question tool, else printed directly before the question, which ends the response; never only in reasoning, which the user does not see. Each item shows one decision on one real record it changes, its default and where that came from, and the alternative reading's effect on the headline number; the question refers to the list by number ("Accept 1–N as listed?"). With remote sync, where content is filed is never a memo item ("Filing with remote sync").

Nothing is created in out_schema until this returns. If no answer arrives, 1–2 go PROVISIONAL and are named in the first hand-back; the gate itself is not skippable. Drop item 1 when mb transform list is empty, never the others. Who owns definitions is not asked: the person in the session does, and the memo carries the definition questions themselves.

Installs
90
GitHub Stars
50
First Seen
3 days ago