claudeers.
// Claude Skills

skill_manager

A local web panel for managing Claude Code skills — paste a GitHub URL to install, symlink-hosted with zero copies, plus a daily feed of newly published skil…

Actively maintained
95/100
last commit 26 days ago
last release none
releases 0
open issues 0

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up skill_manager (git-clone project) into my current project.
Found on https://claudeers.com/skillmanager
Repo: https://github.com/ssssssanjiu/skill_manager
Homepage/docs: —
Detected install method: git-clone → git clone https://github.com/ssssssanjiu/skill_manager
Category: skills. Platforms: api, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/ssssssanjiu/skill_manager

// compatibility

Platformsapi, web
Operating systems—
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageJavaScript

Get your FREE $2.50 API credits to access TickAtlas financial data ↗

Skill Manager

A local web panel that keeps every Claude Code skill in one place —
paste a GitHub URL to install, symlink-hosted so edits go live instantly.

中文

Claude Code loads skills from ~/.claude/skills. That works fine for three of them. Past a dozen, you stop knowing what is installed, where it came from, or which copy is the real one. Installing a new skill means cloning a repo, digging for the SKILL.md, and moving a directory to exactly the right path.

Skill Manager puts all of it on one page. Every skill it can see, grouped by what it does, with its state on the card. Installing is a paste and a click. Nothing is copied anywhere: your skills stay in a git repository you control, and ~/.claude/skills holds only symlinks pointing at it.

Requires Node 18 or newer and git on your PATH. The panel itself runs anywhere Node runs. The always-on service uses launchd and the menu bar uses SwiftBar, both macOS only. The daily discover job supports macOS and Linux.


Why

The problemWhat the panel does
You have no idea what is installed without running lsOne page, everything listed, grouped by function
Installing a skill means clone, hunt, move, hopePaste a GitHub URL, click install
Skills live loose in ~/.claude/skills, outside version controlReal files stay in a git repo, only symlinks go into Claude's directory

The third row is the one that matters. my-skills/ is the source of truth and it is tracked by git. Claude Code reads through symlinks and never knows the difference. Edit a skill once and it is live immediately, with full history behind it.


Features

Every skill on one page

The panel scans ~/.claude/skills and the library directories, reads each SKILL.md frontmatter for its name and description, and infers a category from keywords. Skills that live only in ~/.claude/skills, dropped there by hand, show up too.

Each card carries one of three states:

StateMeaning
InstalledA symlink exists and Claude Code can load it
Not installedPresent in the library, no symlink yet
Provided by pluginAlready supplied by the official plugin marketplace, so linking it would collide

Long descriptions collapse behind a toggle. The list re-renders only when the underlying data actually changes, not on every poll.

Install from GitHub in one paste

Paste a repository URL, click install. The panel clones it into my-skills/, finds the SKILL.md whether it sits at the repo root or one level down, and symlinks the right directory into ~/.claude/skills/.

Removing a skill unlinks it. The source directory is left alone.

~/.claude/skills/design-style-parser ──symlink──► <repo>/my-skills/design-style-parser
                                                    └── tracked by git

No copies to keep in sync, no "which version is the real one". Claude Code follows the link, git watches the file.

Discover feed

A second tab aggregates newly published skills once a day, filterable by All, Trending, and AI startup.

SourceHowReliability
GitHubReal Search API, ranked by stars and recent activitySolid, and installable in one click
YouTubeParses the search page without an API key, degrades on failureBest effort
X / Xiaohongshu / JikeNo free API, curated by hand in manual.json plus deep linksManual

Every source is wrapped in its own timeout and error handler, so one failing source never takes the page down. Without a token, GitHub requests are spaced 6.5 seconds apart to stay under the rate limit. Set GITHUB_TOKEN and that restriction essentially disappears.

Always-on, and in the menu bar

A launchd agent keeps the backend alive, restarts it if it crashes, and starts it at login. A SwiftBar plugin puts the installed count in your menu bar, with shortcuts to open the panel, refresh the discover feed, and restart the backend. If the backend is down, the menu offers to start it.

Zero dependencies

