- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
226 lines
6.2 KiB
Markdown
226 lines
6.2 KiB
Markdown
---
|
|
name: relationship-manager
|
|
description: Gestão inteligente de relacionamentos entre componentes do sistema — mapeamento de dependências, colaborações agent-MCP/skill e análise de impacto.
|
|
allowed-tools: Read, Glob, Grep, ToolSearch
|
|
---
|
|
|
|
# Relationship Manager
|
|
|
|
Gestão inteligente de relacionamentos entre componentes do sistema.
|
|
|
|
## Triggers
|
|
|
|
Esta skill deve ser activada quando:
|
|
- Utilizador pede para configurar relacionamentos
|
|
- Novo componente é adicionado e precisa de mapeamentos
|
|
- Inconsistências detectadas em relacionamentos
|
|
- Análise de impacto de mudanças
|
|
|
|
## Schema de Relacionamentos
|
|
|
|
### Hierarquia
|
|
|
|
```
|
|
TaskForce (Plugin)
|
|
├── cr_plugin_agents → Agentes do Plugin
|
|
├── cr_plugin_skills → Skills do Plugin
|
|
└── cr_plugin_mcps → MCPs do Plugin
|
|
|
|
Agent
|
|
├── cr_agent_mcps → MCPs do Agente (primary/recommended/available)
|
|
├── cr_agent_skills → Skills do Agente
|
|
└── cr_agent_collaborations → Colaborações com outros Agentes
|
|
|
|
Skill
|
|
└── cr_skill_mcps → MCPs necessários para a Skill
|
|
|
|
Decision Tree
|
|
└── Referencia um Agent para selecção automática
|
|
```
|
|
|
|
### Tipos de Relacionamento
|
|
|
|
**cr_agent_mcps.relationship_type:**
|
|
- `primary` - MCPs essenciais, sempre disponíveis
|
|
- `recommended` - MCPs recomendados, usar quando relevante
|
|
- `available` - MCPs opcionais, disponíveis se necessário
|
|
|
|
**cr_agent_collaborations.collaboration_type:**
|
|
- `technical` - Colaboração técnica (mesmo domínio)
|
|
- `cross-domain` - Colaboração entre domínios diferentes
|
|
- `sequential` - Um passa trabalho para outro
|
|
- `parallel` - Trabalham em paralelo
|
|
|
|
## Capabilities
|
|
|
|
### 1. Análise de Relacionamentos
|
|
|
|
**Ver todos os relacionamentos de um componente:**
|
|
```sql
|
|
-- Para um Agente
|
|
SELECT 'MCP' as type, m.slug, am.relationship_type
|
|
FROM cr_agent_mcps am
|
|
JOIN cr_mcps m ON am.mcp_id = m.id
|
|
WHERE am.agent_id = (SELECT id FROM cr_agents WHERE slug = ?)
|
|
|
|
UNION ALL
|
|
|
|
SELECT 'Skill', s.slug, 'uses'
|
|
FROM cr_agent_skills ags
|
|
JOIN cr_skills s ON ags.skill_id = s.id
|
|
WHERE ags.agent_id = (SELECT id FROM cr_agents WHERE slug = ?)
|
|
|
|
UNION ALL
|
|
|
|
SELECT 'TaskForce', p.slug, 'member'
|
|
FROM cr_plugin_agents pa
|
|
JOIN cr_plugins p ON pa.plugin_id = p.id
|
|
WHERE pa.agent_id = (SELECT id FROM cr_agents WHERE slug = ?)
|
|
|
|
UNION ALL
|
|
|
|
SELECT 'Collaborator', a2.slug, ac.collaboration_type
|
|
FROM cr_agent_collaborations ac
|
|
JOIN cr_agents a2 ON ac.collaborator_id = a2.id
|
|
WHERE ac.agent_id = (SELECT id FROM cr_agents WHERE slug = ?);
|
|
```
|
|
|
|
### 2. Sugestão de Relacionamentos
|
|
|
|
Baseado em padrões existentes:
|
|
```sql
|
|
-- MCPs usados por agentes similares (mesma categoria)
|
|
SELECT
|
|
m.slug,
|
|
COUNT(*) as usage_count,
|
|
GROUP_CONCAT(DISTINCT a.slug) as used_by
|
|
FROM cr_agent_mcps am
|
|
JOIN cr_mcps m ON am.mcp_id = m.id
|
|
JOIN cr_agents a ON am.agent_id = a.id
|
|
WHERE a.category = (SELECT category FROM cr_agents WHERE slug = ?)
|
|
AND am.agent_id != (SELECT id FROM cr_agents WHERE slug = ?)
|
|
AND m.id NOT IN (
|
|
SELECT mcp_id FROM cr_agent_mcps
|
|
WHERE agent_id = (SELECT id FROM cr_agents WHERE slug = ?)
|
|
)
|
|
GROUP BY m.id
|
|
ORDER BY usage_count DESC
|
|
LIMIT 5;
|
|
```
|
|
|
|
### 3. Validação de Consistência
|
|
|
|
```sql
|
|
-- Verificar órfãos em todas as tabelas
|
|
SELECT 'cr_agent_mcps (agent)' as issue,
|
|
COUNT(*) as orphans
|
|
FROM cr_agent_mcps am
|
|
LEFT JOIN cr_agents a ON am.agent_id = a.id
|
|
WHERE a.id IS NULL
|
|
|
|
UNION ALL
|
|
|
|
SELECT 'cr_agent_mcps (mcp)',
|
|
COUNT(*)
|
|
FROM cr_agent_mcps am
|
|
LEFT JOIN cr_mcps m ON am.mcp_id = m.id
|
|
WHERE m.id IS NULL
|
|
|
|
-- ... continuar para todas as tabelas
|
|
```
|
|
|
|
### 4. Propagação de Mudanças
|
|
|
|
Quando um componente é removido/desactivado:
|
|
```sql
|
|
-- Marcar relacionamentos como inactivos (não deletar)
|
|
UPDATE cr_agent_mcps
|
|
SET status = 'inactive', updated_at = NOW()
|
|
WHERE agent_id = (SELECT id FROM cr_agents WHERE slug = ?);
|
|
|
|
-- Ou limpar (se preferido)
|
|
DELETE FROM cr_agent_mcps
|
|
WHERE agent_id = (SELECT id FROM cr_agents WHERE slug = ?);
|
|
```
|
|
|
|
### 5. Análise de Impacto
|
|
|
|
Antes de remover um componente, verificar dependências:
|
|
```sql
|
|
-- Impacto de remover um MCP
|
|
SELECT
|
|
'Agents afectados' as impact,
|
|
COUNT(DISTINCT am.agent_id) as count,
|
|
GROUP_CONCAT(DISTINCT a.slug) as list
|
|
FROM cr_agent_mcps am
|
|
JOIN cr_agents a ON am.agent_id = a.id
|
|
WHERE am.mcp_id = (SELECT id FROM cr_mcps WHERE slug = ?)
|
|
AND am.relationship_type = 'primary'
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
'Skills afectadas',
|
|
COUNT(DISTINCT sm.skill_id),
|
|
GROUP_CONCAT(DISTINCT s.slug)
|
|
FROM cr_skill_mcps sm
|
|
JOIN cr_skills s ON sm.skill_id = s.id
|
|
WHERE sm.mcp_id = (SELECT id FROM cr_mcps WHERE slug = ?);
|
|
```
|
|
|
|
## Workflows
|
|
|
|
### Adicionar Novo Agente
|
|
|
|
1. Inserir em `cr_agents`
|
|
2. Mapear MCPs em `cr_agent_mcps`:
|
|
- Identificar MCPs primários (essenciais)
|
|
- Identificar MCPs recomendados (úteis)
|
|
- Listar MCPs disponíveis (opcionais)
|
|
3. Mapear Skills em `cr_agent_skills`
|
|
4. Associar a TaskForces em `cr_plugin_agents`
|
|
5. Definir colaborações em `cr_agent_collaborations`
|
|
6. Criar decision tree se necessário
|
|
|
|
### Remover Componente
|
|
|
|
1. Verificar impacto com análise de dependências
|
|
2. Confirmar com utilizador
|
|
3. Remover relacionamentos (ou marcar inactive)
|
|
4. Actualizar decision trees
|
|
5. Log em telemetria
|
|
|
|
## Métricas
|
|
|
|
| Métrica | Descrição |
|
|
|---------|-----------|
|
|
| Densidade | Média de relacionamentos por componente |
|
|
| Cobertura | % de componentes com relacionamentos |
|
|
| Consistência | % de relacionamentos válidos |
|
|
| Conectividade | Componentes isolados vs conectados |
|
|
|
|
## Exemplo de Uso
|
|
|
|
```
|
|
User: Configura o novo agente video-editor com os MCPs necessários
|
|
|
|
Relationship Manager:
|
|
1. [Analisa agentes similares na categoria 'content']
|
|
2. [Identifica MCPs comuns: filesystem, google-workspace, elevenlabs]
|
|
3. [Sugere relacionamentos:]
|
|
- PRIMARY: filesystem, elevenlabs
|
|
- RECOMMENDED: google-workspace, pexels, pixabay
|
|
- AVAILABLE: vimeo, youtube-uploader
|
|
4. [Cria mapeamentos em cr_agent_mcps]
|
|
5. [Sugere colaborações: content-manager, copywriter]
|
|
6. [Reporta: "Agente video-editor configurado com 7 MCPs e 2 colaborações"]
|
|
```
|
|
|
|
## Limites
|
|
|
|
- Não cria componentes novos (apenas relacionamentos)
|
|
- Sugestões baseadas em padrões podem não ser 100% precisas
|
|
- Análise de impacto limitada a relacionamentos directos
|
|
- Não propaga alterações automaticamente (requer confirmação)
|
|
- Depende de consistência das tabelas cr_* na BD
|