simba-skills 0.5.0 → 0.6.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/package.json +2 -2
- package/src/commands/install.ts +23 -2
- package/src/core/config-store.ts +1 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "simba-skills",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "AI skills manager - central store with symlink-based distribution across
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "AI skills manager - central store with symlink-based distribution across 15+ coding agents",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
package/src/commands/install.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from "citty"
|
|
2
2
|
import { readdir, access, readFile } from "node:fs/promises"
|
|
3
|
-
import { join, relative, resolve } from "node:path"
|
|
3
|
+
import { basename, join, relative, resolve } from "node:path"
|
|
4
4
|
import * as p from "@clack/prompts"
|
|
5
5
|
import matter from "gray-matter"
|
|
6
6
|
import simpleGit from "simple-git"
|
|
@@ -268,9 +268,30 @@ export async function discoverSkills(basePath: string): Promise<DiscoveredSkill[
|
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
+
// Check if repo root itself is a skill (has SKILL.md at basePath)
|
|
272
|
+
// Only if no skills found via other strategies (prevents double-counting)
|
|
273
|
+
if (skills.length === 0) {
|
|
274
|
+
try {
|
|
275
|
+
const rootSkillMd = join(basePath, "SKILL.md")
|
|
276
|
+
await access(rootSkillMd)
|
|
277
|
+
const content = await readFile(rootSkillMd, "utf-8")
|
|
278
|
+
const { data } = matter(content)
|
|
279
|
+
const name = data.name || basename(basePath)
|
|
280
|
+
|
|
281
|
+
skills.push({
|
|
282
|
+
name,
|
|
283
|
+
path: basePath,
|
|
284
|
+
description: data.description,
|
|
285
|
+
})
|
|
286
|
+
} catch {
|
|
287
|
+
// No SKILL.md at root
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
271
291
|
// Compute relativePath for each skill
|
|
272
292
|
for (const skill of skills) {
|
|
273
|
-
|
|
293
|
+
const rel = relative(basePath, skill.path)
|
|
294
|
+
skill.relativePath = rel === "" ? "." : "./" + rel
|
|
274
295
|
}
|
|
275
296
|
|
|
276
297
|
return skills
|
package/src/core/config-store.ts
CHANGED
|
@@ -19,6 +19,7 @@ const AGENT_DEFINITIONS: [string, string, string, string, string][] = [
|
|
|
19
19
|
["antigravity", "Antigravity", "Antigrav", "~/.gemini/antigravity/skills", ".agent/skills"],
|
|
20
20
|
["clawdbot", "Clawdbot", "Clawdbot", "~/.clawdbot/skills", "skills"],
|
|
21
21
|
["droid", "Droid", "Droid", "~/.factory/skills", ".factory/skills"],
|
|
22
|
+
["pi", "pi", "pi", "~/.pi/agent/skills", ".pi/skills"],
|
|
22
23
|
];
|
|
23
24
|
|
|
24
25
|
const DEFAULT_AGENTS: Record<string, Agent> = Object.fromEntries(
|