Agent skill

Athena Migrate

by m-xlsea in m-xlsea/ruoyi-plus-soybean

把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。

MITAuto-check passedAgent Workflows

Install Athena Migrate

skills CLI
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybean.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/athena-migrate .claude/skills/athena-migrate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
athena-migrate
GitHub stars
329
Token cost
~1.4k tokens
SKILL.md length
94 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。

  • Works in 8 steps: 备份 → 创建 details/ 目录 → 迁移文件 → …
  • Agent Workflows work in your project
  • SKILL.md covers 前置检查, 迁移算法 and 回滚 (如果出问题)
  • Calls git and node

What it does

Athena Migrate is an agent skill from m-xlsea/ruoyi-plus-soybean. 把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. It works with Vue.js. The repository describes itself as: RuoYi-Plus-Soybean 是一个现代化的企业级多租户管理系统,它结合了 RuoYi-Vue-Plus 的强大后端功能和 Soybean Admin 的现代化前端特性,为开发者提供了完整的企业管理解决方案。 The licence is MIT.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/athena-migrate”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. 备份
  2. 创建 details/ 目录
  3. 迁移文件
  4. 生成 _index.md
  5. 创建空 next.md 和 proposals.md
  6. 平台版本检测填入 _index.md
  7. 提示用户
  8. Git commit

What it can do on your machine

Read from SKILL.md and the folder at commit a0ab2dc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • code.claude.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Athena Migrate loads about 1.4k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 94 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~19
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from m-xlsea/ruoyi-plus-soybean at commit a0ab2dc, republished under its MIT licence (© m-xlsea). 94 words, ~1,450 tokens.

