Skip to content

v0.6.0 -- Skill Auto-Update

Choose a tag to compare

@mickmicksh mickmicksh released this 19 Mar 11:44
· 13 commits to main since this release

What's New

Skill Auto-Update Detection

LAP now automatically checks if your installed API skills are outdated and notifies you at session start.

New commands:

  • lapsh check -- check installed skills for available updates
  • lapsh diff <skill> -- compare installed spec vs registry latest
  • lapsh pin <skill> / lapsh unpin <skill> -- skip or resume update checks

Session-Start Hooks

Running lapsh init now registers a session-start hook that checks for skill updates:

  • Claude Code: Adds hook to ~/.claude/settings.json + instruction to ~/.claude/CLAUDE.md
  • Cursor: Adds hook to .cursor/hooks.json + always-apply rule to .cursor/rules/

Cross-Platform Support

  • Claude Code and Cursor use different hook schemas -- LAP handles both
  • --hook claude / --hook cursor flag for platform-specific JSON output
  • --target claude added to all skill-install examples in skill docs

Bug Fixes & Hardening

  • Fix: return 404 (not empty 200) when spec exists in DB but LAP file missing from R2
  • Fix: store skillName in metadata to resolve folder name mismatch with registry name
  • Fix: pin/unpin search both claude/cursor metadata before erroring
  • Fix: save raw fetched spec as reference (avoid lossy parse-serialize roundtrip in diff)
  • Fix: hook format uses correct schema for each platform (Claude Code nested vs Cursor flat)
  • Security: enforce HTTPS for registry URL, validate skill names, symlink protection, body size limits

Registry

  • New POST /v1/skills/check batch endpoint for lightweight version comparison

Tests

  • 42 new Python tests (tests/test_skill_update.py)
  • 40 new TypeScript tests (check, pin/unpin, metadata, diff, hooks)
  • 14 new registry tests (skills-check.test.ts)

Full Changelog: v0.5.3...v0.6.0