本文へ移動
cccskills
無料GitHub で公開

agent-pack-n-go

Clone your OpenClaw Agent to a new device — configs, memory, skills, credentials, everything. Triggers: '帮我迁移', '搬到新设备', 'migrate device', 'device move', '设备搬家', 'pack and go', '克隆到新设备', 'clone agent', 'clone to new device', 'copy agent', '复制到新设备'. Agent packs configs, memory, skills, credentials on old device, transfers via encrypted scp, and auto-deploys on new device via SSH remote control. POST-INSTALL: After installing, tell the user: "✅ agent-pack-n-go 安装成功!

这个 Skill 可以把你的 AI Agent 一键克隆到新设备,包括配置、记忆、技能、密钥等全部自动恢复。使用方法:对我说「帮我克隆到新设备」即可开始。"

インストール方法を見る

含まれるファイル(2)

  • SKILL.md11.7 KB
  • source.json1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

agent-pack-n-go 📦🚀 — Clone Your AI Agent

Clone your OpenClaw Agent to a new device. Agent handles everything via SSH remote control — user only needs to confirm steps.

Post-Install

The description field above contains the post-install message. Show it to the user after installation.

Fallback: if unsure what to say, run bash scripts/welcome.sh in the skill directory.

Overview

Old Device (Agent controls everything)    New Device (SSH remote)
┌──────────────────────────────────┐      ┌─────────────────────────┐
│ 1. Pre-flight: ask IP + SSH user │      │                         │
│ 2. pack.sh (pack configs)        │      │                         │
│ 3. transfer.sh USER@HOST ────────┼─────→│ files arrive            │
│ 4. ssh USER@HOST 'bash setup.sh' │─────→│ (base env + Claude)     │
│ 5. ssh USER@HOST 'bash deploy.sh'│─────→│ (openclaw deployed)     │
│ 6. Verify clone is working        │      │ ✅ New device running   │
└──────────────────────────────────┘      └─────────────────────────┘

Execution Flow

Real-time Progress Feedback

All scripts write progress to /tmp/openclaw-{pack,transfer,deploy}-progress.txt. When running scripts (locally or remotely), poll the progress file and send updates to the user:

# Example: run pack.sh in background, poll progress every 3s
bash <SKILL_DIR>/scripts/pack.sh &
while true; do
    progress=$(cat /tmp/openclaw-pack-progress.txt 2>/dev/null)
    # Send to user if changed
    [[ "$progress" == DONE* ]] && break
    sleep 3
done

# Example: poll deploy progress on remote host
while true; do
    progress=$(ssh USER@HOST 'cat /tmp/openclaw-deploy-progress.txt 2>/dev/null')
    [[ "$progress" == DONE* ]] && break
    sleep 3
done

This way the user sees step-by-step updates in the chat (Discord/Feishu/etc.) instead of silence.


Phase 1: Pre-flight Check

⚠️ MANDATORY: Every time this skill is triggered, the agent MUST explicitly ask the user for the target server (IP + SSH user), even if previous server info exists in the conversation context. Users may deploy to different servers in the same session. NEVER assume or reuse target info from earlier context.

Ask user for:

  1. New device IP + SSH user
  2. New device password (only used once for SSH key setup)
  3. New device OS (must be Ubuntu 22.04/24.04)
  4. Confirm: 2-core CPU, 2GB+ RAM

Warn user:

  • ⚠️ Clone pack contains sensitive data (API keys, tokens) — transferred via scp (encrypted)
  • ℹ️ If using the same Discord Bot Token: it can't run on two devices simultaneously — plan a brief switchover window (~5 min). If using different tokens, both devices can run in parallel.

1.1 Set up SSH key auth (user action required)

Ask user to run this command in their own terminal on the old device:

ssh-copy-id USER@NEW_IP

This will prompt for the new device password once. After that, all SSH operations are password-free.

Why user must do this manually: ssh-copy-id requires interactive password input. The agent cannot safely handle passwords in automated scripts.

1.2 Verify SSH connectivity

ssh USER@HOST 'echo ok'

If this prompts for a password → ssh-copy-id didn't work, ask user to retry. If this fails entirely → stop and ask user to check SSH access, keys, and firewall.

1.3 Set up passwordless sudo (recommended)

Several clone steps need sudo (system packages, /etc/hosts, proxychains4, systemd linger). Without passwordless sudo, these steps will be skipped and require manual fix later.

Ask user to run:

ssh USER@NEW_IP 'echo "USERNAME ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/migration'

