@fprad0/skill-master-mcp 1.0.0 → 1.0.1
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 +9 -3
- package/README.md +2 -2
- package/VERSION.md +4 -4
- package/bin/lib/client-config.mjs +11 -9
- package/bin/lib/menu-core.mjs +241 -70
- package/bin/skill-master-activation.mjs +3 -1
- package/bin/skill-master-menu.mjs +127 -17
- package/bin/skill-master-success-skills.mjs +52 -2
- package/docs/operations/assets/menu-frame-compact.html +78 -75
- package/docs/operations/assets/menu-frame-dna-hero.html +87 -0
- package/docs/operations/assets/menu-frame-fine-helix.html +89 -0
- package/docs/operations/assets/menu-frame-large.html +86 -83
- package/docs/operations/assets/menu-frame-running.html +82 -79
- package/docs/operations/assets/menu-frame-score-10-contact-sheet.html +184 -0
- package/docs/planning/mcp-1.0.0/00_RESUMO_EXECUTIVO_AUDITORIA_MENU.md +118 -0
- package/docs/planning/mcp-1.0.0/01_MATRIZ_TESTES_MENU_E_RESULTADOS.md +250 -0
- package/docs/planning/mcp-1.0.0/02_PLANO_CORRECAO_ATIVAR_SKILL_APRENDIDA.md +200 -0
- package/docs/planning/mcp-1.0.0/03_PLANO_COMPATIBILIDADE_WINDOWS_LINUX_MACOS.md +167 -0
- package/docs/planning/mcp-1.0.0/04_PLANO_UI_CYBERPUNK_PIXEL_ART_E_PERFORMANCE.md +165 -0
- package/docs/planning/mcp-1.0.0/05_PROMPT_TASK_EXECUCAO_CORRECOES.md +151 -0
- package/docs/planning/mcp-1.0.0/06_CHECKLIST_REGRESSAO_PRE_RELEASE.md +159 -0
- package/docs/planning/mcp-1.0.0/07_RELATORIO_APLICACAO_CORRECOES_MENU_SKILL_MASTER.md +136 -0
- package/docs/planning/mcp-1.0.0/08_AUDITORIA_CRITICA_MENU_NOTA_E_DNA_REFINADO.md +184 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/00_PROMPT_TASK_MASTER_NOTA_10_10.md +103 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/01_PROMPT_TASK_FINE_HELIX_DNA.md +116 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/02_PROMPT_TASK_DNA_HERO_BOOT_AND_MOTION.md +109 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/03_PROMPT_TASK_MENU_UX_HELP_ERROR_COPY.md +99 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/04_PROMPT_TASK_EVIDENCE_RENDERER_1_0_0.md +97 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/05_PROMPT_TASK_CROSS_PLATFORM_UTF8_MOJIBAKE.md +99 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/06_PROMPT_TASK_VISUAL_REGRESSION_QA.md +105 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/07_PROMPT_TASK_PRE_RELEASE_SCORE_GATE_10_10.md +104 -0
- package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/README_ORDEM_EXECUCAO_NOTA_10_10.md +77 -0
- package/manifests/channels/beta.json +7 -7
- package/manifests/channels/stable.json +8 -8
- package/package.json +16 -14
- package/scripts/render-menu-evidence.mjs +115 -49
- package/scripts/verify-menu-actions.mjs +13 -8
- package/scripts/verify-menu-visual.mjs +90 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# MCP 1.0.0 - Resumo Executivo da Auditoria do Menu
|
|
2
|
+
|
|
3
|
+
Data da auditoria: 2026-06-30
|
|
4
|
+
Pacote auditado: `@fprad0/skill-master-mcp@1.0.0`
|
|
5
|
+
Diretorio testado: `C:\Users\CDT\Documents\F.Prado\skill-master-mcp-release-publish`
|
|
6
|
+
|
|
7
|
+
## Objetivo
|
|
8
|
+
|
|
9
|
+
Validar o `skill-master-menu` da versao `1.0.0`, testar as funcoes principais, identificar falhas reais e preparar planos de correcao avancados para a proxima iteracao do MCP Skill Master.
|
|
10
|
+
|
|
11
|
+
O foco especial foi:
|
|
12
|
+
|
|
13
|
+
- `Ativar skill aprendida no workspace`
|
|
14
|
+
- `Ativar skill aprendida global`
|
|
15
|
+
- confiabilidade do menu em Windows
|
|
16
|
+
- qualidade visual cyberpunk pixel art
|
|
17
|
+
- lentidao, UX ruim ou estados pouco claros
|
|
18
|
+
|
|
19
|
+
## Resultado Geral
|
|
20
|
+
|
|
21
|
+
O menu existe, abre via `--help`, `--status` e `--run`, renderiza frames cyberpunk nos comandos e possui 23 acoes registradas. A matriz oficial `npm run verify:menu` passou.
|
|
22
|
+
|
|
23
|
+
O backend de ativacao de skill aprendida esta funcional. Testes isolados confirmaram que o core consegue ativar uma skill aprendida em alvo workspace e em alvo global temporario, criando:
|
|
24
|
+
|
|
25
|
+
- `SKILL.md`
|
|
26
|
+
- `skill-master-approval.json`
|
|
27
|
+
|
|
28
|
+
Porem, as duas opcoes criticas do menu falham no modo `--run --yes`, porque o menu chama o subcomando interativo `--activate-interactive`. Em ambiente sem TTY, isso termina com:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
[skill_master] Interactive activation requires a TTY.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Status por Area
|
|
35
|
+
|
|
36
|
+
### Publicacao npm
|
|
37
|
+
|
|
38
|
+
OK.
|
|
39
|
+
|
|
40
|
+
```powershell
|
|
41
|
+
npm view @fprad0/skill-master-mcp version --registry=https://registry.npmjs.org
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Resultado:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
1.0.0
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Menu e acoes registradas
|
|
51
|
+
|
|
52
|
+
OK.
|
|
53
|
+
|
|
54
|
+
```powershell
|
|
55
|
+
npm run verify:menu
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Resultado:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
Menu action matrix OK.
|
|
62
|
+
Actions: 23
|
|
63
|
+
Required actions: 23
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Doctor
|
|
67
|
+
|
|
68
|
+
Parcial.
|
|
69
|
+
|
|
70
|
+
O doctor passou nos principais pontos, mas reportou Claude Code ausente neste computador:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
[NO] Claude Code opcional - ausente em claude CLI
|
|
74
|
+
[NO] Readiness global - partial
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Isso nao bloqueia Codex, Claude Desktop, Gemini ou Antigravity, que apareceram configurados.
|
|
78
|
+
|
|
79
|
+
### Gate completo
|
|
80
|
+
|
|
81
|
+
Falhou em Windows por expectativas POSIX nos testes:
|
|
82
|
+
|
|
83
|
+
- `src/client-config.test.ts`
|
|
84
|
+
- `src/project-skills.test.ts`
|
|
85
|
+
|
|
86
|
+
Essas falhas precisam entrar como correcao obrigatoria antes da proxima release.
|
|
87
|
+
|
|
88
|
+
### Ativacao de skill aprendida
|
|
89
|
+
|
|
90
|
+
Core OK, menu com bug.
|
|
91
|
+
|
|
92
|
+
O motor direto `activateSuccessSkillDraft` passou para workspace e global temporarios.
|
|
93
|
+
|
|
94
|
+
O CLI direto `skill-master-success-skills --activate <manifest> --target <path> --yes` tambem passou.
|
|
95
|
+
|
|
96
|
+
O menu falha quando executado assim:
|
|
97
|
+
|
|
98
|
+
```powershell
|
|
99
|
+
node bin\skill-master-menu.mjs --run activate-learned-local --yes
|
|
100
|
+
node bin\skill-master-menu.mjs --run activate-learned-global --yes
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Prioridades de Correcao
|
|
104
|
+
|
|
105
|
+
1. Corrigir `activateLearnedLocal` e `activateLearnedGlobal` para suportarem modo nao interativo com `--yes`.
|
|
106
|
+
2. Corrigir testes cross-platform Windows/Linux/macOS.
|
|
107
|
+
3. Melhorar UX de acoes interativas chamadas via `--run`, exibindo mensagem clara e alternativa automatizavel.
|
|
108
|
+
4. Refinar estado visual do menu para mostrar acoes bloqueadas, interativas, destrutivas, seguras e recomendadas.
|
|
109
|
+
5. Adicionar suite de regressao que cria drafts temporarios e valida ativacao local/global fim a fim.
|
|
110
|
+
|
|
111
|
+
## Arquivos de Planejamento
|
|
112
|
+
|
|
113
|
+
- `01_MATRIZ_TESTES_MENU_E_RESULTADOS.md`
|
|
114
|
+
- `02_PLANO_CORRECAO_ATIVAR_SKILL_APRENDIDA.md`
|
|
115
|
+
- `03_PLANO_COMPATIBILIDADE_WINDOWS_LINUX_MACOS.md`
|
|
116
|
+
- `04_PLANO_UI_CYBERPUNK_PIXEL_ART_E_PERFORMANCE.md`
|
|
117
|
+
- `05_PROMPT_TASK_EXECUCAO_CORRECOES.md`
|
|
118
|
+
- `06_CHECKLIST_REGRESSAO_PRE_RELEASE.md`
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# MCP 1.0.0 - Matriz de Testes do skill-master-menu
|
|
2
|
+
|
|
3
|
+
## Ambiente
|
|
4
|
+
|
|
5
|
+
- Sistema: Windows
|
|
6
|
+
- Shell: PowerShell
|
|
7
|
+
- Pacote local: `@fprad0/skill-master-mcp@1.0.0`
|
|
8
|
+
- Registry npm: `latest = 1.0.0`
|
|
9
|
+
- Catalogo skill-master: 209 skills catalogadas
|
|
10
|
+
- Global readiness reportado pelo `--status`: pronto
|
|
11
|
+
- Doctor readiness: partial por Claude Code ausente
|
|
12
|
+
|
|
13
|
+
## Comandos Executados
|
|
14
|
+
|
|
15
|
+
### Skill Master catalogo
|
|
16
|
+
|
|
17
|
+
```powershell
|
|
18
|
+
skill_master_refresh_catalog(include_web=false)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Resultado:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
total: 209
|
|
25
|
+
local: 143
|
|
26
|
+
workspace: 66
|
|
27
|
+
warnings: []
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Menu help
|
|
31
|
+
|
|
32
|
+
```powershell
|
|
33
|
+
node bin\skill-master-menu.mjs --help
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Resultado: OK. Exibe 23 acoes disponiveis.
|
|
37
|
+
|
|
38
|
+
Observacao: a lista e funcional, mas poderia marcar visualmente:
|
|
39
|
+
|
|
40
|
+
- acao segura
|
|
41
|
+
- acao interativa
|
|
42
|
+
- acao que escreve arquivo
|
|
43
|
+
- acao que precisa de `--yes`
|
|
44
|
+
- acao nao indicada para pacote global
|
|
45
|
+
|
|
46
|
+
### Menu status
|
|
47
|
+
|
|
48
|
+
```powershell
|
|
49
|
+
node bin\skill-master-menu.mjs --status
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Resultado: OK.
|
|
53
|
+
|
|
54
|
+
Resumo observado:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
Pacote: @fprad0/skill-master-mcp
|
|
58
|
+
Semver local: 1.0.0
|
|
59
|
+
Manifesto stable: 1.0.0
|
|
60
|
+
Drafts de skills aprendidas: 0
|
|
61
|
+
Skills externas para estudar: 8
|
|
62
|
+
Global readiness: pronto
|
|
63
|
+
Global skills instaladas: 25/25
|
|
64
|
+
Codex MCP robusto: sim
|
|
65
|
+
Claude MCP robusto: sim
|
|
66
|
+
Gemini MCP robusto: sim
|
|
67
|
+
Antigravity MCP robusto: sim
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Verificacao oficial de menu
|
|
71
|
+
|
|
72
|
+
```powershell
|
|
73
|
+
npm run verify:menu
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Resultado: OK.
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
Menu action matrix OK.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Limite do teste atual: ele valida existencia, aliases e confirmacoes, mas nao executa smoke real de todas as acoes.
|
|
83
|
+
|
|
84
|
+
### Public npm
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
node bin\skill-master-menu.mjs --run public-npm
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Resultado: OK.
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
1.0.0
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Activation status
|
|
97
|
+
|
|
98
|
+
```powershell
|
|
99
|
+
node bin\skill-master-menu.mjs --run activation-status
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Resultado: OK.
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
Modo: always-on-assisted
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Notifications
|
|
109
|
+
|
|
110
|
+
```powershell
|
|
111
|
+
node bin\skill-master-menu.mjs --run notifications
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Resultado: OK.
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
Drafts pendentes: 0
|
|
118
|
+
Prontos para aprovacao humana: 0
|
|
119
|
+
Skills externas para estudo: 8
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Study skills
|
|
123
|
+
|
|
124
|
+
```powershell
|
|
125
|
+
node bin\skill-master-menu.mjs --run study-skills
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Resultado: OK.
|
|
129
|
+
|
|
130
|
+
Observacao: lista 8 entradas. Tres entradas externas permanecem `unapproved` e devem continuar como estudo, nao ativacao.
|
|
131
|
+
|
|
132
|
+
### Approval package
|
|
133
|
+
|
|
134
|
+
Executado com diretorio temporario:
|
|
135
|
+
|
|
136
|
+
```powershell
|
|
137
|
+
$env:SKILL_MASTER_SUCCESS_LEARNING_DIR = Join-Path $env:TEMP 'skill-master-empty-success'
|
|
138
|
+
node bin\skill-master-menu.mjs --run approval-package
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Resultado: OK.
|
|
142
|
+
|
|
143
|
+
Criou pacote com 0 drafts. A acao escreve arquivo, entao nao deve estar classificada como read-only na matriz de qualidade.
|
|
144
|
+
|
|
145
|
+
### Doctor
|
|
146
|
+
|
|
147
|
+
```powershell
|
|
148
|
+
node bin\skill-master-menu.mjs --run doctor
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Resultado: OK com alerta.
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
[NO] Claude Code opcional - ausente em claude CLI
|
|
155
|
+
[NO] Readiness global - partial
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Recomendacao: distinguir melhor "partial por cliente opcional" de "falha operacional".
|
|
159
|
+
|
|
160
|
+
### Build
|
|
161
|
+
|
|
162
|
+
```powershell
|
|
163
|
+
node bin\skill-master-menu.mjs --run build
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Resultado: OK.
|
|
167
|
+
|
|
168
|
+
### Check
|
|
169
|
+
|
|
170
|
+
```powershell
|
|
171
|
+
node bin\skill-master-menu.mjs --run check
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Resultado: falhou por 2 testes Windows.
|
|
175
|
+
|
|
176
|
+
Falhas:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
src/client-config.test.ts
|
|
180
|
+
expected /opt/skill-master/bin/skill-master.mjs
|
|
181
|
+
received \opt\skill-master\bin\skill-master.mjs
|
|
182
|
+
|
|
183
|
+
src/project-skills.test.ts
|
|
184
|
+
expected /tmp/app/.agents/skills
|
|
185
|
+
received C:\tmp\app\.agents\skills
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Classificacao: falha de teste cross-platform, nao falha de build.
|
|
189
|
+
|
|
190
|
+
### Acoes protegidas sem --yes
|
|
191
|
+
|
|
192
|
+
Exemplo:
|
|
193
|
+
|
|
194
|
+
```powershell
|
|
195
|
+
node bin\skill-master-menu.mjs --run install-global-skills
|
|
196
|
+
node bin\skill-master-menu.mjs --run update-global
|
|
197
|
+
node bin\skill-master-menu.mjs --run reject-skill
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Resultado: OK, bloqueia sem `--yes`.
|
|
201
|
+
|
|
202
|
+
```text
|
|
203
|
+
Action <acao> requires --yes outside an interactive terminal.
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Prompt recommendation
|
|
207
|
+
|
|
208
|
+
```powershell
|
|
209
|
+
node bin\skill-master-menu.mjs --run prompt-router
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Resultado: falha esperada fora de TTY.
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
[skill_master] Interactive prompt routing requires a TTY.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Melhoria necessaria: oferecer `--prompt "..."` para uso nao interativo.
|
|
219
|
+
|
|
220
|
+
### Ativar skill aprendida no workspace
|
|
221
|
+
|
|
222
|
+
```powershell
|
|
223
|
+
node bin\skill-master-menu.mjs --run activate-learned-local --yes
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Resultado: falha.
|
|
227
|
+
|
|
228
|
+
```text
|
|
229
|
+
[skill_master] Interactive activation requires a TTY.
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Classificacao: bug de menu.
|
|
233
|
+
|
|
234
|
+
### Ativar skill aprendida global
|
|
235
|
+
|
|
236
|
+
```powershell
|
|
237
|
+
node bin\skill-master-menu.mjs --run activate-learned-global --yes
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Resultado: falha.
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
[skill_master] Interactive activation requires a TTY.
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Classificacao: bug de menu.
|
|
247
|
+
|
|
248
|
+
## Conclusao da Matriz
|
|
249
|
+
|
|
250
|
+
O menu esta visualmente bom no modo `--run`, mas ainda mistura acoes interativas com automacao. O backend de skills aprendidas funciona, mas o menu nao expoe um caminho nao interativo completo para ativacao local/global.
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# MCP 1.0.0 - Plano de Correcao para Ativar Skill Aprendida
|
|
2
|
+
|
|
3
|
+
## Problema
|
|
4
|
+
|
|
5
|
+
As opcoes do menu:
|
|
6
|
+
|
|
7
|
+
- `Ativar skill aprendida no workspace`
|
|
8
|
+
- `Ativar skill aprendida global`
|
|
9
|
+
|
|
10
|
+
falham quando chamadas via:
|
|
11
|
+
|
|
12
|
+
```powershell
|
|
13
|
+
node bin\skill-master-menu.mjs --run activate-learned-local --yes
|
|
14
|
+
node bin\skill-master-menu.mjs --run activate-learned-global --yes
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Erro observado:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
[skill_master] Interactive activation requires a TTY.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Causa Raiz
|
|
24
|
+
|
|
25
|
+
No `bin/lib/menu-core.mjs`, as acoes estao configuradas para chamar:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
skill-master-success-skills --activate-interactive --target local
|
|
29
|
+
skill-master-success-skills --activate-interactive --target global
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Mesmo quando o usuario passa `--yes` para o menu, o subcomando continua sendo interativo. Em ambiente Codex, CI ou qualquer execucao sem TTY, o comando falha antes de escolher o manifesto.
|
|
33
|
+
|
|
34
|
+
O core nao esta quebrado. O teste isolado confirmou que:
|
|
35
|
+
|
|
36
|
+
- `activateSuccessSkillDraft(...)` funciona
|
|
37
|
+
- `skill-master-success-skills --activate <manifest> --target <path> --yes` funciona
|
|
38
|
+
|
|
39
|
+
## Objetivo da Correcao
|
|
40
|
+
|
|
41
|
+
Fazer as duas opcoes funcionarem em:
|
|
42
|
+
|
|
43
|
+
1. menu visual interativo
|
|
44
|
+
2. `skill-master-menu --run activate-learned-local`
|
|
45
|
+
3. `skill-master-menu --run activate-learned-local --yes`
|
|
46
|
+
4. `skill-master-menu --run activate-learned-global`
|
|
47
|
+
5. `skill-master-menu --run activate-learned-global --yes`
|
|
48
|
+
6. automacao com manifesto explicito
|
|
49
|
+
7. Windows, Linux e macOS
|
|
50
|
+
|
|
51
|
+
## Design Proposto
|
|
52
|
+
|
|
53
|
+
### 1. Adicionar argumentos ao menu
|
|
54
|
+
|
|
55
|
+
Adicionar suporte no `skill-master-menu`:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
--manifest <path>
|
|
59
|
+
--target <local|global|path>
|
|
60
|
+
--overwrite
|
|
61
|
+
--reason <text>
|
|
62
|
+
--prompt <text>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Para ativacao:
|
|
66
|
+
|
|
67
|
+
```powershell
|
|
68
|
+
skill-master-menu --run activate-learned-local --manifest C:\...\manifest.json --yes
|
|
69
|
+
skill-master-menu --run activate-learned-global --manifest C:\...\manifest.json --yes
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 2. Adicionar modo auto-select seguro
|
|
73
|
+
|
|
74
|
+
Quando `--yes` for usado sem `--manifest`, o menu deve:
|
|
75
|
+
|
|
76
|
+
- listar drafts prontos para aprovacao humana
|
|
77
|
+
- se houver 0, falhar com mensagem clara
|
|
78
|
+
- se houver 1, ativar esse draft
|
|
79
|
+
- se houver mais de 1, falhar pedindo `--manifest`
|
|
80
|
+
|
|
81
|
+
Mensagem sugerida:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
[skill_master] Multiple ready learned skills found. Re-run with --manifest <path> or open the interactive menu.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3. Alterar acoes do menu
|
|
88
|
+
|
|
89
|
+
No `buildMenuCommands`, trocar:
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
--activate-interactive --target local
|
|
93
|
+
--activate-interactive --target global
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
por um wrapper novo:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
--activate-menu --target local
|
|
100
|
+
--activate-menu --target global
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Ou, alternativamente, o proprio `skill-master-menu` resolve o manifesto e chama:
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
skill-master-success-skills --activate <manifest> --target local --yes
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4. Melhorar `skill-master-success-skills`
|
|
110
|
+
|
|
111
|
+
Adicionar subcomando:
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
skill-master-success-skills --activate-ready --target local|global --yes
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Com regras:
|
|
118
|
+
|
|
119
|
+
- 0 drafts prontos: erro claro
|
|
120
|
+
- 1 draft pronto: ativa
|
|
121
|
+
- mais de 1 draft pronto: erro claro com lista numerada e paths
|
|
122
|
+
- global exige `--yes`
|
|
123
|
+
- `--overwrite` deve ser explicito
|
|
124
|
+
|
|
125
|
+
### 5. Preservar aprovacao humana
|
|
126
|
+
|
|
127
|
+
Nao ativar drafts com:
|
|
128
|
+
|
|
129
|
+
- `recommendation != ready-for-human-approval`
|
|
130
|
+
- risk flags
|
|
131
|
+
- external candidates unapproved
|
|
132
|
+
- content hash divergente
|
|
133
|
+
- nome duplicado no approved index
|
|
134
|
+
|
|
135
|
+
### 6. Atualizar catalogo apos ativacao
|
|
136
|
+
|
|
137
|
+
Apos ativar:
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
skill_master_refresh_catalog(include_web=false)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Ou imprimir:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
Reinicie o cliente ou rode refresh do catalogo para a nova skill aparecer.
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Testes Obrigatorios
|
|
150
|
+
|
|
151
|
+
### Unitarios
|
|
152
|
+
|
|
153
|
+
Adicionar testes em `src/menu-core.test.ts`:
|
|
154
|
+
|
|
155
|
+
- `activateLearnedLocal` deve ter caminho nao interativo quando receber manifest
|
|
156
|
+
- `activateLearnedGlobal` deve ter caminho nao interativo quando receber manifest
|
|
157
|
+
- `--yes` sem manifest e com 0 drafts retorna erro claro
|
|
158
|
+
- `--yes` sem manifest e com 1 draft ativa
|
|
159
|
+
- `--yes` sem manifest e com 2 drafts pede manifest
|
|
160
|
+
|
|
161
|
+
### Integracao CLI
|
|
162
|
+
|
|
163
|
+
Criar teste que:
|
|
164
|
+
|
|
165
|
+
1. cria draft temporario com `prepareSuccessSkillDraft`
|
|
166
|
+
2. chama `skill-master-menu --run activate-learned-local --manifest <path> --yes`
|
|
167
|
+
3. valida `SKILL.md`
|
|
168
|
+
4. valida `skill-master-approval.json`
|
|
169
|
+
5. repete para global em `CODEX_HOME` temporario
|
|
170
|
+
|
|
171
|
+
### Smoke manual
|
|
172
|
+
|
|
173
|
+
Abrir:
|
|
174
|
+
|
|
175
|
+
```powershell
|
|
176
|
+
skill-master-menu
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Validar:
|
|
180
|
+
|
|
181
|
+
- frame de confirmacao aparece
|
|
182
|
+
- selecao de draft aparece
|
|
183
|
+
- ativacao local mostra destino
|
|
184
|
+
- ativacao global mostra aviso de impacto
|
|
185
|
+
- terminal volta ao estado normal apos sair
|
|
186
|
+
|
|
187
|
+
## Definition of Done
|
|
188
|
+
|
|
189
|
+
- `npm run build` passa
|
|
190
|
+
- `npm test` passa no Windows
|
|
191
|
+
- `npm run verify:menu` passa
|
|
192
|
+
- `skill-master-menu --run activate-learned-local --manifest <path> --yes` passa
|
|
193
|
+
- `skill-master-menu --run activate-learned-global --manifest <path> --yes` passa
|
|
194
|
+
- menu interativo continua funcionando
|
|
195
|
+
- nenhuma skill e ativada sem aprovacao humana ou `--yes`
|
|
196
|
+
- documentacao `--help` mostra exemplos novos
|
|
197
|
+
|
|
198
|
+
## Risco se Nao Corrigir
|
|
199
|
+
|
|
200
|
+
O usuario ve a funcao no menu, acredita que esta pronta, mas ela falha exatamente no fluxo mais importante: promover aprendizado para skill local/global. Isso quebra a promessa central do Skill Master.
|