groove-admin-update

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- groove:managed — do not edit; changes will be overwritten by groove update -->
<!-- groove:managed — 请勿编辑;更改将被groove update覆盖 -->

groove-admin-update

groove-admin-update

Outcome

执行结果

All pending migrations are applied to the user's local groove state in version order.
.groove/index.md
reflects the current installed groove version.
所有待处理的迁移将按版本顺序应用到用户的本地groove状态。
.groove/index.md
将反映当前已安装的groove版本。

Acceptance Criteria

验收标准

  • groove-version:
    in
    .groove/index.md
    matches
    version:
    in
    skills/groove/SKILL.md
    after update
  • Each pending migration was applied in order
  • groove-version:
    updated after each successful migration (partial progress is recoverable)
  • If already up to date, reports clearly and exits
  • Source-of-truth check: "up to date" is only reported when the installed skill version equals the latest GitHub release; if the add step left an older version on disk (e.g. cached or default branch), the user is warned and told how to fix it
  • 更新后,
    .groove/index.md
    中的
    groove-version:
    skills/groove/SKILL.md
    中的
    version:
    匹配
  • 每个待处理的迁移均按顺序应用
  • 每次成功迁移后更新
    groove-version:
    (部分进度可恢复)
  • 若已是最新版本,清晰提示并退出
  • 数据源真实性检查:仅当已安装的技能版本与GitHub最新版本一致时,才提示“已是最新版本”;若添加步骤在磁盘上留下了旧版本(如缓存或默认分支版本),则向用户发出警告并告知修复方法

Steps

操作步骤

  1. Run
    npx skills add andreadellacorte/groove --yes
    — pulls latest groove skill files and refreshes the lock entry (more reliable than
    npx skills update
    which requires a pre-populated folder hash). Note: the CLI may install a cached or default-branch copy rather than the latest release tag; step 4 verifies against GitHub.
    • After this step, re-read this SKILL.md (
      skills/groove-admin-update/SKILL.md
      ) from disk
      before continuing — the skill refresh may have updated the update command itself, and the remainder of these steps must reflect the latest version
  2. Read
    groove-version:
    from
    .groove/index.md
    — if key absent, assume
    0.1.0
    and write it
  3. Read installed version from
    version:
    in
    skills/groove/SKILL.md
  4. Verify against latest release: Fetch
    https://api.github.com/repos/andreadellacorte/groove/releases/latest
    (tag_name, strip leading
    v
    ). If the request succeeds, compare installed with latest using semver. If installed is less than latest: do not report "up to date" even if local and installed match; instead report: "Installed skill is v<installed> but latest release is v<latest>. The add step may have used a cached or default-branch copy. Run:
    npx skills add andreadellacorte/groove@v<latest> --yes
    then run
    /groove-admin-update
    again." and exit. If the API call fails (network, rate limit), continue without this check.
  5. If local and installed versions match: report "groove is up to date (v<version>)" and exit
  6. Read
    skills/groove/migrations/index.md
    — parse the migration table
  7. Filter rows where
    To
    > local version AND
    To
    <= installed version, in table order — the
    From
    field is informational only and does not gate execution
  8. If no migrations found but versions differ: update
    groove-version:
    in
    .groove/index.md
    directly to the installed version and report "no state migrations needed — version bumped to v<version>"
  9. For each pending migration: a. Report "Applying <from><to>: <description>" b. Read and execute the migration file c. Update
    groove-version:
    in
    .groove/index.md
    to the
    To
    version d. Report "✓ <from><to> applied"
  10. Report summary: N migrations applied, now at v<version>
  1. 运行
    npx skills add andreadellacorte/groove --yes
    — 拉取最新的groove技能文件并刷新锁定条目(比
    npx skills update
    更可靠,后者需要预先填充的文件夹哈希)。注意:CLI可能安装缓存或默认分支副本而非最新发布标签;步骤4会针对GitHub进行验证。
    • 完成此步骤后,继续前请从磁盘重新读取本SKILL.md(
      skills/groove-admin-update/SKILL.md
      — 技能刷新可能已更新了更新命令本身,后续步骤必须反映最新版本
  2. .groove/index.md
    读取
    groove-version:
    — 若该键不存在,则默认设为
    0.1.0
    并写入
  3. skills/groove/SKILL.md
    中的
    version:
    读取已安装版本
  4. 与最新版本验证:获取
    https://api.github.com/repos/andreadellacorte/groove/releases/latest
    (tag_name,去除开头的
    v
    )。若请求成功,使用semver比较已安装版本与最新版本。若已安装版本低于最新版本:即使本地版本与已安装版本匹配,也不要提示“已是最新版本”;而是提示:“已安装技能版本为v<installed>,但最新发布版本为v<latest>。添加步骤可能使用了缓存或默认分支副本。请运行:
    npx skills add andreadellacorte/groove@v<latest> --yes
    ,然后再次运行
    /groove-admin-update
    。” 并退出。若API调用失败(网络问题、速率限制),则跳过此检查继续执行。
  5. 若本地版本与已安装版本匹配:提示“groove已是最新版本(v<version>)”并退出
  6. 读取
    skills/groove/migrations/index.md
    — 解析迁移表
  7. 按表中顺序筛选出
    To
    > 本地版本 且
    To
    <= 已安装版本的行 —
    From
    字段仅作信息展示,不影响执行
  8. 若未找到迁移但版本不同:直接将
    .groove/index.md
    中的
    groove-version:
    更新为已安装版本,并提示“无需状态迁移 — 版本已升级至v<version>
  9. 针对每个待处理的迁移: a. 提示“正在应用 <from><to>: <description>” b. 读取并执行迁移文件 c. 将
    .groove/index.md
    中的
    groove-version:
    更新为
    To
    版本 d. 提示“✓ <from><to> 已应用”
  10. 提示总结:已应用N个迁移,当前版本为v<version>

Constraints

约束条件

  • Source of truth for "latest" is GitHub releases
    npx skills add
    can leave an older version on disk (cached clone, default branch). Comparing only
    .groove/index.md
    with installed
    SKILL.md
    can falsely report "up to date". Step 4 must verify installed vs
    releases/latest
    and warn when they differ.
  • Never skip a migration — apply every matching migration in table order even if
    From
    does not match local version exactly
  • Update
    groove-version:
    after each individual migration, not only at the end
  • If a migration fails: stop, report the failure and current version, do not continue
  • Do not modify skill files —
    npx skills update
    handles that; this command only migrates local state
  • Local state includes:
    .groove/index.md
    config keys, memory directory structure, AGENTS.md sections
  • Each migration file is idempotent — if re-run after partial failure, it should be safe
  • “最新版本”的数据源为GitHub发布版本
    npx skills add
    可能在磁盘上留下旧版本(缓存克隆、默认分支)。仅对比
    .groove/index.md
    与已安装的
    SKILL.md
    可能会错误提示“已是最新版本”。步骤4必须验证已安装版本与
    releases/latest
    ,若不一致则发出警告。
  • 不得跳过任何迁移 — 即使
    From
    与本地版本不完全匹配,也需按表中顺序应用所有匹配的迁移
  • 每次单独迁移完成后更新
    groove-version:
    ,而非仅在最后更新
  • 若迁移失败:停止执行,报告失败信息及当前版本,不再继续
  • 请勿修改技能文件 —
    npx skills update
    会处理该操作;此命令仅迁移本地状态
  • 本地状态包括:
    .groove/index.md
    配置项、内存目录结构、AGENTS.md章节
  • 每个迁移文件需具备幂等性 — 若在部分失败后重新运行,需保证安全