skills 1.3.7 → 1.3.9

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.
Files changed (2) hide show
  1. package/dist/cli.mjs +17 -3
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -58,7 +58,10 @@ function isDirectSkillUrl(input) {
58
58
  if (input.includes("gitlab.com/") && !input.includes("/-/raw/")) return false;
59
59
  return true;
60
60
  }
61
+ const SOURCE_ALIASES = { "coinbase/agentWallet": "coinbase/agentic-wallet-skills" };
61
62
  function parseSource(input) {
63
+ const alias = SOURCE_ALIASES[input];
64
+ if (alias) input = alias;
62
65
  if (isLocalPath(input)) {
63
66
  const resolvedPath = resolve(input);
64
67
  return {
@@ -436,6 +439,7 @@ async function parseSkillMd(skillMdPath, options) {
436
439
  const content = await readFile(skillMdPath, "utf-8");
437
440
  const { data } = (0, import_gray_matter.default)(content);
438
441
  if (!data.name || !data.description) return null;
442
+ if (typeof data.name !== "string" || typeof data.description !== "string") return null;
439
443
  if (data.metadata?.internal === true && !shouldInstallInternalSkills() && !options?.includeInternal) return null;
440
444
  return {
441
445
  name: data.name,
@@ -1795,7 +1799,7 @@ async function saveSelectedAgents(agents) {
1795
1799
  lock.lastSelectedAgents = agents;
1796
1800
  await writeSkillLock(lock);
1797
1801
  }
1798
- var version$1 = "1.3.7";
1802
+ var version$1 = "1.3.9";
1799
1803
  const isCancelled = (value) => typeof value === "symbol";
1800
1804
  async function isSourcePrivate(source) {
1801
1805
  const ownerRepo = parseOwnerRepo(source);
@@ -3042,7 +3046,14 @@ const RESET$2 = "\x1B[0m";
3042
3046
  const BOLD$2 = "\x1B[1m";
3043
3047
  const DIM$2 = "\x1B[38;5;102m";
3044
3048
  const TEXT$1 = "\x1B[38;5;145m";
3049
+ const CYAN$1 = "\x1B[36m";
3045
3050
  const SEARCH_API_BASE = process.env.SKILLS_API_URL || "https://skills.sh";
3051
+ function formatInstalls(count) {
3052
+ if (!count || count <= 0) return "";
3053
+ if (count >= 1e6) return `${(count / 1e6).toFixed(1).replace(/\.0$/, "")}M installs`;
3054
+ if (count >= 1e3) return `${(count / 1e3).toFixed(1).replace(/\.0$/, "")}K installs`;
3055
+ return `${count} install${count === 1 ? "" : "s"}`;
3056
+ }
3046
3057
  async function searchSkillsAPI(query) {
3047
3058
  try {
3048
3059
  const url = `${SEARCH_API_BASE}/api/search?q=${encodeURIComponent(query)}&limit=10`;
@@ -3092,8 +3103,10 @@ async function runSearchPrompt(initialQuery = "") {
3092
3103
  const arrow = isSelected ? `${BOLD$2}>${RESET$2}` : " ";
3093
3104
  const name = isSelected ? `${BOLD$2}${skill.name}${RESET$2}` : `${TEXT$1}${skill.name}${RESET$2}`;
3094
3105
  const source = skill.source ? ` ${DIM$2}${skill.source}${RESET$2}` : "";
3106
+ const installs = formatInstalls(skill.installs);
3107
+ const installsBadge = installs ? ` ${CYAN$1}${installs}${RESET$2}` : "";
3095
3108
  const loadingIndicator = loading && i === 0 ? ` ${DIM$2}...${RESET$2}` : "";
3096
- lines.push(` ${arrow} ${name}${source}${loadingIndicator}`);
3109
+ lines.push(` ${arrow} ${name}${source}${installsBadge}${loadingIndicator}`);
3097
3110
  }
3098
3111
  }
3099
3112
  lines.push("");
@@ -3211,7 +3224,8 @@ ${DIM$2} 2) npx skills add <owner/repo@skill>${RESET$2}`;
3211
3224
  console.log();
3212
3225
  for (const skill of results.slice(0, 6)) {
3213
3226
  const pkg = skill.source || skill.slug;
3214
- console.log(`${TEXT$1}${pkg}@${skill.name}${RESET$2}`);
3227
+ const installs = formatInstalls(skill.installs);
3228
+ console.log(`${TEXT$1}${pkg}@${skill.name}${RESET$2}${installs ? ` ${CYAN$1}${installs}${RESET$2}` : ""}`);
3215
3229
  console.log(`${DIM$2}└ https://skills.sh/${skill.slug}${RESET$2}`);
3216
3230
  console.log();
3217
3231
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skills",
3
- "version": "1.3.7",
3
+ "version": "1.3.9",
4
4
  "description": "The open agent skills ecosystem",
5
5
  "type": "module",
6
6
  "bin": {