@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,167 @@
|
|
|
1
|
+
# MCP 1.0.0 - Plano de Compatibilidade Windows, Linux e macOS
|
|
2
|
+
|
|
3
|
+
## Problemas Encontrados
|
|
4
|
+
|
|
5
|
+
O comando:
|
|
6
|
+
|
|
7
|
+
```powershell
|
|
8
|
+
node bin\skill-master-menu.mjs --run check
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
falhou em Windows com 2 testes.
|
|
12
|
+
|
|
13
|
+
### Falha 1
|
|
14
|
+
|
|
15
|
+
Arquivo:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
src/client-config.test.ts
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Erro:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
expected /opt/skill-master/bin/skill-master.mjs
|
|
25
|
+
received \opt\skill-master\bin\skill-master.mjs
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Falha 2
|
|
29
|
+
|
|
30
|
+
Arquivo:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
src/project-skills.test.ts
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Erro:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
expected /tmp/app/.agents/skills
|
|
40
|
+
received C:\tmp\app\.agents\skills
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Causa Provavel
|
|
44
|
+
|
|
45
|
+
Os testes usam caminhos POSIX como fixtures, mas o codigo usa APIs de path do sistema operacional atual. No Windows, `path.join` e `path.resolve` convertem para backslash ou prefixam drive.
|
|
46
|
+
|
|
47
|
+
Isso cria falsos negativos em Windows.
|
|
48
|
+
|
|
49
|
+
## Objetivo
|
|
50
|
+
|
|
51
|
+
Garantir que:
|
|
52
|
+
|
|
53
|
+
- testes passem em Windows, Linux e macOS
|
|
54
|
+
- configs MCP usem o formato correto para cada cliente
|
|
55
|
+
- caminhos de comando sejam robustos
|
|
56
|
+
- caminhos serializados em TOML/JSON nao quebrem por escape
|
|
57
|
+
- fixtures POSIX continuem testaveis no Windows quando necessario
|
|
58
|
+
|
|
59
|
+
## Plano Tecnico
|
|
60
|
+
|
|
61
|
+
### 1. Separar path operacional de path serializado
|
|
62
|
+
|
|
63
|
+
Criar helpers claros:
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
toNativePath(value)
|
|
67
|
+
toPosixPath(value)
|
|
68
|
+
toJsonPath(value)
|
|
69
|
+
toTomlPath(value)
|
|
70
|
+
normalizePathForComparison(value)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Uso:
|
|
74
|
+
|
|
75
|
+
- execucao local: native path
|
|
76
|
+
- JSON/TOML de clientes: string absoluta segura
|
|
77
|
+
- testes cross-platform: normalizacao explicita
|
|
78
|
+
- fixtures POSIX: `path.posix`
|
|
79
|
+
|
|
80
|
+
### 2. Corrigir teste Claude Code
|
|
81
|
+
|
|
82
|
+
O teste que espera:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
/opt/skill-master/bin/skill-master.mjs
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
deve montar o server com path POSIX preservado ou comparar via normalizacao.
|
|
89
|
+
|
|
90
|
+
Opcoes:
|
|
91
|
+
|
|
92
|
+
1. Usar `path.posix.join` dentro do fixture.
|
|
93
|
+
2. Comparar `normalizeSlashes(args[7])`.
|
|
94
|
+
3. Ajustar `buildClaudeCodeAddArgs` para nao converter path que ja e POSIX absoluto.
|
|
95
|
+
|
|
96
|
+
Recomendacao: preservar POSIX absoluto quando entrada comeca com `/`.
|
|
97
|
+
|
|
98
|
+
### 3. Corrigir teste de roots do projeto
|
|
99
|
+
|
|
100
|
+
O teste que usa `/tmp/app` deve:
|
|
101
|
+
|
|
102
|
+
- rodar com `path.posix` se o objetivo e POSIX
|
|
103
|
+
- ou aceitar resultado nativo se o objetivo e plataforma atual
|
|
104
|
+
|
|
105
|
+
Recomendacao: dividir em dois testes:
|
|
106
|
+
|
|
107
|
+
- `normalizes native project skill roots`
|
|
108
|
+
- `preserves explicit POSIX roots when requested`
|
|
109
|
+
|
|
110
|
+
### 4. Adicionar matriz de CI local
|
|
111
|
+
|
|
112
|
+
Scripts sugeridos:
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"test:windows-paths": "vitest run src/client-config.test.ts src/project-skills.test.ts",
|
|
117
|
+
"test:menu": "node scripts/verify-menu-actions.mjs",
|
|
118
|
+
"test:activation-cli": "vitest run src/success-learning.test.ts src/menu-core.test.ts"
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 5. Validar instalacao global 1.0.0
|
|
123
|
+
|
|
124
|
+
Comandos:
|
|
125
|
+
|
|
126
|
+
```powershell
|
|
127
|
+
npm install -g @fprad0/skill-master-mcp@1.0.0 --registry=https://registry.npmjs.org
|
|
128
|
+
where skill-master-menu
|
|
129
|
+
skill-master-menu --status
|
|
130
|
+
skill-master-doctor
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
No Linux/macOS:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
npm install -g @fprad0/skill-master-mcp@1.0.0 --registry=https://registry.npmjs.org
|
|
137
|
+
command -v skill-master-menu
|
|
138
|
+
skill-master-menu --status
|
|
139
|
+
skill-master-doctor
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Melhorias no Doctor
|
|
143
|
+
|
|
144
|
+
Hoje o doctor retorna `partial` quando Claude Code esta ausente. Isso pode assustar quando o usuario nao usa Claude Code.
|
|
145
|
+
|
|
146
|
+
Melhoria:
|
|
147
|
+
|
|
148
|
+
- separar clientes obrigatorios de opcionais
|
|
149
|
+
- exibir `ready-with-optional-warnings`
|
|
150
|
+
- retornar exit code 0 quando apenas cliente opcional estiver ausente
|
|
151
|
+
|
|
152
|
+
Estados sugeridos:
|
|
153
|
+
|
|
154
|
+
```text
|
|
155
|
+
ready
|
|
156
|
+
ready_with_optional_warnings
|
|
157
|
+
partial
|
|
158
|
+
blocked
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Definition of Done
|
|
162
|
+
|
|
163
|
+
- `npm run check` passa no Windows
|
|
164
|
+
- testes continuam passando em Linux/macOS
|
|
165
|
+
- doctor distingue cliente opcional ausente de falha real
|
|
166
|
+
- registro Codex, Claude Desktop, Gemini e Antigravity permanece com node absoluto
|
|
167
|
+
- nenhum teste usa expectativa POSIX acidental em Windows
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# MCP 1.0.0 - Plano UI Cyberpunk Pixel Art e Performance
|
|
2
|
+
|
|
3
|
+
## Estado Atual
|
|
4
|
+
|
|
5
|
+
O menu renderiza frames estilo cyberpunk no modo `--run`, com:
|
|
6
|
+
|
|
7
|
+
- moldura textual forte
|
|
8
|
+
- bloco de status visual
|
|
9
|
+
- resultado OK/ERROR em frame dedicado
|
|
10
|
+
- linguagem coerente com `skill_master`
|
|
11
|
+
|
|
12
|
+
O visual ja esta melhor que um CLI comum, mas ainda pode ficar mais proximo do DNA pixel art desejado.
|
|
13
|
+
|
|
14
|
+
## Problemas e Oportunidades
|
|
15
|
+
|
|
16
|
+
### 1. Acoes interativas parecem executaveis em automacao
|
|
17
|
+
|
|
18
|
+
No `--help`, acoes como `promptRecommendation`, `markLearnedStudy`, `activateLearnedLocal` e `activateLearnedGlobal` aparecem como se fossem equivalentes a acoes diretas.
|
|
19
|
+
|
|
20
|
+
Melhoria: mostrar badges.
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
[SAFE]
|
|
24
|
+
[WRITES]
|
|
25
|
+
[CONFIRM]
|
|
26
|
+
[TTY]
|
|
27
|
+
[GLOBAL]
|
|
28
|
+
[DRAFT]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 2. `approvalPackage` e classificado como read-only no verificador
|
|
32
|
+
|
|
33
|
+
Ele cria arquivo local. Deve ser tratado como `writes-local-safe`, nao `read-only`.
|
|
34
|
+
|
|
35
|
+
### 3. `doctor` usa linguagem de falha para cliente opcional
|
|
36
|
+
|
|
37
|
+
Quando Claude Code esta ausente, o usuario recebe `Readiness global - partial`, mesmo com Codex, Claude Desktop, Gemini e Antigravity OK.
|
|
38
|
+
|
|
39
|
+
Melhoria visual:
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
READY / optional warning
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 4. Prompt router e ativacao aprendida precisam modo nao interativo
|
|
46
|
+
|
|
47
|
+
Quando chamados via `--run`, falham por TTY. A UI deve mostrar antes:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
Esta acao requer TTY ou --manifest/--prompt.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 5. Frames podem informar risco melhor
|
|
54
|
+
|
|
55
|
+
Para acoes globais, o frame deve ter sinal visual diferente:
|
|
56
|
+
|
|
57
|
+
- workspace: cyan
|
|
58
|
+
- global: amber
|
|
59
|
+
- destrutivo/rejeicao: rose
|
|
60
|
+
- diagnostico: white/gray
|
|
61
|
+
|
|
62
|
+
## Melhorias Visuais Propostas
|
|
63
|
+
|
|
64
|
+
### Cyberpunk Command Frame 2.0
|
|
65
|
+
|
|
66
|
+
Adicionar uma linha superior com chips:
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
[MCP 1.0.0] [GLOBAL] [CONFIRM] [TTY] [RISK:MED]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Painel de Acao
|
|
73
|
+
|
|
74
|
+
Para cada item:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
acao: activateLearnedGlobal
|
|
78
|
+
tipo: escreve em CODEX_HOME skills
|
|
79
|
+
entrada: draft manifest
|
|
80
|
+
saida: SKILL.md + skill-master-approval.json
|
|
81
|
+
risco: afeta todos os workspaces
|
|
82
|
+
modo seguro: --manifest <path> --yes
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Preview Antes de Executar
|
|
86
|
+
|
|
87
|
+
Antes de rodar mutacao:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
Destino: C:\Users\CDT\.codex\skills\<skill>
|
|
91
|
+
Origem: manifest.json
|
|
92
|
+
Hash: sha256...
|
|
93
|
+
Registro: skill-master-approval.json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Animacao sem Flicker
|
|
97
|
+
|
|
98
|
+
Manter:
|
|
99
|
+
|
|
100
|
+
- alternate screen
|
|
101
|
+
- cursor restore em `finally`
|
|
102
|
+
- redraw em origem fixa
|
|
103
|
+
- `clearToEnd`, nao clear total repetido
|
|
104
|
+
|
|
105
|
+
Adicionar:
|
|
106
|
+
|
|
107
|
+
- throttle padrao 180ms a 240ms
|
|
108
|
+
- reduzir `getMenuStatus` a cada frame; cachear por 1 segundo
|
|
109
|
+
- recalcular catalogo apenas quando acao terminar ou usuario pedir refresh
|
|
110
|
+
|
|
111
|
+
## Performance
|
|
112
|
+
|
|
113
|
+
### Problema Potencial
|
|
114
|
+
|
|
115
|
+
`renderCyberMenu` chama `getMenuStatus(rootDir)` a cada frame. Esse status le arquivos, conta manifests e checa readiness. Em terminais lentos ou repos grandes, isso pode gerar travamentos.
|
|
116
|
+
|
|
117
|
+
### Plano
|
|
118
|
+
|
|
119
|
+
1. Criar `createMenuStatusCache({ ttlMs: 1000 })`.
|
|
120
|
+
2. Atualizar cache ao entrar no menu.
|
|
121
|
+
3. Reusar cache em frames.
|
|
122
|
+
4. Invalidar cache apos acao executada.
|
|
123
|
+
5. Mostrar indicador `status cached` quando estiver renderizando sem recarregar.
|
|
124
|
+
|
|
125
|
+
### Testes
|
|
126
|
+
|
|
127
|
+
- medir tempo medio de 100 renders
|
|
128
|
+
- testar terminal pequeno `80x24`
|
|
129
|
+
- testar terminal grande `160x50`
|
|
130
|
+
- testar `TERM=dumb`
|
|
131
|
+
- testar `SKILL_MASTER_NO_VISUAL=1`
|
|
132
|
+
|
|
133
|
+
## Layout
|
|
134
|
+
|
|
135
|
+
### Regras
|
|
136
|
+
|
|
137
|
+
- texto nunca deve ultrapassar largura do frame
|
|
138
|
+
- labels longos devem truncar com `...`
|
|
139
|
+
- a lista de acoes deve preservar selecao visivel
|
|
140
|
+
- detalhe deve mostrar comando real e risco
|
|
141
|
+
- modo compact deve priorizar acao selecionada, risco e resultado esperado
|
|
142
|
+
|
|
143
|
+
### Smoke Visual
|
|
144
|
+
|
|
145
|
+
Criar script:
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
scripts/render-menu-smoke.mjs
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Saidas:
|
|
152
|
+
|
|
153
|
+
- `MCP 1.0.0/menu-frame-120x32.txt`
|
|
154
|
+
- `MCP 1.0.0/menu-frame-80x24.txt`
|
|
155
|
+
- `MCP 1.0.0/menu-running-action.txt`
|
|
156
|
+
- `MCP 1.0.0/menu-confirm-global.txt`
|
|
157
|
+
|
|
158
|
+
## Definition of Done
|
|
159
|
+
|
|
160
|
+
- `--run` continua sem escape raw em ambiente nao TTY
|
|
161
|
+
- menu interativo nao deixa cursor oculto apos erro
|
|
162
|
+
- acoes globais ficam visualmente diferenciadas
|
|
163
|
+
- acoes TTY-only ficam marcadas
|
|
164
|
+
- cache reduz leituras por frame
|
|
165
|
+
- screenshots/text frames documentados em `MCP 1.0.0`
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# MCP 1.0.0 - Prompt Task de Execucao das Correcoes
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Corrigir o `skill-master-menu` da versao `1.0.0` para que todas as acoes criticas funcionem em modo interativo e nao interativo, com foco especial em ativacao de skill aprendida no workspace e global.
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Auditoria real em Windows confirmou:
|
|
10
|
+
|
|
11
|
+
- `npm run verify:menu` passa
|
|
12
|
+
- `node bin\skill-master-menu.mjs --run build` passa
|
|
13
|
+
- `node bin\skill-master-menu.mjs --run check` falha por 2 testes de path cross-platform
|
|
14
|
+
- `node bin\skill-master-menu.mjs --run activate-learned-local --yes` falha
|
|
15
|
+
- `node bin\skill-master-menu.mjs --run activate-learned-global --yes` falha
|
|
16
|
+
- o core `activateSuccessSkillDraft` funciona
|
|
17
|
+
- o CLI direto `skill-master-success-skills --activate <manifest> --target <path> --yes` funciona
|
|
18
|
+
|
|
19
|
+
## Escopo
|
|
20
|
+
|
|
21
|
+
Alterar com cuidado:
|
|
22
|
+
|
|
23
|
+
- `bin/skill-master-menu.mjs`
|
|
24
|
+
- `bin/lib/menu-core.mjs`
|
|
25
|
+
- `bin/skill-master-success-skills.mjs`
|
|
26
|
+
- `src/success-learning.test.ts`
|
|
27
|
+
- `src/menu-core.test.ts`
|
|
28
|
+
- `src/client-config.test.ts`
|
|
29
|
+
- `src/project-skills.test.ts`
|
|
30
|
+
- docs/help quando necessario
|
|
31
|
+
|
|
32
|
+
## Tarefa 1 - Corrigir Ativacao Local/Global via Menu
|
|
33
|
+
|
|
34
|
+
Adicionar suporte a:
|
|
35
|
+
|
|
36
|
+
```powershell
|
|
37
|
+
skill-master-menu --run activate-learned-local --manifest <manifest.json> --yes
|
|
38
|
+
skill-master-menu --run activate-learned-global --manifest <manifest.json> --yes
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Adicionar fallback seguro:
|
|
42
|
+
|
|
43
|
+
```powershell
|
|
44
|
+
skill-master-menu --run activate-learned-local --yes
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Regras:
|
|
48
|
+
|
|
49
|
+
- 0 drafts prontos: erro claro
|
|
50
|
+
- 1 draft pronto: ativa
|
|
51
|
+
- 2+ drafts prontos: erro pedindo `--manifest`
|
|
52
|
+
- global exige `--yes`
|
|
53
|
+
- sem TTY nunca deve chamar `--activate-interactive`
|
|
54
|
+
|
|
55
|
+
## Tarefa 2 - Melhorar `skill-master-success-skills`
|
|
56
|
+
|
|
57
|
+
Adicionar:
|
|
58
|
+
|
|
59
|
+
```powershell
|
|
60
|
+
skill-master-success-skills --activate-ready --target local|global --yes
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Comportamento:
|
|
64
|
+
|
|
65
|
+
- usa `SKILL_MASTER_SUCCESS_LEARNING_DIR`
|
|
66
|
+
- filtra apenas `ready-for-human-approval`
|
|
67
|
+
- imprime lista quando ambigua
|
|
68
|
+
- cria `SKILL.md`
|
|
69
|
+
- cria `skill-master-approval.json`
|
|
70
|
+
- atualiza manifest para `activated`
|
|
71
|
+
|
|
72
|
+
## Tarefa 3 - Prompt Router Nao Interativo
|
|
73
|
+
|
|
74
|
+
Adicionar:
|
|
75
|
+
|
|
76
|
+
```powershell
|
|
77
|
+
skill-master-menu --run prompt-router --prompt "..."
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Deve chamar:
|
|
81
|
+
|
|
82
|
+
```powershell
|
|
83
|
+
skill-master-activation --route-prompt "..."
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Sem `--prompt`, em nao TTY deve falhar com:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
This action requires a TTY or --prompt "..."
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Tarefa 4 - Corrigir Testes Windows
|
|
93
|
+
|
|
94
|
+
Corrigir:
|
|
95
|
+
|
|
96
|
+
- `src/client-config.test.ts`
|
|
97
|
+
- `src/project-skills.test.ts`
|
|
98
|
+
|
|
99
|
+
Nao mascarar bug real. Separar:
|
|
100
|
+
|
|
101
|
+
- path nativo
|
|
102
|
+
- path POSIX fixture
|
|
103
|
+
- serializacao JSON/TOML
|
|
104
|
+
- comparacao normalizada
|
|
105
|
+
|
|
106
|
+
## Tarefa 5 - UI e UX
|
|
107
|
+
|
|
108
|
+
Adicionar metadados de acao:
|
|
109
|
+
|
|
110
|
+
```ts
|
|
111
|
+
mode: 'read-only' | 'writes-local' | 'writes-global' | 'interactive' | 'dev-only'
|
|
112
|
+
risk: 'low' | 'medium' | 'high'
|
|
113
|
+
requiresTty: boolean
|
|
114
|
+
requiresManifest?: boolean
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Renderizar badges no menu e no help:
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
[SAFE] [TTY] [GLOBAL] [CONFIRM]
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Validacao Obrigatoria
|
|
124
|
+
|
|
125
|
+
Rodar:
|
|
126
|
+
|
|
127
|
+
```powershell
|
|
128
|
+
npm run build
|
|
129
|
+
npm test
|
|
130
|
+
npm run verify:menu
|
|
131
|
+
node bin\skill-master-menu.mjs --status
|
|
132
|
+
node bin\skill-master-menu.mjs --run public-npm
|
|
133
|
+
node bin\skill-master-menu.mjs --run activation-status
|
|
134
|
+
node bin\skill-master-menu.mjs --run notifications
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Criar teste temporario:
|
|
138
|
+
|
|
139
|
+
1. gerar draft com `prepareSuccessSkillDraft`
|
|
140
|
+
2. ativar via menu local com `--manifest --yes`
|
|
141
|
+
3. ativar via menu global com `--manifest --yes`
|
|
142
|
+
4. validar arquivos gravados
|
|
143
|
+
|
|
144
|
+
## Definition of Done
|
|
145
|
+
|
|
146
|
+
- `npm run check` passa no Windows
|
|
147
|
+
- ativacao local/global via menu passa em nao TTY
|
|
148
|
+
- menu interativo continua funcionando
|
|
149
|
+
- `--help` mostra opcoes novas
|
|
150
|
+
- docs de `MCP 1.0.0` atualizados com resultado da correcao
|
|
151
|
+
- nenhuma publicacao npm e feita sem autorizacao explicita
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# MCP 1.0.0 - Checklist de Regressao Pre-Release
|
|
2
|
+
|
|
3
|
+
Use este checklist antes de publicar a proxima versao depois das correcoes.
|
|
4
|
+
|
|
5
|
+
## Ambiente
|
|
6
|
+
|
|
7
|
+
- [ ] Windows testado
|
|
8
|
+
- [ ] Linux testado
|
|
9
|
+
- [ ] macOS testado
|
|
10
|
+
- [ ] Node 18 testado
|
|
11
|
+
- [ ] Node 20 testado
|
|
12
|
+
- [ ] Node 22+ testado
|
|
13
|
+
- [ ] npm registry publico acessivel
|
|
14
|
+
- [ ] sem tokens, senhas ou OTPs em logs/arquivos
|
|
15
|
+
|
|
16
|
+
## Build e Testes
|
|
17
|
+
|
|
18
|
+
```powershell
|
|
19
|
+
npm install
|
|
20
|
+
npm run build
|
|
21
|
+
npm test
|
|
22
|
+
npm run verify:menu
|
|
23
|
+
npm run check:manifest
|
|
24
|
+
npm pack --dry-run
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- [ ] build passou
|
|
28
|
+
- [ ] testes passaram
|
|
29
|
+
- [ ] verify menu passou
|
|
30
|
+
- [ ] manifestos passaram
|
|
31
|
+
- [ ] pack dry-run passou
|
|
32
|
+
|
|
33
|
+
## Menu
|
|
34
|
+
|
|
35
|
+
```powershell
|
|
36
|
+
skill-master-menu --help
|
|
37
|
+
skill-master-menu --status
|
|
38
|
+
skill-master-menu --run public-npm
|
|
39
|
+
skill-master-menu --run activation-status
|
|
40
|
+
skill-master-menu --run notifications
|
|
41
|
+
skill-master-menu --run study-skills
|
|
42
|
+
skill-master-menu --run notion-summary
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- [ ] help exibe todas as acoes
|
|
46
|
+
- [ ] status correto
|
|
47
|
+
- [ ] npm publico retorna latest
|
|
48
|
+
- [ ] activation status correto
|
|
49
|
+
- [ ] notifications nao falha com 0 drafts
|
|
50
|
+
- [ ] study skills lista candidatos
|
|
51
|
+
- [ ] notion summary nao escreve em Notion
|
|
52
|
+
|
|
53
|
+
## Acoes Protegidas
|
|
54
|
+
|
|
55
|
+
Sem `--yes`, devem bloquear:
|
|
56
|
+
|
|
57
|
+
```powershell
|
|
58
|
+
skill-master-menu --run update-global
|
|
59
|
+
skill-master-menu --run install-global-skills
|
|
60
|
+
skill-master-menu --run install-project-skills
|
|
61
|
+
skill-master-menu --run bootstrap-global
|
|
62
|
+
skill-master-menu --run register-clients
|
|
63
|
+
skill-master-menu --run reject-skill
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
- [ ] todas bloqueiam sem TTY
|
|
67
|
+
- [ ] erro explica como continuar
|
|
68
|
+
|
|
69
|
+
## Skill Aprendida Local
|
|
70
|
+
|
|
71
|
+
Preparar draft temporario e testar:
|
|
72
|
+
|
|
73
|
+
```powershell
|
|
74
|
+
skill-master-menu --run activate-learned-local --manifest <manifest.json> --yes
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Validar:
|
|
78
|
+
|
|
79
|
+
- [ ] cria `.codex/skills/<skill>/SKILL.md`
|
|
80
|
+
- [ ] cria `.codex/skills/<skill>/skill-master-approval.json`
|
|
81
|
+
- [ ] atualiza manifest para `activated`
|
|
82
|
+
- [ ] rejeita skill nao pronta
|
|
83
|
+
- [ ] rejeita hash divergente
|
|
84
|
+
- [ ] rejeita duplicidade sem `--overwrite`
|
|
85
|
+
|
|
86
|
+
## Skill Aprendida Global
|
|
87
|
+
|
|
88
|
+
Usar `CODEX_HOME` temporario:
|
|
89
|
+
|
|
90
|
+
```powershell
|
|
91
|
+
$env:CODEX_HOME = "$env:TEMP\skill-master-global-test"
|
|
92
|
+
skill-master-menu --run activate-learned-global --manifest <manifest.json> --yes
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Validar:
|
|
96
|
+
|
|
97
|
+
- [ ] cria `%CODEX_HOME%\skills\<skill>\SKILL.md`
|
|
98
|
+
- [ ] cria `skill-master-approval.json`
|
|
99
|
+
- [ ] nao escreve no global real durante teste
|
|
100
|
+
- [ ] exige `--yes`
|
|
101
|
+
- [ ] mensagem de risco global aparece
|
|
102
|
+
|
|
103
|
+
## UI Cyberpunk
|
|
104
|
+
|
|
105
|
+
- [ ] menu interativo abre
|
|
106
|
+
- [ ] intro aparece
|
|
107
|
+
- [ ] setas navegam
|
|
108
|
+
- [ ] Enter executa acao segura
|
|
109
|
+
- [ ] confirmacao aparece em acao global
|
|
110
|
+
- [ ] Esc ou q sai
|
|
111
|
+
- [ ] cursor volta ao normal
|
|
112
|
+
- [ ] terminal nao fica em alternate screen
|
|
113
|
+
- [ ] `TERM=dumb` nao imprime escape cru
|
|
114
|
+
- [ ] `SKILL_MASTER_NO_VISUAL=1` desativa visual
|
|
115
|
+
|
|
116
|
+
## Performance
|
|
117
|
+
|
|
118
|
+
- [ ] menu nao trava ao navegar
|
|
119
|
+
- [ ] status cache reduz custo por frame
|
|
120
|
+
- [ ] render 80x24 nao sobrepoe texto
|
|
121
|
+
- [ ] render 120x32 fica legivel
|
|
122
|
+
- [ ] acoes longas mostram estado de execucao
|
|
123
|
+
|
|
124
|
+
## Instalacao Global
|
|
125
|
+
|
|
126
|
+
```powershell
|
|
127
|
+
npm install -g @fprad0/skill-master-mcp@<versao> --registry=https://registry.npmjs.org
|
|
128
|
+
where skill-master-menu
|
|
129
|
+
where skill-master-mcp
|
|
130
|
+
skill-master-doctor
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- [ ] binarios existem
|
|
134
|
+
- [ ] doctor passa ou mostra apenas warnings opcionais
|
|
135
|
+
- [ ] Codex config robusta
|
|
136
|
+
- [ ] Claude Desktop config robusta
|
|
137
|
+
- [ ] Gemini config robusta
|
|
138
|
+
- [ ] Antigravity config robusta
|
|
139
|
+
|
|
140
|
+
## Publicacao
|
|
141
|
+
|
|
142
|
+
Antes de publicar:
|
|
143
|
+
|
|
144
|
+
- [ ] usuario autorizou explicitamente
|
|
145
|
+
- [ ] versao incrementada
|
|
146
|
+
- [ ] changelog atualizado
|
|
147
|
+
- [ ] `npm pack --dry-run` revisado
|
|
148
|
+
- [ ] pacote nao contem segredo
|
|
149
|
+
- [ ] comandos globais preservados em `npm view <pkg>@<versao> bin --json`
|
|
150
|
+
|
|
151
|
+
Depois de publicar:
|
|
152
|
+
|
|
153
|
+
```powershell
|
|
154
|
+
npm view @fprad0/skill-master-mcp version --registry=https://registry.npmjs.org
|
|
155
|
+
npm view @fprad0/skill-master-mcp dist-tags --json --registry=https://registry.npmjs.org
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
- [ ] latest aponta para nova versao
|
|
159
|
+
- [ ] instalacao global em maquina limpa passa
|