github xingkongliang/skills-manager v1.22.4
Skills Manager v1.22.4

latest releases: v1.42.2, v1.42.1, v1.42.0...
4 months ago

Skills Manager v1.22.4

发布日期:2026-05-30
递交范围:v1.22.3...v1.22.4

发布概览

  • 一个修复版本:把全局工作区的技能上传到技能仓库后,卡片上消失的删除/管理按钮重新出现;同时让「有可用更新」徽标和 Diff 标签页实际展示的内容保持一致。

用户可见更新

  • 上传后的技能重新有了删除按钮 —— 把技能从全局工作区上传到技能仓库后,卡片以前会变得没有任何操作按钮:技能虽已同步却处于「未托管」状态,既没有删除键也没有重新上传键。现在新上传的技能会被注册为受管目标;同时新增一次性的启动修复,把此前因旧逻辑而卡死的技能的按钮也补回来。
  • 更新徽标与 Diff 现在一致了 —— 「有可用更新」徽标是对整个技能目录做哈希,而 Diff 标签页以前只比较主文件 SKILL.md,因此 references/、scripts/ 里的改动、文件增删、或可执行位变化都会点亮更新提示却显示空 diff。现在 Diff 标签页会按文件展示整个技能目录的改动,徽标和 diff 始终对得上。

开发者与治理更新

  • 把本地 agent 技能上传到中心时,改为复用常规的 sync_single_skill_to_tool 路径,使被采纳的技能成为与其他受管技能一致的受管目标;若目标注册失败,则回滚刚插入的技能记录。
  • 新增启动修复 backfill_stranded_agent_targets:扫描每个已安装且启用的 agent,找出 source_ref 指向 agent 技能目录、却没有对应 target 的中心技能。它严格按 source_ref 匹配(绝不按内容哈希,以免误认领相似技能),且只修复工作区判定为 in_sync 的技能(因为同步会用中央副本重写 agent 侧产物)。该过程幂等,并在所有技能都已有 target 后通过廉价预检直接短路。
  • 抽出统一的文件枚举辅助函数(content_hash::list_content_files)供哈希和 diff 共用,确保两者范围永不漂移;新增 get_skill_source_diff 命令,返回按文件分项的差异(新增 / 删除 / 修改;文本 / 二进制 / 过大 / 仅权限变化);Diff 标签页按每个改动文件渲染 SkillSourceDiffViewer,并在打开时懒加载。
  • 在 README 中记录 macOS 15 Gatekeeper「无法验证此 App 不含恶意软件」对话框,附截图与照常打开 App 的步骤。
  • CI:跳过 rust-cache 的保存步骤,避免 Windows 发布构建出现误报失败。

当前校验状态

  • ✅ 跨平台构建通过(macOS Intel / macOS ARM / Windows x64 / Linux x64)
  • ✅ TypeScript typecheck 通过

English release notes

Release date: 2026-05-30
Commit range: v1.22.3...v1.22.4

Release Overview

  • A fix release that restores the missing delete/manage button after uploading a global-workspace skill to the central library, and makes the "update available" badge agree with what the Diff tab actually shows.

User-facing

  • Uploaded skills get their delete button back — Uploading a skill from the Global Workspace to the central library used to leave the card with no actions at all: the skill was synced but unmanaged, so neither a delete nor a re-upload button appeared. Newly uploaded skills are now registered as managed targets, and a one-time startup repair restores the button for skills that were already stranded by the earlier behavior.
  • Update badge and diff now agree — The "update available" badge hashed the whole skill directory, but the Diff tab only compared the main SKILL.md, so a change inside references/, scripts/, an added/removed file, or an exec-bit flip would flag an update yet show an empty diff. The Diff tab now reports per-file changes across the entire skill directory, so the badge and the diff always match.

Developer & Governance

  • Uploading a local agent skill to the center now reuses the regular sync_single_skill_to_tool path so the adopted skill becomes a managed target consistent with every other managed skill; the freshly inserted skill row is rolled back if target registration fails.
  • Added a backfill_stranded_agent_targets startup repair that scans each installed, enabled agent for center skills whose source_ref points at an agent skills dir but lack a target. It matches strictly by source_ref (never content hash, to avoid adopting look-alikes) and only repairs skills the workspace classifies as in_sync (since the sync rewrites the agent artifact from central). The pass is idempotent and short-circuits on a cheap pre-check once everything is targeted.
  • Shared one file-enumeration helper (content_hash::list_content_files) for both hashing and diffing so their scope can never drift, and added a get_skill_source_diff command returning per-file entries (added / removed / modified; text / binary / too_large / permission_only); the Diff tab renders SkillSourceDiffViewer per changed file, lazily loaded on open.
  • Documented the macOS 15 Gatekeeper "could not verify this app is free of malware" dialog in the README, with a screenshot and the steps to open the app anyway.
  • CI: skip the rust-cache save step to avoid false-positive failures on Windows release builds.

Current Verification

  • ✅ Cross-platform build passed (macOS Intel / macOS ARM / Windows x64 / Linux x64)
  • ✅ TypeScript typecheck passed

完整变更:v1.22.3...v1.22.4

Full changelog files: English | 中文

Don't miss a new skills-manager release

NewReleases is sending notifications on new releases.