Skip to content
Back to skills

Import

ASecurity

Guided import of a crew export onto this machine — asks where the bundle file is, walks the plan and decides each project (clone, adopt a checkout already here, replace) and workspace with the user. Use when the user mentions a crew export/bundle/JSON from another machine, wants to move or copy their crew setup here, or says "import my workspaces" / "set crew up on this Mac".

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 5, 2026
developmentgit

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add FurlanLuka/crew --skill import --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Import?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Import
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/furlanluka-import/badge)](https://www.skillsdirectory.com/skills/furlanluka-import)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: import
description: >
  Guided import of a crew export onto this machine — asks where the bundle file is, walks the
  plan and decides each project (clone, adopt a checkout already here, replace) and workspace
  with the user.
  Use when the user mentions a crew export/bundle/JSON from another machine, wants to move or
  copy their crew setup here, or says "import my workspaces" / "set crew up on this Mac".
user-invocable: true
---

Bring a crew export ($ARGUMENTS is the file, if given) onto this machine, one decision at a
time. A project is its git remote: the default is a clone into `~/.crew/projects/<name>`;
never adopt a path without asking.

1. No file given: ask where it is (`~/Desktop/crew.json`? a path they pasted?). Confirm it
   reads: `crew import <file> --plan --json` (bare `crew import <file>` is the plan too; `-`
   reads the bundle from stdin).
2. Show the plan as a short table: project / status / detail. Explain the statuses in one
   line each: `exists` (here under the same remote — nothing to do), `other remote` (the
   name is here but points at another repo), `clone` (not here; would clone into the dir
   shown), `blocked` (that dir is already taken), `missing` (no remote in the bundle — a
   path is the only way; an old bundle's path is shown as the hint).
3. For each project, ask one question with the real options: for `clone` — clone there,
   or point at a checkout they already have (ask the path — a repo already on disk would
   otherwise be cloned twice); for `blocked` — adopt the dir that is there, or delete it
   first; for `missing` — the path of the checkout; for `exists` — keep local or
   `--replace` with the bundle's servers and bindings (checkout kept); for `other remote`
   — which repo is right (`--replace` clones the bundle's; refused while a workspace still
   has the project). Run `crew import <file> project <name> [--path=…] [--replace]` per
   answer and show the row it prints. To import under another name, `--name=<new>` — a
   name already in the pool is refused before anything is cloned, and the `!` line names
   the bundle's bindings left pointing at the old name; relay it.
4. Workspaces: for each `ready` one, `crew import <file> workspace <name> --pull` — this
   makes the `main` worktree the way `crew add worktree` does: fetches and fast-forwards
   the local bases, then one runner per project in the background (checkout, install,
   smoke) and returns. Relay the base table, then poll `crew setup status <name>/main`
   (exit 2 while running); a `✗` row is on the worktree the moment it fails — `crew fix
   <name>/main --print` has the evidence — act on it while the rest install. Relay the
   final table. A `needs …` one: name what is missing and skip.
5. Finish with `crew ls worktrees` and the next step: `crew add worktree <ws>/<name>` for
   a working copy, or `crew dev start <ws>/main`.

Paths the user types may contain `~`; pass them through as given. Never print binding
values. If a command fails, show the error and the option that remains.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.