@fprad0/skill-master-mcp 0.0.11 → 0.0.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.
- package/CHANGELOG.md +7 -0
- package/README.md +32 -3
- package/VERSION.md +3 -3
- package/bin/lib/client-config.mjs +25 -0
- package/bin/lib/menu-core.mjs +469 -101
- package/bin/lib/skill-installation.mjs +215 -0
- package/bin/skill-master-doctor.mjs +51 -4
- package/bin/skill-master-install-global-skills.mjs +3 -41
- package/bin/skill-master-install-project-skills.mjs +97 -0
- package/bin/skill-master-menu.mjs +91 -6
- package/bin/skill-master-register-clients.mjs +58 -3
- package/docs/operations/GUIA_MULTI_COMPUTADOR.md +8 -1
- package/docs/operations/MENU_VISUAL_EVIDENCE_2026-06-28.md +66 -0
- package/docs/operations/assets/menu-frame-compact.html +76 -0
- package/docs/operations/assets/menu-frame-compact.png +0 -0
- package/docs/operations/assets/menu-frame-large.html +84 -0
- package/docs/operations/assets/menu-frame-large.png +0 -0
- package/docs/operations/assets/menu-frame-running.html +80 -0
- package/docs/operations/assets/menu-frame-running.png +0 -0
- package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md +140 -0
- package/docs/operations/cross-platform-auth-transfer/README_TRANSFERENCIA.md +85 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/ANALISE_MENU_REBORN_CYBERPUNK_2026-06-28.md +174 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/HANDOFF_IMPLEMENTACAO_REBORN_CYBERPUNK_2026-06-28.md +119 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/ORDEM_DE_EXECUCAO_MENU_REBORN_CYBERPUNK.md +134 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA.md +84 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA_REBORN_PACKAGE.md +56 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/cyan-hud-frame-sheet.jpg +0 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/cyberpunk-pattern-sheet.jpg +0 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/fluid-workflow-windows.gif +0 -0
- package/docs/prompt-tasks/PROMPT_TASK_001_BOOTSTRAP_SKILL_MASTER_MCP.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_002_AUTO_UPDATE_LAUNCHER.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_003_REMOTE_MANIFEST_AND_RELEASES.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_004_MULTI_USER_DISTRIBUTION.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_005_SECURITY_AND_QUALITY_GATE.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_006_MASTER_ACIONAMENTO_APRENDIZADO.md +83 -0
- package/docs/prompt-tasks/PROMPT_TASK_007_PERSONA_ORQUESTRADORA.md +88 -0
- package/docs/prompt-tasks/PROMPT_TASK_008_PROMPT_ROUTER_MODOS_ATIVACAO.md +156 -0
- package/docs/prompt-tasks/PROMPT_TASK_009_PIPELINE_APRENDIZADO_SUCESSO.md +105 -0
- package/docs/prompt-tasks/PROMPT_TASK_010_EVALS_GOVERNANCA_ATIVACAO.md +119 -0
- package/docs/prompt-tasks/PROMPT_TASK_011_MENU_NOTIFICACOES_NOTION.md +120 -0
- package/docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md +123 -0
- package/docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md +114 -0
- package/docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md +157 -0
- package/docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md +127 -0
- package/docs/prompt-tasks/PROMPT_TASK_016_CROSS_PLATFORM_MCP_AUTH_REGISTRATION.md +107 -0
- package/docs/prompt-tasks/PROMPT_TASK_018_NPM_PUBLISH_2FA_SETUP.md +80 -0
- package/docs/prompt-tasks/PROMPT_TASK_MASTER_EXECUTOR.md +6 -0
- package/docs/skill-candidates/v0.0.12/csharp-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/css-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/go-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/html-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/javascript-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/json-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/python-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/react-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/ruby-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/senior-master-code-optimizer/SKILL.md +48 -0
- package/docs/skill-candidates/v0.0.12/sql-senior-master-engineering/SKILL.md +31 -0
- package/docs/skill-candidates/v0.0.12/typescript-senior-master-engineering/SKILL.md +35 -0
- package/examples/client-configs/claude-code.commands.md +11 -7
- package/manifests/channels/beta.json +6 -6
- package/manifests/channels/stable.json +8 -8
- package/package.json +9 -1
- package/scripts/render-menu-evidence.mjs +130 -0
- package/scripts/verify-menu-actions.mjs +2 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { dirname, join, resolve } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { buildMenuCommands, formatCyberMenuFrame, formatRunningActionFrame } from '../bin/lib/menu-core.mjs';
|
|
7
|
+
|
|
8
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
const rootDir = resolve(here, '..');
|
|
10
|
+
const outputDir = join(rootDir, 'docs', 'operations', 'assets');
|
|
11
|
+
|
|
12
|
+
const commands = buildMenuCommands({
|
|
13
|
+
rootDir: '/tmp/skill-master',
|
|
14
|
+
currentFile: '/tmp/skill-master/bin/skill-master-menu.mjs',
|
|
15
|
+
nodeExecPath: '/usr/bin/node',
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
const baseStatus = {
|
|
19
|
+
packageName: '@fprad0/skill-master-mcp',
|
|
20
|
+
semver: '0.0.11',
|
|
21
|
+
manifestVersion: '00.05',
|
|
22
|
+
manifestSemver: '0.0.11',
|
|
23
|
+
versionText: '',
|
|
24
|
+
rootDir: '/tmp/skill-master',
|
|
25
|
+
pendingSuccessDrafts: 3,
|
|
26
|
+
studyCandidates: 8,
|
|
27
|
+
globalReadiness: {
|
|
28
|
+
ready: true,
|
|
29
|
+
mode: 'ready',
|
|
30
|
+
required: 13,
|
|
31
|
+
installed: Array.from({ length: 13 }, (_, index) => `skill-${index}`),
|
|
32
|
+
missing: [],
|
|
33
|
+
codex: { present: true, kind: 'global', globalCommand: true },
|
|
34
|
+
claude: { present: true, globalCommand: true },
|
|
35
|
+
gemini: { present: true, globalCommand: true },
|
|
36
|
+
antigravity: { present: true, globalCommand: true },
|
|
37
|
+
},
|
|
38
|
+
bundledCatalog: {
|
|
39
|
+
total: 54,
|
|
40
|
+
categories: [
|
|
41
|
+
{ key: 'moral', label: 'moral-core', count: 10 },
|
|
42
|
+
{ key: 'frontend', label: 'frontend-ui', count: 19 },
|
|
43
|
+
{ key: 'backend', label: 'backend-data', count: 10 },
|
|
44
|
+
{ key: 'ops', label: 'ops-clients', count: 12 },
|
|
45
|
+
{ key: 'knowledge', label: 'knowledge', count: 2 },
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
function stripAnsi(text) {
|
|
51
|
+
return String(text).replace(/\x1b\[[0-9;?]*[A-Za-z]/g, '');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function escapeHtml(text) {
|
|
55
|
+
return text
|
|
56
|
+
.replaceAll('&', '&')
|
|
57
|
+
.replaceAll('<', '<')
|
|
58
|
+
.replaceAll('>', '>');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function renderPage(title, frame) {
|
|
62
|
+
return `<!doctype html>
|
|
63
|
+
<html lang="pt-BR">
|
|
64
|
+
<head>
|
|
65
|
+
<meta charset="utf-8" />
|
|
66
|
+
<title>${title}</title>
|
|
67
|
+
<style>
|
|
68
|
+
:root {
|
|
69
|
+
color-scheme: dark;
|
|
70
|
+
--bg: #060606;
|
|
71
|
+
--panel: #0d0d0d;
|
|
72
|
+
--grid: rgba(255,255,255,0.06);
|
|
73
|
+
--line: rgba(255,255,255,0.25);
|
|
74
|
+
--text: #f3f3f3;
|
|
75
|
+
--muted: #8f949c;
|
|
76
|
+
}
|
|
77
|
+
* { box-sizing: border-box; }
|
|
78
|
+
body {
|
|
79
|
+
margin: 0;
|
|
80
|
+
min-height: 100vh;
|
|
81
|
+
background:
|
|
82
|
+
linear-gradient(var(--grid) 1px, transparent 1px),
|
|
83
|
+
linear-gradient(90deg, var(--grid) 1px, transparent 1px),
|
|
84
|
+
radial-gradient(circle at top, rgba(255,255,255,0.06), transparent 35%),
|
|
85
|
+
var(--bg);
|
|
86
|
+
background-size: 48px 48px, 48px 48px, auto, auto;
|
|
87
|
+
color: var(--text);
|
|
88
|
+
font-family: "Courier New", monospace;
|
|
89
|
+
padding: 32px;
|
|
90
|
+
}
|
|
91
|
+
.frame {
|
|
92
|
+
max-width: max-content;
|
|
93
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
|
|
94
|
+
border: 1px solid var(--line);
|
|
95
|
+
box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 24px 64px rgba(0,0,0,0.45);
|
|
96
|
+
padding: 20px 24px;
|
|
97
|
+
white-space: pre;
|
|
98
|
+
line-height: 1.1;
|
|
99
|
+
font-size: 13px;
|
|
100
|
+
border-radius: 8px;
|
|
101
|
+
}
|
|
102
|
+
.title {
|
|
103
|
+
margin: 0 0 16px;
|
|
104
|
+
color: var(--muted);
|
|
105
|
+
letter-spacing: 0.12em;
|
|
106
|
+
text-transform: uppercase;
|
|
107
|
+
font-size: 12px;
|
|
108
|
+
}
|
|
109
|
+
</style>
|
|
110
|
+
</head>
|
|
111
|
+
<body>
|
|
112
|
+
<p class="title">${title}</p>
|
|
113
|
+
<pre class="frame">${escapeHtml(stripAnsi(frame))}</pre>
|
|
114
|
+
</body>
|
|
115
|
+
</html>`;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
mkdirSync(outputDir, { recursive: true });
|
|
119
|
+
|
|
120
|
+
const largeFrame = formatCyberMenuFrame(baseStatus, commands, 1, 8, { columns: 120, rows: 32, useColor: false });
|
|
121
|
+
const compactFrame = formatCyberMenuFrame(baseStatus, commands, 20, 8, { columns: 96, rows: 24, useColor: false });
|
|
122
|
+
const runningFrame = formatRunningActionFrame(baseStatus, commands.find((command) => command.key === 'doctor'), 5, { columns: 120, rows: 28, useColor: false });
|
|
123
|
+
|
|
124
|
+
writeFileSync(join(outputDir, 'menu-frame-large.html'), renderPage('Menu Frame 120x32', largeFrame), 'utf8');
|
|
125
|
+
writeFileSync(join(outputDir, 'menu-frame-compact.html'), renderPage('Menu Frame 96x24', compactFrame), 'utf8');
|
|
126
|
+
writeFileSync(join(outputDir, 'menu-frame-running.html'), renderPage('Menu Running State', runningFrame), 'utf8');
|
|
127
|
+
|
|
128
|
+
console.log(join(outputDir, 'menu-frame-large.html'));
|
|
129
|
+
console.log(join(outputDir, 'menu-frame-compact.html'));
|
|
130
|
+
console.log(join(outputDir, 'menu-frame-running.html'));
|
|
@@ -23,6 +23,7 @@ const REQUIRED_ACTIONS = [
|
|
|
23
23
|
'activationBalanced',
|
|
24
24
|
'activationAlwaysOn',
|
|
25
25
|
'installGlobalSkills',
|
|
26
|
+
'installProjectSkills',
|
|
26
27
|
'bootstrapGlobal',
|
|
27
28
|
'registerClients',
|
|
28
29
|
'promptRecommendation',
|
|
@@ -41,6 +42,7 @@ const CONFIRMATION_REQUIRED = [
|
|
|
41
42
|
'privateRegistry',
|
|
42
43
|
'activationAlwaysOn',
|
|
43
44
|
'installGlobalSkills',
|
|
45
|
+
'installProjectSkills',
|
|
44
46
|
'bootstrapGlobal',
|
|
45
47
|
'registerClients',
|
|
46
48
|
'rejectLearnedSkill',
|