@smartmemory/compose 0.2.38-beta → 0.2.39-beta
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/lib/deps.js +14 -2
- package/package.json +1 -1
package/lib/deps.js
CHANGED
|
@@ -73,7 +73,14 @@ export function checkExternalSkills(deps, home = homedir()) {
|
|
|
73
73
|
|
|
74
74
|
const bareInstalled = new Set()
|
|
75
75
|
const namespacedInstalled = new Set()
|
|
76
|
-
|
|
76
|
+
// Leaf names of namespaced (plugin-provided) skills. Claude Code surfaces many
|
|
77
|
+
// plugin skills under their bare leaf name (e.g. coder-config's `refactor`),
|
|
78
|
+
// so a bare manifest dep is satisfied by a same-leaf plugin skill.
|
|
79
|
+
const namespacedLeaves = new Set()
|
|
80
|
+
const addNs = (ns, leaf) => {
|
|
81
|
+
namespacedInstalled.add(`${ns}:${leaf}`)
|
|
82
|
+
namespacedLeaves.add(leaf)
|
|
83
|
+
}
|
|
77
84
|
|
|
78
85
|
// Helpers: list only entries of a given dirent kind, swallow scandir errors.
|
|
79
86
|
const listDirs = (path) => {
|
|
@@ -139,7 +146,12 @@ export function checkExternalSkills(deps, home = homedir()) {
|
|
|
139
146
|
const missing = []
|
|
140
147
|
for (const dep of deps.external_skills) {
|
|
141
148
|
const isNamespaced = dep.id.includes(':')
|
|
142
|
-
|
|
149
|
+
// Namespaced dep: require the exact <plugin>:<skill> match.
|
|
150
|
+
// Bare dep: a user skill at ~/.claude/skills/<id>/ OR any plugin skill whose
|
|
151
|
+
// leaf name is <id> (Claude Code exposes those under the bare name).
|
|
152
|
+
const found = isNamespaced
|
|
153
|
+
? namespacedInstalled.has(dep.id)
|
|
154
|
+
: (bareInstalled.has(dep.id) || namespacedLeaves.has(dep.id))
|
|
143
155
|
if (found) present.push(dep); else missing.push(dep)
|
|
144
156
|
}
|
|
145
157
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smartmemory/compose",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.39-beta",
|
|
4
4
|
"description": "Structured AI dev pipeline — goal-to-product orchestration with gates, iteration loops, and feature lifecycle management.",
|
|
5
5
|
"author": "SmartMemory",
|
|
6
6
|
"license": "MIT",
|