Skill Manager for Copilot
Gerencie, sincronize e descubra skills do GitHub Copilot a partir de múltiplos repositórios Git.
Features
- Multi-repo — Configure quantos repositórios de skills quiser (público ou privado)
- Sync automático — Pull periódico com detecção de divergência via SHA-256
- Push de melhorias — Envie feedback e melhorias de skills de volta ao repo via branch + PR
- Prioridade configurável — Quando a mesma skill existe em 2+ repos, a prioridade decide
- Edição local segura — Edite skills localmente sem perder suas mudanças no próximo sync
- Sidebar dedicada — Activity bar com TreeView agrupada por repositório
- Status bar — Indicador de estado de sync sempre visível
Instalação
Marketplace
Busque por "Skill Manager for Copilot" no VS Code Extensions.
Manual (VSIX)
npx vsce package
code --install-extension copilot-skill-manager-0.1.0.vsix
Uso
1. Adicionar repositório
Ctrl+Shift+P → Skills: Add Repository → Cole a URL do repo Git.
Ou adicione o repo oficial:
Ctrl+Shift+P → Skills: Add Official Repository
2. Pull de skills
As skills são sincronizadas automaticamente ao abrir o VS Code. Para sync manual:
Ctrl+Shift+P → Skills: Pull All
3. Push de melhorias
Clique com botão direito em uma skill na sidebar → Push Improvement, ou:
Ctrl+Shift+P → Skills: Push Improvement
Cria uma branch, commita as mudanças e mostra o link para abrir o PR.
4. Status e diff
Ctrl+Shift+P → Skills: Show Status
Mostra QuickPick com todas as skills e abre diff visual (local ↔ repo).
Configurações
| Propriedade |
Default |
Descrição |
skillManager.repos |
[] |
Repositórios Git de skills |
skillManager.syncInterval |
3600 |
Intervalo de sync automático em segundos (0 = desabilitado) |
skillManager.conflictStrategy |
"highest-priority" |
Estratégia quando a mesma skill existe em múltiplos repos |
skillManager.autoSync |
true |
Sync automático ao iniciar o VS Code |
skillManager.skillsPath |
"" |
Caminho para pasta de skills (vazio = auto-detect ~/.copilot/skills/) |
skillManager.localEditStrategy |
"ask" |
O que fazer quando repo tem versão nova mas local foi editado |
conflictStrategy
| Valor |
Comportamento |
highest-priority |
Skill do repo com menor priority vence (silencioso) |
ask |
Pergunta ao usuário qual versão manter |
keep-local |
Mantém a versão já instalada |
localEditStrategy
| Valor |
Comportamento |
ask |
Pergunta: manter local, atualizar, ou ver diff |
keep-local |
Mantém edições locais, marca como divergente |
overwrite |
Substitui pelo repo (edições locais perdidas) |
Comandos
| Comando |
Descrição |
Skills: Pull All |
Sincroniza todas as skills de todos os repos |
Skills: Pull From... |
Sincroniza de um repo específico |
Skills: Push Improvement |
Envia melhorias via branch + PR |
Skills: Show Status |
Status de todas as skills com diff visual |
Skills: Add Repository |
Adiciona um repo de skills |
Skills: Remove Repository |
Remove um repo configurado |
Skills: Add Official Repository |
Adiciona o repo oficial de skills |
Skills: Browse Catalog |
Navega skills do repo oficial |
Skills: Disable Skill |
Desabilita uma skill (rename com .disabled) |
Skills: Enable Skill |
Reabilita uma skill desabilitada |
Skills: Remove Skill |
Remove uma skill local permanentemente |
Estrutura de um repo de skills
meu-repo/
├── .skillmanager.json # (opcional) config do repo
└── skills/
├── minha-skill/
│ ├── SKILL.md # (obrigatório) definição da skill
│ └── FEEDBACK.md # (opcional) template de feedback
└── outra-skill/
└── SKILL.md
Segurança
- Zero dados sensíveis — A extensão é open-source, sem segredos embarcados
- Auth via Git nativo — Credenciais delegadas ao credential manager do OS
- Push apenas via branch — Toda mudança passa por PR review
- Sem telemetria — Nenhum dado de uso é coletado
License
MIT