skills-manager
Skill3 starsChanged 37 days agoMITView on GitHub
Work with Agent Skills stored in a Library managed by the `skills` CLI (Skills Manager). Covers finding the Library root, writing or editing skills in it, importing from Git, archives, or local paths, tags, presets, deploying to agents, upstream updates, health repair, and Git backup. Use when creating, editing, installing, organizing, deploying, or updating a skill, or when a request mentions the skills Library, `SKILLS_HOME`, or a `skills` command.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- AlomoesDataScience/claude-skillstheir own version, first seen Nov 8, 2026
- akunzai/skills-managertheir own version, first seen Oct 17, 2026
- joker1point/agent-skill-frameworktheir own version, first seen Oct 16, 2026
- nrjdalal/inscopetheir own version, first seen Oct 13, 2026
- anyproto/anytype-swifttheir own version, first seen Oct 9, 2026
- nrjdalal/zerostartertheir own version, first seen Oct 8, 2026
Used with
Projects with it also use tinyagi-admin, send-user-message and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jlia0Skilltinyagi-admin
Manage and operate the TinyAGI system itself — agents, teams, settings, queue, tasks, daemon lifecycle, and source code. Use when the agent needs to: list/add/remove/update agents or teams, check queue status, view logs, start/stop/restart TinyAGI, change settings (provider, model, channels), send messages to the queue, manage tasks, retry dead-letter messages, view recent responses, modify TinyAGI source code or configuration, or perform any administrative operation on the TinyAGI platform. Triggers: 'manage tinyagi', 'add an agent', 'remove a team', 'check queue', 'view logs', 'restart tinyagi', 'change provider', 'update settings', 'create a task', 'modify tinyagi code'.
Also in 3 projects that use this
Maliot100XSkillsend-user-message
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp). Use when the agent needs to notify, alert, or send an unsolicited message to a user — especially during heartbeat invocations, scheduled tasks, or when the agent wants to reach out without a prior user message in the current conversation. Triggers: 'send message to user', 'notify user', 'alert user', 'message the user on discord/telegram/whatsapp', or any need to proactively communicate with a paired sender.
Also in 3 projects that use this
bivexSkillschedule
Управление расписанием занятий с специалистами по самосовершенствованию. Используй когда пользователь спрашивает о расписании, хочет добавить/удалить/перенести занятие, посмотреть план на день или неделю.
Also in 3 projects that use this
OpenAISkillimagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG/vector/code-native assets, extending an established icon or logo system, or building the visual directly in HTML/CSS/canvas.
Also in 3 projects that use this
genomewalkerSkilltasks
Browse and resume tasks, threads, and background jobs across sessions
Also in 3 projects that use this
GoogleSkillmemory
Records and appends every user-agent customer support interaction to the memory.md log in the workspace.
Also in 3 projects that use this
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- jlia0/tinyclaw★ 3.6ksame name
- TinyAGI/tinyagi★ 3.6ksame name
- TinyAGI/tinyclaw★ 3.6ksame name
- anyproto/anytype-swift★ 525same name
- shenysun/skills-manager★ 243same name
- nrjdalal/zerostarter★ 65same name
- EfanWang/skills-manager★ 30same name
- nrjdalal/inscope★ 3same name
- akunzai/skills-manager★ 1same name
- AlomoesDataScience/claude-skills★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 5 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Run every command with a subcommand.
- Distinctive: line 19
Use the root the manager itself would use.
- Very specific: line 34
If skills is not installed, resolve the root by hand with the same three steps, tell the user the CLI is missing, and do the file work …
- Distinctive: line 40
If the root contains AGENTS.md or CLAUDE.md, read it.
- Very specific: line 41
Run skills status for the overview: skill counts by status, configured agents, and what is deployed where.
- Very specific: line 42
If the root is a Git repository, run git -C <root> status --short and leave changes you did not make alone.
- Very specific: line 43
Run skills sync status. If it prints "enabled": true, read Automatic backup below before running any command that changes the Library.
- Very specific: line 49
Search first: skills list <keywords>.
- Distinctive: line 63
Verify (step 4 below). The manager picks up the new directory on its next scan.
- Distinctive: line 77
Use the CLI rather than file operations for structural changes:
- Very specific: line 80
Delete with skills remove KEY --yes, which also undeploys the skill and removes it from tags and presets.
- Very specific: line 81
If you change the name in a deployed skill's frontmatter, its existing agent links keep the old name and skills status reports them as …
- Distinctive: line 97
If git status shows changes you did not make, ask the user before running a syncing command.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
skills-manager
Skills Manager keeps every skill in one directory, the Library. skills deploy makes a skill available to an agent by putting a symlink to it in that agent's skills directory (for example ~/.claude/skills). So a new or edited skill always goes into the Library, and an agent sees it only after it is deployed there. Real directories that already sit in an agent folder are reported separately and can be adopted into the Library.
Two references hold the detail. Open them when the task reaches them:
- references/library.md: the Library's folder structure, where a skill may live,
SKILL.mdrules, every skill status, and what is safe to edit by hand. - references/cli.md: every
skillscommand with its flags,--jsonoutput, which commands need--yesor support--dry-run, and exit codes.
Run every command with a subcommand. Bare skills opens the interactive TUI, and skills note edit opens an editor; use skills note set instead.
1. Find the Library root
Use the root the manager itself would use. It resolves the root in this order and stops at the first one that is set:
--root DIRon the command line. The program does not expand~here; the shell must.- The
SKILLS_HOMEenvironment variable, if it is set at all. An empty value still counts and fails; it does not fall through. - The contents of
~/.config/skills-tui/root, trimmed. The file must hold only the path. A leading~/is expanded.
Confirm the result with the manager instead of guessing:
skills status # first line: "root: <absolute path>"
skills --json status # the "root" fieldBoth run a full scan. Read the exit status of skills itself; piping it into head hides a failure. If it fails with skills root not set, skills root does not exist, or skills root is not a directory, stop and ask the user for the Library path. Do not pick a likely-looking directory such as ~/.skills or an agent's skills folder. Once the user gives a path, pass --root PATH to every command in the session, and offer to persist it (export SKILLS_HOME=PATH in their shell profile, or the path written into ~/.config/skills-tui/root) only if they want that.
If skills is not installed, resolve the root by hand with the same three steps, tell the user the CLI is missing, and do the file work without it; the install script is linked from the project README.
A project can also have its own store at <project>/.agents/skills. Use it only when the user asks for a project-only skill: CLI commands then take --local (current directory) or --project DIR in place of --root. See references/library.md.
2. Orient before changing anything
- If the root contains
AGENTS.mdorCLAUDE.md, read it. The Library owner's conventions (language, naming, review rules) override the defaults in this skill. - Run
skills statusfor the overview: skill counts by status, configured agents, and what is deployed where.skills listsearches it (see the reference for query filters). - If the root is a Git repository, run
git -C <root> status --shortand leave changes you did not make alone. - Run
skills sync status. If it prints"enabled": true, read Automatic backup below before running any command that changes the Library.
3. Do the task
Create a new skill
- Search first:
skills list <keywords>. Extend a close match rather than adding a near-duplicate, and pick anameno other skill declares; two skills with the same declared name collide when deployed to the same agent. - Choose the location. A flat skill goes at
<root>/<name>/SKILL.md. To group skills in folders, put them anywhere under<root>/local/, for example<root>/local/writing/<name>/SKILL.md. Folders anywhere else are not scanned for nested skills, andrepos/is reserved for installed sources. Details in references/library.md. Write
SKILL.md:--- name: <name> description: <what the skill does>. Use when <case>, <case>. --- <instructions for the agent>nameis 1 to 64 characters of lowercase ASCII letters, digits, and single hyphens, with no hyphen at either end. Match the directory name to it unless the user wants otherwise. The manager accepts an emptydescription, but agents decide whether to load a skill from it, so always write one that names the cases that should trigger the skill. Put helper files inscripts/,references/, orassets/next toSKILL.mdand link them with relative paths. If awriting-for-agentsskill is available, use it for the wording.- Verify (step 4 below). The manager picks up the new directory on its next scan; no registration command is needed.
Bring in an existing skill
- A directory elsewhere on disk:
skills install PATHcopies it and leaves the original;skills adopt PATHmoves it in and deletes the original. When PATH sits directly inside a configured agent's skills directory,adoptputs a symlink to the Library copy where the original was, so that agent keeps working. Both accept--name KEYto choose the Library name. - A Git repository or archive: preview with
skills install REF --list, then install the chosen paths with--select PATH(repeatable) or--all. Name the storage folder with--repo-alias ALIAS. A new archive URL also needs--source-name NAME. Installed skills land inrepos/<alias>/<name>and record their source, revision, and content hash. Before installing third-party skills, read their scripts and license, and install only the ones the user asked for. If the source holds several skills and nothing is selected, the command lists them and installs nothing.
Edit an existing skill
Find its directory with skills show KEY (the path: line), then edit the files there. What the edit means depends on the status show reports:
local: edit freely. Nothing else needs updating whileSKILL.mdstays valid.repository: the skill came from an upstream source. Any file change turns itmodified. Tell the user, because the nextskills update --take upstream(or--force) replaces the whole directory with upstream content and discards local files. After the edit,skills accept KEYrecords the current content as the new baseline when the user wants to keep it.
Use the CLI rather than file operations for structural changes:
- Rename the Library key with
skills rename OLD NEW. It moves the folder and rewrites metadata, tags, presets, and deployment links; renaming by hand breaks all of those. It does not change thenameinSKILL.md. - Delete with
skills remove KEY --yes, which also undeploys the skill and removes it from tags and presets. - If you change the
namein a deployed skill's frontmatter, its existing agent links keep the old name andskills statusreports them asforeign.skills repairpreviews renaming them, andskills repair --applydoes it.
Organize, deploy, update, repair, back up
These follow the same pattern: preview, apply, verify. Full syntax is in references/cli.md.
- Tags (
skills tag add KEY TAG...) are named groups that also work as search filters; reuse an existing one fromskills tag listwhere it fits. Presets (skills preset create NAME --skill KEY...) are fixed bundles you deploy together. - Deploy only to the agents the user names:
skills deploy KEY --agent AGENT --dry-run, then the same command without--dry-run.skills agents listshows configured agent keys. The link is named after the frontmattername, not the Library key. If the dry run reportsname_conflicts, ask the user before rerunning with--same-name replace. - Updates:
skills check --allcompares recorded revisions with upstream;skills update KEY --dry-runpreviews. Runningupdateon amodifiedskill reportsneeds-resolutionuntil you choose a side:--take localskips the update and leaves the skillmodified,--take upstreamdiscards the local edit. Ask the user which. To keep an edit as the new clean state without updating, useskills accept KEYinstead. - Health:
skills statuslists problems;skills repairpreviews fixes for managed links;skills agents clean|relink|remove-link|adopt-link ... --dry-runhandle the rest. - Backup:
skills synccommits, pulls, and pushes the whole root, but only when the user asks.
Automatic backup
When skills sync status shows "enabled": true, every successful command that changes the Library also commits, merges, and pushes all pending non-ignored files in the root, including changes that have nothing to do with your task. Those commands are init, install, adopt, accept, rename, set-source, remove --yes, update without --dry-run, agents add, confirmed agents adopt-link, and every tag, note, repos, and preset subcommand that writes. Reads, previews (install --list, --dry-run), and changes that only touch agent directories (deploy, undeploy, repair --apply, preset deploy, agents clean|relink|remove-link) never sync. A running TUI also syncs files written by hand once they stop changing.
If git status shows changes you did not make, ask the user before running a syncing command.
4. Verify
skills show KEYskills show exits 0 even when the skill is broken, so read the status: line. The work is done when it reads local for a skill you wrote, or repository for a fresh install, name: and description: match what you intended, and deploy: lists exactly the agents the user asked for. An invalid: <reason> status names the problem, for example no YAML frontmatter or missing SKILL.md; references/library.md lists them all. Run any tests or syntax checks shipped with the skill's scripts.
Then report the Library key, its path relative to the root, the agents it is deployed to, and whether an automatic backup ran. A skill written by hand is not backed up until a later Library-changing command, a running TUI, or a skills sync the user asked for picks it up. An agent may need a new session before it sees a newly deployed skill.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

