universal-dev-standards 3.5.0-beta.13 → 3.5.0-beta.14
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/package.json +1 -1
- package/src/commands/check.js +14 -2
- package/src/utils/github.js +48 -0
- package/standards-registry.json +4 -4
package/package.json
CHANGED
package/src/commands/check.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
compareFileHash,
|
|
14
14
|
hasFileHashes
|
|
15
15
|
} from '../utils/hasher.js';
|
|
16
|
-
import { downloadFromGitHub } from '../utils/github.js';
|
|
16
|
+
import { downloadFromGitHub, getMarketplaceSkillsInfo } from '../utils/github.js';
|
|
17
17
|
import {
|
|
18
18
|
parseReferences,
|
|
19
19
|
compareStandardsWithReferences
|
|
@@ -634,8 +634,20 @@ function displaySkillsStatus(manifest, projectPath) {
|
|
|
634
634
|
|
|
635
635
|
if (isMarketplace) {
|
|
636
636
|
console.log(chalk.green(' ✓ Skills installed via Plugin Marketplace'));
|
|
637
|
+
|
|
638
|
+
// Try to get actual version from marketplace
|
|
639
|
+
const marketplaceInfo = getMarketplaceSkillsInfo();
|
|
640
|
+
if (marketplaceInfo && marketplaceInfo.version && marketplaceInfo.version !== 'unknown') {
|
|
641
|
+
console.log(chalk.gray(` Version: ${marketplaceInfo.version}`));
|
|
642
|
+
if (marketplaceInfo.lastUpdated) {
|
|
643
|
+
const updateDate = marketplaceInfo.lastUpdated.split('T')[0];
|
|
644
|
+
console.log(chalk.gray(` Last updated: ${updateDate}`));
|
|
645
|
+
}
|
|
646
|
+
} else {
|
|
647
|
+
console.log(chalk.gray(' Version: (run /plugin list to check)'));
|
|
648
|
+
}
|
|
649
|
+
|
|
637
650
|
console.log(chalk.gray(' Managed by Claude Code plugin system'));
|
|
638
|
-
console.log(chalk.gray(' To verify: /plugin list'));
|
|
639
651
|
console.log(chalk.gray(' Note: Marketplace skills are not file-based'));
|
|
640
652
|
} else {
|
|
641
653
|
const skillsDir = join(process.env.HOME || '', '.claude', 'skills');
|
package/src/utils/github.js
CHANGED
|
@@ -453,6 +453,54 @@ export function installSkillToDir(skillName, targetBaseDir) {
|
|
|
453
453
|
};
|
|
454
454
|
}
|
|
455
455
|
|
|
456
|
+
/**
|
|
457
|
+
* Get Plugin Marketplace installed skills info
|
|
458
|
+
* Reads from ~/.claude/plugins/installed_plugins.json
|
|
459
|
+
* @returns {Object|null} Marketplace skills info or null
|
|
460
|
+
*/
|
|
461
|
+
export function getMarketplaceSkillsInfo() {
|
|
462
|
+
const pluginsFile = join(homedir(), '.claude', 'plugins', 'installed_plugins.json');
|
|
463
|
+
|
|
464
|
+
if (!existsSync(pluginsFile)) {
|
|
465
|
+
return null;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
try {
|
|
469
|
+
const data = JSON.parse(readFileSync(pluginsFile, 'utf-8'));
|
|
470
|
+
const plugins = data.plugins || {};
|
|
471
|
+
|
|
472
|
+
// Look for universal-dev-standards plugin (various marketplace keys)
|
|
473
|
+
const udsKeys = Object.keys(plugins).filter(key =>
|
|
474
|
+
key.includes('universal-dev-standards')
|
|
475
|
+
);
|
|
476
|
+
|
|
477
|
+
if (udsKeys.length === 0) {
|
|
478
|
+
return null;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
// Get the first matching plugin info
|
|
482
|
+
const pluginKey = udsKeys[0];
|
|
483
|
+
const pluginInfo = plugins[pluginKey];
|
|
484
|
+
|
|
485
|
+
if (!pluginInfo || pluginInfo.length === 0) {
|
|
486
|
+
return null;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
const info = pluginInfo[0];
|
|
490
|
+
return {
|
|
491
|
+
installed: true,
|
|
492
|
+
version: info.version || 'unknown',
|
|
493
|
+
installPath: info.installPath || null,
|
|
494
|
+
installedAt: info.installedAt || null,
|
|
495
|
+
lastUpdated: info.lastUpdated || null,
|
|
496
|
+
source: 'marketplace',
|
|
497
|
+
pluginKey
|
|
498
|
+
};
|
|
499
|
+
} catch {
|
|
500
|
+
return null;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
456
504
|
/**
|
|
457
505
|
* Download and install a single Skill to a specific target directory
|
|
458
506
|
* @param {string} skillName - Skill name
|
package/standards-registry.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "3.5.0-beta.
|
|
4
|
-
"lastUpdated": "2026-01-
|
|
3
|
+
"version": "3.5.0-beta.14",
|
|
4
|
+
"lastUpdated": "2026-01-14",
|
|
5
5
|
"description": "Standards registry for universal-dev-standards with integrated skills and AI-optimized formats",
|
|
6
6
|
"formats": {
|
|
7
7
|
"ai": {
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
"standards": {
|
|
49
49
|
"name": "universal-dev-standards",
|
|
50
50
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
51
|
-
"version": "3.5.0-beta.
|
|
51
|
+
"version": "3.5.0-beta.14"
|
|
52
52
|
},
|
|
53
53
|
"skills": {
|
|
54
54
|
"name": "universal-dev-standards",
|
|
55
55
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
56
56
|
"localPath": "skills/claude-code",
|
|
57
57
|
"rawUrl": "https://raw.githubusercontent.com/AsiaOstrich/universal-dev-standards/main/skills/claude-code",
|
|
58
|
-
"version": "3.5.0-beta.
|
|
58
|
+
"version": "3.5.0-beta.14",
|
|
59
59
|
"note": "Skills are now included in the main repository under skills/"
|
|
60
60
|
}
|
|
61
61
|
},
|