Trellis Continue
ROYIANS/foliq-print-template-designer
Resume work on the current task. An agent skill from ROYIANS/foliq-print-template-designer.
把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "athena-migrate" agent skill from https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrate into .claude/skills/athena-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "athena-migrate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybean.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/athena-migrate .agents/skills/athena-migrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "athena-migrate" agent skill from https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrate into .agents/skills/athena-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "athena-migrate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybean.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/athena-migrate .cursor/skills/athena-migrate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "athena-migrate" agent skill from https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrate into .cursor/skills/athena-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "athena-migrate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/m-xlsea/ruoyi-plus-soybean.git --path .claude/skills/athena-migrate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybean.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/athena-migrate .gemini/skills/athena-migrate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "athena-migrate" agent skill from https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrate into .gemini/skills/athena-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "athena-migrate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybean.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/athena-migrate .github/skills/athena-migrate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "athena-migrate" agent skill from https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrate into .github/skills/athena-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "athena-migrate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add m-xlsea/ruoyi-plus-soybean --skill athena-migrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install m-xlsea/ruoyi-plus-soybean athena-migrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybean.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/athena-migrate .opencode/skills/athena-migrate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "athena-migrate" agent skill from https://github.com/m-xlsea/ruoyi-plus-soybean/tree/master/.claude/skills/athena-migrate into .opencode/skills/athena-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "athena-migrate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
athena-migrate把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。
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.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a0ab2dc. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitnodeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
code.claude.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from m-xlsea/ruoyi-plus-soybean at commit a0ab2dc, republished under its MIT licence (© m-xlsea). 94 words, ~1,450 tokens.
.claude/skills/athena-migrate/SKILL.md (or your agent's skills folder).参考: https://code.claude.com/docs/en/skills
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;
}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/"mkdir -p .ai_state/details/reviews
mkdir -p .ai_state/details/tasks-archive| 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) | 删除 |
# 平移
[ -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从 .ai_state/project.json 读 path/stage/sprint/tech_stack/test_cmd/build_cmd/lint_cmd/dev_cmd/conventions/gotchas, 写入新 _index.md frontmatter。
# 用 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");
'touch .ai_state/details/next.md
touch .ai_state/details/proposals.md调用 /athena-setup --detect-only, 它会原地更新 _index.md.platform_features。
✓ 迁移完成。备份在 .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 查看新状态面板git add .ai_state/
git commit -m "athena: migrate state to v9.6 schema"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
Just SKILL.md in .claude/skills/athena-migrate of m-xlsea/ruoyi-plus-soybean.
Open the folder on GitHubat commit a0ab2dc
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Athena Migrate this skillm-xlsea/ruoyi-plus-soybean | 329 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Trellis ContinueROYIANS/foliq-print-template-designer | 136 | 6 repos | ~554 | Automated safety check: Pass | MIT | |
| Trellis StartROYIANS/foliq-print-template-designer | 136 | 6 repos | ~646 | Automated safety check: Pass | MIT | |
| Local DevSmilyOrg/photofield | 608 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Domscribepatchorbit/domscribe | 194 | — | ~3.3k | Automated safety check: Notes | MIT | |
| Skill CreatorTheSyart/emperor-agent | 195 | — | ~2k | Automated safety check: Pass | MIT |
ROYIANS/foliq-print-template-designer
Resume work on the current task. An agent skill from ROYIANS/foliq-print-template-designer.
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/.
SmilyOrg/photofield
Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.
patchorbit/domscribe
Work with Domscribe — the pixel-to-code bridge. An agent skill from patchorbit/domscribe.
TheSyart/emperor-agent
Create, update, import, or validate Emperor Skills (SKILL.md folders with optional scripts, references, and assets).
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.
m-xlsea/ruoyi-plus-soybean
项目初始化。每个新项目首次使用 Athena 时运行。扫描项目、生成环境脚本、创建 .aistate/ schema. An agent skill from m-xlsea/ruoyi-plus-soybean.
m-xlsea/ruoyi-plus-soybean
Athena 全局偏好便利层。直接操作 CC 原生 ~/.claude/settings.json 的 permissions.allow/deny 和全局 CLAUDE.md。
m-xlsea/ruoyi-plus-soybean
Athena 全局安装。检查 CC 版本、装插件、配置 Codex、部署 hooks、推 claude-mem。首次使用运行一次。
m-xlsea/ruoyi-plus-soybean
Athena 状态面板。显示当前 PACE 状态、Hook 触发计数、claude-mem 状态、plugin 健康. An agent skill from m-xlsea/ruoyi-plus-soybean.
m-xlsea/ruoyi-plus-soybean
工作流路由器。收到开发任务时触发。按任务复杂度路由到 6 条路径, 编排 CC 工具 + 增强节点. An agent skill from m-xlsea/ruoyi-plus-soybean.
m-xlsea/ruoyi-plus-soybean
工作流路由器 (Codex 版). An agent skill from m-xlsea/ruoyi-plus-soybean.
Works with
Categories
把 v9.5.5 项目的 .aistate/ 升级到 v9.6 schema (INDEX + details/ 重构)。. Athena Migrate is an agent skill from m-xlsea/ruoyi-plus-soybean.
Athena Migrate fits situations like: agent Workflows work in your project.
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.
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.
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.
Going by SKILL.md and its folder, Athena Migrate needs the command-line tools its instructions call (git and node).
SKILL.md names 1 domain. As links in the text: code.claude.com. This is read from the text; nothing was executed.
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.
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.
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.
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.
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.