一键导入
migrate
Apply pending version migrations to update this {{portalName}} instance
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Apply pending version migrations to update this {{portalName}} instance
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create polished Jinn product showcase videos, GIFs, and README demo assets from isolated mock or sandbox instances. Use when asked to record a Jinn web UI walkthrough, update the README showcase GIF, build a mock gateway or clean test instance, script UI animations, capture Playwright video, convert WebM to MP4/GIF, or document video-capture gotchas for the Jinn platform.
Walk a new user through a warm, game-like first-run setup of {{portalName}} — get to know them, hatch their first employee, demo delegation, and create their first cron. Every step is skippable.
Diagnose and fix problems in {{portalName}}'s configuration and runtime
Use when cutting a new jinn-cli release for this repo - bumping the version, publishing to npm, creating the GitHub release, and letting the Homebrew formula auto-update. Covers the exact order that matters (npm publish BEFORE publishing the GitHub release).
Create, edit, delete, enable, disable, and list scheduled cron jobs
Find and install skills from skills.sh when a capability gap is detected
| name | migrate |
| description | Apply pending version migrations to update this {{portalName}} instance |
This skill activates when the user runs /migrate, when launched by jinn migrate, or when asked to update/upgrade the instance.
When a new version of Jinn is released, it may include updated skills, new documentation, improved prompts, or config schema changes. These updates are shipped as migration folders in ~/.jinn/migrations/<version>/. Each folder contains:
MIGRATION.md - AI-readable instructions describing exactly what changedfiles/ - New or updated files in their correct relative directory structureYour job is to apply these migrations intelligently - preserving user customizations while incorporating improvements.
Read ~/.jinn/config.yaml and note the jinn.version field. If the field is missing, assume 0.0.0.
List all directories in ~/.jinn/migrations/. Each directory name is a semver version string (e.g., 0.2.0, 0.3.0).
Sort them in ascending semver order. Filter to only versions greater than the current instance version.
If no pending migrations exist, inform the user they are up to date and stop.
For each pending version, in ascending order:
Read ~/.jinn/migrations/<version>/MIGRATION.md. This file describes:
The MIGRATION.md will categorize changes:
New files (safe - just copy):
~/.jinn/migrations/<version>/files/<path> to ~/.jinn/<path>Updated files (needs merge):
Removed files (careful):
<filename>.pre-migration.bak before removingBefore modifying any existing file, create a backup:
file.ext to file.ext.pre-<version>.bakCLAUDE.md → CLAUDE.md.pre-0.2.0.bakThis ensures the user can always recover if something goes wrong.
After all migrations are successfully applied, update config.yaml:
jinn:
version: "<final-migrated-version>"
After adding any new skills, ensure their symlinks exist:
~/.jinn/.claude/skills/<skill-name> → ../../skills/<skill-name>~/.jinn/.agents/skills/<skill-name> → ../../skills/<skill-name>Remove the applied migration directories from ~/.jinn/migrations/.
Keep the backup files - the user can delete them manually later.
Give the user a clear summary:
Migration complete: v{old} → v{new}
Added:
- skills/migrate/ (new skill)
- docs/migrations.md (new doc)
Updated:
- CLAUDE.md (added new delegation protocol section)
- config.yaml (added jinn.version field)
Backups created:
- CLAUDE.md.pre-0.2.0.bak
- config.yaml.pre-0.2.0.bak
These are the most sensitive files - users heavily customize them. Follow this strategy:
# Heading, ## Heading)jinn migrate will retry.If the user asks for a dry run or preview, read all pending MIGRATION.md files and summarize what would change - without modifying any files.