skills-atlas-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -0
- package/bin/skills.js +46 -0
- package/data.json +15568 -0
- package/package.json +41 -0
- package/src/args.js +33 -0
- package/src/commands/categories.js +63 -0
- package/src/commands/info.js +46 -0
- package/src/commands/install.js +179 -0
- package/src/commands/search.js +69 -0
- package/src/commands/update.js +27 -0
- package/src/data.js +150 -0
- package/src/format.js +104 -0
- package/src/fsutil.js +52 -0
- package/src/github.js +126 -0
- package/src/index-build.js +102 -0
- package/src/prompt.js +37 -0
- package/src/search-core.js +114 -0
package/README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# skills-atlas-cli
|
|
2
|
+
|
|
3
|
+
Search, install and learn AI agent skills from the terminal — powered by the
|
|
4
|
+
[Skills Atlas](https://zita-go.github.io/Skills-Atlas/) catalog (hundreds of
|
|
5
|
+
Claude Code / Codex skills across 100+ source repos).
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx skills-atlas-cli search seo
|
|
9
|
+
npx skills-atlas-cli install brainstorming --global
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Zero runtime dependencies. The catalog snapshot ships with the package and works
|
|
13
|
+
offline; `update` refreshes it from the public feed.
|
|
14
|
+
|
|
15
|
+
## Commands
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
skills-atlas <command> [args]
|
|
19
|
+
|
|
20
|
+
search <query> find skills (-c category, -p persona, -t type, --chain, --limit, --json)
|
|
21
|
+
info <skill> description, usage guidance, sources & install command (--json)
|
|
22
|
+
install <skill> download the skill folder into .claude/skills/
|
|
23
|
+
-g/--global (default ~/.claude/skills) --project (./.claude/skills)
|
|
24
|
+
-s/--source <id> -f/--force -y/--yes --dry-run --json
|
|
25
|
+
update refresh the catalog from the public data feed
|
|
26
|
+
categories list the top-level categories
|
|
27
|
+
list [category] list skill groups (optionally within one category)
|
|
28
|
+
|
|
29
|
+
global flags: --en (English output), --json, -h/--help
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## How install works
|
|
33
|
+
|
|
34
|
+
Every skill in the catalog records the **exact in-repo path** of its `SKILL.md`.
|
|
35
|
+
`install` reads that, lists the skill's folder via one GitHub API call, then
|
|
36
|
+
downloads each file (preserving subfolders) into `<target>/.claude/skills/<skill>/`.
|
|
37
|
+
|
|
38
|
+
- Unlike `git clone`, it fetches **only that skill's folder**, not the whole repo.
|
|
39
|
+
- If a skill has several sources, the best installable one is auto-picked
|
|
40
|
+
(pass `--source <id>` to choose); use `--yes` for non-interactive runs.
|
|
41
|
+
- Some sources are whole-repo / marketplace / CLI installers with no per-skill
|
|
42
|
+
folder — for those, `install` prints the exact command to run (e.g.
|
|
43
|
+
`npx skills add owner/repo`, `/plugin marketplace add owner/repo`).
|
|
44
|
+
- Set `GITHUB_TOKEN` to raise the GitHub API rate limit (60/h → 5000/h).
|
|
45
|
+
|
|
46
|
+
After installing, start a new Claude Code session to load the skill.
|
|
47
|
+
|
|
48
|
+
## Data
|
|
49
|
+
|
|
50
|
+
Offline-first. The bundled snapshot is `data.json` (built from the canonical
|
|
51
|
+
`docs/data.json`). `update` caches a fresh copy under
|
|
52
|
+
`~/.cache/skills-atlas/` (or `$XDG_CACHE_HOME`).
|
|
53
|
+
|
|
54
|
+
## In Claude Code
|
|
55
|
+
|
|
56
|
+
See [`plugin/`](./plugin) for a thin Claude Code plugin that exposes
|
|
57
|
+
`/skills-atlas:skill-search`, `:skill-info`, and `:skill-install` so Claude can do
|
|
58
|
+
all of this in-conversation.
|
package/bin/skills.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const search = require('../src/commands/search');
|
|
5
|
+
const info = require('../src/commands/info');
|
|
6
|
+
const install = require('../src/commands/install');
|
|
7
|
+
const update = require('../src/commands/update');
|
|
8
|
+
const { categories, list } = require('../src/commands/categories');
|
|
9
|
+
|
|
10
|
+
const VERSION = require('../package.json').version;
|
|
11
|
+
const commands = { search, info, install, update, categories, list };
|
|
12
|
+
|
|
13
|
+
const HELP = `skills-atlas — search, install & learn AI agent skills
|
|
14
|
+
|
|
15
|
+
usage: skills-atlas <command> [args]
|
|
16
|
+
|
|
17
|
+
commands:
|
|
18
|
+
search <query> find skills (filters: -c category, -p persona, -t type, --chain)
|
|
19
|
+
info <skill> show description, usage guidance, sources & install command
|
|
20
|
+
install <skill> download the skill into .claude/skills/ (--global default, --project)
|
|
21
|
+
update refresh the catalog from the public data feed
|
|
22
|
+
categories list the top-level categories
|
|
23
|
+
list [category] list skill groups (optionally within one category)
|
|
24
|
+
|
|
25
|
+
global flags: --en (English output), --json (machine output), -h/--help
|
|
26
|
+
docs: https://zita-go.github.io/Skills-Atlas/`;
|
|
27
|
+
|
|
28
|
+
async function main() {
|
|
29
|
+
const [, , sub, ...rest] = process.argv;
|
|
30
|
+
if (!sub || sub === 'help' || sub === '--help' || sub === '-h') { console.log(HELP); return; }
|
|
31
|
+
if (sub === '--version' || sub === '-v') { console.log(VERSION); return; }
|
|
32
|
+
|
|
33
|
+
const cmd = commands[sub];
|
|
34
|
+
if (!cmd) {
|
|
35
|
+
console.error(`unknown command: ${sub}\n`);
|
|
36
|
+
console.log(HELP);
|
|
37
|
+
process.exitCode = 1;
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
await cmd(rest);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
main().catch(err => {
|
|
44
|
+
console.error(`error: ${err && err.message ? err.message : err}`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
});
|