get-skill 1.3.9 → 1.3.10
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/CHANGELOG.md +5 -0
- package/dist/cli.js +14 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `get-skill` (published as `skillmds` until 1.3.6) are documented here. Versions follow [semver](https://semver.org).
|
|
4
4
|
|
|
5
|
+
## 1.3.10
|
|
6
|
+
|
|
7
|
+
- **find-skills is now find-a-skill.** SkillMD's skill-finder shared its name with Vercel's widely installed `find-skills`, and both go into the same `~/.agents/skills` folder, so for anyone who already had Vercel's the offer after an install could only fail. It is now `skillmd/find-a-skill`, the old `skillmd/find-skills` address redirects to it, and an earlier install under the old name counts as already added.
|
|
8
|
+
- **A failed follow-up install says why.** When the find-a-skill offer can't install, the message gives the reason (for example a folder already in the way) instead of "try later", along with the command to add it yourself.
|
|
9
|
+
|
|
5
10
|
## 1.3.9
|
|
6
11
|
|
|
7
12
|
- **A new look.** `npx get-skill` on its own now opens with the SkillMD logo, its two orange squares dropping into place, and the menu right under it. Any key skips the animation, which takes under a second.
|
package/dist/cli.js
CHANGED
|
@@ -1945,22 +1945,29 @@ var clackUI = {
|
|
|
1945
1945
|
return isCancel(answer) ? null : answer;
|
|
1946
1946
|
}
|
|
1947
1947
|
};
|
|
1948
|
-
var
|
|
1948
|
+
var FIND_A_SKILL = "skillmd/find-a-skill";
|
|
1949
|
+
var FIND_A_SKILL_SOURCES = [`registry:${FIND_A_SKILL}`, "registry:skillmd/find-skills"];
|
|
1950
|
+
function failureReason(r) {
|
|
1951
|
+
const blocked = r.blocked[0]?.reason;
|
|
1952
|
+
if (blocked) return blocked;
|
|
1953
|
+
const lines = stripAnsi(r.output).split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
|
|
1954
|
+
return lines.at(-1);
|
|
1955
|
+
}
|
|
1949
1956
|
async function offerFindSkills(source, flags, run2, ui, deps) {
|
|
1950
1957
|
if (!ui.confirm || run2.exitCode !== 0 || !run2.written.length || !run2.scope || !run2.agents?.length) return;
|
|
1951
|
-
if (source.replace(/^registry:/, "").toLowerCase()
|
|
1958
|
+
if (FIND_A_SKILL_SOURCES.includes(`registry:${source.replace(/^registry:/, "").toLowerCase()}`)) return;
|
|
1952
1959
|
const cfg = readConfig(flags.home);
|
|
1953
1960
|
if (cfg.findSkillsOffered) return;
|
|
1954
1961
|
const global = run2.scope === "global";
|
|
1955
1962
|
const lock = readLock({ global, cwd: flags.cwd, home: flags.home });
|
|
1956
|
-
if (Object.values(lock.skills).some((e) => e.source
|
|
1963
|
+
if (Object.values(lock.skills).some((e) => FIND_A_SKILL_SOURCES.includes(e.source))) return;
|
|
1957
1964
|
try {
|
|
1958
1965
|
writeConfig({ ...cfg, findSkillsOffered: true }, flags.home);
|
|
1959
1966
|
} catch {
|
|
1960
1967
|
}
|
|
1961
|
-
const yes = await ui.confirm("Also add find-
|
|
1968
|
+
const yes = await ui.confirm("Also add find-a-skill, so your agent can look for more skills on SkillMD when a task needs one?");
|
|
1962
1969
|
if (!yes) return;
|
|
1963
|
-
const r = await runAdd(
|
|
1970
|
+
const r = await runAdd(FIND_A_SKILL, {
|
|
1964
1971
|
...flags,
|
|
1965
1972
|
yes: true,
|
|
1966
1973
|
json: false,
|
|
@@ -1971,7 +1978,8 @@ async function offerFindSkills(source, flags, run2, ui, deps) {
|
|
|
1971
1978
|
project: !global,
|
|
1972
1979
|
agent: run2.agents
|
|
1973
1980
|
}, deps);
|
|
1974
|
-
|
|
1981
|
+
const why = r.exitCode === 0 ? "" : failureReason(r);
|
|
1982
|
+
ui.message(r.exitCode === 0 ? `${pc10.green(GLYPH.ok)} find-a-skill added` : pc10.yellow(`${GLYPH.warn} find-a-skill was not added${why ? `: ${why}` : ""}. To add it yourself: npx get-skill add ${FIND_A_SKILL}`));
|
|
1975
1983
|
}
|
|
1976
1984
|
async function runAddWithUI(source, flags, opts = {}) {
|
|
1977
1985
|
const term = opts.term ?? { ...realTerminal(), env: flags.env ?? process.env };
|
package/package.json
CHANGED