starchild-ai-agent/official-skills

agent-export

Export this agent's data into a migration bundle for import elsewhere. Use when moving an agent off Starchild or backing up state (e.g. export my memory and tasks, create a migration code, hand off to a new agent). Building a bundle works anywhere. Uploading it to the Starchild migration relay is only available from external agent platforms — a bundle built inside Starchild can be kept as a local backup but not handed off through the relay.

First seen Apr 22, 2026

Installation

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

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.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,285 B
  • docs SUMMARY.md 466 B

History

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

SKILL.md

Agent Export — Migration Bundle Creator

Create a structured migration bundle from your current agent data and upload it to the Starchild migration relay. The receiving Starchild agent uses the agent-import skill to load it.

Migration Bundle Format

The bundle is a tar.gz archive with this structure:

migration/
  manifest.json           # required — metadata
  memory/
    agent.json            # agent's own notes & knowledge
    user.json             # what the agent knows about the user
  identity/
    profile.json          # agent name, personality
    soul.md               # behavioral guidelines (free-form markdown)
  user/
    settings.json         # user preferences (name, timezone, language)
  tasks/
    tasks.json            # scheduled/recurring tasks
  env/
    keys.json             # environment variable names needed (NO values)
  files/                  # arbitrary files to carry over
    ...

All files are optional except manifest.json.


File Specifications

manifest.json (required)

{
  "version": "1.0",
  "source": "openclaw",
  "created_at": "2025-07-13T10:00:00Z",
  "description": "Migration from OpenClaw agent"
}
  • source: identifier of the originating agent/platform (free text)
  • version: always "1.0" for now

memory/agent.json

Agent's accumulated knowledge — things the agent learned about the environment, tool quirks, API notes, workflows, conventions.

{
  "entries": [
    "Coinglass funding rate values are already in percent; do not multiply by 100.",
    "User's Hyperliquid account uses cross-margin by default.",
    "For Fly.io deploys, extract FLY_TOKEN via sed from .env in project dir."
  ]
}

Each entry: 1-3 sentences, one concern per entry. Think "what would I need to remember next session?"

memory/user.json

What the agent knows about the user — their role, preferences, communication style, interests.

{
  "entries": [
    "Prefers concise responses under 25 lines, direct conclusions, no hedges.",
    "Technical background in full-stack dev and crypto trading.",
    "Located in Argentina, primary language is Chinese."
  ]
}

identity/profile.json

{
  "name": "MyAgent",
  "vibe": "professional, concise, opinionated",
  "emoji": "🤖",
  "creature": "robot"
}

All fields optional. vibe is a short personality description.

identity/soul.md

Free-form markdown describing how the agent should behave. Keep it under 50 lines. Example:

# Behavior
- Be concise, skip filler phrases
- Have opinions, back them with data
- For trading: present analysis, not financial advice

user/settings.json

{
  "name": "Alice",
  "what_to_call": "Boss",
  "timezone": "Asia/Shanghai",
  "language": "zh-CN"
}
  • timezone: IANA format (e.g., America/New_York, Asia/Tokyo)
  • language: BCP-47 code (en, zh-CN, ja, etc.)

tasks/tasks.json

{
  "tasks": [
    {
      "title": "BTC Price Alert",
      "schedule": "every 30 minutes",
      "description": "Check BTC price, alert if > $100k or < $80k",
      "channels": ["web", "tg"]
    },
    {
      "title": "Daily Market Summary",
      "schedule": "0 1 * * *",
      "description": "Summarize crypto market at 9am Shanghai time"
    }
  ]
}
  • schedule: cron expression (UTC), interval (every 5 minutes), or delay (in 2 hours)
  • channels: optional, subset of ["web", "tg", "wechat"]

env/keys.json

List environment variable names the agent needs (values are entered separately for security).

{
  "keys": [
    {"key": "OPENAI_API_KEY", "label": "OpenAI API Key", "required": true},
    {"key": "TELEGRAM_BOT_TOKEN", "label": "Telegram Bot Token", "required": false}
  ]
}

files/

Put any arbitrary files here. They'll be copied to the Starchild workspace as-is, preserving subdirectory structure. Use for custom scripts, configs, dashboards, etc.


Export Workflow

Step 1 — Gather Data

Collect information from your current agent. Map your data to the formats above:

  • Chat history / memory → extract key facts into memory/agent.json and memory/user.json
  • System prompt / persona → transform into identity/profile.json + identity/soul.md
  • User preferencesuser/settings.json
  • Recurring automationstasks/tasks.json
  • API keys neededenv/keys.json (names only!)
  • Custom files → copy into files/

Step 2 — Build the Bundle

# Create directory structure
mkdir -p migration/{memory,identity,user,tasks,env,files}

# Write your JSON files (examples — replace with real data)
cat > migration/manifest.json << 'EOF'
{"version": "1.0", "source": "my-agent", "created_at": "2025-07-13T10:00:00Z"}
EOF

# ... write other files ...

# Pack into tar.gz
cd migration && tar czf ../migration-bundle.tar.gz . && cd ..

Step 3 — Upload to Relay

The relay only accepts bundles coming from an external agent platform. Run the guard first and abort the upload if it exits non-zero. Resolve the script against the directory of this SKILL.md (the absolute path shown for this skill when it was loaded) — never against the current working directory, which is usually the workspace/repo root:

SKILL_DIR="<absolute path of the directory containing this SKILL.md>"
python3 "$SKILL_DIR/scripts/export.py" --check-relay || exit 1

If it refuses, the bundle you built in Step 2 is still valid as a local backup — only the relay handoff is unavailable.

RESPONSE=$(curl -s -X POST https://sc-agent-migration.fly.dev/paste \
  -H "Content-Type: application/octet-stream" \
  --data-binary @migration-bundle.tar.gz)

CODE=$(echo "$RESPONSE" | grep -o '"code":"[^"]*"' | cut -d'"' -f4)
TOKEN=$(echo "$RESPONSE" | grep -o '"download_token":"[^"]*"' | cut -d'"' -f4)

echo "Migration code:   $CODE"
echo "Download token:   $TOKEN"

Give both values to the user — they need the code AND the token to import in Starchild.

⚠️ The code expires in 1 hour and is single-use (deleted after first successful download). ⚠️ The token is the only authorization for download — do not lose it.


Tips for Other Agents

  • Don't overthink it. Even just manifest.json + memory/user.json with 5 entries is useful.
  • Summarize, don't dump. Convert raw chat history into concise memory entries.
  • Timezone matters. Get the user's timezone right — it affects all scheduled tasks.
  • No secrets in the bundle. API keys go in env/keys.json as names only.
  • Test your tar.gztar tzf migration-bundle.tar.gz should show paths starting with ./.