@fprad0/skill-master-mcp 0.0.7 → 0.0.9
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 +16 -0
- package/README.md +129 -10
- package/VERSION.md +3 -3
- package/bin/lib/menu-core.mjs +284 -2
- package/bin/skill-master-activation.mjs +163 -0
- package/bin/skill-master-bootstrap-global.mjs +35 -0
- package/bin/skill-master-eval-activation.mjs +32 -0
- package/bin/skill-master-install-global-skills.mjs +77 -0
- package/bin/skill-master-register-clients.mjs +154 -0
- package/bin/skill-master-success-skills.mjs +307 -0
- package/dist/activation-evals.d.ts +32 -0
- package/dist/activation-evals.d.ts.map +1 -0
- package/dist/activation-evals.js +116 -0
- package/dist/activation-evals.js.map +1 -0
- package/dist/domain-router.d.ts +11 -0
- package/dist/domain-router.d.ts.map +1 -0
- package/dist/domain-router.js +79 -0
- package/dist/domain-router.js.map +1 -0
- package/dist/index.js +460 -1
- package/dist/index.js.map +1 -1
- package/dist/moral-governance.d.ts +24 -0
- package/dist/moral-governance.d.ts.map +1 -0
- package/dist/moral-governance.js +143 -0
- package/dist/moral-governance.js.map +1 -0
- package/dist/prompt-router.d.ts +47 -0
- package/dist/prompt-router.d.ts.map +1 -0
- package/dist/prompt-router.js +324 -0
- package/dist/prompt-router.js.map +1 -0
- package/dist/success-learning.d.ts +147 -0
- package/dist/success-learning.d.ts.map +1 -0
- package/dist/success-learning.js +444 -0
- package/dist/success-learning.js.map +1 -0
- package/docs/architecture/APRENDIZADO_DE_IMPLEMENTACOES_BEM_SUCEDIDAS.md +125 -0
- package/docs/architecture/ARQUITETURA_AUTO_UPDATE.md +9 -0
- package/docs/architecture/PLANO_MASTER_ACIONAMENTO_AUTOMATICO_E_APRENDIZADO.md +341 -0
- package/docs/architecture/REDE_SEGURA_DE_SKILLS.md +148 -0
- package/docs/planning/V0_0_9_APROVACAO_CRITICA_MENSAGENS_DE_VENDA.md +85 -0
- package/docs/planning/V0_0_9_FONTES_E_CRITERIOS_DE_AUTORIDADE.md +139 -0
- package/docs/planning/V0_0_9_MATRIZ_SKILLS_MULTIDISCIPLINARES.md +105 -0
- package/docs/planning/V0_0_9_POLITICA_MORAL_CATOLICA_PARA_IA.md +181 -0
- package/docs/planning/V0_0_9_PROMPTS_EXECUCAO.md +59 -0
- package/docs/planning/V0_0_9_ROADMAP_DISCERNIMENTO_E_CONHECIMENTO_AMPLO.md +181 -0
- package/docs/skill-candidates/v0.0.9/ai-ethics-human-dignity/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.9/broad-domain-router/SKILL.md +41 -0
- package/docs/skill-candidates/v0.0.9/catholic-moral-discernment/SKILL.md +31 -0
- package/docs/skill-candidates/v0.0.9/engineering-systems-master/SKILL.md +31 -0
- package/docs/skill-candidates/v0.0.9/language-quality-pt-en-fr/SKILL.md +28 -0
- package/docs/skill-candidates/v0.0.9/math-science-reasoning/SKILL.md +29 -0
- package/docs/skill-candidates/v0.0.9/philosophy-sociology-discernment/SKILL.md +28 -0
- package/docs/skill-candidates/v0.0.9/professional-boundary-triage/SKILL.md +40 -0
- package/docs/skill-candidates/v0.0.9/release-ethics-gate/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.9/source-authority-reviewer/SKILL.md +31 -0
- package/manifests/channels/beta.json +7 -6
- package/manifests/channels/stable.json +8 -7
- package/network/approved-skills.json +51 -2
- package/network/unapproved-skill-candidates.json +77 -0
- package/package.json +13 -3
- package/sources.json +4 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Aprendizado de Implementacoes Bem-Sucedidas
|
|
2
|
+
|
|
3
|
+
Este documento define como o `skill_master` deve aprender com implementacoes que deram certo sem transformar tentativa isolada em comportamento automatico perigoso.
|
|
4
|
+
|
|
5
|
+
## Principio
|
|
6
|
+
|
|
7
|
+
Uma implementacao bem-sucedida pode virar uma skill quando existe:
|
|
8
|
+
|
|
9
|
+
- contexto claro do problema resolvido;
|
|
10
|
+
- padrao reutilizavel, e nao apenas um comando pontual;
|
|
11
|
+
- evidencias de validacao;
|
|
12
|
+
- limites de uso;
|
|
13
|
+
- revisao humana antes de ativacao, instalacao ou publicacao.
|
|
14
|
+
|
|
15
|
+
O fluxo segue a mesma linha da rede segura de skills: catalogar, preparar rascunho, revisar, aprovar e so entao distribuir.
|
|
16
|
+
|
|
17
|
+
## Referencias tecnicas pesquisadas
|
|
18
|
+
|
|
19
|
+
- Claude Code Skills: uma skill deve ter `SKILL.md`, descricao para ativacao por relevancia e corpo carregado somente quando usado. Referencia: `https://docs.anthropic.com/en/docs/claude-code/skills`.
|
|
20
|
+
- Model Context Protocol Tools: ferramentas MCP devem expor acoes com schemas claros e metadados, evitando efeitos colaterais implicitos. Referencia: `https://modelcontextprotocol.io/docs/concepts/tools`.
|
|
21
|
+
- OpenAI Evals: mudancas de comportamento de IA devem ser avaliadas com exemplos, criterios e regressao antes de virarem comportamento confiavel. Referencia: `https://platform.openai.com/docs/guides/evals`.
|
|
22
|
+
|
|
23
|
+
## Pipeline proposto
|
|
24
|
+
|
|
25
|
+
1. Registrar o sucesso
|
|
26
|
+
- titulo da implementacao;
|
|
27
|
+
- resumo;
|
|
28
|
+
- arquivos ou links de origem;
|
|
29
|
+
- comandos de validacao;
|
|
30
|
+
- evidencias objetivas de que funcionou.
|
|
31
|
+
|
|
32
|
+
2. Extrair o padrao reutilizavel
|
|
33
|
+
- quando usar;
|
|
34
|
+
- quando nao usar;
|
|
35
|
+
- passos essenciais;
|
|
36
|
+
- pre-condicoes;
|
|
37
|
+
- riscos conhecidos.
|
|
38
|
+
|
|
39
|
+
3. Gerar rascunho local
|
|
40
|
+
- criar `SKILL.md` em uma pasta de staging;
|
|
41
|
+
- criar `manifest.json` com evidencias, hashes, riscos e origem;
|
|
42
|
+
- nao copiar para `~/.codex/skills`;
|
|
43
|
+
- nao publicar no npm;
|
|
44
|
+
- nao habilitar automaticamente.
|
|
45
|
+
|
|
46
|
+
4. Revisar
|
|
47
|
+
- checar duplicidade por nome e hash;
|
|
48
|
+
- exigir evidencias;
|
|
49
|
+
- marcar conteudo arriscado;
|
|
50
|
+
- listar candidatos externos nao aprovados com link do criador.
|
|
51
|
+
|
|
52
|
+
5. Aprovar manualmente
|
|
53
|
+
- somente depois da aprovacao humana a skill pode ser instalada em um diretorio ativo;
|
|
54
|
+
- publicacao para todos continua exigindo autorizacao explicita do usuario.
|
|
55
|
+
|
|
56
|
+
6. Ativar em um escopo escolhido
|
|
57
|
+
- workspace-local: `.codex/skills` dentro do projeto atual;
|
|
58
|
+
- user-global: `${CODEX_HOME:-~/.codex}/skills`;
|
|
59
|
+
- custom: caminho informado explicitamente pelo operador.
|
|
60
|
+
|
|
61
|
+
## Ferramentas MCP adicionadas
|
|
62
|
+
|
|
63
|
+
- `skill_master_prepare_success_skill`
|
|
64
|
+
- gera pacote local com `SKILL.md` e `manifest.json`;
|
|
65
|
+
- registra evidencias, riscos e candidatos externos;
|
|
66
|
+
- nao instala nem ativa.
|
|
67
|
+
|
|
68
|
+
- `skill_master_review_success_skill`
|
|
69
|
+
- revisa o manifesto;
|
|
70
|
+
- retorna recomendacao: `ready-for-human-approval`, `needs-more-evidence`, `needs-security-review` ou `invalid`.
|
|
71
|
+
|
|
72
|
+
- `skill_master_list_unapproved_success_skills`
|
|
73
|
+
- lista rascunhos locais ainda nao aprovados;
|
|
74
|
+
- inclui candidatos externos, motivo e links do criador.
|
|
75
|
+
|
|
76
|
+
- `skill_master_prepare_success_skill_approval_package`
|
|
77
|
+
- cria um pacote Markdown local com checklist de revisao humana;
|
|
78
|
+
- lista recomendacao, riscos, bloqueios e caminhos de cada draft.
|
|
79
|
+
|
|
80
|
+
- `skill_master_activate_success_skill`
|
|
81
|
+
- ativa uma skill aprendida em escopo local, global ou customizado;
|
|
82
|
+
- exige `confirm_activation: true`;
|
|
83
|
+
- grava um registro de aprovacao junto da skill instalada.
|
|
84
|
+
|
|
85
|
+
## Menu e notificacoes
|
|
86
|
+
|
|
87
|
+
O `skill-master-menu` mostra notificacoes no banner quando existem:
|
|
88
|
+
|
|
89
|
+
- drafts de skills aprendidas aguardando decisao;
|
|
90
|
+
- skills externas para estudo ainda nao aprovadas.
|
|
91
|
+
|
|
92
|
+
Acoes adicionadas:
|
|
93
|
+
|
|
94
|
+
- `notifications`: mostra pendencias e acoes sugeridas;
|
|
95
|
+
- `study-skills`: lista links de estudo e criadores;
|
|
96
|
+
- `approval-package`: gera pacote de aprovacao humana;
|
|
97
|
+
- `activate-learned-local`: ativa uma skill em `.codex/skills` do workspace;
|
|
98
|
+
- `activate-learned-global`: ativa uma skill em `${CODEX_HOME:-~/.codex}/skills`.
|
|
99
|
+
|
|
100
|
+
## Regra para candidatos externos
|
|
101
|
+
|
|
102
|
+
Skills encontradas na web ou em repositorios externos podem ajudar, mas entram como `unapproved` ate passarem pelo fluxo interno.
|
|
103
|
+
|
|
104
|
+
Campos minimos:
|
|
105
|
+
|
|
106
|
+
- nome;
|
|
107
|
+
- descricao;
|
|
108
|
+
- link da skill;
|
|
109
|
+
- nome do criador;
|
|
110
|
+
- link do criador;
|
|
111
|
+
- motivo de nao aprovacao;
|
|
112
|
+
- flags de risco.
|
|
113
|
+
|
|
114
|
+
## Estado atual da busca web pelo skill_master
|
|
115
|
+
|
|
116
|
+
No estado atual, `sources.json` cataloga skills locais do usuario e tambem roots de workspace:
|
|
117
|
+
|
|
118
|
+
- `.codex/skills`
|
|
119
|
+
- `.agents/skills`
|
|
120
|
+
|
|
121
|
+
Isso permite que uma skill aprendida e ativada no workspace apareca como fonte `workspace` no catalogo.
|
|
122
|
+
|
|
123
|
+
`webSources` continua vazio por padrao. Portanto, `skill_master_refresh_catalog` com `include_web: true` nao encontra skills web enquanto nao houver fontes allowlisted.
|
|
124
|
+
|
|
125
|
+
Isso e intencionalmente seguro: antes de usar skills externas, uma fonte GitHub precisa ser adicionada explicitamente, revisada e mantida como nao confiavel ate aprovacao.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Arquitetura de Atualizacao Automatica
|
|
2
|
+
|
|
3
|
+
> STATUS: HISTORICO COM PARTES AINDA VALIDAS
|
|
4
|
+
>
|
|
5
|
+
> Este documento nasceu na fase `00.01`.
|
|
6
|
+
> A base conceitual continua util, mas o estado operacional atual deve ser conferido junto com:
|
|
7
|
+
> - `README.md`
|
|
8
|
+
> - `docs/operations/GUIA_MULTI_COMPUTADOR.md`
|
|
9
|
+
> - `docs/operations/GUIA_NPM_PUBLICO.md`
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
# Plano Master - Acionamento automatico e aprendizado do Skill Master
|
|
2
|
+
|
|
3
|
+
Data: 2026-06-27
|
|
4
|
+
Status: plano de execucao, sem publicacao
|
|
5
|
+
|
|
6
|
+
## Visao
|
|
7
|
+
|
|
8
|
+
O `skill-master-mcp` deve evoluir de um catalogo/recomendador de skills para uma camada de orquestracao consciente do trabalho do usuario. O objetivo nao e "executar tudo automaticamente"; o objetivo e reconhecer quando uma skill, um fluxo aprovado ou uma persona tecnica aumenta a qualidade da execucao.
|
|
9
|
+
|
|
10
|
+
O sistema deve ser acionado por:
|
|
11
|
+
|
|
12
|
+
- mencao direta: `skill-master`, `skill_master`, `skill-master-mcp`;
|
|
13
|
+
- indicios de tarefa complexa: implementar, corrigir, pesquisar, publicar, atualizar Notion, validar pacote, revisar seguranca;
|
|
14
|
+
- indicios de aprendizado: "isso deu certo", "aprenda com isso", "crie uma skill", "salve esse fluxo";
|
|
15
|
+
- contexto do computador: skills locais aprovadas, skills globais aprovadas, base de dados de skills, candidatos pendentes.
|
|
16
|
+
|
|
17
|
+
## Principio central
|
|
18
|
+
|
|
19
|
+
O Skill Master deve ser automatico na recomendacao e disciplinado na execucao.
|
|
20
|
+
|
|
21
|
+
Isso significa:
|
|
22
|
+
|
|
23
|
+
- pode recomendar automaticamente;
|
|
24
|
+
- pode preparar plano automaticamente;
|
|
25
|
+
- pode abrir menu/notificacao;
|
|
26
|
+
- pode criar rascunho de skill;
|
|
27
|
+
- nao pode publicar versao sem autorizacao;
|
|
28
|
+
- nao pode aprovar skill externa sozinho;
|
|
29
|
+
- nao pode executar comando destrutivo sem confirmacao clara;
|
|
30
|
+
- nao pode guardar segredo/token em skill.
|
|
31
|
+
|
|
32
|
+
## Persona permanente: Dev Senior Master
|
|
33
|
+
|
|
34
|
+
### Identidade
|
|
35
|
+
|
|
36
|
+
Nome operacional: `Dev Senior Master`.
|
|
37
|
+
|
|
38
|
+
Funcao: atuar como desenvolvedor senior master, engenheiro senior master e arquiteto pragmatico quando o prompt entrar em area de programacao, automacao, MCP, CLI, Notion, distribuicao, seguranca, testes, IA aplicada ou engenharia de produto.
|
|
39
|
+
|
|
40
|
+
### Comportamento
|
|
41
|
+
|
|
42
|
+
- Trabalhar com evidencia: ler o repositorio antes de opinar.
|
|
43
|
+
- Separar plano, implementacao, validacao e publicacao.
|
|
44
|
+
- Preferir solucao simples, segura e testavel.
|
|
45
|
+
- Reusar o que ja existe antes de criar do zero.
|
|
46
|
+
- Preservar alteracoes do usuario.
|
|
47
|
+
- Registrar decisoes importantes no Notion quando o trabalho fizer parte da continuidade do MCP.
|
|
48
|
+
- Validar com comandos reais quando possivel.
|
|
49
|
+
- Tratar web, repos externos e skills externas como material nao confiavel ate aprovacao.
|
|
50
|
+
- Avisar riscos tecnicos sem paralisar o trabalho.
|
|
51
|
+
- Nao transformar brainstorm em release.
|
|
52
|
+
|
|
53
|
+
### Estilo tecnico
|
|
54
|
+
|
|
55
|
+
- clareza objetiva;
|
|
56
|
+
- rigor de engenharia;
|
|
57
|
+
- decisao defensavel;
|
|
58
|
+
- foco em manutencao;
|
|
59
|
+
- foco em usuario real;
|
|
60
|
+
- zero publicacao sem autorizacao.
|
|
61
|
+
|
|
62
|
+
## Modos de ativacao
|
|
63
|
+
|
|
64
|
+
### 1. `manual`
|
|
65
|
+
|
|
66
|
+
Aciona somente quando o usuario mencionar `skill-master`, `skill_master` ou `skill-master-mcp`.
|
|
67
|
+
|
|
68
|
+
Uso:
|
|
69
|
+
|
|
70
|
+
- ambientes novos;
|
|
71
|
+
- usuarios que querem controle total;
|
|
72
|
+
- debugging de ativacao.
|
|
73
|
+
|
|
74
|
+
### 2. `balanced`
|
|
75
|
+
|
|
76
|
+
Aciona em mencao direta e em tarefas tecnicas onde a chance de ganho seja alta.
|
|
77
|
+
|
|
78
|
+
Exemplos:
|
|
79
|
+
|
|
80
|
+
- "crie uma skill";
|
|
81
|
+
- "atualize o Notion";
|
|
82
|
+
- "pesquise e implemente";
|
|
83
|
+
- "valide o pacote npm";
|
|
84
|
+
- "melhore o menu do MCP";
|
|
85
|
+
- "gere prompts para execucao";
|
|
86
|
+
- "aprenda com essa implementacao".
|
|
87
|
+
|
|
88
|
+
Uso padrao recomendado.
|
|
89
|
+
|
|
90
|
+
### 3. `always-on-assisted`
|
|
91
|
+
|
|
92
|
+
Aciona como avaliador silencioso em quase todo prompt tecnico. Ele nao executa tudo; ele devolve recomendacao, persona e plano curto.
|
|
93
|
+
|
|
94
|
+
Regra:
|
|
95
|
+
|
|
96
|
+
- se a tarefa for trivial, responder que nenhuma skill e necessaria;
|
|
97
|
+
- se houver skill util, recomendar e justificar;
|
|
98
|
+
- se houver risco, bloquear ou pedir aprovacao;
|
|
99
|
+
- se houver aprendizado possivel, sugerir captura.
|
|
100
|
+
|
|
101
|
+
Uso:
|
|
102
|
+
|
|
103
|
+
- ambiente pessoal do usuario;
|
|
104
|
+
- computador principal;
|
|
105
|
+
- apos evals com baixa taxa de falso positivo.
|
|
106
|
+
|
|
107
|
+
## Arquitetura proposta
|
|
108
|
+
|
|
109
|
+
```mermaid
|
|
110
|
+
flowchart TD
|
|
111
|
+
A[Prompt do usuario] --> B[Skill global skill-master-orchestrator]
|
|
112
|
+
B --> C{Mencao direta ou tarefa tecnica?}
|
|
113
|
+
C -->|nao| D[Responder sem Skill Master]
|
|
114
|
+
C -->|sim| E[skill_master_prompt_router]
|
|
115
|
+
E --> F[Recomendacao de skills]
|
|
116
|
+
E --> G[Persona Dev Senior Master]
|
|
117
|
+
E --> H[Plano e riscos]
|
|
118
|
+
F --> I[Execucao assistida]
|
|
119
|
+
I --> J{Sucesso comprovado?}
|
|
120
|
+
J -->|sim| K[skill_master_learn_success]
|
|
121
|
+
K --> L[Skill candidata]
|
|
122
|
+
L --> M[Aprovacao humana]
|
|
123
|
+
M -->|aprovada| N[Skill local/global]
|
|
124
|
+
M -->|reprovada| O[Lista de estudo]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Novas capacidades MCP
|
|
128
|
+
|
|
129
|
+
### `skill_master_prompt_router`
|
|
130
|
+
|
|
131
|
+
Entrada:
|
|
132
|
+
|
|
133
|
+
- prompt do usuario;
|
|
134
|
+
- modo de ativacao;
|
|
135
|
+
- contexto do projeto;
|
|
136
|
+
- lista de skills locais/globais;
|
|
137
|
+
- flags de risco.
|
|
138
|
+
|
|
139
|
+
Saida:
|
|
140
|
+
|
|
141
|
+
- `should_activate`;
|
|
142
|
+
- `activation_reason`;
|
|
143
|
+
- `recommended_skills`;
|
|
144
|
+
- `persona_overlay`;
|
|
145
|
+
- `execution_mode`;
|
|
146
|
+
- `safety_gates`;
|
|
147
|
+
- `notion_update_needed`;
|
|
148
|
+
- `learning_opportunity`;
|
|
149
|
+
- `next_action`.
|
|
150
|
+
|
|
151
|
+
### `skill_master_activation_config`
|
|
152
|
+
|
|
153
|
+
Gerencia configuracao:
|
|
154
|
+
|
|
155
|
+
- modo atual;
|
|
156
|
+
- termos de ativacao;
|
|
157
|
+
- diretorios de skills locais/globais;
|
|
158
|
+
- politica de aprovacao;
|
|
159
|
+
- notificacoes do menu.
|
|
160
|
+
|
|
161
|
+
### `skill_master_learn_success`
|
|
162
|
+
|
|
163
|
+
Registra um sucesso comprovado:
|
|
164
|
+
|
|
165
|
+
- descricao do problema;
|
|
166
|
+
- evidencias;
|
|
167
|
+
- arquivos relevantes;
|
|
168
|
+
- comandos e resultados;
|
|
169
|
+
- decisao do usuario;
|
|
170
|
+
- padrao reutilizavel;
|
|
171
|
+
- riscos e limites.
|
|
172
|
+
|
|
173
|
+
### `skill_master_generate_skill_candidate`
|
|
174
|
+
|
|
175
|
+
Gera rascunho de skill:
|
|
176
|
+
|
|
177
|
+
- `SKILL.md` candidato;
|
|
178
|
+
- exemplos de prompts;
|
|
179
|
+
- checklist de validacao;
|
|
180
|
+
- fontes e evidencias;
|
|
181
|
+
- status `pending_approval`.
|
|
182
|
+
|
|
183
|
+
### `skill_master_approve_skill_candidate`
|
|
184
|
+
|
|
185
|
+
Ativa apos aprovacao:
|
|
186
|
+
|
|
187
|
+
- local no projeto;
|
|
188
|
+
- global no computador;
|
|
189
|
+
- registro no Notion;
|
|
190
|
+
- hash e data de aprovacao.
|
|
191
|
+
|
|
192
|
+
## Pipeline de aprendizado
|
|
193
|
+
|
|
194
|
+
### Etapa 1 - Captura
|
|
195
|
+
|
|
196
|
+
Acionada quando:
|
|
197
|
+
|
|
198
|
+
- o usuario disser que funcionou;
|
|
199
|
+
- testes passarem;
|
|
200
|
+
- build/smoke passar;
|
|
201
|
+
- Notion registrar sucesso;
|
|
202
|
+
- um prompt task for concluido com evidencia.
|
|
203
|
+
|
|
204
|
+
### Etapa 2 - Destilacao
|
|
205
|
+
|
|
206
|
+
Transformar a implementacao em padrao:
|
|
207
|
+
|
|
208
|
+
- qual problema resolve;
|
|
209
|
+
- quando usar;
|
|
210
|
+
- quando nao usar;
|
|
211
|
+
- preflight necessario;
|
|
212
|
+
- comandos confiaveis;
|
|
213
|
+
- arquivos que normalmente mudam;
|
|
214
|
+
- riscos;
|
|
215
|
+
- validacoes.
|
|
216
|
+
|
|
217
|
+
### Etapa 3 - Candidato
|
|
218
|
+
|
|
219
|
+
Criar uma skill candidata, mas nao ativa:
|
|
220
|
+
|
|
221
|
+
- frontmatter com descricao forte de trigger;
|
|
222
|
+
- corpo curto;
|
|
223
|
+
- referencias quando necessario;
|
|
224
|
+
- exemplos;
|
|
225
|
+
- evidencias;
|
|
226
|
+
- status pendente.
|
|
227
|
+
|
|
228
|
+
### Etapa 4 - Avaliacao
|
|
229
|
+
|
|
230
|
+
Rodar validacoes:
|
|
231
|
+
|
|
232
|
+
- formato da skill;
|
|
233
|
+
- risco de segredo;
|
|
234
|
+
- comandos destrutivos;
|
|
235
|
+
- origem externa;
|
|
236
|
+
- licenca/proveniencia;
|
|
237
|
+
- duplicidade com skills existentes;
|
|
238
|
+
- prompt evals de ativacao.
|
|
239
|
+
|
|
240
|
+
### Etapa 5 - Aprovacao humana
|
|
241
|
+
|
|
242
|
+
Menu deve mostrar:
|
|
243
|
+
|
|
244
|
+
- candidatos pendentes;
|
|
245
|
+
- score de confianca;
|
|
246
|
+
- evidencias;
|
|
247
|
+
- opcoes: aprovar local, aprovar global, manter para estudo, rejeitar.
|
|
248
|
+
|
|
249
|
+
### Etapa 6 - Ativacao
|
|
250
|
+
|
|
251
|
+
Se aprovada:
|
|
252
|
+
|
|
253
|
+
- copiar para `.codex/skills` do projeto ou `~/.codex/skills`;
|
|
254
|
+
- registrar em `network/approved-skills.json`;
|
|
255
|
+
- atualizar Notion;
|
|
256
|
+
- adicionar ao menu.
|
|
257
|
+
|
|
258
|
+
## Plano de execucao
|
|
259
|
+
|
|
260
|
+
### Fase 1 - Documentacao e prompts
|
|
261
|
+
|
|
262
|
+
Entregas:
|
|
263
|
+
|
|
264
|
+
- pesquisa tecnica;
|
|
265
|
+
- plano master;
|
|
266
|
+
- prompts `.md` executaveis;
|
|
267
|
+
- pagina Notion com roteiro.
|
|
268
|
+
|
|
269
|
+
Status: fase atual.
|
|
270
|
+
|
|
271
|
+
### Fase 2 - Persona e skill orquestradora
|
|
272
|
+
|
|
273
|
+
Entregas:
|
|
274
|
+
|
|
275
|
+
- skill `skill-master-orchestrator`;
|
|
276
|
+
- persona `Dev Senior Master`;
|
|
277
|
+
- referencias de politicas;
|
|
278
|
+
- validacao com `quick_validate.py`.
|
|
279
|
+
|
|
280
|
+
### Fase 3 - Router de ativacao
|
|
281
|
+
|
|
282
|
+
Entregas:
|
|
283
|
+
|
|
284
|
+
- modulo `src/prompt-router.ts`;
|
|
285
|
+
- tool MCP `skill_master_prompt_router`;
|
|
286
|
+
- testes de roteamento;
|
|
287
|
+
- fixtures de prompts positivos/negativos.
|
|
288
|
+
|
|
289
|
+
### Fase 4 - Configuracao e menu
|
|
290
|
+
|
|
291
|
+
Entregas:
|
|
292
|
+
|
|
293
|
+
- modo de ativacao configuravel;
|
|
294
|
+
- notificacoes no `skill-master-menu`;
|
|
295
|
+
- comando para status;
|
|
296
|
+
- comando para alternar modo.
|
|
297
|
+
|
|
298
|
+
### Fase 5 - Aprendizado de sucesso
|
|
299
|
+
|
|
300
|
+
Entregas:
|
|
301
|
+
|
|
302
|
+
- pipeline de evidencia;
|
|
303
|
+
- geracao de skill candidata;
|
|
304
|
+
- pacote de aprovacao humana;
|
|
305
|
+
- aprovacao local/global.
|
|
306
|
+
|
|
307
|
+
### Fase 6 - Evals e governanca
|
|
308
|
+
|
|
309
|
+
Entregas:
|
|
310
|
+
|
|
311
|
+
- suite de evals;
|
|
312
|
+
- metricas;
|
|
313
|
+
- relatorio de falso positivo/falso negativo;
|
|
314
|
+
- gates antes de publicar.
|
|
315
|
+
|
|
316
|
+
### Fase 7 - Piloto local
|
|
317
|
+
|
|
318
|
+
Entregas:
|
|
319
|
+
|
|
320
|
+
- instalacao local;
|
|
321
|
+
- teste em prompts reais;
|
|
322
|
+
- ajuste de trigger;
|
|
323
|
+
- Notion atualizado.
|
|
324
|
+
|
|
325
|
+
### Fase 8 - Release somente com autorizacao
|
|
326
|
+
|
|
327
|
+
Entregas:
|
|
328
|
+
|
|
329
|
+
- bump de versao;
|
|
330
|
+
- changelog;
|
|
331
|
+
- pack/install smoke;
|
|
332
|
+
- publicacao apenas se o usuario autorizar.
|
|
333
|
+
|
|
334
|
+
## Definition of Done
|
|
335
|
+
|
|
336
|
+
- Existe uma pagina Notion com plano e roteiro.
|
|
337
|
+
- Existem prompts `.md` sequenciados para execucao.
|
|
338
|
+
- O plano separa ativacao, aprendizado, aprovacao, evals e publicacao.
|
|
339
|
+
- A persona `Dev Senior Master` esta especificada.
|
|
340
|
+
- O modo automatico e descrito como assistido, medido e seguro.
|
|
341
|
+
- Nenhuma publicacao foi feita sem autorizacao.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Rede Segura de Skills do Skill Master
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Permitir que o `skill_master` fique cada vez melhor em varios computadores sem transformar o MCP em um coletor automatico de arquivos privados ou em um canal de execucao de conteudo desconhecido.
|
|
6
|
+
|
|
7
|
+
O modelo correto e:
|
|
8
|
+
|
|
9
|
+
1. cada instalacao aprende com as skills locais da propria maquina;
|
|
10
|
+
2. a instalacao compara essas skills com um indice aprovado;
|
|
11
|
+
3. o usuario gera um pacote local de contribuicao;
|
|
12
|
+
4. o pacote e revisado antes de qualquer compartilhamento;
|
|
13
|
+
5. somente skills aprovadas por revisao humana entram no indice compartilhado.
|
|
14
|
+
|
|
15
|
+
## Principios de seguranca
|
|
16
|
+
|
|
17
|
+
- Nenhuma skill desconhecida e executada automaticamente.
|
|
18
|
+
- Nenhum arquivo e enviado automaticamente.
|
|
19
|
+
- Caminhos absolutos da maquina nao entram no pacote de contribuicao.
|
|
20
|
+
- O corpo completo da skill nao entra no pacote por padrao.
|
|
21
|
+
- Previews de corpo, quando ativados, sao limitados e passam por redacao basica de segredos.
|
|
22
|
+
- Skills vindas da web continuam marcadas como nao confiaveis.
|
|
23
|
+
- Workspace e plugin entram em contribuicao apenas por opt-in.
|
|
24
|
+
- Candidatos com sinais de risco exigem revisao humana de seguranca.
|
|
25
|
+
|
|
26
|
+
## Arquitetura
|
|
27
|
+
|
|
28
|
+
```mermaid
|
|
29
|
+
flowchart TD
|
|
30
|
+
A["Notebook com skill_master"] --> B["Atualiza catalogo local"]
|
|
31
|
+
B --> C["Compara com network/approved-skills.json"]
|
|
32
|
+
C --> D["Gera contribution draft local"]
|
|
33
|
+
D --> E["Revisa duplicidade, privacidade e risco"]
|
|
34
|
+
E --> F{"Aprovado por humano?"}
|
|
35
|
+
F -- "Nao" --> G["Descarta ou corrige"]
|
|
36
|
+
F -- "Sim" --> H["Atualiza indice aprovado via PR/release"]
|
|
37
|
+
H --> I["Outros notebooks recebem pelo update normal"]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Ferramentas MCP
|
|
41
|
+
|
|
42
|
+
### `skill_master_refresh_catalog`
|
|
43
|
+
|
|
44
|
+
Atualiza o catalogo local a partir das fontes configuradas em `sources.json`.
|
|
45
|
+
|
|
46
|
+
Use quando:
|
|
47
|
+
|
|
48
|
+
- instalar o MCP em uma maquina nova;
|
|
49
|
+
- adicionar novas skills locais;
|
|
50
|
+
- mudar fontes em `sources.json`;
|
|
51
|
+
- preparar uma contribuicao.
|
|
52
|
+
|
|
53
|
+
### `skill_master_prepare_skill_contribution`
|
|
54
|
+
|
|
55
|
+
Cria um pacote JSON local com skills novas que ainda nao estao no indice aprovado.
|
|
56
|
+
|
|
57
|
+
Parametros importantes:
|
|
58
|
+
|
|
59
|
+
- `refresh_first`: atualiza o catalogo antes de preparar o pacote.
|
|
60
|
+
- `include_body_preview`: inclui um preview curto e redigido do conteudo. Padrao: `false`.
|
|
61
|
+
- `include_workspace`: permite incluir skills de workspace. Padrao: `false`.
|
|
62
|
+
- `include_plugin`: permite incluir skills de plugin. Padrao: `false`.
|
|
63
|
+
- `machine_label`: rotulo opcional da maquina, sem dados sensiveis.
|
|
64
|
+
- `max_candidates`: limite de candidatos.
|
|
65
|
+
- `output_dir`: pasta local para salvar o JSON.
|
|
66
|
+
|
|
67
|
+
Resultado:
|
|
68
|
+
|
|
69
|
+
- cria um arquivo `skill-contribution-*.json`;
|
|
70
|
+
- informa quantos candidatos foram encontrados;
|
|
71
|
+
- informa quantos foram ignorados por nome/hash conhecido;
|
|
72
|
+
- informa quantos possuem flags de risco;
|
|
73
|
+
- nao faz upload.
|
|
74
|
+
|
|
75
|
+
### `skill_master_review_skill_contribution`
|
|
76
|
+
|
|
77
|
+
Revisa um pacote JSON criado pela ferramenta anterior.
|
|
78
|
+
|
|
79
|
+
Ela verifica:
|
|
80
|
+
|
|
81
|
+
- schema do arquivo;
|
|
82
|
+
- candidatos duplicados por hash;
|
|
83
|
+
- candidatos duplicados por nome normalizado;
|
|
84
|
+
- inclusao indevida de caminhos completos;
|
|
85
|
+
- inclusao indevida de corpos completos;
|
|
86
|
+
- flags de risco como comandos destrutivos, downloads pipeados para shell ou segredos aparentes.
|
|
87
|
+
|
|
88
|
+
Resultado esperado:
|
|
89
|
+
|
|
90
|
+
- `safe-to-review`: pode seguir para revisao humana comum;
|
|
91
|
+
- `needs-human-security-review`: requer revisao de seguranca;
|
|
92
|
+
- `invalid`: arquivo invalido ou schema nao suportado.
|
|
93
|
+
|
|
94
|
+
## Indice aprovado
|
|
95
|
+
|
|
96
|
+
Arquivo:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
network/approved-skills.json
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Formato:
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"generatedAt": "2026-06-25T00:00:00.000Z",
|
|
107
|
+
"policyVersion": "safe-skill-network-v1",
|
|
108
|
+
"skills": [
|
|
109
|
+
{
|
|
110
|
+
"name": "example-skill",
|
|
111
|
+
"description": "Descricao aprovada.",
|
|
112
|
+
"contentHash": "sha256...",
|
|
113
|
+
"sourceKind": "network",
|
|
114
|
+
"approvedAt": "2026-06-25T00:00:00.000Z",
|
|
115
|
+
"approvedBy": "reviewer"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
O indice nao precisa armazenar o corpo inteiro da skill. Ele funciona como uma lista de conhecimento aprovado para deduplicacao e governanca.
|
|
122
|
+
|
|
123
|
+
## Fluxo recomendado
|
|
124
|
+
|
|
125
|
+
1. No notebook novo, rode `skill_master_refresh_catalog`.
|
|
126
|
+
2. Rode `skill_master_prepare_skill_contribution`.
|
|
127
|
+
3. Revise o JSON local gerado.
|
|
128
|
+
4. Rode `skill_master_review_skill_contribution` no arquivo gerado.
|
|
129
|
+
5. Se estiver seguro, abra um PR atualizando o indice aprovado ou adicionando a skill em um pacote de distribuicao.
|
|
130
|
+
6. Publique uma release/canal `stable`.
|
|
131
|
+
7. Outros notebooks recebem a melhoria pelo fluxo normal de update.
|
|
132
|
+
|
|
133
|
+
## O que nao fazer
|
|
134
|
+
|
|
135
|
+
- Nao sincronizar skills desconhecidas automaticamente entre maquinas.
|
|
136
|
+
- Nao copiar arquivos inteiros de skills sem revisao.
|
|
137
|
+
- Nao aceitar scripts de instalacao embutidos em skills sem analise.
|
|
138
|
+
- Nao transformar uma skill local em trusted apenas porque ela existe em uma maquina.
|
|
139
|
+
- Nao publicar contribuicoes com caminhos absolutos do computador.
|
|
140
|
+
- Nao publicar segredos, tokens, URLs privadas ou dados internos de clientes.
|
|
141
|
+
|
|
142
|
+
## Proximas evolucoes
|
|
143
|
+
|
|
144
|
+
- Adicionar aprovacao por assinatura de pacote.
|
|
145
|
+
- Criar workflow de GitHub para validar `skill-contribution-*.json`.
|
|
146
|
+
- Criar comando para promover candidatos aprovados ao indice.
|
|
147
|
+
- Criar canal `beta` para skills experimentais.
|
|
148
|
+
- Adicionar score de risco mais granular.
|