No npm install, no lockfile, no supply chain to audit. Node's standard library only, roughly 42 KB of source across the backend, the frontend, and the fetcher. Paths are derived at runtime from the script's own location, so cloning it anywhere works.


Quick start

git clone https://github.com/ssssssanjiu/skill_manager.git
cd skill_manager
node manager/server.js

Open http://localhost:4317 .

Run it as a background service (macOS)

Starts at login, restarts on crash:

bash manager/setup-panel.sh

Uninstall with bash manager/setup-panel.sh uninstall. The agent is labelled com.claude-skills.panel and logs to manager/panel.log.

Point SwiftBar's plugin directory at manager/swiftbar/. The script needs menu.js beside it, so do not symlink the shell script on its own.

Daily discover job (optional)

Runs once a day at 09:00, launchd on macOS and cron on Linux:

bash manager/discover/setup-cron.sh

HTTP API

The backend is a plain JSON API on port 4317. Useful if you want to script it.

MethodPathBodyDoes
GET/api/skills—Every skill, its state, category and source
POST/api/install{ "url": "..." }Clone a repo into the library and link it
POST/api/link{ "name": "..." }Symlink a skill already in the library
POST/api/unlink{ "name": "..." }Remove the symlink, keep the source
GET/api/discover—Read the cached discover feed
POST/api/discover/refresh—Re-run the fetcher, 90s timeout

Configuration

VariableDefaultEffect
PORT4317Port the panel listens on
GITHUB_TOKENunsetLifts the GitHub rate limit for the discover feed

Project layout

skill_manager/
├── my-skills/               # Your skills. Source of truth, git-tracked, symlinked into Claude Code
└── manager/
    ├── server.js            # Zero-dependency backend
    ├── index.html           # Single-file frontend
    ├── setup-panel.sh       # launchd always-on service
    ├── swiftbar/            # Menu bar plugin
    └── discover/            # Discover feed fetcher and daily job

Known limitations

  • The always-on service and menu bar are macOS only. The panel is a portable Node server, but launchd and SwiftBar are not. The discover job does handle Linux cron.
  • No authentication. It binds a local port and writes to ~/.claude/skills. Keep it on localhost; do not expose it to a network.
  • Only GitHub is a real API in the discover feed. YouTube is best-effort scraping and will break when the page changes. The other platforms are hand-curated.
  • Categories are inferred from keywords, not curated. Expect the occasional skill in the wrong bucket.
  • Install expects SKILL.md at the repo root or one level down. Deeper nesting is not detected.
  • The UI is currently Chinese only.

Roadmap

  • English UI
  • Windows support for the always-on service
  • Search and filter on the installed list
  • Update a skill in place, not just install and remove

License

MIT, see LICENSE.

// faq

What is skill_manager?

A local web panel for managing Claude Code skills — paste a GitHub URL to install, symlink-hosted with zero copies, plus a daily feed of newly published skills. Zero dependencies.. It is open-source on GitHub.

Is skill_manager free to use?

skill_manager is open-source under the MIT license, so it is free to use.

What category does skill_manager belong to?

skill_manager is listed under skills in the Claudeers registry of Claude-compatible tools.

16 views
★ 44 stars
unclaimed
updated 22 days ago

// embed badge

skill_manager on Claudeers
[![Claudeers](https://claudeers.com/api/badge/skillmanager.svg)](https://claudeers.com/skillmanager)

// retro hit counter

skill_manager hit counter
[![Hits](https://claudeers.com/api/counter/skillmanager.svg)](https://claudeers.com/skillmanager)

// reviews

// guestbook

0/500

// related in Claude Skills

🔓

An agentic skills framework & software development methodology that works.

// skillsobra/⟨Shell⟩★ 292,190◷ MIT[ claude ]
🔓

Public repository for Agent Skills

// skillsanthropics/⟨Python⟩★ 178,324[ claude ]
🔓

💫 Toolkit to help you get started with Spec-Driven Development

// skillsgithub/⟨Python⟩★ 138,919◷ MIT[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// skillsGraphify-Labs/⟨Python⟩★ 123,800◷ MIT[ claude ]
→ see how skill_manager connects across the ecosystem