Download SKILL.mdSave it as .claude/skills/athena-migrate/SKILL.md (or your agent's skills folder).
name
athena-migrate
description
把 v9.5.5 项目的 .ai_state/ 升级到 v9.6 schema (INDEX + details/ 重构)。
effort
xhigh
disable-model-invocation
true

/athena-migrate — v9.5.5 → v9.6 迁移

参考: https://code.claude.com/docs/en/skills

前置检查

bash
test -d .ai_state || { echo "[migrate] 无 .ai_state, 请先 /athena-init"; exit 1; }
test -f .ai_state/_index.md && grep -q 'schema_version: "9.6"' .ai_state/_index.md && {
  echo "[migrate] 已是 v9.6 schema, 无需迁移"; exit 0;
}

迁移算法

Step 1: 备份
bash
mkdir -p .ai_state/.legacy-v9.5
cp -r .ai_state/{tasks.md,design.md,progress.md,lessons.md,handoff.md,project.json,reviews,hook-trace.jsonl,compact-snapshot.json} .ai_state/.legacy-v9.5/ 2>/dev/null || true
echo "[migrate] 旧文件已备份到 .ai_state/.legacy-v9.5/"
Step 2: 创建 details/ 目录
bash
mkdir -p .ai_state/details/reviews
mkdir -p .ai_state/details/tasks-archive
Step 3: 迁移文件
v9.5.5 路径v9.6 路径备注
.ai_state/tasks.md.ai_state/details/tasks-current.md改名
.ai_state/design.md.ai_state/details/design.md平移
.ai_state/progress.md.ai_state/details/progress.md平移
.ai_state/lessons.md.ai_state/details/lessons.md平移
.ai_state/handoff.md.ai_state/details/handoff.md平移
.ai_state/reviews/sprint-N.md.ai_state/details/reviews/sprint-N.md平移
.ai_state/project.json(merge 到 _index.md frontmatter)转 markdown frontmatter
.ai_state/hook-trace.jsonl.ai_state/hook-trace.jsonl保持原位置
.ai_state/compact-snapshot.json(删, v9.6 改写到 _index.md.snapshots)删除
bash
# 平移
[ -f .ai_state/tasks.md ] && mv .ai_state/tasks.md .ai_state/details/tasks-current.md
for f in design.md progress.md lessons.md handoff.md; do
  [ -f .ai_state/$f ] && mv .ai_state/$f .ai_state/details/$f
done
[ -d .ai_state/reviews ] && mv .ai_state/reviews .ai_state/details/reviews
[ -f .ai_state/compact-snapshot.json ] && rm .ai_state/compact-snapshot.json
Step 4: 生成 _index.md

从 .ai_state/project.json 读 path/stage/sprint/tech_stack/test_cmd/build_cmd/lint_cmd/dev_cmd/conventions/gotchas, 写入新 _index.md frontmatter。

bash
# 用 node 脚本生成 _index.md (避免手写 yaml escape 出错)
node -e '
const fs = require("fs");
const path = require("path");

let proj = {};
try { proj = JSON.parse(fs.readFileSync(".ai_state/.legacy-v9.5/project.json","utf8")); } catch(e) {}

const sprint = proj.sprint || 0;

// 计算 counts
let tasks_pending = 0, tasks_done = 0, tasks_blocked = 0;
try {
  const t = fs.readFileSync(".ai_state/details/tasks-current.md","utf8");
  tasks_pending = (t.match(/^- \[ \]/gm) || []).length;
  tasks_done    = (t.match(/^- \[x\]/gm) || []).length;
} catch(e) {}

let progress_entries = 0, latest_progress = "";
try {
  const lines = fs.readFileSync(".ai_state/details/progress.md","utf8").split("\n").filter(l => l.trim().length > 0 && !l.startsWith("<!--") && !l.startsWith("#"));
  progress_entries = lines.length;
  if (lines.length > 0) latest_progress = `details/progress.md#L${lines.length}`;
} catch(e) {}

let lessons_lines = 0, latest_lesson = "";
try {
  const lines = fs.readFileSync(".ai_state/details/lessons.md","utf8").split("\n");
  lessons_lines = lines.filter(l => l.startsWith("##")).length;
  for (let i = lines.length - 1; i >= 0; i--) {
    if (lines[i].startsWith("## ")) { latest_lesson = `details/lessons.md#L${i+1}`; break; }
  }
} catch(e) {}

let reviews_count = 0, latest_review = "";
try {
  const files = fs.readdirSync(".ai_state/details/reviews").filter(f => f.startsWith("sprint-") && f.endsWith(".md"));
  reviews_count = files.length;
  if (files.length > 0) {
    const sorted = files.sort();
    latest_review = `details/reviews/${sorted[sorted.length-1]}`;
  }
} catch(e) {}

const idx = `---
schema_version: "9.6"
athena_version: "9.6.0"
project:
  path: "${proj.path || ""}"
  stage: "${proj.stage || ""}"
  sprint: ${sprint}
  active_goal: ""
counts:
  tasks_pending: ${tasks_pending}
  tasks_done: ${tasks_done}
  tasks_blocked: ${tasks_blocked}
  lessons_lines: ${lessons_lines}
  progress_entries: ${progress_entries}
  reviews_count: ${reviews_count}
pointers:
  latest_progress: "${latest_progress}"
  latest_review: "${latest_review}"
  latest_lesson: "${latest_lesson}"
  latest_proposal: ""
fingerprints:
  tasks_mtime: 0
  design_mtime: 0
  progress_mtime: 0
  lessons_mtime: 0
platform_features:
  cc_version: ""
  cx_version: ""
  goal_supported: false
  batch_supported: false
  background_supported: false
  session_memory_active: false
  cross_session_memory: "none"
gotchas: ${JSON.stringify(proj.gotchas || [])}
conventions: ${JSON.stringify(proj.conventions || [])}
tech_stack: "${proj.tech_stack || ""}"
test_cmd: "${proj.test_cmd || ""}"
build_cmd: "${proj.build_cmd || ""}"
lint_cmd: "${proj.lint_cmd || ""}"
dev_cmd: "${proj.dev_cmd || ""}"
---

# 项目状态索引 (v9.6 migrated from v9.5.5)

## 最近活动

## 当前阻塞

## 下一动作 (PACE 建议)

## 反思建议 (Hook 沉淀)
`;

fs.writeFileSync(".ai_state/_index.md", idx);
console.log("[migrate] _index.md generated");
'
Step 5: 创建空 next.md 和 proposals.md
bash
touch .ai_state/details/next.md
touch .ai_state/details/proposals.md
Step 6: 平台版本检测填入 _index.md

调用 /athena-setup --detect-only, 它会原地更新 _index.md.platform_features。

Step 7: 提示用户
✓ 迁移完成。备份在 .ai_state/.legacy-v9.5/, 确认无问题可删除。
新增的文件: .ai_state/details/next.md, .ai_state/details/proposals.md
删除的文件: .ai_state/project.json (合并到 _index.md frontmatter)
                .ai_state/compact-snapshot.json (改写到 _index.md.snapshots 数组)
下一步: /athena-status 查看新状态面板
Step 8: Git commit
bash
git add .ai_state/
git commit -m "athena: migrate state to v9.6 schema"

回滚 (如果出问题)

bash
rm -rf .ai_state/details .ai_state/_index.md
cp -r .ai_state/.legacy-v9.5/* .ai_state/

© m-xlsea, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/athena-migrate of m-xlsea/ruoyi-plus-soybean.

Open the folder on GitHubat commit a0ab2dc

Compare with similar skills

Athena Migrate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Athena Migrate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Athena Migrate this skillm-xlsea/ruoyi-plus-soybean329—~1.4kAutomated safety check: PassMIT
Trellis ContinueROYIANS/foliq-print-template-designer1366 repos~554Automated safety check: PassMIT
Trellis StartROYIANS/foliq-print-template-designer1366 repos~646Automated safety check: PassMIT
Local DevSmilyOrg/photofield608—~2.4kAutomated safety check: PassMIT
Domscribepatchorbit/domscribe194—~3.3kAutomated safety check: NotesMIT
Skill CreatorTheSyart/emperor-agent195—~2kAutomated safety check: PassMIT

Similar skills

  • Trellis Continue

    ROYIANS/foliq-print-template-designer

    Resume work on the current task. An agent skill from ROYIANS/foliq-print-template-designer.

    136 GitHub starsUsed in 6 repos~554 tokens
    Agent WorkflowsAuto-check passed
  • Trellis Start

    ROYIANS/foliq-print-template-designer

    Initializes an AI development session by reading workflow guides, developer identity, git status, active tasks, and project guidelines from .trellis/.

    136 GitHub starsUsed in 6 repos~646 tokens
    Agent WorkflowsAuto-check passed
  • Local Dev

    SmilyOrg/photofield

    Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.

    608 GitHub stars~2.4k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Domscribe

    patchorbit/domscribe

    Work with Domscribe — the pixel-to-code bridge. An agent skill from patchorbit/domscribe.

    194 GitHub stars~3.3k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check: notes
  • Skill Creator

    TheSyart/emperor-agent

    Create, update, import, or validate Emperor Skills (SKILL.md folders with optional scripts, references, and assets).

    195 GitHub stars~2k tokensUpdated 12 days ago
    Agent WorkflowsAuto-check passed
  • Init Rules

    lifedever/claude-rules

    Initialize or update CLAUDE.md coding standards for any project by auto-detecting tech stack and assembling rules from the claude-rules template library.

    191 GitHub stars~652 tokensUpdated 6 mo ago
    Agent WorkflowsAuto-check passed

More from m-xlsea/ruoyi-plus-soybean

All 9 skills in this repo
  • Athena Init

    m-xlsea/ruoyi-plus-soybean

    项目初始化。每个新项目首次使用 Athena 时运行。扫描项目、生成环境脚本、创建 .aistate/ schema. An agent skill from m-xlsea/ruoyi-plus-soybean.

    329 GitHub stars~671 tokensUpdated 3 mo ago
    Auto-check passed
  • Athena Preferences

    m-xlsea/ruoyi-plus-soybean

    Athena 全局偏好便利层。直接操作 CC 原生 ~/.claude/settings.json 的 permissions.allow/deny 和全局 CLAUDE.md。

    329 GitHub stars~999 tokensUpdated 3 mo ago
    Auto-check passed
  • Athena Setup

    m-xlsea/ruoyi-plus-soybean

    Athena 全局安装。检查 CC 版本、装插件、配置 Codex、部署 hooks、推 claude-mem。首次使用运行一次。

    329 GitHub stars~1k tokensUpdated 3 mo ago
    Auto-check passed
  • Athena Status

    m-xlsea/ruoyi-plus-soybean

    Athena 状态面板。显示当前 PACE 状态、Hook 触发计数、claude-mem 状态、plugin 健康. An agent skill from m-xlsea/ruoyi-plus-soybean.

    329 GitHub stars~782 tokensUpdated 3 mo ago
    Auto-check passed
  • Pace

    m-xlsea/ruoyi-plus-soybean

    工作流路由器。收到开发任务时触发。按任务复杂度路由到 6 条路径, 编排 CC 工具 + 增强节点. An agent skill from m-xlsea/ruoyi-plus-soybean.

    329 GitHub stars~2.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Pace

    m-xlsea/ruoyi-plus-soybean

    工作流路由器 (Codex 版). An agent skill from m-xlsea/ruoyi-plus-soybean.

    329 GitHub stars~691 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about Athena Migrate

What does Athena Migrate do?

把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。. Athena Migrate is an agent skill from m-xlsea/ruoyi-plus-soybean.

When should I use Athena Migrate?

Athena Migrate fits situations like: agent Workflows work in your project.

How do I install Athena Migrate in Claude Code?

Run `npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a claude-code`. Or copy the skill folder (.claude/skills/athena-migrate in m-xlsea/ruoyi-plus-soybean) into .claude/skills/athena-migrate in your project. Claude Code loads it when a task matches its description.

How do I install Athena Migrate in Codex?

Run `npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a codex`. Or copy the skill folder (.claude/skills/athena-migrate in m-xlsea/ruoyi-plus-soybean) into .agents/skills/athena-migrate in your project. Codex loads it when a task matches its description.

Can I use Athena Migrate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/athena-migrate, .gemini/skills/athena-migrate, .github/skills/athena-migrate and .opencode/skills/athena-migrate in your project.

What does Athena Migrate need to run?

Going by SKILL.md and its folder, Athena Migrate needs the command-line tools its instructions call (git and node).

Does Athena Migrate access the network?

SKILL.md names 1 domain. As links in the text: code.claude.com. This is read from the text; nothing was executed.

Is Athena Migrate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Athena Migrate use?

Athena Migrate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Athena Migrate use?

About 1.4k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Athena Migrate?

Skills that share tags, products or a category with Athena Migrate: Trellis Continue (ROYIANS/foliq-print-template-designer, 136 stars), Trellis Start (ROYIANS/foliq-print-template-designer, 136 stars), Local Dev (SmilyOrg/photofield, 608 stars) and Domscribe (patchorbit/domscribe, 194 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Athena Migrate?

m-xlsea (a GitHub user) maintains it in m-xlsea/ruoyi-plus-soybean, which has 329 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on June 16, 2026.

Source: m-xlsea/ruoyi-plus-soybean on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.