SuperAPI AI 工具集

agent-symlink-init

智能体与模型

查看项目

更新于 10-30 16:20

技能介绍

用途:agent-symlink-init 用于把仓库设置为基于符号链接的智能体技能布局,或将已有仓库从旧的自动化机制迁移到该布局。核心目标是让 .agents/skills 成为技能内容的唯一来源,并让 .claude/skills 以符号链接指向它;当 CLAUDE.md 存在时,使 AGENTS.md 成为指向 CLAUDE.md 的符号链接。

主要能力与执行模块:

  1. symlink-init:当 .claude/skills 缺失或未指向仓库的 .agents/skills,或 AGENTS.md 应指向 CLAUDE.md 而未指向时运行。它会创建 .agents/skills 和 .claude 目录;若 .claude/skills 是普通目录或文件,先备份为 .claude/skills.bak(已存在则用带时间戳的名称),再执行 ln -sfn ../.agents/skills .claude/skills;若 CLAUDE.md 存在,则将普通文件 AGENTS.md 备份后执行 ln -sfn CLAUDE.md AGENTS.md。同时从 .gitignore 移除 .claude/skills、AGENTS.md 及关联注释,使符号链接可被 git 跟踪。
  2. migrate-from-ruler:仅在检测到 .ruler 目录或 package.json 仍含 ruler 相关脚本/postinstall 片段时运行。删除 .ruler 目录,移除 ruler:apply、ruler:check 等脚本,仅移除 postinstall 中的 ruler 片段(无剩余内容时整体移除 postinstall),并从 .gitignore 清理 ruler 相关忽略项。除非用户明确要求,否则不删除 CLAUDE.md。
  3. migrate-from-sync:仅在 scripts/ 下存在 sync-llm-skills.ts 或 package.json 仍含 skills:sync:llm 或 --sync-llm 时运行。删除该脚本文件,移除 skills:sync:llm 脚本、skills:test:local 中多余的 --sync-llm 标志及 postinstall 中的同步片段,并从 .gitignore 移除 .claude/skills 忽略项及关联注释。.agents/skills 的内容保持不变,只迁移链接模型。

使用方式:需在仓库根目录操作,且仓库应包含 .git/ 或 package.json。执行前先检查 .agents/skills、.claude/skills、CLAUDE.md、AGENTS.md、.ruler 目录、scripts/sync-llm-skills.ts、package.json 和 .gitignore,对检测到的模块进行归纳,并在进行删除性变更前明确告知用户将被删除的内容。编辑遵循最小安全变更原则:保留无关的 package.json 脚本,按顺序保留 postinstall 其余命令,跳过无信号模块;若仓库已符合目标布局,则报告无需迁移。

验证与限制:编辑后用 test -L .claude/skills && readlink .claude/skills、test -f CLAUDE.md && test -L AGENTS.md && readlink AGENTS.md 检查链接,并查看 package.json 是否残留旧命令、.gitignore 是否有重复或矛盾条目,再用 git diff --stat 等汇总迁移。最后报告运行了哪些模块、创建/更新/备份/删除了哪些文件、验证结果及后续建议(如 postinstall 行为变化后重装依赖)。该技能聚焦符号链接布局迁移,不涉及技能内容本身的编写或同步。