skills-atlas-cli 0.3.0 → 0.3.1
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 +1 -0
- package/bin/skills.js +4 -1
- package/package.json +1 -1
- package/src/args.js +1 -0
- package/src/commands/install.js +22 -4
package/README.md
CHANGED
|
@@ -47,6 +47,7 @@ skills-atlas info brainstorming
|
|
|
47
47
|
skills-atlas install brainstorming # → ~/.claude/skills/ (default, all projects)
|
|
48
48
|
skills-atlas install brainstorming --project # → ./.claude/skills/ (this project only)
|
|
49
49
|
skills-atlas install brainstorming --chain # install the whole ⛓ workflow it belongs to
|
|
50
|
+
skills-atlas use brainstorming # install AND activate now — prints SKILL.md, no restart
|
|
50
51
|
skills-atlas install brainstorming --dry-run # preview the files, write nothing
|
|
51
52
|
|
|
52
53
|
# 🗂️ Manage what you've installed (like a package manager)
|
package/bin/skills.js
CHANGED
|
@@ -13,7 +13,9 @@ const update = require('../src/commands/update');
|
|
|
13
13
|
const { categories, list } = require('../src/commands/categories');
|
|
14
14
|
|
|
15
15
|
const VERSION = require('../package.json').version;
|
|
16
|
-
|
|
16
|
+
// `use` = install + activate inline (emit the SKILL.md so an agent follows it now).
|
|
17
|
+
const use = argv => install([...argv, '--inline']);
|
|
18
|
+
const commands = { search, info, install, use, installed, upgrade, remove, outdated, doctor, update, categories, list };
|
|
17
19
|
|
|
18
20
|
const HELP = `skills-atlas — search, install & manage AI agent skills
|
|
19
21
|
|
|
@@ -23,6 +25,7 @@ find & install:
|
|
|
23
25
|
search <query> find skills (filters: -c category, -p persona, -t type, --chain)
|
|
24
26
|
info <skill> show description, usage guidance, sources & install command
|
|
25
27
|
install <skill> download into .claude/skills/ (--chain for the whole workflow)
|
|
28
|
+
use <skill> install AND activate it for the current session now (inline)
|
|
26
29
|
|
|
27
30
|
manage what you've installed:
|
|
28
31
|
installed list installed skills (global + project)
|
package/package.json
CHANGED
package/src/args.js
CHANGED
package/src/commands/install.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const fs = require('fs');
|
|
3
4
|
const path = require('path');
|
|
4
5
|
const { parse } = require('../args');
|
|
6
|
+
|
|
7
|
+
const readSkillMd = dest => {
|
|
8
|
+
try { return fs.readFileSync(path.join(dest, 'SKILL.md'), 'utf8'); } catch { return null; }
|
|
9
|
+
};
|
|
5
10
|
const { loadData } = require('../data');
|
|
6
11
|
const { buildIndices, vendorsFor, suggestSkills, skillDocPath } = require('../index-build');
|
|
7
12
|
const { listSkillFiles } = require('../github');
|
|
@@ -81,7 +86,7 @@ async function installChain({ row, vendor, src, targetRoot, values }) {
|
|
|
81
86
|
|
|
82
87
|
module.exports = async function install(argv) {
|
|
83
88
|
const { values, positionals } = parse(argv,
|
|
84
|
-
['global', 'project', 'source', 'force', 'yes', 'chain', 'dry-run', 'json']);
|
|
89
|
+
['global', 'project', 'source', 'force', 'yes', 'chain', 'inline', 'dry-run', 'json']);
|
|
85
90
|
if (values.help) { console.log(HELP); return; }
|
|
86
91
|
|
|
87
92
|
const name = positionals[0];
|
|
@@ -241,10 +246,12 @@ module.exports = async function install(argv) {
|
|
|
241
246
|
}
|
|
242
247
|
|
|
243
248
|
if (values.json) {
|
|
244
|
-
|
|
249
|
+
const out = {
|
|
245
250
|
skill, mode: 'folder', source: src.name,
|
|
246
251
|
dest: result.dest, files: result.fileCount, scripts: result.scripts.length, branch: result.branchUsed,
|
|
247
|
-
}
|
|
252
|
+
};
|
|
253
|
+
if (values.inline) out.skillMd = readSkillMd(result.dest);
|
|
254
|
+
console.log(JSON.stringify(out));
|
|
248
255
|
return;
|
|
249
256
|
}
|
|
250
257
|
|
|
@@ -264,5 +271,16 @@ module.exports = async function install(argv) {
|
|
|
264
271
|
? infoForRow(skill, chosen.row, data.vendors)
|
|
265
272
|
: buildInfo(skill, { skillIndex: idx.skillIndex, vendors: data.vendors });
|
|
266
273
|
console.log(renderInfo(guide, { en: !values.zh, all: true }));
|
|
267
|
-
|
|
274
|
+
|
|
275
|
+
if (values.inline) {
|
|
276
|
+
const body = readSkillMd(result.dest);
|
|
277
|
+
if (body) {
|
|
278
|
+
console.log('\n' + dim('─── SKILL.md (active for this task — follow it now) ───'));
|
|
279
|
+
console.log(body.trim());
|
|
280
|
+
console.log(dim('─── end SKILL.md ───'));
|
|
281
|
+
}
|
|
282
|
+
console.log(dim('\n(the folder is also installed for future sessions)'));
|
|
283
|
+
} else {
|
|
284
|
+
console.log(dim('\nStart a new Claude Code session to load the skill, then invoke it by name.'));
|
|
285
|
+
}
|
|
268
286
|
};
|