Skip to content
Agent Orchestration
Skill

/import-firebase

Build the import that moves the copied records into Firestore and their files into Cloud Storage, and prove it on the emulators.

BOOST
From plugin
mulmoterminal
24574 skills
Install
$ npx -y skills add receptron/mulmoterminal --skill import-firebase --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/import-firebase

Context preview

The summary Claude sees to decide when to auto-load this skill.

Build the import that moves the copied records into Firestore and their files into Cloud Storage, and prove it on the emulators.

SKILL.md

import-firebase.SKILL.md
name: blueprint-from-collection-import
description: "Build the import that moves the copied records into Firestore and their files into Cloud Storage, and prove it on the emulators."

Move the records in (emulators)

Read `.blueprint/source/source.json` first. If `records` is `false`, only the shape was copied: there is nothing to move. Add a `yarn import-source` script that says so and exits 0, and stop.

Otherwise the records are in `.blueprint/source/collections/<slug>/records.jsonl` (one JSON object per line), and the files they point at are under `.blueprint/source/files/`, at the path the record names.

1. Add `yarn import-source --target emulator|prod`, using the Admin SDK (`firebase-admin`, a dev dependency — it never ships to the client). `emulator`: the project id `demo-blueprint`; the emulator hosts come from the environment `firebase emulators:exec` sets, so no key is needed. `prod`: the production project from `.firebaserc`, with the person's Application Default Credentials. Never read a service account key file. 2. Names follow the spec and the pack's `spec/conversion.md` (Firestore): the collection is the slug; the document id is the primary key's value; a stored field keeps its key. A boolean stays a boolean, a number a number, a date its ISO text, a `ref` the referenced id as text. 3. A record's `image` / `file` value is a path: upload `.blueprint/source/files/<path>` to the default bucket at the same path, and keep the path in the field. If any file is uploaded, add the Storage emulator and `storage.rules` (deny by default; open only what the spec says), and write the bucket's name to `.blueprint/storage-bucket`. 4. Running it twice leaves the same documents (`set` by id, never `add`). 5. A record that does not fit is not dropped silently: the script stops and names the collection, the record's id and the field. 6. The rules are not loosened for the import: the Admin SDK does not go through them.

Done when the check passes: inside the emulators, run twice, every collection has as many documents as it had records, every stored field reads back equal, and every pointed-at file is in the bucket named in `.blueprint/storage-bucket`.

Always

  • Read `.blueprint/spec.md` first. It is the agreed specification; do not widen it.
  • When you need a decision, ask it through the blueprint question tool and stop. Do not guess.
  • Never enable billing, deploy to production, delete data or handle a credential unless this step's gates say the

user approved exactly that.

  • Say you are done by stopping; the executor runs the check. Do not claim success yourself.
Read more
Ships withmulmoterminal

Run multiple coding-agent sessions in parallel — and see which one needs you. A browser terminal for parallel AI coding agents: several sessions side by side, each in its own cell, with the one that needs you marked in colour.

Get the whole plugin
Stats
255
Stars
32
Forks
Active
Maintenance
TypeScript
Language
MIT
License
4h ago
Last commit
4mo ago
Created
18h ago
Added

Repo: receptron/mulmoterminal

Other skills on mulmoterminal.