You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Manage AI agent skills backup and sync via the skills-manager CLI. Use when the user asks to push skills to GitHub, pull skills from GitHub, link/symlink skills to agents, sync skills across machines, set up project-level skills, or manage the ~/.agents/ directory. Triggers on "push skills", "pull skills", "link skills", "sync skills", "backup skills", "restore skills", "skills-manager", "link --project", "project skills setup".
3
+
description: Manage AI agent skills backup and sync via the skills-manager CLI. Use when the user asks to push skills to GitHub, pull skills from GitHub, link or symlink skills to agents, sync skills across machines, set up project-level skills, or manage the ~/.agents/ directory. Also triggers on "sm push", "sm pull", "sm link", "backup my skills", "restore skills on new machine", "link --project", "project skills setup", "sync agents skills", or any question about the skills-manager or sm CLI.
4
4
---
5
5
6
6
# skills-manager CLI
7
7
8
8
CLI companion to [vercel-labs/skills](https://github.com/vercel-labs/skills) — backup, restore, and symlink AI agent skills via GitHub.
9
9
10
-
## Wrapper script (set once)
10
+
## Invocation
11
11
12
-
Use the bundled wrapper script so the CLI works without a global install. The wrapper handles the npm package resolution internally — **never construct the package name yourself**.
|`~/.agents/.skill-lock.json`| Lock file (**READ ONLY** — owned by vercel-labs/skills) |
35
34
36
35
## Authentication
37
36
38
-
Authentication is **optional**. If git already has credentials configured (SSH keys, macOS Keychain, `git credential-manager`, etc.), no extra setup is needed.
37
+
Auth is **optional** — if git already has credentials (SSH keys, macOS Keychain, etc.), push/pull work without setup.
39
38
40
-
If git cannot authenticate on its own, the CLI will try these token sources in order:
39
+
When git cannot authenticate, the CLI tries these sources in order:
41
40
42
41
1.`gh auth token` — GitHub CLI
43
42
2.`$GITHUB_TOKEN` — environment variable
44
43
3.`$GH_TOKEN` — environment variable
45
44
46
-
If push/pull fails with an auth error, guide the user to set up ONE of:
sm pull --repo owner/name # first time — specify repo
70
+
sm pull #subsequent runs — uses existing remote
71
+
sm pull --skip-link # pull only, skip auto-link
72
72
```
73
73
74
74
On rebase conflict, aborts and shows manual resolution steps.
75
75
76
-
### link (global)
76
+
### link (global mode)
77
77
78
78
Read `.skill-lock.json`, create **relative** symlinks from each agent's global skills directory to `~/.agents/skills/`.
79
79
80
80
```bash
81
-
"$SM" link # interactive multiselect
82
-
"$SM" link --agents cursor opencode # non-interactive (skips prompt)
81
+
sm link # interactive prompt
82
+
sm link --agents cursor opencode # non-interactive, skip prompt
83
83
```
84
84
85
-
When `--agents` is provided, the prompt is skipped entirely. Selection is remembered across runs.
85
+
**Interactive prompt behavior:**
86
+
87
+
The agent selection uses a **searchable multiselect** with two sections:
88
+
89
+
1.**Locked section** — Universal agents (amp, cline, codex, cursor, gemini-cli, github-copilot, kimi-cli, opencode, replit, universal) are always included. They share `~/.agents/skills/` as their project path, so linking them is a no-op beyond the global symlink — they're locked to avoid confusion.
90
+
91
+
2.**Searchable list** — All 31 non-universal agents appear here. Type to filter by name. Pre-selection comes from (in priority order): last saved selection → `.skill-lock.json` → agents whose directory already exists on disk.
92
+
93
+
When `--agents` is provided, the prompt is skipped entirely. Selection is persisted to `~/.config/skills-manager/config.json` for the next run.
86
94
87
95
### link --project
88
96
89
-
Link or copy skills to current working directory. Three-step interactive flow (all skippable via flags):
97
+
Link or copy skills to the **current working directory**. Three-step interactive flow:
90
98
91
-
1.**Select skills** (`--skills`) — choose which skills (none pre-selected)
92
-
2.**Copy or symlink** (`--mode`) — copy (default, recommended) or absolute symlinks
93
-
3.**Select agents** (`--agents`) — choose agents for project-level setup
99
+
1.**Select skills** (`--skills`) — which skills to include (none pre-selected)
100
+
2.**Copy or symlink** (`--mode`) — `copy` (default, recommended) or absolute `symlink`
101
+
3.**Select agents** (`--agents`) — same searchable multiselect with locked universal section as global mode
0 commit comments