Local-first desktop app for organizing, searching, and editing AI agent skills.
Skills Manager helps you:
- scan local AI skill directories
- normalize different file layouts into one indexed model
- search across name, description, and content
- edit source files directly from a desktop UI
- Tauri 2
- React 19 + TypeScript + Vite
- Rust
- SQLite via
rusqlite
Supported sources:
~/.claude/skills~/.agents/skills~/.cursor/skills~/.cursor/rules~/.codex~/.openclaw/skills
Implemented capabilities:
- full scan into SQLite index
- frontmatter and heading parsing
- tool filtering
- full-text list search
- detail loading
- save back to source file
Not implemented yet:
- file watching / auto-refresh
- collections / favorites
- remote SSH skill servers
- registry install flow
Install dependencies:
npm installRun the desktop app:
npm run tauri devRun the frontend build:
npm run buildRun Rust tests:
cargo test --manifest-path src-tauri/Cargo.tomlThe current macOS release build is not notarized yet. Because of that, Gatekeeper may show:
"Skills Manager" is damaged and can’t be opened. You should move it to the Trash.
This does not mean the DMG is corrupt. It means macOS is blocking an unsigned app.
You can open it in either of these ways:
- Finder method
- Open the DMG
- Drag
Skills Manager.appintoApplications - In
Applications, right-clickSkills Manager - Choose
Open - Click
Openagain in the confirmation dialog
- Terminal method
Remove the quarantine flag, then open the app:
xattr -dr com.apple.quarantine "/Applications/Skills Manager.app"
open "/Applications/Skills Manager.app"If you do not trust the downloaded app, do not bypass Gatekeeper.
Disk files are the source of truth. SQLite is only the query/index layer.
src-tauri/src/scanner.rsscans supported directories and converts files into normalizedScannedSkillvaluessrc-tauri/src/parser.rsextracts metadata from frontmatter or falls back to markdown headingssrc-tauri/src/db.rsstores indexed skills and their installation pathssrc-tauri/src/commands.rsexposesscan_all,list_skills,get_skill, andsave_skillto the frontendsrc/renders the desktop UI and calls backend commands through Tauri invoke
