自动化与脚本
在仓库中首次安装 groove 后端、配套技能并打通…
每个仓库运行一次,按依赖顺序安装 groove 的任务/记忆后端、companion skills、符号链接与 hooks,并验证安装完整。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在仓库中首次安装 groove 后端、配特定
解决思路
- 如果 `.groove/index.md` 不存在,运行 `/groove-admin-config --defaults`,用全默认值创建它,不提示用户。
- 运行 `/groove-utilities-task-install`,安装配置的任务后端(例如 beans)。
- 运行 `/groove-utilities-memory-install`,创建 memory 目录。
- 安装 companion skills(强制,不可跳过):首次安装及之后每次运行,确保 `.agents/skills/` 下存在 find-skills、agent-browser、pdf-to-markdown;若缺少 `SKILL.md`,运行对应 `npx skills add` 命令;瞬时失败重试一次,仍失败则报告失败(三个全部成功前安装不算完成)。
- find-skills(下载):`test -f .agents/skills/find-skills/SKILL.md` 或 `npx skills add https://github.com/vercel-labs/skills --skill find-skills`。
- agent-browser(下载):`test -f .agents/skills/agent-browser/SKILL.md` 或 `npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser`。
- pdf-to-markdown(内嵌):`test -f .agents/skills/pdf-to-markdown/SKILL.md` 或 `npx skills add andreadellacorte/groove --skill pdf-to-markdown`。
- 安装 companion 后验证:对三个 `SKILL.md` 路径分别运行 `test -f`;任一缺失就停止并报告安装未完成,不要声称成功。
- 报告每个 companion 的状态:installed / already-present / failed。
- 通过符号链接同步平台技能目录(强制,不可跳过):让 groove skills 链接到各编辑器技能树,使 `groove-*` 命令可解析。
- 如缺失则创建父目录:`mkdir -p .claude/skills .cursor/skills`(Claude Code 期望 `.claude/skills/`;Cursor 期望 `.cursor/skills/`)。
- 对 `.agents/skills/` 中每个以 `groove` 开头的目录:创建 `.claude/skills/<name>` 符号链接指向 `../../.agents/skills/<name>`;创建 `.cursor/skills/<name>` 符号链接指向 `../../.agents/skills/<name>`。
- 运行:`mkdir -p .claude/skills .cursor/skills && for skill in .agents/skills/groove*; do name=$(basename "$skill"); ln -sfn "../../.agents/skills/$name" ".claude/skills/$name"; ln -sfn "../../.agents/skills/$name" ".cursor/skills/$name"; done`。
- 注意:使用 `ln -sfn`(no-dereference)——对已存在的目录符号链接用 `ln -sf` 会跟随符号链接并在目标目录内创建嵌套符号链接。
- 验证符号链接:`.agents/skills/` 下至少有一个 `groove-*` 名称,且 `.claude/skills/` 与 `.cursor/skills/` 下存在匹配符号链接;报告 "✓ platform symlinks updated (.claude/skills/, .cursor/skills/)" 或报告失败。
- 搭建 hooks 与缓存目录:如果不存在则创建 `.groove/hooks/`;如果不存在则创建 `.groove/.cache/`(带 `.gitkeep`)。
- 如果 `.groove/hooks/start.md` 不存在,创建它,内容为:`# Hook: Session Start\n\nRuns automatically at the end of `/groove-daily-start`.\nAdd items to `## Actions` to automate session-start tasks.\n\n## Actions\n\n<!-- Add actions here, one per line. Examples:\n- Run `git fetch --all` to refresh remote refs\n- Print "Good morning — groove is ready"\n-->\n`。
- 如果 `.groove/hooks/end.md` 不存在,创建它,内容为:`# Hook: Session End\n\nRuns automatically at the end of `/groove-daily-end`.\nAdd items to `## Actions` to automate session-end tasks.\n\n## Actions\n\n<!-- Add actions here, one per line. Examples:\n- Run `git push` to push today's commits\n- Print "Session closed — see you tomorrow"\n-->\n`。
- 报告 hooks:created / already-present。
- 应用 git 策略:根据 `.groove/index.md` 中的 `git.*` 子键写入 `.groove/.gitignore`(规则见 `/groove-admin-config`)。
- 运行前读取 `.groove/index.md` 获取 `tasks.backend` 和 `git.*` 配置;若该文件不存在,先按步骤 1 运行 `/groove-admin-config` 创建它。
- 遵守后端依赖顺序:task → memory → companions。
- 每一步报告 installed / already-present / failed。
- 更新 `AGENTS.md` 时按 section 追加,保留其他所有内容,并确保其中包含 session bootstrap。
- 如果 task 或 memory 安装失败,清楚报告并继续——用户可能仍需要 companions + symlinks。
- 步骤 4–5(companion skills + symlinks)是成功安装的必需项:两步都成功后才能报告 "install complete";首次 bootstrap 必须让 skills 在 Cursor 和 Claude Code 中可发现。
- Companion skills(find-skills、agent-browser、pdf-to-markdown)在此硬编码,不读取任何配置文件。
- 最后报告汇总(包含 platform symlinks 行):`✓ task backend (beans)\n✓ memory backend — memory dirs ready\n✓ companion: find-skills\n✓ companion: agent-browser\n✓ companion: pdf-to-markdown\n✓ platform symlinks (.claude/skills/, .cursor/skills/)\n✓ hooks: .groove/hooks/ ready`。
适用边界 · 注意事项
- 仓库不使用 groove,或不需要其任务/记忆后端、companion skills、hooks、平台符号链接时,不要运行。
- 不想修改 `.agents/skills/`、`.claude/skills/`、`.cursor/skills/` 或创建 symlink 时,不适用(步骤 4–5 强制)。
- 环境中没有 `npx`/Node,或不需要 Cursor/Claude Code 技能发现时,不适用(companion skills 与平台链接是成功安装硬性要求)。