@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.
Files changed (2) hide show
  1. package/lib/deps.js +14 -2
  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
- const addNs = (ns, leaf) => namespacedInstalled.add(`${ns}:${leaf}`)
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
- const found = isNamespaced ? namespacedInstalled.has(dep.id) : bareInstalled.has(dep.id)
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.38-beta",
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",