Visualize installed Skills and symlink status across AI agents
Skills Desktop provides a GUI to manage and monitor skills installed via npx skills add <owner/repo>. It displays the central skill repository (~/.agents/skills/) and shows symlink status for each supported AI agent.
- 68 AI Agents Supported - Auto-detects Claude Code, Cursor, Codex, Gemini CLI, and more
- Symlink Status Visualization - Valid (✓), Broken (◐), Inaccessible (!), Missing (○) indicators
- Customizable Dashboard - Widget-based home view with skill stats, symlink health, agent coverage, bookmarks, and quick actions — drag, resize, and arrange across multiple pages
- 54 Themes - 34 OKLCH color themes (17 hues × light/dark) + 2 pure neutral + 18 tinted neutral
- Auto Update - Automatic updates via GitHub Releases
| Agent | Path |
|---|---|
| Claude Code | ~/.claude/skills/ |
| Cursor | ~/.cursor/skills/ |
| OpenAI Codex | ~/.codex/skills/ |
| Gemini CLI | ~/.gemini/skills/ |
| GitHub Copilot | ~/.copilot/skills/ |
| Cline | ~/.cline/skills/ |
| Roo Code | ~/.roo/skills/ |
| Junie | ~/.junie/skills/ |
| Devin Desktop | ~/.codeium/windsurf/skills/ |
| OpenCode | ~/.config/opencode/skills/ |
| Continue | ~/.continue/skills/ |
| ...and 57 more |
Download the latest release from GitHub Releases.
| Architecture | Download |
|---|---|
| Apple Silicon (M1/M2/M3) | skills-desktop-x.x.x-arm64.dmg |
| Intel Mac | skills-desktop-x.x.x-x64.dmg |
- Node.js 20+
- pnpm 11+
# Install dependencies
pnpm install
# Start development
pnpm dev
# Type check
pnpm typecheck
# Lint
pnpm lint# Unit + browser tests (Vitest)
pnpm test
# E2E tests (Playwright Electron, macOS only)
pnpm test:e2e| Suite | Command | Runner |
|---|---|---|
| Unit | pnpm test |
Vitest (Node + browser mode via *.browser.test.tsx) |
| E2E | pnpm test:e2e |
Playwright Electron — boots the real app per spec, isolated HOME each test |
E2E specs live in e2e/spec/*.e2e.ts. The suite uses cp -al hardlink snapshots so each test starts from a fresh, populated ~/.agents/skills/ without re-running the skills CLI installer (~50 ms reset). CI runs on macos-latest (.github/workflows/e2e.yml); failures upload playwright-report/ and test-results/ as artifacts (traces + videos retained on failure).
⚠️ Hardlink caveat for spec authors. Hardlinked files share inodes across every working HOME, so in-place edits (writeFileSyncover an existingSKILL.md,appendFileSync, etc.) corrupt the snapshot for every subsequent test. Safe ops only:unlink,rmdir,mkdir+writeFileof NEW paths. Seee2e/fixtures/isolated-home.ts:82-85for the canonical safe-ops list.
# Build for macOS (requires code signing)
APPLE_KEYCHAIN_PROFILE=skills-desktop pnpm build:mac| Component | Technology |
|---|---|
| Framework | Electron 42 |
| Frontend | React 19 + TypeScript |
| State | Redux Toolkit + @laststance/redux-storage-middleware |
| Styling | Tailwind CSS + shadcn/ui |
| Build | electron-vite |
src/
├── main/ # Electron main process
├── preload/ # Context bridge (IPC)
├── renderer/ # React frontend
└── shared/ # Shared types
- Skills CLI - Install skills via CLI
- Skills Registry - Browse available skills
- Skills宝 - Chinese search and install hub for skills
- Agent Skills Spec - Skills specification
MIT - Laststance.io
