agent-import について
agent-importは、別のエージェントが出力した移行バンドルをStarchildに取り込むスキルです。内容をユーザーと確認してから、設定やID、メモリ、タスク、キー、ファイルを反映します。
主な機能
- 01移行バンドルのダウンロードと展開
- 02適用前の内容確認
- 03設定、ID、メモリの移行
- 04スケジュールタスクの登録と実装
- 05環境キーの要求とファイルのコピー
活用シーン
- 01Agentの設定とIDをStarchildへ移行
- 02エクスポートされたメモリの確認と復元
- 03移行バンドルからスケジュールタスクを再作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ starchild-ai-agent/ official-skills --skill agent-importインストール後、Claude Code で/agent-importを入力して読み込まれたか確認します。
同梱ファイルscripts/download.py
詳細
エージェントインポート — 移行バンドルローダー
移行バンドルをダウンロードし、この Starchild エージェントにロードします。バンドルは別のエージェントが agent-export スキルを使用して作成します。
クイックスタート
ユーザーが移行コードとダウンロードトークンを提供した場合:
1. Run the import script to download & extract
2. Review the extracted data with the user
3. Apply each component using native tools
ステップ 1 — ダウンロードと展開
ユーザーは移行元エージェントから 2 つの値、CODE(8 文字)と DOWNLOAD_TOKEN を提供します。
python3 skills/agent-import/scripts/download.py <CODE> <DOWNLOAD_TOKEN>
スクリプトは Fly 内部ネットワークのみ(sc-agent-migration.internal)を通じてダウンロードします。パブリックダウンロードはリレーポリシーにより禁止されています。内部ネットワークに到達できない場合、インポートは失敗し、Fly マシンから再試行する必要があります。ダウンロードトークンはダウンロードを認可します。これは単回使用で、コードとともに失効します(有効期限 1 時間)。
成功すると、スクリプトはバンドルを migration/ に展開し、含まれる内容の概要を出力します。
ステップ 2 — 内容の確認
何かを適用する前に、バンドルの内容を読み取って要約します:
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
適用する前に、必ずユーザーに要約を提示し、確認を求めてください。
ステップ 3 — コンポーネントの適用
Starchild ネイティブのツールを使用して各コンポーネントを適用します。順序が重要です:
3a. ユーザー設定(最初 — 他のすべてのタイムゾーン/言語を設定します)
migration/user/settings.json を読み取り、次を呼び出します:
user_settings(action="update", settings={
"name": "...",
"what_to_call": "...",
"timezone": "...",
"language": "..."
})
JSON に存在するフィールドのみを含めてください。
3b. エージェントアイデンティティ
migration/identity/profile.json を読み取り、次を呼び出します:
agent_profile(action="update", profile={
"name": "...",
"vibe": "...",
"emoji": "...",
"creature": "..."
})
3c. SOUL.md
migration/identity/soul.md が存在する場合は、それを読み取り、prompt/SOUL.md に書き込みます。
既存の SOUL.md に内容がある場合はマージします。プラットフォームのデフォルトを盲目的に上書きしないでください — パーソナリティの部分を統合します。
3d. メモリ — エージェント
migration/memory/agent.json を読み取り、各エントリについて次を呼び出します:
memory(action="add", target="memory", content="<entry>")
⚠️ メモリには 5000 文字の上限があります。バンドルに多数のエントリがある場合は、最も有用なものに優先順位を付けます。まず memory(action="read") で現在の使用状況を確認してください。
3e. メモリ — ユーザー
migration/memory/user.json を読み取り、各エントリについて次を呼び出します:
memory(action="add", target="user", content="<entry>")
⚠️ ユーザーメモリには 3000 文字の上限があります。設定と修正に優先順位を付けてください。
3f. タスク
migration/tasks/tasks.json を読み取り、各タスクについて:
scheduled_task(action="register", title=..., schedule=..., description=..., channels=...)- 説明に基づいて
run.pyスクリプトを記述します - テストします:
bash("python3 tasks/{job_id}/run.py") scheduled_task(action="activate", job_id=...)
タスクには実際の実装が必要です — 説明は仕様であり、実行可能なコードではありません。各タスクのスクリプトを構築するには、ご自身の判断を使用してください。
3g. 環境キー
migration/env/keys.json を読み取り、次を呼び出します:
request_env_input(env_vars=[...], reason="Migration from <source>")
これにより、ユーザーは値を安全に入力するよう求められます。
3h. ファイル
migration/files/ からワークスペースにファイルをコピーします:
cp -r migration/files/* . 2>/dev/null
コピーされる内容を確認し、重要な既存ファイルを上書きするものはスキップしてください。
ステップ 4 — クリーンアップ
rm -rf migration/ migration-bundle.tar.gz
エラー処理
| エラー | 原因 | 修正 |
|---|---|---|
401 unauthorized | ダウンロードトークンが誤っているか欠落している | 移行元エージェントの出力からトークンを再確認します |
404 not found | コードが既に使用されているか、存在しなかった | 移行元エージェントに再エクスポートを依頼します |
410 expired | コードが 1 時間より古い | 移行元エージェントに再エクスポートを依頼します |
403 internal_only | Fly 内部以外のネットワークからダウンロードが試行された | Fly マシン / 内部ネットワークからインポートを実行します |
429 rate limited | 失敗した試行が多すぎる | 1 時間待ちます |
| 無効な tar.gz | 破損したアップロード | 移行元エージェントから再エクスポートします |
| manifest.json がない | 無効なバンドル構造 | バンドルはルートに manifest.json を持つ必要があります |