@vocmarket/voc-skill 0.3.16 → 0.3.18
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/.claude-plugin/plugin.json +1 -1
- package/bin/claude-voc.js +7 -0
- package/install.js +3 -0
- package/mcp/catalog/voc-social-endpoints.json +965 -0
- package/mcp/src/core/api-catalog.js +91 -0
- package/mcp/src/providers/voc-gateway.js +162 -0
- package/mcp/src/server.js +192 -99
- package/mcp/src/tools/voc-api-catalog-run.js +316 -0
- package/package.json +1 -1
- package/scripts/smoke-mcp.js +38 -0
- package/scripts/smoke-package.js +4 -1
- package/skill-package-manifest.json +8 -3
- package/skills/voc-api-catalog/SKILL.md +55 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "voc-intelligence",
|
|
3
3
|
"description": "VOC intelligence skills for Claude Code: end-to-end VOC business workflows, Xiaohongshu and Douyin trend reports, live social VOC collection, Fmode Doubao image analysis, token/recharge checks, evidence-card outputs, prioritized issue pools, single-problem deep dives, competitor maps, 7-day content plans, VOC-backed speaking script co-creation, boss/operator action plans, and multi-turn memory.",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.17",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "nkkj-BrainHack"
|
|
7
7
|
}
|
package/bin/claude-voc.js
CHANGED
|
@@ -184,7 +184,10 @@ function assertInstalled(targetDir) {
|
|
|
184
184
|
'skills/voc-competitor-map/SKILL.md',
|
|
185
185
|
'skills/voc-business-workflow/SKILL.md',
|
|
186
186
|
'skills/fmode-image-analysis/SKILL.md',
|
|
187
|
+
'skills/voc-api-catalog/SKILL.md',
|
|
187
188
|
'mcp/src/tools/fmode-image-analysis.js',
|
|
189
|
+
'mcp/src/tools/voc-api-catalog-run.js',
|
|
190
|
+
'mcp/catalog/voc-social-endpoints.json',
|
|
188
191
|
'mcp/src/server.js'
|
|
189
192
|
];
|
|
190
193
|
const missing = required.filter(rel => !fs.existsSync(path.join(targetDir, rel)));
|
|
@@ -646,6 +649,7 @@ function writeWorkspaceSkillEntries(targetDir) {
|
|
|
646
649
|
const competitorMapSkillDir = path.join(WORKSPACE_ROOT, '.claude', 'skills', 'voc-competitor-map');
|
|
647
650
|
const businessWorkflowSkillDir = path.join(WORKSPACE_ROOT, '.claude', 'skills', 'voc-business-workflow');
|
|
648
651
|
const fmodeImageSkillDir = path.join(WORKSPACE_ROOT, '.claude', 'skills', 'fmode-image-analysis');
|
|
652
|
+
const apiCatalogSkillDir = path.join(WORKSPACE_ROOT, '.claude', 'skills', 'voc-api-catalog');
|
|
649
653
|
ensureDir(xhsSkillDir);
|
|
650
654
|
ensureDir(douyinSkillDir);
|
|
651
655
|
ensureDir(issuePoolSkillDir);
|
|
@@ -655,6 +659,7 @@ function writeWorkspaceSkillEntries(targetDir) {
|
|
|
655
659
|
ensureDir(competitorMapSkillDir);
|
|
656
660
|
ensureDir(businessWorkflowSkillDir);
|
|
657
661
|
ensureDir(fmodeImageSkillDir);
|
|
662
|
+
ensureDir(apiCatalogSkillDir);
|
|
658
663
|
fs.writeFileSync(path.join(xhsSkillDir, 'SKILL.md'), workspaceSkillText(targetDir), 'utf8');
|
|
659
664
|
fs.writeFileSync(path.join(douyinSkillDir, 'SKILL.md'), workspaceDouyinSkillText(targetDir), 'utf8');
|
|
660
665
|
fs.writeFileSync(path.join(issuePoolSkillDir, 'SKILL.md'), workspaceIssuePoolSkillText(targetDir), 'utf8');
|
|
@@ -664,6 +669,7 @@ function writeWorkspaceSkillEntries(targetDir) {
|
|
|
664
669
|
fs.writeFileSync(path.join(competitorMapSkillDir, 'SKILL.md'), workspaceCompetitorMapSkillText(targetDir), 'utf8');
|
|
665
670
|
fs.writeFileSync(path.join(businessWorkflowSkillDir, 'SKILL.md'), workspaceBusinessWorkflowSkillText(targetDir), 'utf8');
|
|
666
671
|
fs.copyFileSync(path.join(targetDir, 'skills', 'fmode-image-analysis', 'SKILL.md'), path.join(fmodeImageSkillDir, 'SKILL.md'));
|
|
672
|
+
fs.copyFileSync(path.join(targetDir, 'skills', 'voc-api-catalog', 'SKILL.md'), path.join(apiCatalogSkillDir, 'SKILL.md'));
|
|
667
673
|
}
|
|
668
674
|
|
|
669
675
|
function writeWorkspaceActivation(targetDir) {
|
|
@@ -680,6 +686,7 @@ function writeWorkspaceActivation(targetDir) {
|
|
|
680
686
|
console.log('Wrote workspace skill entry: .\\.claude\\skills\\voc-competitor-map\\SKILL.md');
|
|
681
687
|
console.log('Wrote workspace skill entry: .\\.claude\\skills\\voc-business-workflow\\SKILL.md');
|
|
682
688
|
console.log('Wrote workspace skill entry: .\\.claude\\skills\\fmode-image-analysis\\SKILL.md');
|
|
689
|
+
console.log('Wrote workspace skill entry: .\\.claude\\skills\\voc-api-catalog\\SKILL.md');
|
|
683
690
|
}
|
|
684
691
|
|
|
685
692
|
function printNextSteps(targetDir) {
|
package/install.js
CHANGED
|
@@ -112,7 +112,10 @@ function checkFiles() {
|
|
|
112
112
|
'skills/voc-competitor-map/SKILL.md',
|
|
113
113
|
'skills/voc-business-workflow/SKILL.md',
|
|
114
114
|
'skills/fmode-image-analysis/SKILL.md',
|
|
115
|
+
'skills/voc-api-catalog/SKILL.md',
|
|
115
116
|
'mcp/src/tools/fmode-image-analysis.js',
|
|
117
|
+
'mcp/src/tools/voc-api-catalog-run.js',
|
|
118
|
+
'mcp/catalog/voc-social-endpoints.json',
|
|
116
119
|
'mcp/src/server.js'
|
|
117
120
|
].forEach(assertFile);
|
|
118
121
|
|