(Replace USERNAME with the actual SSH user. This will prompt for password one last time.)

Security note: After clone is verified (Phase 4), user can remove this with: ssh USER@NEW_IP 'sudo rm /etc/sudoers.d/migration'


Phase 1.5: Network Diagnostics

After SSH is confirmed, run the network check on the target device:

ssh USER@HOST 'bash -s' < <SKILL_DIR>/scripts/network-check.sh

Evaluate results:

  • DIRECT → Proceed normally. Set DEPLOY_MODE=direct for deploy.sh.
  • PROXY_NEEDED → Warn user: "目标服务器无法直连 Discord/Anthropic API,需要先配置代理。" Ask if they want to continue (deploy.sh will keep proxy configs) or pause to set up proxy first.
  • NO_INTERNET → Stop. Tell user to check network configuration.

The network result is saved to /tmp/openclaw-network-result.txt on the target.


Phase 2: Prepare Old Server

2.1 Run pack script

bash <SKILL_DIR>/scripts/pack.sh

This creates: ~/openclaw-migration-pack.tar.gz, ~/setup.sh, ~/deploy.sh, ~/migration-instructions.md

See scripts/pack.sh for details.

2.2 Transfer to new device

bash <SKILL_DIR>/scripts/transfer.sh USER@HOST

Transfers all files (pack + scripts) to new device home directory. Verifies SHA256 checksum after transfer.


Phase 3: Remote Deploy

This phase is fully automated — agent runs everything via SSH.

3.1 Install base environment + Claude Code

⚠️ IMPORTANT: setup.sh takes ~5 minutes and deploy.sh takes ~8 minutes. Use background execution to avoid LLM request timeouts. Never use synchronous exec with long timeouts for these commands.

Correct pattern (background + notification):

exec: ssh USER@HOST 'bash ~/setup.sh'
  background: true
  yieldMs: 5000

This returns a session ID in ~5 seconds. The agent should:

  1. Tell the user: "正在安装基础环境,预计 5 分钟…"
  2. Wait for the exec completion notification (OpenClaw auto-pushes [System Message] Exec completed)
  3. Read the session log to check results

Wrong pattern (will cause "LLM request timed out" ❌):

exec: ssh USER@HOST 'bash ~/setup.sh'
  timeout: 600
  yieldMs: 10000
→ process.poll(timeout=300000)  ← blocks too long, LLM times out

setup.sh installs: nvm, Node.js 22, npm globals, Claude Code. Has spinner + progress output.

Check exit code — if non-zero, report failure to user and stop.

3.2 Deploy OpenClaw

Same background pattern as 3.1:

exec: ssh USER@HOST 'DEPLOY_MODE=direct bash ~/deploy.sh'
  background: true
  yieldMs: 5000

Wait for completion notification, then read log.

deploy.sh handles all 13 deployment steps:

  1. Extract migration pack
  2. npm install openclaw + mcporter
  3. Restore ~/.openclaw/ config
  4. Fix paths (if username changed)
  5. Restore /etc/hosts
  6. Restore crontab
  7. Configure proxychains4
  8. Check/fix Claude Code nvm wrapper
  9. Start OpenClaw Gateway + systemd + linger
  10. Restore Dashboard (optional)
  11. Check logs for connectivity
  12. Cleanup temp files
  13. Direct-mode config cleanup (if DEPLOY_MODE=direct)

Check exit code and FAILED_STEPS in output — report any issues to user.

3.3 Verify OpenClaw is running

ssh USER@HOST 'openclaw gateway status'

If status shows running/active → proceed to Phase 4. If not running → skip to Phase 5: Fallback.


Phase 4: Device Switch & Verification

This phase guides the user through switching to the new device and verifying everything works. The agent should be warm, encouraging, and celebratory — this is the exciting finish!

4.1 Check Gateway logs (agent does this)

ssh USER@HOST 'cat /tmp/openclaw/*.log 2>/dev/null | grep -i "discord\|feishu\|logged in\|client ready\|error" | tail -20'

Look for connection confirmations. Report to user:

  • ✅ Discord connected (if "logged in to discord" found)
  • ✅ Feishu connected (if "ws client ready" found)
  • ⚠️ qmd not installed (if "spawn qmd ENOENT" — this is optional, not a problem)
  • ❌ Errors (if any real errors found)

4.2 Guide device switch

Tell user:

🔄 现在需要切换设备了!

同一个 Bot Token 不能同时在两台设备上运行。接下来请你:

