Skip to content

Skills Manager v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Aug 13:07
· 4 commits to main since this release

Skills Manager 2.0.0

This is the 2.0 general-availability release. The 2.0 product promise is a trustworthy local workflow: Library → Collection → Mount.

The public macOS download is a universal app signed with Developer ID, notarized by Apple, and accepted by Gatekeeper. SHA-256: 8da1f38838119864e593e9e591355dd53b5d407e4a7383aac68f095efdac1ad5.

What Changed

  • Stable skill identity now anchors upgrades, Collection membership, stars shared with the TUI, and release version checks.
  • Collection mounting reports missing, skipped, shared, and diverged state instead of presenting partial work as healthy.
  • Skills CLI takeover recovery prefers deterministic backups and trusted GitHub provenance; ambiguous copies are preserved for explicit recovery.
  • The macOS interface uses English source and fallback strings, with native Simplified Chinese resources selected through macOS language settings.
  • The maintained TUI lockfile resolves safe production versions of js-yaml and ws.
  • Release packaging verifies the source tag and built-app identity before distribution.

Before Installing

Quit Skills Manager and copy these paths before the first 2.0 launch:

  • ~/Library/Application Support/SkillsManager.store*
  • ${XDG_CONFIG_HOME}/agents/ when XDG_CONFIG_HOME is absolute, otherwise ~/.config/agents/
  • ~/.agents/skills/, plus ${XDG_STATE_HOME}/skills/.skill-lock.json when XDG_STATE_HOME is absolute or ~/.agents/.skill-lock.json otherwise
  • ~/.skills-manager/tui-state.json

The agents backup includes the canonical Library and .skills-manager-history. Keep the backup until you have verified your normal workflows on 2.0.

Upgrade Behavior

  • Existing Library content and Collections remain in place.
  • Documented legacy Collection IDs are reconciled to stable IDs only when the match is exact. Unresolved members remain visible as missing rather than being rebound by name.
  • A Skills CLI takeover is repaired automatically only when the canonical copy or deterministic backup has trusted provenance. Ambiguous state is not deleted.

Roll Back to 1.0.5

  1. Quit Skills Manager 2.0.
  2. Restore every path copied before testing, including all SkillsManager.store sidecar files.
  3. Reinstall the v1.0.5 build.
  4. Do not open a persistence store already opened by 2.0 with 1.0.5; restore the pre-2.0 copy first.

Tested

  • xcodebuild full macOS tests, static analysis, and Release archive
  • npm ci, TUI TypeScript build, and npm audit --omit=dev with zero production vulnerabilities
  • source/tag mismatch rejection and built-app version/bundle identity checks
  • Developer ID signature, hardened runtime, secure timestamp, and universal arm64/x86_64 executable
  • Apple notarization and stapled-ticket validation
  • ZIP integrity, clean extraction, and Gatekeeper acceptance with a download quarantine attribute
  • the real Debug app at 1200×760, 900×650, and 720×520 in dark appearance, plus 900×650 in light appearance
  • no skills/no Collections, normal mounted, partial missing/diverged, empty mounted intent, and overlapping mounted Collection states
  • destructive Collection confirmation and update-local-drift confirmation
  • keyboard focus traversal, Space activation, menu state, refresh shortcut, and stale selection clearing after member removal
  • accessibility-tree roles and labels for all Collection mount switches; external actions disabled in the hermetic fixture

Local evidence is recorded under .omx/state/rc-ui/; screenshots are workspace evidence and are not part of the distributable artifact.

Existing snapshot tests add density coverage, but they do not replace the live-window checks above.

Troubleshooting

  • A yellow Collection is intentionally not “healthy.” Inspect its success/skipped summary, restore or re-add missing Library members, then use Reapply.
  • A Collection with no resolved members cannot be mounted. Add or restore a skill first; turning off its mount intent never deletes Library content.
  • If Skills CLI takeover reports ambiguous canonical state, keep the reported copies intact and restore the trusted canonical copy or deterministic backup before retrying.
  • A trusted canonical copy contains SKILL.md, .skills-manager-managed, and .skills-manager.json; its GitHub repository identity, skill ID, and source ref must match the Skills CLI lock entry. Do not edit the manifest to force a match.
  • The deterministic provider backup is ~/.agents/.skills-skills-cli-backup. If recovery remains ambiguous, stop and preserve both copies rather than deleting either one.
  • If Gatekeeper rejects the app, confirm that you downloaded SkillsManager-v2.0.0.zip from this release and that its SHA-256 matches the value above.

Known Validation Gaps

  • spoken VoiceOver walkthrough
  • live extreme-data interaction beyond the existing snapshot density checks
  • clean second-Mac install, upgrade, rollback, and update-channel behavior
  • external beta cohort behavior
  • Windows development-server behavior for the remaining low-severity esbuild development-only advisory