@lifeaitools/rdc-skills 0.35.9 → 0.35.12

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.
@@ -8,11 +8,12 @@ const served = (name) => {
8
8
  return body;
9
9
  };
10
10
 
11
- test('live rdc_skill_get planning body creates executable work through the durable admission contract', () => {
11
+ test('live rdc_skill_get planning body makes Design Review explicit opt-in', () => {
12
12
  const plan = served('rdc:plan');
13
13
  assert.match(plan, /upsert_admitted_work_item/);
14
- assert.match(plan, /Design Review contract/);
15
- assert.match(plan, /needs_human/);
14
+ assert.match(plan, /p_design_review := NULL/);
15
+ assert.match(plan, /Dave explicitly requests Design Review/);
16
+ assert.match(plan, /ordinary work reaches `rdc:review`/);
16
17
  assert.doesNotMatch(plan, /One task per work package via `insert_work_item/);
17
18
  });
18
19
 
@@ -60,15 +60,33 @@ assert.equal(
60
60
  realSkillDirs.length,
61
61
  `plugin.json skills_meta (${skillCount}) must match the actual skill directories on disk (${realSkillDirs.length}): ${realSkillDirs.join(', ')}`,
62
62
  );
63
+ // The listing must report EVERY /rdc:* verb, and say which surface each comes
64
+ // from. It used to enumerate commands/ only, which was harmless while every verb
65
+ // shipped as both a command and a skill — and became actively misleading the
66
+ // moment the duplicates were removed (2026-08-29): the printed surface fell from
67
+ // 32 to 13 while the real surface was unchanged, because a skill provides the
68
+ // slash form on its own (verified live: commands/status.md deleted, rdc:status
69
+ // still resolved). A listing that under-reports by 43 verbs reads as "those
70
+ // commands are gone".
63
71
  assert.match(
64
72
  source,
65
- /Available MCP skills.*\/rdc:\* command shorthands/,
66
- 'installer should distinguish the full MCP skill catalog from slash-command shorthands',
73
+ /Available \/rdc:\* verbs/,
74
+ 'installer should list every /rdc:* verb, not only the command-backed ones',
67
75
  );
68
76
  assert.match(
69
77
  source,
70
- /Object\.keys\(plugin\.skills_meta\)\.length/,
71
- 'installer should count object-shaped skills_meta manifests',
78
+ /command, \$\{[^}]*\} skill/,
79
+ 'installer should say how many verbs come from commands and how many from skills',
80
+ );
81
+ assert.match(
82
+ source,
83
+ /readdirSync\(skillDir, \{ withFileTypes: true \}\)/,
84
+ 'installer should enumerate the real skill directories, not a manifest count that can drift from disk',
85
+ );
86
+ assert.match(
87
+ source,
88
+ /SKILL\.md'\)\)\) continue/,
89
+ 'installer must skip a directory with no SKILL.md — tests/ is a fixture dir, not a skill',
72
90
  );
73
91
  assert.match(
74
92
  source,