import

Import a workspace template. Supports preview (dry-run), collision handling (rename/skip/replace), and secret requirements tracking. Accepts templates from local files, URLs, or GitHub repositories. The counterpart to /export. Triggers on: "import", "load template", "install workspace"

170 stars

Best use case

import is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Import a workspace template. Supports preview (dry-run), collision handling (rename/skip/replace), and secret requirements tracking. Accepts templates from local files, URLs, or GitHub repositories. The counterpart to /export. Triggers on: "import", "load template", "install workspace"

Teams using import should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/import/SKILL.md --create-dirs "https://raw.githubusercontent.com/Miosa-osa/canopy/main/library/skills/workspace/import/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/import/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How import Compares

Feature / AgentimportStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Import a workspace template. Supports preview (dry-run), collision handling (rename/skip/replace), and secret requirements tracking. Accepts templates from local files, URLs, or GitHub repositories. The counterpart to /export. Triggers on: "import", "load template", "install workspace"

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# /import

> Import a workspace template with collision handling and secret tracking.

## Purpose

Stand up a workspace from an exported template. Handles the full import lifecycle: preview what will be created, detect collisions with existing files, resolve conflicts, prompt for required secrets, and provision the workspace. Supports templates from local files, URLs, or GitHub repositories.

## Usage

```bash
# Import from local file
/import templates/research-team.yaml

# Import from URL
/import --url "https://example.com/templates/research-team.yaml"

# Import from GitHub
/import --github "org/repo/templates/research-team.yaml"

# Preview without importing
/import templates/research-team.yaml --dry-run

# Import with variable overrides
/import templates/research-team.yaml --var project_name="MIOSA Analysis"

# Import with collision strategy
/import templates/research-team.yaml --on-collision rename

# Import into specific directory
/import templates/research-team.yaml --target /workspace/new-project
```

## Arguments

| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `<template>` | positional | — | Local file path to template |
| `--url` | string | — | URL to fetch template from |
| `--github` | string | — | GitHub path: `owner/repo/path` (uses default branch) |
| `--dry-run` | flag | false | Preview what would be created |
| `--var` | key=value[] | — | Variable overrides |
| `--on-collision` | enum | `ask` | `ask` (interactive), `rename` (suffix), `skip`, `replace` |
| `--target` | path | `.` | Target directory for workspace |
| `--skip-secrets` | flag | false | Skip secret prompts (use placeholders) |
| `--skip-launch` | flag | false | Import structure only, don't launch agents |

## Workflow

1. **Acquire** — Load template from file, URL, or GitHub. Parse and validate format.
2. **Preview** — Display what will be created: directories, agents, skills, tasks, budget. Show required variables and secrets.
3. **Resolve variables** — Apply `--var` overrides. For unresolved variables without defaults, prompt user.
4. **Resolve secrets** — Check for required secrets. If not in environment, prompt user (or skip with `--skip-secrets`).
5. **Detect collisions** — Compare template structure against target directory. Flag any conflicts:
   - File exists with different content
   - Agent name already in use
   - Skill configuration conflicts
6. **Handle collisions** — Based on `--on-collision`:
   - `ask`: prompt for each collision
   - `rename`: add suffix to conflicting items (e.g., `researcher-2`)
   - `skip`: keep existing, skip conflicting
   - `replace`: overwrite existing with template version
7. **Provision** — Create directory structure, write files, configure agents, set budgets.
8. **Launch** — Unless `--skip-launch`, run `/launch` on the imported workspace.
9. **Report** — Display import summary: created, skipped, renamed, replaced, secrets still needed.

## Output

### Dry-run preview
```markdown
## Import Preview: research-team-v2

**Source:** templates/research-team.yaml
**Target:** /workspace/miosa-analysis/

### Will Create
| Item | Type | Detail |
|------|------|--------|
| SYSTEM.md | file | Workspace system prompt |
| agents/researcher/ | directory + agent | Research Analyst (claude-sonnet, 80K budget) |
| agents/analyst/ | directory + agent | Data Analyst (claude-sonnet, 60K budget) |
| agents/writer/ | directory + agent | Content Writer (claude-haiku, 30K budget) |
| inbox/ | directory | Empty inbox |
| processed/ | directory | Empty output |
| ops/ | directory tree | observations, metrics, budget |

### Variables
| Variable | Value | Source |
|----------|-------|--------|
| project_name | "MIOSA Analysis" | --var override |
| budget | 200000 | template default |

### Secrets Required
| Secret | Status |
|--------|--------|
| ANTHROPIC_API_KEY | found in env |
| OPENAI_API_KEY | MISSING — will prompt |

### Collisions
| Item | Conflict | Resolution |
|------|----------|------------|
| agents/researcher/ | directory exists | will rename → researcher-2 |

Proceed? (y/n)
```

### Import summary
```
Imported: research-team-v2 → /workspace/miosa-analysis/
  Created: 14 items (3 agents, 5 dirs, 6 files)
  Skipped: 0
  Renamed: 1 (researcher → researcher-2)
  Replaced: 0
  Secrets: 1 still needs OPENAI_API_KEY (set env var to enable Codex adapter)
  Status: launched (3 agents running)
```

## Dependencies

- Template parser (YAML/TOML/JSON)
- Web fetch (for `--url` and `--github` sources)
- `/launch` — Workspace activation after import
- `/export` — Sister skill that produces importable templates
- File system write access to target directory
- Environment variable access (for secrets)