incur 0.4.1 → 0.4.3

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.
@@ -61,7 +61,7 @@ export async function sync(name, commands, options = {}) {
61
61
  }
62
62
  // Write skills hash + names for staleness detection
63
63
  const hashEntries = collectEntries(commands, [], undefined, options.rootCommand);
64
- writeMeta(name, Skill.hash(hashEntries), [...currentNames]);
64
+ writeMeta(name, Skill.hash(hashEntries), [...currentNames], [...paths, ...agents.map((agent) => agent.path)]);
65
65
  return { skills: skills.sort((a, b) => a.name.localeCompare(b.name)), paths, agents };
66
66
  }
67
67
  finally {
@@ -78,8 +78,7 @@ export async function list(name, commands, options = {}) {
78
78
  const entries = collectEntries(commands, [], groups, options.rootCommand);
79
79
  const files = Skill.split(name, entries, depth, groups);
80
80
  const skills = [];
81
- const meta = readMeta(name);
82
- const installed = new Set(meta?.skills);
81
+ const installed = readInstalledSkills(name, { cwd });
83
82
  for (const file of files) {
84
83
  const nameMatch = file.content.match(/^name:\s*(.+)$/m);
85
84
  const descMatch = file.content.match(/^description:\s*(.+)$/m);
@@ -114,6 +113,10 @@ export async function list(name, commands, options = {}) {
114
113
  }
115
114
  return skills.sort((a, b) => a.name.localeCompare(b.name));
116
115
  }
116
+ /** Returns whether any previously synced skills are still installed on disk. */
117
+ export function hasInstalledSkills(name, options = {}) {
118
+ return readInstalledSkills(name, options).size > 0;
119
+ }
117
120
  /** Recursively collects leaf commands as `Skill.CommandInfo`. */
118
121
  function collectEntries(commands, prefix, groups = new Map(), rootCommand) {
119
122
  const result = [];
@@ -202,12 +205,12 @@ function hashPath(name) {
202
205
  return path.join(dir, 'incur', `${name}.json`);
203
206
  }
204
207
  /** @internal Writes the skills metadata for staleness detection and cleanup. */
205
- function writeMeta(name, hash, skills) {
208
+ function writeMeta(name, hash, skills, paths) {
206
209
  const file = hashPath(name);
207
210
  const dir = path.dirname(file);
208
211
  if (!fsSync.existsSync(dir))
209
212
  fsSync.mkdirSync(dir, { recursive: true });
210
- fsSync.writeFileSync(file, JSON.stringify({ hash, skills, at: new Date().toISOString() }) + '\n');
213
+ fsSync.writeFileSync(file, JSON.stringify({ hash, skills, paths, at: new Date().toISOString() }) + '\n');
211
214
  }
212
215
  /** @internal Reads the stored metadata for a CLI. */
213
216
  function readMeta(name) {
@@ -218,6 +221,26 @@ function readMeta(name) {
218
221
  return undefined;
219
222
  }
220
223
  }
224
+ /** Reads the names of previously synced skills that are still installed on disk. */
225
+ function readInstalledSkills(name, options = {}) {
226
+ const meta = readMeta(name);
227
+ if (!meta?.skills?.length)
228
+ return new Set();
229
+ if (meta.paths?.length) {
230
+ const installed = meta.paths
231
+ .filter((skillPath) => isInstalledSkillPath(skillPath))
232
+ .map((skillPath) => path.basename(skillPath));
233
+ return new Set(installed);
234
+ }
235
+ const cwd = options.cwd ?? process.cwd();
236
+ const bases = [path.join(os.homedir(), '.agents', 'skills'), path.join(cwd, '.agents', 'skills')];
237
+ const installed = meta.skills.filter((skill) => bases.some((base) => isInstalledSkillPath(path.join(base, skill))));
238
+ return new Set(installed);
239
+ }
240
+ /** Returns whether a skill directory currently contains a skill file. */
241
+ function isInstalledSkillPath(skillPath) {
242
+ return fsSync.existsSync(path.join(skillPath, 'SKILL.md'));
243
+ }
221
244
  /** Reads the stored skills hash for a CLI. Returns `undefined` if no hash exists. */
222
245
  export function readHash(name) {
223
246
  return readMeta(name)?.hash;
@@ -1 +1 @@
1
- {"version":3,"file":"SyncSkills.js","sourceRoot":"","sources":["../src/SyncSkills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncSkills.js","sourceRoot":"","sources":["../src/SyncSkills.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAY,EACZ,QAA0B,EAC1B,UAAwB,EAAE;IAE1B,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAE1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,IAAI,WAAW;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAA;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC;gBACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACjC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC1F,CAAC;QAED,6DAA6D;QAC7D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;gBACrF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;wBACnE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;wBAClD,MAAM,SAAS,GACb,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;wBACrF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;wBACrD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;wBACvD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;4BAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;4BACzD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;wBAC/E,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAEjE,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAQ;gBACnC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QAChF,SAAS,CACP,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACvB,CAAC,GAAG,YAAY,CAAC,EACjB,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACjD,CAAA;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACvF,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC;AAgDD,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAY,EACZ,QAA0B,EAC1B,UAAwB,EAAE;IAE1B,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAExC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,IAAI,WAAW;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;QACtD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;SACpC,CAAC,CAAA;IACJ,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACrF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;oBACnE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;oBAClD,MAAM,SAAS,GACb,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;oBACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;wBAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;wBACzD,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;4BAC3B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;yBACpC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,UAAwC,EAAE;IAE1C,OAAO,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;AACpD,CAAC;AAqCD,iEAAiE;AACjE,SAAS,cAAc,CACrB,QAA0B,EAC1B,MAAgB,EAChB,SAA8B,IAAI,GAAG,EAAE,EACvC,WAUa;IAEb,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,GAAsB,EAAE,CAAA;QACjC,IAAI,WAAW,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAA;QACtE,IAAI,WAAW,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;QACjD,IAAI,WAAW,CAAC,GAAG;YAAE,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAA;QAC9C,IAAI,WAAW,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;QACjD,IAAI,WAAW,CAAC,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;QAC1D,IAAI,WAAW,CAAC,MAAM;YAAE,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;QACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACrD,IAAI,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAA;QACnC,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW;gBAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAsB,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;YAC5D,IAAI,KAAK,CAAC,WAAW;gBAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;YAC1D,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;YACrC,IAAI,KAAK,CAAC,GAAG;gBAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;YAClC,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;YACrC,IAAI,KAAK,CAAC,OAAO;gBAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC9C,IAAI,KAAK,CAAC,MAAM;gBAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACnC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,CAAC;oBACJ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;iBACzD,CAAC,CAAC,CAAA;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,gLAAgL;AAChL,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CACpB,CAAC,GAAG,EAAE;QACJ,IAAI,CAAC;YACH,0CAA0C;YAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,OAAO,OAAO,CAAC,QAAQ,CAAA;QACzB,CAAC;IACH,CAAC,CAAC,EAAE,CACL,CAAA;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IACjC,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;YACjD,OAAO,GAAG,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;AACtB,CAAC;AAED,4CAA4C;AAC5C,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;AAChD,CAAC;AAED,gFAAgF;AAChF,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,MAAgB,EAAE,KAAe;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvE,MAAM,CAAC,aAAa,CAClB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAC7E,CAAA;AACH,CAAC;AAED,qDAAqD;AACrD,SAAS,QAAQ,CACf,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,mBAAmB,CAC1B,IAAY,EACZ,UAAwC,EAAE;IAE1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM;QAAE,OAAO,IAAI,GAAG,EAAE,CAAA;IAE3C,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QAC/C,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACjG,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CACnE,CAAA;IACD,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;AAC3B,CAAC;AAED,yEAAyE;AACzE,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;AAC7B,CAAC"}
@@ -102,6 +102,9 @@ export declare const builtinCommands: ({
102
102
  command: z.ZodOptional<z.ZodString>;
103
103
  noGlobal: z.ZodOptional<z.ZodBoolean>;
104
104
  }, z.core.$strip>> & {
105
+ /** Alternative names for this built-in subcommand. */
106
+ aliases?: string[] | undefined;
107
+ } & {
105
108
  name: string;
106
109
  })[];
107
110
  args?: undefined;
@@ -115,8 +118,14 @@ export declare const builtinCommands: ({
115
118
  depth: z.ZodOptional<z.ZodNumber>;
116
119
  noGlobal: z.ZodOptional<z.ZodBoolean>;
117
120
  }, z.core.$strip>> & {
121
+ /** Alternative names for this built-in subcommand. */
122
+ aliases?: string[] | undefined;
123
+ } & {
118
124
  name: string;
119
125
  }) | (CommandMeta<z.ZodObject<any, z.core.$strip>> & {
126
+ /** Alternative names for this built-in subcommand. */
127
+ aliases?: string[] | undefined;
128
+ } & {
120
129
  name: string;
121
130
  }))[];
122
131
  args?: undefined;
@@ -145,6 +154,9 @@ export declare function findBuiltin(token: string): {
145
154
  command: z.ZodOptional<z.ZodString>;
146
155
  noGlobal: z.ZodOptional<z.ZodBoolean>;
147
156
  }, z.core.$strip>> & {
157
+ /** Alternative names for this built-in subcommand. */
158
+ aliases?: string[] | undefined;
159
+ } & {
148
160
  name: string;
149
161
  })[];
150
162
  args?: undefined;
@@ -158,13 +170,43 @@ export declare function findBuiltin(token: string): {
158
170
  depth: z.ZodOptional<z.ZodNumber>;
159
171
  noGlobal: z.ZodOptional<z.ZodBoolean>;
160
172
  }, z.core.$strip>> & {
173
+ /** Alternative names for this built-in subcommand. */
174
+ aliases?: string[] | undefined;
175
+ } & {
161
176
  name: string;
162
177
  }) | (CommandMeta<z.ZodObject<any, z.core.$strip>> & {
178
+ /** Alternative names for this built-in subcommand. */
179
+ aliases?: string[] | undefined;
180
+ } & {
163
181
  name: string;
164
182
  }))[];
165
183
  args?: undefined;
166
184
  hint?: undefined;
167
185
  } | undefined;
186
+ /** @internal Finds a builtin subcommand by its name or alias. */
187
+ export declare function findBuiltinSubcommand(builtin: (typeof builtinCommands)[number], token: string): (CommandMeta<z.ZodObject<{
188
+ agent: z.ZodOptional<z.ZodString>;
189
+ command: z.ZodOptional<z.ZodString>;
190
+ noGlobal: z.ZodOptional<z.ZodBoolean>;
191
+ }, z.core.$strip>> & {
192
+ /** Alternative names for this built-in subcommand. */
193
+ aliases?: string[] | undefined;
194
+ } & {
195
+ name: string;
196
+ }) | (CommandMeta<z.ZodObject<{
197
+ depth: z.ZodOptional<z.ZodNumber>;
198
+ noGlobal: z.ZodOptional<z.ZodBoolean>;
199
+ }, z.core.$strip>> & {
200
+ /** Alternative names for this built-in subcommand. */
201
+ aliases?: string[] | undefined;
202
+ } & {
203
+ name: string;
204
+ }) | (CommandMeta<z.ZodObject<any, z.core.$strip>> & {
205
+ /** Alternative names for this built-in subcommand. */
206
+ aliases?: string[] | undefined;
207
+ } & {
208
+ name: string;
209
+ }) | undefined;
168
210
  /** @internal Checks if a token matches a builtin command by name or alias. */
169
211
  export declare function isBuiltin(token: string): boolean;
170
212
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/internal/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/internal/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAgC,OAAO,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAMlG,8CAA8C;AAC9C,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAA;AAmBD,iFAAiF;AACjF,wBAAsB,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CA0N7F;AAgBD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,gDAAgD;IAChD,KAAK,OAAO,GAAG;QACb,wCAAwC;QACxC,KAAK,EAAE,OAAO,CAAA;QACd,qFAAqF;QACrF,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,8CAA8C;QAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;QAC9C,uFAAuF;QACvF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,4BAA4B;QAC5B,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QAClC,mEAAmE;QACnE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;QAC1D,kCAAkC;QAClC,MAAM,EAAE,MAAM,CAAA;QACd,mDAAmD;QACnD,cAAc,EAAE,OAAO,CAAA;QACvB,4FAA4F;QAC5F,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrC,uEAAuE;QACvE,WAAW,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAA;QAC7C,oBAAoB;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ;;;;;WAKG;QACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;QACjD,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,4CAA4C;QAC5C,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACnC,0BAA0B;QAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5B,CAAA;IAED,qCAAqC;IACrC,KAAK,MAAM,GACP;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KAAE,GACvD;QACE,EAAE,EAAE,KAAK,CAAA;QACT,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;YAC/B,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;SACvC,CAAA;QACD,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;QAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC9B,GACD;QAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAC1D;AAiBD,2EAA2E;AAC3E,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,IAAI;IAClF,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACtC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B,CAAA;AAgBD,6CAA6C;AAC7C,eAAO,MAAM,MAAM,6CAA8C,CAAA;AAEjE,8BAA8B;AAC9B,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3C,gFAAgF;AAChF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;QAlBxB,sDAAsD;kBAC5C,MAAM,EAAE,GAAG,SAAS;;cAKc,MAAM;;;;;;;;;;;;;QANlD,sDAAsD;kBAC5C,MAAM,EAAE,GAAG,SAAS;;cAKc,MAAM;;QANlD,sDAAsD;kBAC5C,MAAM,EAAE,GAAG,SAAS;;cAKc,MAAM;;;;IAqFnD,CAAA;AAEH,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;QA9FrC,sDAAsD;kBAC5C,MAAM,EAAE,GAAG,SAAS;;cAKc,MAAM;;;;;;;;;;;;;QANlD,sDAAsD;kBAC5C,MAAM,EAAE,GAAG,SAAS;;cAKc,MAAM;;QANlD,sDAAsD;kBAC5C,MAAM,EAAE,GAAG,SAAS;;cAKc,MAAM;;;;cA0FrD;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM;;;;;IAnG1F,sDAAsD;cAC5C,MAAM,EAAE,GAAG,SAAS;;UAKc,MAAM;;;;;IANlD,sDAAsD;cAC5C,MAAM,EAAE,GAAG,SAAS;;UAKc,MAAM;;IANlD,sDAAsD;cAC5C,MAAM,EAAE,GAAG,SAAS;;UAKc,MAAM;eA+FrD;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,WAEtC"}
@@ -276,6 +276,7 @@ export const builtinCommands = [
276
276
  }),
277
277
  subcommand({
278
278
  name: 'list',
279
+ aliases: ['ls'],
279
280
  description: 'List skills',
280
281
  }),
281
282
  ],
