[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M714MNK64CJ4SCN195ZHBAXM":3,"skill-same:01M714MNK64CJ4SCN195ZHBAXM":103},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":14,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M714MNK64CJ4SCN195ZHBAXM","skill-installer",null,"Instala, valida, registra e verifica novas skills no ecossistema. 10 checks de seguranca, copia, registro no orchestrator e verificacao pos-instalacao.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"skill installer","installer","cursor","2026","pos","codex-cli","de","skill-management","installation","community","orchestrator","cli","management","validation","code","deployment","codex","antigravity","gemini","safe","2026-11-10 10:12:30",false,"---\nname: skill-installer\ndescription: Instala, valida, registra e verifica novas skills no ecossistema. 10 checks de seguranca, copia, registro no orchestrator e verificacao pos-instalacao.\nrisk: safe\nsource: community\ndate_added: '2026-03-06'\nauthor: renat\ntags:\n- skill-management\n- deployment\n- validation\n- installation\ntools:\n- claude-code\n- antigravity\n- cursor\n- gemini-cli\n- codex-cli\n---\n\n# Skill Installer v3.0\n\n## Overview\n\nInstala, valida, registra e verifica novas skills no ecossistema. 10 checks de seguranca, copia, registro no orchestrator e verificacao pos-instalacao.\n\n## When to Use This Skill\n\n- When the user mentions \"instalar skill\" or related topics\n- When the user mentions \"install skill\" or related topics\n- When the user mentions \"registrar skill\" or related topics\n- When the user mentions \"nova skill\" or related topics\n- When the user mentions \"new skill\" or related topics\n- When the user mentions \"adicionar skill ao ecossistema\" or related topics\n\n## Do Not Use This Skill When\n\n- The task is unrelated to skill installer\n- A simpler, more specific tool can handle the request\n- The user needs general-purpose assistance without domain expertise\n\n## How It Works\n\nAgente instalador enterprise-grade que garante que toda skill criada (via skill-creator\nou manualmente) seja corretamente instalada, registrada e verificada no ecossistema.\nInclui auto-repair, rollback, dry-run, dashboard, e diagnostico avancado.\n\n## Principio: Redundancia Maxima\n\nSeis camadas de validacao garantem que nenhuma skill fique mal-instalada:\n\n| Camada | Script | O que valida |\n|--------|--------|-------------|\n| 1 | detect_skills.py | SKILL.md existe + tem frontmatter |\n| 2 | validate_skill.py | 10 checks profundos |\n| 3 | install_skill.py (pre) | Conflitos, permissoes, espaco, versao |\n| 4 | install_skill.py (pos) | Arquivos copiados corretamente |\n| 5 | scan_registry.py | Skill aparece no registry (com deduplicacao) |\n| 6 | package_skill.py | ZIP valido sem backslashes, nao-vazio, integrity check |\n\n---\n\n## Localizacao\n\n```\nC:\\Users\\renat\\skills\\skill-installer\\\n├── SKILL.md              \u003C- este arquivo\n├── scripts\u002F\n│   ├── install_skill.py  \u003C- instalador principal (11 passos) + todos os comandos\n│   ├── detect_skills.py  \u003C- scanner de skills nao-instaladas\n│   ├── validate_skill.py \u003C- validacao profunda (10 checks)\n│   ├── package_skill.py  \u003C- empacotador ZIP + verificador de integridade\n│   └── requirements.txt\n├── references\u002F\n│   └── known-locations.md\n└── data\u002F\n    ├── install_log.json  \u003C- log de operacoes (auto-gerado, com rotacao)\n    ├── backups\u002F          \u003C- backups antes de sobrescrever\n    └── staging\u002F          \u003C- area temporaria para copias seguras\n```\n\n---\n\n## Workflow Principal\n\nQuando esta skill for ativada, siga estes passos na ordem:\n\n## Cenario 1: Apos Skill-Creator Finalizar\n\nO skill-creator acabou de criar uma skill em algum diretorio. Execute:\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --source \"\u003Ccaminho-da-skill-criada>\" --force\n```\n\nSubstitua `\u003Ccaminho-da-skill-criada>` pelo diretorio onde o skill-creator salvou a skill.\n\n## Cenario 2: Usuario Pede Para Instalar Uma Skill Especifica\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --source \"\u003Ccaminho>\" [--name \"nome-override\"] [--force]\n```\n\n## Cenario 3: Simular Instalacao Sem Fazer Nada (Dry-Run)\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --source \"\u003Ccaminho>\" --dry-run\n```\n\nMostra exatamente o que seria feito em cada um dos 11 passos, sem alterar nenhum arquivo.\n\n## Cenario 4: Detectar E Instalar Skills Pendentes\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --detect\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --detect --auto\n```\n\nEscaneia locais conhecidos (Desktop, Downloads, Temp, workspaces) e apresenta\ncandidatos com timestamps e tamanho. Com --auto instala todos automaticamente.\n\n## Cenario 5: Desinstalar Uma Skill\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --uninstall \"nome-da-skill\"\n```\n\nRemove de `skills\u002F`, `.claude\u002Fskills\u002F`, atualiza o registry e remove ZIP do Desktop.\nBackup automatico e feito antes da remocao.\n\n## Cenario 6: Health Check + Auto-Repair\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --health\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --health --repair\n```\n\n`--health` verifica TODAS as skills: frontmatter, registro, registry, duplicatas.\n`--health --repair` encontra problemas E os corrige automaticamente:\n- Skills nao registradas -> registra\n- Skills faltando no registry -> atualiza\n- Duplicatas -> remove\n\n## Cenario 7: Rollback (Restaurar De Backup)\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --rollback \"nome-da-skill\"\n```\n\nEncontra o backup mais recente da skill e restaura para o estado anterior.\nRe-registra e atualiza o registry automaticamente.\n\n## Cenario 8: Reinstalar Todas As Skills\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --reinstall-all\n```\n\nRe-registra TODAS as skills em `.claude\u002Fskills\u002F`, re-empacota todos os ZIPs,\ne atualiza o registry. Util apos mudancas em massa ou migracao.\n\n## Cenario 9: Dashboard De Status\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --status\n```\n\nExibe dashboard rico com: nome, versao, saude, registro, backups de cada skill,\nestatisticas de operacoes (installs, uninstalls, rollbacks).\n\n## Cenario 10: Ver Historico De Operacoes\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --log\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --log 50\n```\n\nMostra as ultimas N operacoes com timestamp, tipo, skill e resultado.\n\n---\n\n## Validar Uma Skill\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\validate_skill.py \"C:\\caminho\\para\\skill\"\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\validate_skill.py \"C:\\caminho\\para\\skill\" --strict\n```\n\nRetorna JSON com `valid` (bool), `checks`, `warnings`, `errors`.\n\n## Detectar Skills Nao-Instaladas\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\detect_skills.py\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\detect_skills.py --path \"C:\\diretorio\\especifico\"\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\detect_skills.py --all\n```\n\nRetorna JSON com candidatos incluindo: `name`, `source_path`, `already_installed`,\n`valid_frontmatter`, `last_modified`, `size_kb`, `file_count`.\n\n## Empacotar Zip Para Claude.Ai\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --source \"C:\\caminho\"\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --all\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --all --output \"C:\\Users\\renat\\Desktop\"\n```\n\n## Verificar Integridade De Zips Existentes\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --verify\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --verify --output \"C:\\Users\\renat\\Desktop\"\n```\n\n---\n\n## Install_Skill.Py\n\n| Comando | Descricao |\n|---------|-----------|\n| `--source \u003Cpath>` | Instalar skill de caminho |\n| `--source \u003Cpath> --force` | Sobrescrever se existir |\n| `--source \u003Cpath> --name \u003Cnome>` | Nome customizado |\n| `--source \u003Cpath> --dry-run` | Simular sem alterar |\n| `--detect` | Auto-detectar skills pendentes |\n| `--detect --auto` | Detectar e instalar automaticamente |\n| `--uninstall \u003Cnome>` | Desinstalar (com backup) |\n| `--rollback \u003Cnome>` | Restaurar do ultimo backup |\n| `--reinstall-all` | Re-registrar + re-empacotar todas |\n| `--health` | Health check de todas as skills |\n| `--health --repair` | Health check + auto-correcao |\n| `--status` | Dashboard rico com versoes, saude, backups |\n| `--log [N]` | Ultimas N operacoes (padrao: 20) |\n| `--json` | Saida JSON em vez de texto formatado |\n\n---\n\n## O Que O Instalador Faz (11 Passos)\n\n1. **Resolver fonte** - identifica o diretorio da skill\n2. **Validar** - roda 10 checks no SKILL.md e estrutura\n3. **Determinar nome** - extrai do frontmatter ou usa --name, compara versoes\n4. **Verificar conflitos** - checa se ja existe no destino\n5. **Backup** - se sobrescrevendo, faz backup timestamped (exclui backups\u002F e staging\u002F)\n6. **Copiar via staging** - copia para area temp, valida hash, depois move\n7. **Registrar no Claude Code CLI** - copia SKILL.md para .claude\u002Fskills\u002F\u003Cnome>\u002F\n8. **Atualizar registry** - roda scan_registry.py --force (com deduplicacao por nome)\n9. **Verificar instalacao** - confirma arquivos, registry, registro (5 checks)\n10. **Empacotar ZIP** - cria ZIP para upload no Claude.ai web\u002Fdesktop (validado)\n11. **Logar operacao** - append em install_log.json (com rotacao automatica)\n\n**IMPORTANTE**: Skills no Claude Code (CLI) e Claude.ai (web\u002Fdesktop) sao SEPARADAS.\nO instalador cobre ambas superficies automaticamente.\n\n---\n\n## Seguranca\n\n- **Backups automaticos**: antes de qualquer sobrescrita, backup em `data\u002Fbackups\u002F\u003Cnome>_\u003Ctimestamp>\u002F`\n- **Staging area**: copia para temp primeiro, valida hash, depois move (minimiza corrupcao)\n- **Idempotencia**: rodar 2x com mesma source detecta hashes identicos, nao duplica\n- **Arquivos proibidos**: bloqueia instalacao se encontrar .env, *.key, *.pem, credentials.*\n- **Log com rotacao**: toda operacao logada; mantem ultimas 500 entradas\n- **Limite de backups**: mantem ultimos 5 por skill, limpa automaticamente\n- **Anti-recursao**: backup e staging excluem seus proprios subdiretorios\n- **Deduplicacao no registry**: scan_registry.py deduplica por nome (case-insensitive)\n- **ZIP validado**: verifica ausencia de backslashes, conteudo nao-vazio, integridade\n- **Dry-run**: simula instalacao completa sem tocar nenhum arquivo\n- **Rollback**: restaura de backup com re-registro automatico\n- **Comparacao de versao**: detecta upgrade\u002Fdowngrade\u002Fsame antes de sobrescrever\n- **Hash normalizado**: md5_dir usa forward slashes e exclui dirs de sistema\n\n---\n\n## Integracao Com Orchestrator\n\nEsta skill e auto-detectada pelo `scan_registry.py` e matchada pelo `match_skills.py`\nquando o usuario menciona keywords de instalacao. Nenhuma configuracao manual necessaria.\n\nAlem disso, o CLAUDE.md global contem instrucao para rodar o instalador automaticamente\napos o skill-creator finalizar uma skill.\n\n## Best Practices\n\n- Provide clear, specific context about your project and requirements\n- Review all suggestions before applying them to production code\n- Combine with other complementary skills for comprehensive analysis\n\n## Common Pitfalls\n\n- Using this skill for tasks outside its domain expertise\n- Applying recommendations without understanding your specific context\n- Not providing enough project context for accurate analysis\n\n## Related Skills\n\n- `skill-sentinel` - Complementary skill for enhanced analysis\n","# Skill Installer v3.0\n\n## Overview\n\nInstala, valida, registra e verifica novas skills no ecossistema. 10 checks de seguranca, copia, registro no orchestrator e verificacao pos-instalacao.\n\n## When to Use This Skill\n\n- When the user mentions \"instalar skill\" or related topics\n- When the user mentions \"install skill\" or related topics\n- When the user mentions \"registrar skill\" or related topics\n- When the user mentions \"nova skill\" or related topics\n- When the user mentions \"new skill\" or related topics\n- When the user mentions \"adicionar skill ao ecossistema\" or related topics\n\n## Do Not Use This Skill When\n\n- The task is unrelated to skill installer\n- A simpler, more specific tool can handle the request\n- The user needs general-purpose assistance without domain expertise\n\n## How It Works\n\nAgente instalador enterprise-grade que garante que toda skill criada (via skill-creator\nou manualmente) seja corretamente instalada, registrada e verificada no ecossistema.\nInclui auto-repair, rollback, dry-run, dashboard, e diagnostico avancado.\n\n## Principio: Redundancia Maxima\n\nSeis camadas de validacao garantem que nenhuma skill fique mal-instalada:\n\n| Camada | Script | O que valida |\n|--------|--------|-------------|\n| 1 | detect_skills.py | SKILL.md existe + tem frontmatter |\n| 2 | validate_skill.py | 10 checks profundos |\n| 3 | install_skill.py (pre) | Conflitos, permissoes, espaco, versao |\n| 4 | install_skill.py (pos) | Arquivos copiados corretamente |\n| 5 | scan_registry.py | Skill aparece no registry (com deduplicacao) |\n| 6 | package_skill.py | ZIP valido sem backslashes, nao-vazio, integrity check |\n\n---\n\n## Localizacao\n\n```\nC:\\Users\\renat\\skills\\skill-installer\\\n├── SKILL.md              \u003C- este arquivo\n├── scripts\u002F\n│   ├── install_skill.py  \u003C- instalador principal (11 passos) + todos os comandos\n│   ├── detect_skills.py  \u003C- scanner de skills nao-instaladas\n│   ├── validate_skill.py \u003C- validacao profunda (10 checks)\n│   ├── package_skill.py  \u003C- empacotador ZIP + verificador de integridade\n│   └── requirements.txt\n├── references\u002F\n│   └── known-locations.md\n└── data\u002F\n    ├── install_log.json  \u003C- log de operacoes (auto-gerado, com rotacao)\n    ├── backups\u002F          \u003C- backups antes de sobrescrever\n    └── staging\u002F          \u003C- area temporaria para copias seguras\n```\n\n---\n\n## Workflow Principal\n\nQuando esta skill for ativada, siga estes passos na ordem:\n\n## Cenario 1: Apos Skill-Creator Finalizar\n\nO skill-creator acabou de criar uma skill em algum diretorio. Execute:\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --source \"\u003Ccaminho-da-skill-criada>\" --force\n```\n\nSubstitua `\u003Ccaminho-da-skill-criada>` pelo diretorio onde o skill-creator salvou a skill.\n\n## Cenario 2: Usuario Pede Para Instalar Uma Skill Especifica\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --source \"\u003Ccaminho>\" [--name \"nome-override\"] [--force]\n```\n\n## Cenario 3: Simular Instalacao Sem Fazer Nada (Dry-Run)\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --source \"\u003Ccaminho>\" --dry-run\n```\n\nMostra exatamente o que seria feito em cada um dos 11 passos, sem alterar nenhum arquivo.\n\n## Cenario 4: Detectar E Instalar Skills Pendentes\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --detect\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --detect --auto\n```\n\nEscaneia locais conhecidos (Desktop, Downloads, Temp, workspaces) e apresenta\ncandidatos com timestamps e tamanho. Com --auto instala todos automaticamente.\n\n## Cenario 5: Desinstalar Uma Skill\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --uninstall \"nome-da-skill\"\n```\n\nRemove de `skills\u002F`, `.claude\u002Fskills\u002F`, atualiza o registry e remove ZIP do Desktop.\nBackup automatico e feito antes da remocao.\n\n## Cenario 6: Health Check + Auto-Repair\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --health\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --health --repair\n```\n\n`--health` verifica TODAS as skills: frontmatter, registro, registry, duplicatas.\n`--health --repair` encontra problemas E os corrige automaticamente:\n- Skills nao registradas -> registra\n- Skills faltando no registry -> atualiza\n- Duplicatas -> remove\n\n## Cenario 7: Rollback (Restaurar De Backup)\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --rollback \"nome-da-skill\"\n```\n\nEncontra o backup mais recente da skill e restaura para o estado anterior.\nRe-registra e atualiza o registry automaticamente.\n\n## Cenario 8: Reinstalar Todas As Skills\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --reinstall-all\n```\n\nRe-registra TODAS as skills em `.claude\u002Fskills\u002F`, re-empacota todos os ZIPs,\ne atualiza o registry. Util apos mudancas em massa ou migracao.\n\n## Cenario 9: Dashboard De Status\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --status\n```\n\nExibe dashboard rico com: nome, versao, saude, registro, backups de cada skill,\nestatisticas de operacoes (installs, uninstalls, rollbacks).\n\n## Cenario 10: Ver Historico De Operacoes\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --log\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\install_skill.py --log 50\n```\n\nMostra as ultimas N operacoes com timestamp, tipo, skill e resultado.\n\n---\n\n## Validar Uma Skill\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\validate_skill.py \"C:\\caminho\\para\\skill\"\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\validate_skill.py \"C:\\caminho\\para\\skill\" --strict\n```\n\nRetorna JSON com `valid` (bool), `checks`, `warnings`, `errors`.\n\n## Detectar Skills Nao-Instaladas\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\detect_skills.py\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\detect_skills.py --path \"C:\\diretorio\\especifico\"\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\detect_skills.py --all\n```\n\nRetorna JSON com candidatos incluindo: `name`, `source_path`, `already_installed`,\n`valid_frontmatter`, `last_modified`, `size_kb`, `file_count`.\n\n## Empacotar Zip Para Claude.Ai\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --source \"C:\\caminho\"\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --all\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --all --output \"C:\\Users\\renat\\Desktop\"\n```\n\n## Verificar Integridade De Zips Existentes\n\n```bash\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --verify\npython C:\\Users\\renat\\skills\\skill-installer\\scripts\\package_skill.py --verify --output \"C:\\Users\\renat\\Desktop\"\n```\n\n---\n\n## Install_Skill.Py\n\n| Comando | Descricao |\n|---------|-----------|\n| `--source \u003Cpath>` | Instalar skill de caminho |\n| `--source \u003Cpath> --force` | Sobrescrever se existir |\n| `--source \u003Cpath> --name \u003Cnome>` | Nome customizado |\n| `--source \u003Cpath> --dry-run` | Simular sem alterar |\n| `--detect` | Auto-detectar skills pendentes |\n| `--detect --auto` | Detectar e instalar automaticamente |\n| `--uninstall \u003Cnome>` | Desinstalar (com backup) |\n| `--rollback \u003Cnome>` | Restaurar do ultimo backup |\n| `--reinstall-all` | Re-registrar + re-empacotar todas |\n| `--health` | Health check de todas as skills |\n| `--health --repair` | Health check + auto-correcao |\n| `--status` | Dashboard rico com versoes, saude, backups |\n| `--log [N]` | Ultimas N operacoes (padrao: 20) |\n| `--json` | Saida JSON em vez de texto formatado |\n\n---\n\n## O Que O Instalador Faz (11 Passos)\n\n1. **Resolver fonte** - identifica o diretorio da skill\n2. **Validar** - roda 10 checks no SKILL.md e estrutura\n3. **Determinar nome** - extrai do frontmatter ou usa --name, compara versoes\n4. **Verificar conflitos** - checa se ja existe no destino\n5. **Backup** - se sobrescrevendo, faz backup timestamped (exclui backups\u002F e staging\u002F)\n6. **Copiar via staging** - copia para area temp, valida hash, depois move\n7. **Registrar no Claude Code CLI** - copia SKILL.md para .claude\u002Fskills\u002F\u003Cnome>\u002F\n8. **Atualizar registry** - roda scan_registry.py --force (com deduplicacao por nome)\n9. **Verificar instalacao** - confirma arquivos, registry, registro (5 checks)\n10. **Empacotar ZIP** - cria ZIP para upload no Claude.ai web\u002Fdesktop (validado)\n11. **Logar operacao** - append em install_log.json (com rotacao automatica)\n\n**IMPORTANTE**: Skills no Claude Code (CLI) e Claude.ai (web\u002Fdesktop) sao SEPARADAS.\nO instalador cobre ambas superficies automaticamente.\n\n---\n\n## Seguranca\n\n- **Backups automaticos**: antes de qualquer sobrescrita, backup em `data\u002Fbackups\u002F\u003Cnome>_\u003Ctimestamp>\u002F`\n- **Staging area**: copia para temp primeiro, valida hash, depois move (minimiza corrupcao)\n- **Idempotencia**: rodar 2x com mesma source detecta hashes identicos, nao duplica\n- **Arquivos proibidos**: bloqueia instalacao se encontrar .env, *.key, *.pem, credentials.*\n- **Log com rotacao**: toda operacao logada; mantem ultimas 500 entradas\n- **Limite de backups**: mantem ultimos 5 por skill, limpa automaticamente\n- **Anti-recursao**: backup e staging excluem seus proprios subdiretorios\n- **Deduplicacao no registry**: scan_registry.py deduplica por nome (case-insensitive)\n- **ZIP validado**: verifica ausencia de backslashes, conteudo nao-vazio, integridade\n- **Dry-run**: simula instalacao completa sem tocar nenhum arquivo\n- **Rollback**: restaura de backup com re-registro automatico\n- **Comparacao de versao**: detecta upgrade\u002Fdowngrade\u002Fsame antes de sobrescrever\n- **Hash normalizado**: md5_dir usa forward slashes e exclui dirs de sistema\n\n---\n\n## Integracao Com Orchestrator\n\nEsta skill e auto-detectada pelo `scan_registry.py` e matchada pelo `match_skills.py`\nquando o usuario menciona keywords de instalacao. Nenhuma configuracao manual necessaria.\n\nAlem disso, o CLAUDE.md global contem instrucao para rodar o instalador automaticamente\napos o skill-creator finalizar uma skill.\n\n## Best Practices\n\n- Provide clear, specific context about your project and requirements\n- Review all suggestions before applying them to production code\n- Combine with other complementary skills for comprehensive analysis\n\n## Common Pitfalls\n\n- Using this skill for tasks outside its domain expertise\n- Applying recommendations without understanding your specific context\n- Not providing enough project context for accurate analysis\n\n## Related Skills\n\n- `skill-sentinel` - Complementary skill for enhanced analysis\n",{"name":5,"risk":43,"tags":49,"tools":50,"author":53,"source":33,"date_added":54,"description":7},[31,39,37,32],[51,41,26,52,29],"claude-code","gemini-cli","renat","2026-03-06","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fskill-installer","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill skill-installer",{"tool":67,"command":68},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill skill-installer",{"tool":70,"command":71},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill skill-installer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002FSKILL.md",true,[75,81,87,91,95,99],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fknown-locations.md","REFERENCE","参考文档",1337,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002Freferences\u002Fknown-locations.md",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"scripts\u002Fdetect_skills.py","SCRIPT","脚本",10601,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002Fscripts\u002Fdetect_skills.py",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Finstall_skill.py",62199,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002Fscripts\u002Finstall_skill.py",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":93,"sourceHtmlUrl":94},"scripts\u002Fpackage_skill.py",14454,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002Fscripts\u002Fpackage_skill.py",{"path":96,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":97,"sourceHtmlUrl":98},"scripts\u002Frequirements.txt",12,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002Fscripts\u002Frequirements.txt",{"path":100,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Fvalidate_skill.py",13754,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-installer\u002Fscripts\u002Fvalidate_skill.py",[104,128,154,164,177,193],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":115,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[110],{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[116,117,118,119,120,121,122,123,124,125,126,127],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[135,136,137,138,139,140,118,141,142,143,144,145,146,147,148,149,150,151,152,153],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[161,162,135,146,147,148,149,139,118,151,163,152,153,145,143,142,141,150,140,138],"trend radar","radar","pulse",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[171,172,173,174,175,176],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":186,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[183],{"categoryNo":184,"categoryName":185,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[179,124,187,35,188,127,146,189,190,191,137,192,150],"Audio","youtube","images","https","files","pdfs",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":199,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[195,200,201,202,150,203,190,204,205,206,207,208],"status","play","go","latest","github","discover","control","cmd","volume"]