--- name: infrastructure-manager description: Gestão automatizada da infraestrutura Claude Code Descomplicar — componentes, health, sincronização e relacionamentos entre MCPs, skills e agentes. allowed-tools: Read, Glob, Grep, ToolSearch --- # Infrastructure Manager Gestão automatizada da infraestrutura Claude Code Descomplicar com suporte completo a relacionamentos. ## Triggers Esta skill deve ser activada quando: - Utilizador menciona "infraestrutura", "sistema", "componentes" - Há problemas de sincronização detectados - Health score cai abaixo de 90 - Novo componente é adicionado ao sistema - Relacionamentos inconsistentes detectados ## Schema da Base de Dados ### Core Tables (Entidades) | Tabela | Registos | Descrição | |--------|----------|-----------| | `cr_agents` | 46 | Agentes especializados | | `cr_skills` | 54 | Skills invocáveis | | `cr_mcps` | 33 | Servidores MCP | | `cr_lsps` | 11+ | Language Server Protocols | | `cr_plugins` | 29 | Software Development Kits | | `cr_mcp_tools` | 822 | Ferramentas por MCP | | `cr_plugins` | 5+ | Plugins instalados | | `cr_hooks` | 6+ | Hooks configurados | ### Relationship Tables (800+ relacionamentos) | Tabela | Registos | Relacionamento | |--------|----------|----------------| | `cr_agent_mcps` | 483 | Agente ↔ MCP (primary/recommended/available) | | `cr_agent_lsps` | ~40 | Agente ↔ LSP (primary/recommended/available) | | `cr_plugin_agents` | 131 | TaskForce ↔ Agente | | `cr_plugin_skills` | 75 | TaskForce ↔ Skill | | `cr_plugin_mcps` | 56 | TaskForce ↔ MCP | | `cr_agent_skills` | ~50 | Agente ↔ Skill | | `cr_skill_mcps` | ~45 | Skill ↔ MCP | | `cr_agent_collaborations` | ~30 | Agente ↔ Agente | ### Telemetry Tables | Tabela | Descrição | |--------|-----------| | `cr_agent_usage` | Tracking uso de agentes | | `cr_skill_usage` | Tracking uso de skills | | `cr_mcp_tool_usage` | Tracking uso de ferramentas MCP | | `cr_lsp_usage` | Tracking uso de LSPs | ### Intelligence Tables | Tabela | Registos | Descrição | |--------|----------|-----------| | `cr_decision_trees` | 5 | Árvores de decisão para selecção de agentes | | `cr_recommendations` | 3 | Sugestões de melhorias | | `cr_component_issues` | 2 | Issues abertos | | `cr_reflections` | 1 | Reflexões do sistema | ## Capabilities ### 1. Monitorização Completa **Entidades:** ```sql SELECT 'agents' as type, COUNT(*) as total, SUM(CASE WHEN status='active' THEN 1 ELSE 0 END) as active FROM cr_agents UNION ALL SELECT 'skills', COUNT(*), SUM(CASE WHEN status='active' THEN 1 ELSE 0 END) FROM cr_skills UNION ALL SELECT 'mcps', COUNT(*), SUM(CASE WHEN status='active' THEN 1 ELSE 0 END) FROM cr_mcps UNION ALL SELECT 'sdks', COUNT(*), SUM(CASE WHEN status='active' THEN 1 ELSE 0 END) FROM cr_plugins; ``` **Relacionamentos:** ```sql SELECT 'agent_mcps' as table_name, COUNT(*) as count FROM cr_agent_mcps UNION ALL SELECT 'agent_lsps', COUNT(*) FROM cr_agent_lsps UNION ALL SELECT 'sdk_agents', COUNT(*) FROM cr_plugin_agents UNION ALL SELECT 'sdk_skills', COUNT(*) FROM cr_plugin_skills UNION ALL SELECT 'sdk_mcps', COUNT(*) FROM cr_plugin_mcps UNION ALL SELECT 'agent_skills', COUNT(*) FROM cr_agent_skills UNION ALL SELECT 'skill_mcps', COUNT(*) FROM cr_skill_mcps UNION ALL SELECT 'agent_collaborations', COUNT(*) FROM cr_agent_collaborations; ``` **Órfãos (inconsistências):** ```sql -- Agent_mcps com agentes inexistentes SELECT COUNT(*) FROM cr_agent_mcps am LEFT JOIN cr_agents a ON am.agent_id = a.id WHERE a.id IS NULL; -- Repetir para todas as tabelas de relacionamento ``` ### 2. Auto-Repair de Relacionamentos Quando detectados órfãos: ```sql -- Limpar referências inválidas DELETE FROM cr_agent_mcps WHERE agent_id NOT IN (SELECT id FROM cr_agents); DELETE FROM cr_agent_mcps WHERE mcp_id NOT IN (SELECT id FROM cr_mcps); DELETE FROM cr_plugin_agents WHERE sdk_id NOT IN (SELECT id FROM cr_plugins); DELETE FROM cr_plugin_agents WHERE agent_id NOT IN (SELECT id FROM cr_agents); -- ... repetir para outras tabelas ``` ### 3. Health Score Calculation ``` Health Score = ( entities_sync * 20 + relationships_consistent * 20 + mcps_responsive * 15 + hooks_healthy * 15 + decision_trees_valid * 10 + telemetry_active * 10 + plugins_functional * 10 ) / 100 ``` **Thresholds:** - >= 90: Excelente (verde) - 70-89: Bom (amarelo) - < 70: Crítico (vermelho) ### 4. Reporting Detalhado Dashboard completo incluindo: - Contagem de entidades - Contagem de relacionamentos - Órfãos detectados - Telemetria (30 dias) - Decision trees status - Recommendations pendentes ## Workflow ``` DETECTAR → DIAGNOSTICAR → REPARAR → VALIDAR → REPORTAR ``` 1. **DETECTAR**: Query todas as tabelas 2. **DIAGNOSTICAR**: Identificar inconsistências 3. **REPARAR**: Limpar órfãos, actualizar telemetria 4. **VALIDAR**: Re-verificar consistência 5. **REPORTAR**: Gerar dashboard com métricas ## Integrações - **MCPs**: desk-crm-v3, filesystem, mcp-time - **Commands**: - `/descomplicar:status` - Dashboard completo - `/descomplicar:sync` - Sincronização - `/descomplicar:relationships` - Gestão relacionamentos - `/descomplicar:telemetry` - Métricas de uso - `/descomplicar:decision-trees` - Gestão decision trees - `/descomplicar:lsps` - Gestão Language Server Protocols ## Métricas de Sucesso | Métrica | Target | |---------|--------| | Health Score | >= 90 | | Órfãos | 0 | | Sync latency | < 5s | | Telemetry coverage | 100% | ## Exemplo de Uso ``` User: Qual o estado da infraestrutura? Infrastructure Manager: 1. [Verifica data/hora: 2026-02-04 16:00] 2. [Query entidades: 46 agents, 54 skills, 33 MCPs] 3. [Query relacionamentos: 800+ total, 0 órfãos] 4. [Calcula Health Score: 95/100] 5. Resposta: "Health Score: 95/100 ████████████████████░ EXCELENTE Core: 46 agents ✓ | 54 skills ✓ | 33 MCPs ✓ Relacionamentos: 800+ (0 órfãos) ✓ Última sync: há 2h Alerta menor: MCP 'moloni' com latência 2.1s" ``` ## Limites - Health Score é indicativo, não absoluto - Sync pode demorar > 5s em bases de dados grandes - Detecção de órfãos limitada a tabelas cr_* conhecidas - Não corrige problemas automaticamente (apenas reporta) - Telemetria depende de hooks activos e funcionais