starchild-ai-agent/official-skills

agent-import

Import an agent migration bundle into Starchild from the relay service. Use when moving an agent from another platform into Starchild (e.g. import my OpenClaw export, load this 8-char migration code).

First seen Apr 22, 2026

Installation

$ npx skills add starchild-ai-agent/official-skills --skill agent-import

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from starchild-ai-agent/official-skills · top by installs.

npx skills add starchild-ai-agent/official-skills

Browse all from starchild-ai-agent/official-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 26
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.1.1

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,947 B
  • docs SUMMARY.md 220 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 201 installs

SKILL.md

Agent Import — Migration Bundle Loader

Download and load a migration bundle into this Starchild agent. The bundle is created by another agent using the agent-export skill.

Quick Start

When user provides a migration code and download token:

1. Run the import script to download & extract
2. Review the extracted data with the user
3. Apply each component using native tools

Step 1 — Download & Extract

The user will provide two values from the source agent: a CODE (8 chars) and a DOWNLOAD_TOKEN.

python3 skills/agent-import/scripts/download.py <CODE> <DOWNLOAD_TOKEN>

The script downloads through the Fly internal network only (sc-agent-migration.internal). Public download is forbidden by relay policy. If the internal network is unreachable, import fails and must be retried from a Fly machine. The download token authorizes the download; it is single-use and expires with the code (1 hour TTL).

On success the script extracts the bundle to migration/ and prints a summary of what's included.

Step 2 — Review Contents

Read and summarize what the bundle contains before applying anything:

cat migration/manifest.json
cat migration/memory/agent.json 2>/dev/null
cat migration/memory/user.json 2>/dev/null
cat migration/identity/profile.json 2>/dev/null
cat migration/identity/soul.md 2>/dev/null
cat migration/user/settings.json 2>/dev/null
cat migration/tasks/tasks.json 2>/dev/null
cat migration/env/keys.json 2>/dev/null
find migration/files/ -type f 2>/dev/null

Always show the user a summary and ask for confirmation before applying.

Step 3 — Apply Components

Apply each component using Starchild native tools. The order matters:

3a. User Settings (first — sets timezone/language for everything else)

Read migration/user/settings.json, then call:

user_settings(action="update", settings={
  "name": "...",
  "what_to_call": "...",
  "timezone": "...",
  "language": "..."
})

Only include fields that are present in the JSON.

3b. Agent Identity

Read migration/identity/profile.json, then call:

agent_profile(action="update", profile={
  "name": "...",
  "vibe": "...",
  "emoji": "...",
  "creature": "..."
})

3c. SOUL.md

If migration/identity/soul.md exists, read it and write to prompt/SOUL.md.

Merge with existing SOUL.md if it has content. Don't overwrite platform defaults blindly — integrate the personality bits.

3d. Memory — Agent

Read migration/memory/agent.json, for each entry call:

memory(action="add", target="memory", content="<entry>")

⚠️ Memory has a 5000 char limit. If the bundle has many entries, prioritize the most useful ones. Check current usage with memory(action="read") first.

3e. Memory — User

Read migration/memory/user.json, for each entry call:

memory(action="add", target="user", content="<entry>")

⚠️ User memory has a 3000 char limit. Prioritize preferences and corrections.

3f. Tasks

Read migration/tasks/tasks.json, for each task:

  1. scheduled_task(action="register", title=..., schedule=..., description=..., channels=...)
  2. Write the run.py script based on the description
  3. Test it: bash("python3 tasks/{job_id}/run.py")
  4. scheduledtask(action="activate", jobid=...)

Tasks need actual implementation — the description is a spec, not runnable code. Use your judgment to build each task's script.

3g. Environment Keys

Read migration/env/keys.json, then call:

request_env_input(env_vars=[...], reason="Migration from <source>")

This prompts the user to enter values securely.

3h. Files

Copy files from migration/files/ to the workspace:

cp -r migration/files/* . 2>/dev/null

Review what's being copied and skip anything that would overwrite important existing files.

Step 4 — Cleanup

rm -rf migration/ migration-bundle.tar.gz

Error Handling

Error Cause Fix
401 unauthorized Wrong or missing download token Re-check the token from the source agent output
404 not found Code already used or never existed Ask source agent to re-export
410 expired Code older than 1 hour Ask source agent to re-export
403 internal_only Download attempted from non-Fly-internal network Run import from a Fly machine / internal network
429 rate limited Too many failed attempts Wait 1 hour
Invalid tar.gz Corrupted upload Re-export from source agent
No manifest.json Invalid bundle structure Bundle must have manifest.json at root