Step 1 — 在旧设备停止 OpenClaw:

openclaw gateway stop

或者如果用的是 nohup:

pkill -f openclaw

Step 2 — 在新设备确认 Gateway 还在运行:

ssh USER@HOST 'pgrep -af openclaw | grep -v pgrep'

如果没在运行,重新启动:

ssh USER@HOST 'cd ~ && nohup openclaw gateway run > /tmp/openclaw-gateway.log 2>&1 &'

Step 3 — 发条消息测试!随便在 Discord 或飞书说点什么,看新设备上的 Agent 是否回复。

💡 提醒:如果你在克隆之前就已经 SSH 到新设备,那个终端窗口里的环境变量是旧的。 请关掉旧终端,重新 SSH 登录,这样 node、openclaw、claude 等命令才能正常使用。

准备好了告诉我,我帮你验证 ✨

4.3 Verify clone works

After user confirms they've done the switch, ask them to test:

  1. 💬 消息测试 — "在 Discord/飞书上给 Agent 发条消息,看看有没有回复?"
  2. 🧠 记忆测试 — "问问新设备上的 Agent:'你还记得我是谁吗?'"
  3. 🔧 工具测试 — "让新 Agent 执行一个简单命令,比如 '帮我看看现在几点'"

Wait for user to confirm each test passed.

4.4 Celebration! 🎉

After all tests pass, send a celebration message:

🎉🎉🎉 克隆成功!你的 AI Agent 已经在新设备上活过来了!

📋 克隆总结:

  • 📦 打包:X 步完成,Y MB 打包
  • 🚀 传输:SHA256 校验通过
  • ⚙️ 安装:基础环境 + OpenClaw 全部就绪
  • 🔌 连接:Discord ✅ / 飞书 ✅
  • 🧠 记忆:完整保留

🧹 后续清理(3-7 天后):

  • 新设备上删除临时文件:rm ~/openclaw-migration-pack.tar.gz ~/setup.sh ~/deploy.sh ~/migration-instructions.md
  • (可选)旧设备移除 sudoers:sudo rm /etc/sudoers.d/migration
  • (可选)旧设备关闭服务:systemctl --user disable openclaw-gateway

🦁 Enjoy your new home!


Phase 5: Fallback

If new device OpenClaw did not start correctly:

  1. Ask user to SSH to new device and run Claude Code for diagnosis:

    ssh USER@HOST
    claude '帮我排查 OpenClaw 为什么没起来,检查日志和配置'
    
  2. If diagnosis fails or user wants to roll back → restart old device:

    # On old device
    systemctl --user start openclaw-gateway
    
  3. Tell user: "Old device restored. New device deployment failed — please check logs and retry."

Note: scripts/generate-instructions.sh generates ~/migration-instructions.md as a fallback clone guide. If full automation fails, user can SSH to new device and follow the document manually.


Troubleshooting

See references/troubleshooting.md for common issues and solutions.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

007

無料

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Run a health check on an existing project: dependency audit, security scan, test runner detection, CI/CD evaluation, and missing configuration analysis. Maps the three execution gates (pre/in/post) from /10x-bootstrapper to an assessment framework for existing codebases. Reads optional context/foundation/stack-assessment.md from /10x-stack-assess to focus checks on identified gaps. Writes context/foundation/health-check.md with findings, prioritized fixes, and an agent-readiness verdict. Use when the user has an existing project and wants to verify its health before working with an agent. Trigger phrases: "health check", "check my project", "audit my project", "is my project healthy", "sprawdź projekt", "audyt projektu", "health-check", "project health". Use AFTER /10x-stack-assess (brownfield chain), BEFORE agent onboarding (m1-l4).

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

10x-team

無料

You MUST use this when building projects end-to-end. Orchestrates all 12 team roles — automatically switches between CTO, architect, PM, engineers, SRE, security, DBA, QA, and EM based on the current phase of work. Starts with brainstorming before any implementation.

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Use when you need to add or configure Maven plugins in your pom.xml — including quality tools (enforcer, surefire, failsafe, jacoco, pitest, spotbugs, pmd), security scanning (OWASP), code formatting (Spotless), version management, container image build (Jib), build information tracking, and benchmarking (JMH) — through a consultative, modular step-by-step approach that only adds what you actually need. This should trigger for requests such as Add Maven plugins in pom.xml; Improve Maven plugins in pom.xml. Part of cursor-rules-java project

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

aibot88 のスキルをすべて見る

このスキルの問題を報告する