@lifeaitools/rdc-skills 0.24.20 → 0.24.22
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdc",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.22",
|
|
4
4
|
"description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight unattended builds with work-item tracking and TDD enforcement.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LIFEAI",
|
package/git-sha.json
CHANGED
package/package.json
CHANGED
|
@@ -943,8 +943,17 @@ function listCommands() {
|
|
|
943
943
|
const cmdsDir = path.join(repoRoot, 'commands');
|
|
944
944
|
if (!fs.existsSync(cmdsDir)) return;
|
|
945
945
|
const files = fs.readdirSync(cmdsDir).filter(f => f.endsWith('.md')).sort();
|
|
946
|
+
const plugin = readJson(path.join(repoRoot, '.claude-plugin', 'plugin.json'), {});
|
|
947
|
+
const skillCount = Array.isArray(plugin.skills_meta)
|
|
948
|
+
? plugin.skills_meta.length
|
|
949
|
+
: (plugin.skills_meta && typeof plugin.skills_meta === 'object' ? Object.keys(plugin.skills_meta).length : null);
|
|
946
950
|
console.log('');
|
|
947
|
-
|
|
951
|
+
if (skillCount !== null) {
|
|
952
|
+
console.log(` \x1b[32mAvailable MCP skills (${skillCount}) and /rdc:* command shorthands (${files.length}):\x1b[0m`);
|
|
953
|
+
console.log(' Use MCP tools rdc_skill_list, rdc_skill_search, and rdc_skill_get for the full skill catalog.');
|
|
954
|
+
} else {
|
|
955
|
+
console.log(` \x1b[32mAvailable /rdc:* command shorthands (${files.length}):\x1b[0m`);
|
|
956
|
+
}
|
|
948
957
|
console.log('');
|
|
949
958
|
const COL = 18;
|
|
950
959
|
for (const f of files) {
|
|
@@ -1190,7 +1199,7 @@ async function main() {
|
|
|
1190
1199
|
const zipPath = buildZip(version);
|
|
1191
1200
|
if (zipPath) {
|
|
1192
1201
|
ok(`[5/6] Plugin zip — ${zipPath}`);
|
|
1193
|
-
info(' claude.ai : upload
|
|
1202
|
+
info(' claude.ai : optional plugin-upload artifact; MCP callers normally use the connector URL below');
|
|
1194
1203
|
} else {
|
|
1195
1204
|
warn('[5/6] Plugin zip — build failed (zip/powershell missing?)');
|
|
1196
1205
|
}
|
|
@@ -1259,7 +1268,7 @@ async function main() {
|
|
|
1259
1268
|
console.log(' \x1b[33mNext steps:\x1b[0m');
|
|
1260
1269
|
console.log(' CLI : restart Claude Code — /rdc:status to verify');
|
|
1261
1270
|
console.log(' Cowork : restart Claude Desktop — /rdc:status in a new Cowork session');
|
|
1262
|
-
console.log(' claude.ai : no plugin
|
|
1271
|
+
console.log(' claude.ai : no plugin upload needed for MCP — use the connector URL above');
|
|
1263
1272
|
console.log(' dist/rdc-skills-plugin-v' + version + '.zip available if needed');
|
|
1264
1273
|
console.log('');
|
|
1265
1274
|
console.log(` Profile: ${installProfile}`);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
3
|
import { spawnSync } from 'node:child_process';
|
|
4
|
+
import { readFileSync } from 'node:fs';
|
|
4
5
|
import { dirname, join, resolve } from 'node:path';
|
|
5
6
|
import { fileURLToPath } from 'node:url';
|
|
6
7
|
|
|
@@ -18,4 +19,31 @@ const toml = spawnSync(process.execPath, [script, '--self-test-codex-mcp-toml'],
|
|
|
18
19
|
assert.equal(toml.status, 0, `${toml.stdout}\n${toml.stderr}`);
|
|
19
20
|
assert.match(toml.stdout, /PASS/);
|
|
20
21
|
|
|
22
|
+
const source = readFileSync(script, 'utf8');
|
|
23
|
+
const plugin = JSON.parse(readFileSync(join(REPO_ROOT, '.claude-plugin', 'plugin.json'), 'utf8'));
|
|
24
|
+
const skillCount = Array.isArray(plugin.skills_meta)
|
|
25
|
+
? plugin.skills_meta.length
|
|
26
|
+
: Object.keys(plugin.skills_meta || {}).length;
|
|
27
|
+
assert.equal(skillCount, 29, 'test fixture should expose all 29 MCP skills from plugin skills_meta');
|
|
28
|
+
assert.match(
|
|
29
|
+
source,
|
|
30
|
+
/Available MCP skills.*\/rdc:\* command shorthands/,
|
|
31
|
+
'installer should distinguish the full MCP skill catalog from slash-command shorthands',
|
|
32
|
+
);
|
|
33
|
+
assert.match(
|
|
34
|
+
source,
|
|
35
|
+
/Object\.keys\(plugin\.skills_meta\)\.length/,
|
|
36
|
+
'installer should count object-shaped skills_meta manifests',
|
|
37
|
+
);
|
|
38
|
+
assert.match(
|
|
39
|
+
source,
|
|
40
|
+
/rdc_skill_list, rdc_skill_search, and rdc_skill_get/,
|
|
41
|
+
'installer should point raw callers at the MCP discovery tools',
|
|
42
|
+
);
|
|
43
|
+
assert.match(
|
|
44
|
+
source,
|
|
45
|
+
/no plugin upload needed for MCP/,
|
|
46
|
+
'installer should not imply claude.ai MCP usage requires uploading an artifact',
|
|
47
|
+
);
|
|
48
|
+
|
|
21
49
|
console.log('install-rdc-skills tests — PASS');
|