@@ -285,6 +286,10 @@ export const builtinCommands = [
285
286
  export function findBuiltin(token) {
286
287
  return builtinCommands.find((b) => b.name === token || b.aliases?.includes(token));
287
288
  }
289
+ /** @internal Finds a builtin subcommand by its name or alias. */
290
+ export function findBuiltinSubcommand(builtin, token) {
291
+ return builtin.subcommands?.find((sub) => sub.name === token || sub.aliases?.includes(token));
292
+ }
288
293
  /** @internal Checks if a token matches a builtin command by name or alias. */
289
294
  export function isBuiltin(token) {
290
295
  return builtinCommands.some((b) => b.name === token || b.aliases?.includes(token));
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/internal/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/internal/command.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "incur",
3
3
  "type": "module",
4
- "version": "0.4.1",
4
+ "version": "0.4.3",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
package/src/Cli.test.ts CHANGED
@@ -12,10 +12,15 @@ afterAll(() => {
12
12
  })
13
13
 
14
14
  let __mockSkillsHash: string | undefined
15
+ let __mockSkillsInstalled = true
15
16
 
16
17
  vi.mock('./SyncSkills.js', async (importOriginal) => {
17
18
  const actual = await importOriginal<typeof import('./SyncSkills.js')>()
18
- return { ...actual, readHash: () => __mockSkillsHash }
19
+ return {
20
+ ...actual,
21
+ hasInstalledSkills: () => __mockSkillsInstalled,
22
+ readHash: () => __mockSkillsHash,
23
+ }
19
24
  })
20
25
 
21
26
  async function serve(
@@ -2631,9 +2636,18 @@ describe('built-in commands', () => {
2631
2636
  cli.command('ping', { run: () => ({ pong: true }) })
2632
2637
  const { output } = await serve(cli, ['skills', 'list', '--help'])
2633
2638
  expect(output).toContain('test skills list')
2639
+ expect(output).toContain('Aliases: ls')
2634
2640
  expect(output).toContain('List skills')
2635
2641
  })
2636
2642
 
2643
+ test('skills ls resolves to list', async () => {
2644
+ const cli = Cli.create('test')
2645
+ cli.command('ping', { description: 'Health check', run: () => ({ pong: true }) })
2646
+ const { output: aliased } = await serve(cli, ['skills', 'ls'])
2647
+ const { output: canonical } = await serve(cli, ['skills', 'list'])
2648
+ expect(aliased).toBe(canonical)
2649
+ })
2650
+
2637
2651
  test('skills list shows skills with install status', async () => {
2638
2652
  const cli = Cli.create('test')
2639
2653
  cli.command('ping', { description: 'Health check', run: () => ({ pong: true }) })
@@ -2652,11 +2666,13 @@ describe('skills staleness', () => {
2652
2666
  beforeEach(() => {
2653
2667
  stderrSpy = vi.spyOn(process.stderr, 'write').mockImplementation(() => true)
2654
2668
  __mockSkillsHash = undefined
2669
+ __mockSkillsInstalled = true
2655
2670
  })
2656
2671
 
2657
2672
  afterEach(() => {
2658
2673
  stderrSpy.mockRestore()
2659
2674
  __mockSkillsHash = undefined
2675
+ __mockSkillsInstalled = true
2660
2676
  })
2661
2677
 
2662
2678
  test('includes skills CTA when stale', async () => {
@@ -2728,6 +2744,16 @@ describe('skills staleness', () => {
2728
2744
  expect(output).not.toContain('Skills are out of date')
2729
2745
  })
2730
2746
 
2747
+ test('does not warn when skills are not installed', async () => {
2748
+ __mockSkillsHash = '0000000000000000'
2749
+ __mockSkillsInstalled = false
2750
+ const cli = Cli.create('test')
2751
+ cli.command('ping', { description: 'Health check', run: () => ({ pong: true }) })
2752
+
2753
+ const { output } = await serve(cli, ['ping'])
2754
+ expect(output).not.toContain('Skills are out of date')
2755
+ })
2756
+
2731
2757
  test('does not warn for skills add', async () => {
2732
2758
  __mockSkillsHash = '0000000000000000'
2733
2759
  const cli = Cli.create('test')
package/src/Cli.ts CHANGED
@@ -15,6 +15,7 @@ import {
15
15
  builtinCommands,
16
16
  type CommandMeta,
17
17
  findBuiltin,
18
+ findBuiltinSubcommand,
18
19
  type Shell,
19
20
  shells,
20
21
  } from './internal/command.js'
@@ -546,8 +547,9 @@ async function serveImpl(
546
547
  const builtin = findBuiltin(parent)
547
548
  if (builtin?.subcommands)
548
549
  for (const sub of builtin.subcommands)
549
- if (sub.name.startsWith(current))
550
- candidates.push({ value: sub.name, description: sub.description })
550
+ for (const value of [sub.name, ...(sub.aliases ?? [])])
551
+ if (value.startsWith(current) && !candidates.some((c) => c.value === value))
552
+ candidates.push({ value, description: sub.description })
551
553
  }
552
554
  const out = Completions.format(completeShell, candidates)
553
555
  if (out) stdout(out)
@@ -562,7 +564,7 @@ async function serveImpl(
562
564
  const isMcpAdd = builtinIdx(filtered, name, 'mcp') !== -1
563
565
  if (!isSkillsAdd && !isMcpAdd) {
564
566
  const stored = SyncSkills.readHash(name)
565
- if (stored) {
567
+ if (stored && SyncSkills.hasInstalledSkills(name, { cwd: options.sync?.cwd })) {
566
568
  const groups = new Map<string, string>()
567
569
  const entries = collectSkillCommands(commands, [], groups, options.rootCommand)
568
570
  if (Skill.hash(entries) !== stored) {
@@ -658,9 +660,13 @@ async function serveImpl(
658
660
  // skills add: generate skill files and install via `<pm>x skills add` (only when sync is configured)
659
661
  const skillsIdx = builtinIdx(filtered, name, 'skills')
660
662
  if (skillsIdx !== -1) {
663
+ const builtin = findBuiltin('skills')!
661
664
  const skillsSub = filtered[skillsIdx + 1]
662
- if (skillsSub && skillsSub !== 'add' && skillsSub !== 'list') {
663
- const suggestion = suggest(skillsSub, ['add', 'list'])
665
+ const sub = skillsSub ? findBuiltinSubcommand(builtin, skillsSub) : undefined
666
+ if (skillsSub && !sub) {
667
+ const candidates =
668
+ builtin.subcommands?.flatMap((sub) => [sub.name, ...(sub.aliases ?? [])]) ?? []
669
+ const suggestion = suggest(skillsSub, candidates)
664
670
  const didYouMean = suggestion ? ` Did you mean '${suggestion}'?` : ''
665
671
  const message = `'${skillsSub}' is not a command for '${name} skills'.${didYouMean}`
666
672
  const ctaCommands: FormattedCta[] = []
@@ -684,14 +690,12 @@ async function serveImpl(
684
690
  return
685
691
  }
686
692
  if (!skillsSub) {
687
- const b = findBuiltin('skills')!
688
- writeln(formatBuiltinHelp(name, b))
693
+ writeln(formatBuiltinHelp(name, builtin))
689
694
  return
690
695
  }
691
- if (skillsSub === 'list') {
696
+ if (sub?.name === 'list') {
692
697
  if (help) {
693
- const b = findBuiltin('skills')!
694
- writeln(formatBuiltinSubcommandHelp(name, b, 'list'))
698
+ writeln(formatBuiltinSubcommandHelp(name, builtin, 'list'))
695
699
  return
696
700
  }
697
701
  try {
@@ -736,8 +740,7 @@ async function serveImpl(
736
740
  return
737
741
  }
738
742
  if (help) {
739
- const b = findBuiltin('skills')!
740
- writeln(formatBuiltinSubcommandHelp(name, b, 'add'))
743
+ writeln(formatBuiltinSubcommandHelp(name, builtin, 'add'))
741
744
  return
742
745
  }
743
746
  const rest = filtered.slice(skillsIdx + 2)
@@ -2304,9 +2307,10 @@ function formatBuiltinSubcommandHelp(
2304
2307
  builtin: (typeof builtinCommands)[number],
2305
2308
  subName: string,
2306
2309
  ): string {
2307
- const sub = builtin.subcommands?.find((s) => s.name === subName)
2310
+ const sub = findBuiltinSubcommand(builtin, subName)
2308
2311
  return Help.formatCommand(`${cli} ${builtin.name} ${subName}`, {
2309
2312
  alias: sub?.alias,
2313
+ aliases: sub?.aliases,
2310
2314
  description: sub?.description,
2311
2315
  hideGlobalOptions: true,
2312
2316
  options: sub?.options,
@@ -504,6 +504,8 @@ describe('serve integration', () => {
504
504
  _COMPLETE_INDEX: '2',
505
505
  })
506
506
  expect(output).toContain('add')
507
+ expect(output).toContain('list')
508
+ expect(output).toContain('ls')
507
509
  })
508
510
 
509
511
  test('COMPLETE=bash suggests add for mcp subcommand', async () => {
@@ -205,6 +205,32 @@ test('list shows installed status after sync', async () => {
205
205
  rmSync(tmp, { recursive: true, force: true })
206
206
  })
207
207
 
208
+ test('list shows not installed when synced skills are removed', async () => {
209
+ const tmp = join(tmpdir(), `clac-list-missing-test-${Date.now()}`)
210
+ mkdirSync(tmp, { recursive: true })
211
+ process.env.XDG_DATA_HOME = tmp
212
+
213
+ const cli = Cli.create('test')
214
+ cli.command('ping', { description: 'Ping', run: () => ({}) })
215
+
216
+ const commands = Cli.toCommands.get(cli)!
217
+ const installDir = join(tmp, 'install')
218
+ mkdirSync(join(installDir, '.agents', 'skills'), { recursive: true })
219
+
220
+ const sync = await SyncSkills.sync('test', commands, {
221
+ global: false,
222
+ cwd: installDir,
223
+ })
224
+
225
+ rmSync(sync.paths[0]!, { recursive: true, force: true })
226
+
227
+ const result = await SyncSkills.list('test', commands)
228
+ expect(result).toHaveLength(1)
229
+ expect(result[0]!.installed).toBe(false)
230
+
231
+ rmSync(tmp, { recursive: true, force: true })
232
+ })
233
+
208
234
  test('list returns empty for CLI with no commands', async () => {
209
235
  const cli = Cli.create('empty')
210
236
  const commands = Cli.toCommands.get(cli)!
package/src/SyncSkills.ts CHANGED
@@ -71,7 +71,12 @@ export async function sync(
71
71
 
72
72
  // Write skills hash + names for staleness detection
73
73
  const hashEntries = collectEntries(commands, [], undefined, options.rootCommand)
74
- writeMeta(name, Skill.hash(hashEntries), [...currentNames])
74
+ writeMeta(
75
+ name,
76
+ Skill.hash(hashEntries),
77
+ [...currentNames],
78
+ [...paths, ...agents.map((agent) => agent.path)],
79
+ )
75
80
 
76
81
  return { skills: skills.sort((a, b) => a.name.localeCompare(b.name)), paths, agents }
77
82
  } finally {
@@ -140,8 +145,7 @@ export async function list(
140
145
  const files = Skill.split(name, entries, depth, groups)
141
146
 
142
147
  const skills: list.Skill[] = []
143
- const meta = readMeta(name)
144
- const installed = new Set(meta?.skills)
148
+ const installed = readInstalledSkills(name, { cwd })
145
149
 
146
150
  for (const file of files) {
147
151
  const nameMatch = file.content.match(/^name:\s*(.+)$/m)
@@ -180,6 +184,14 @@ export async function list(
180
184
  return skills.sort((a, b) => a.name.localeCompare(b.name))
181
185
  }
182
186
 
187
+ /** Returns whether any previously synced skills are still installed on disk. */
188
+ export function hasInstalledSkills(
189
+ name: string,
190
+ options: { cwd?: string | undefined } = {},
191
+ ): boolean {
192
+ return readInstalledSkills(name, options).size > 0
193
+ }
194
+
183
195
  export declare namespace list {
184
196
  /** Options for listing skills. */
185
197
  type Options = {
@@ -305,15 +317,20 @@ function hashPath(name: string): string {
305
317
  }
306
318
 
307
319
  /** @internal Writes the skills metadata for staleness detection and cleanup. */
308
- function writeMeta(name: string, hash: string, skills: string[]) {
320
+ function writeMeta(name: string, hash: string, skills: string[], paths: string[]) {
309
321
  const file = hashPath(name)
310
322
  const dir = path.dirname(file)
311
323
  if (!fsSync.existsSync(dir)) fsSync.mkdirSync(dir, { recursive: true })
312
- fsSync.writeFileSync(file, JSON.stringify({ hash, skills, at: new Date().toISOString() }) + '\n')
324
+ fsSync.writeFileSync(
325
+ file,
326
+ JSON.stringify({ hash, skills, paths, at: new Date().toISOString() }) + '\n',
327
+ )
313
328
  }
314
329
 
315
330
  /** @internal Reads the stored metadata for a CLI. */
316
- function readMeta(name: string): { hash: string; skills?: string[] } | undefined {
331
+ function readMeta(
332
+ name: string,
333
+ ): { hash: string; paths?: string[] | undefined; skills?: string[] | undefined } | undefined {
317
334
  try {
318
335
  return JSON.parse(fsSync.readFileSync(hashPath(name), 'utf-8'))
319
336
  } catch {
@@ -321,6 +338,34 @@ function readMeta(name: string): { hash: string; skills?: string[] } | undefined
321
338
  }
322
339
  }
323
340
 
341
+ /** Reads the names of previously synced skills that are still installed on disk. */
342
+ function readInstalledSkills(
343
+ name: string,
344
+ options: { cwd?: string | undefined } = {},
345
+ ): Set<string> {
346
+ const meta = readMeta(name)
347
+ if (!meta?.skills?.length) return new Set()
348
+
349
+ if (meta.paths?.length) {
350
+ const installed = meta.paths
351
+ .filter((skillPath) => isInstalledSkillPath(skillPath))
352
+ .map((skillPath) => path.basename(skillPath))
353
+ return new Set(installed)
354
+ }
355
+
356
+ const cwd = options.cwd ?? process.cwd()
357
+ const bases = [path.join(os.homedir(), '.agents', 'skills'), path.join(cwd, '.agents', 'skills')]
358
+ const installed = meta.skills.filter((skill) =>
359
+ bases.some((base) => isInstalledSkillPath(path.join(base, skill))),
360
+ )
361
+ return new Set(installed)
362
+ }
363
+
364
+ /** Returns whether a skill directory currently contains a skill file. */
365
+ function isInstalledSkillPath(skillPath: string): boolean {
366
+ return fsSync.existsSync(path.join(skillPath, 'SKILL.md'))
367
+ }
368
+
324
369
  /** Reads the stored skills hash for a CLI. Returns `undefined` if no hash exists. */
325
370
  export function readHash(name: string): string | undefined {
326
371
  return readMeta(name)?.hash
package/src/e2e.test.ts CHANGED
@@ -3,6 +3,7 @@ import { Cli, Errors, Skill, Typegen, z } from 'incur'
3
3
  import { app as honoApp } from '../test/fixtures/hono-api.js'
4
4
 
5
5
  let __mockSkillsHash: string | undefined
6
+ let __mockSkillsInstalled = true
6
7
 
7
8
  const originalIsTTY = process.stdout.isTTY
8
9
  beforeAll(() => {
@@ -14,7 +15,11 @@ afterAll(() => {
14
15
 
15
16
  vi.mock('./SyncSkills.js', async (importOriginal) => {
16
17
  const actual = await importOriginal<typeof import('./SyncSkills.js')>()
17
- return { ...actual, readHash: () => __mockSkillsHash }
18
+ return {
19
+ ...actual,
20
+ hasInstalledSkills: () => __mockSkillsInstalled,
21
+ readHash: () => __mockSkillsHash,
22
+ }
18
23
  })
19
24
 
20
25
  describe('routing', () => {
@@ -1983,11 +1988,13 @@ describe('skills staleness', () => {
1983
1988
  beforeEach(() => {
1984
1989
  stderrSpy = vi.spyOn(process.stderr, 'write').mockImplementation(() => true)
1985
1990
  __mockSkillsHash = undefined
1991
+ __mockSkillsInstalled = true
1986
1992
  })
1987
1993
 
1988
1994
  afterEach(() => {
1989
1995
  stderrSpy.mockRestore()
1990
1996
  __mockSkillsHash = undefined
1997
+ __mockSkillsInstalled = true
1991
1998
  })
1992
1999
 
1993
2000
  test('includes skills CTA when stale', async () => {
@@ -2016,6 +2023,14 @@ describe('skills staleness', () => {
2016
2023
  expect(output).not.toContain('Skills are out of date')
2017
2024
  })
2018
2025
 
2026
+ test('no warning when skills are not installed', async () => {
2027
+ __mockSkillsHash = '0000000000000000'
2028
+ __mockSkillsInstalled = false
2029
+ const { output } = await serve(createApp(), ['ping'])
2030
+ expect(output).toContain('pong: true')
2031
+ expect(output).not.toContain('Skills are out of date')
2032
+ })
2033
+
2019
2034
  test('no warning for --llms', async () => {
2020
2035
  __mockSkillsHash = '0000000000000000'
2021
2036
  const { output } = await serve(createApp(), ['--llms'])