Files
descomplicar-meta-plugin/commands/telemetry.md
Emanuel Almeida 692475a315 feat(v1.5.2): Execute database migrations and complete setup
- Execute all 6 migrations on Desk CRM production database
- Create missing tables: cr_lsps, cr_agent_lsps, cr_lsp_usage
- Create archive tables: cr_*_usage_archive (4 tables)
- Create system tables: cr_migrations, cr_maintenance_log
- Make all scripts executable (chmod +x)
- Total cr_* tables: 38

Migration files:
- 001_initial_schema.sql
- 002_add_lsps.sql
- 003_add_relationships.sql
- 004_add_telemetry.sql
- 005_add_archive_tables.sql
- 006_add_maintenance_log.sql

Scripts:
- session-init.sh, session-end.sh
- inject-context.sh, inject-agent-context.sh
- record-usage.sh, db-backup.sh, sync-to-mysql.sh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 16:18:02 +00:00

11 KiB

name, description, argument-hint
name description argument-hint
telemetry Visualização e gestão de telemetria de uso. Dashboard, top componentes, análise de erros, subutilização. [dashboard|top|unused|errors] [period] [filter]

/descomplicar:telemetry

Visualização e gestão de telemetria de uso.

Objectivo

Mostrar métricas de uso de agentes, skills e MCPs. Identificar padrões, componentes subutilizados e oportunidades de optimização.

Sintaxe

/descomplicar:telemetry [action] [period] [filter]

Acções Disponíveis

1. Dashboard Geral

/descomplicar:telemetry dashboard
/descomplicar:telemetry dashboard 7d    # Últimos 7 dias
/descomplicar:telemetry dashboard 30d   # Últimos 30 dias (default)

Query:

SELECT
  'Agents' as component,
  COUNT(DISTINCT agent_id) as unique_used,
  COUNT(*) as total_invocations,
  AVG(duration_sec) as avg_duration,
  SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) as success_rate
FROM cr_agent_usage
WHERE created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)

UNION ALL

SELECT
  'Skills' as component,
  COUNT(DISTINCT skill_id) as unique_used,
  COUNT(*) as total_invocations,
  AVG(duration_sec) as avg_duration,
  SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) as success_rate
FROM cr_skill_usage
WHERE created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)

UNION ALL

SELECT
  'MCP Tools' as component,
  COUNT(DISTINCT mcp_tool_id) as unique_used,
  COUNT(*) as total_invocations,
  AVG(response_time_ms) / 1000 as avg_duration,
  SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) as success_rate
FROM cr_mcp_tool_usage
WHERE created_at > DATE_SUB(NOW(), INTERVAL 30 DAY);

Output:

╔══════════════════════════════════════════════════════════════════════╗
║              TELEMETRY DASHBOARD - Últimos 30 dias                   ║
╠══════════════════════════════════════════════════════════════════════╣
║  Componente   │ Únicos │ Invocações │ Avg Duration │ Success Rate   ║
║  ─────────────────────────────────────────────────────────────────── ║
║  Agents       │   32   │    1,234   │     45.2s    │     94.5%      ║
║  Skills       │   28   │      567   │     12.8s    │     97.2%      ║
║  MCP Tools    │  156   │    8,901   │      0.8s    │     99.1%      ║
╠══════════════════════════════════════════════════════════════════════╣
║  TENDÊNCIA: ↑ 12% vs período anterior                                ║
╚══════════════════════════════════════════════════════════════════════╝

2. Top Componentes

/descomplicar:telemetry top agents 10
/descomplicar:telemetry top skills 10
/descomplicar:telemetry top mcps 10

Query (Agents):

SELECT
  a.slug,
  a.name,
  COUNT(*) as invocations,
  AVG(au.duration_sec) as avg_duration,
  SUM(CASE WHEN au.success = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) as success_rate
FROM cr_agent_usage au
JOIN cr_agents a ON au.agent_id = a.id
WHERE au.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY a.id
ORDER BY invocations DESC
LIMIT 10;

Output:

╔══════════════════════════════════════════════════════════════════════╗
║  TOP 10 AGENTS - Últimos 30 dias                                     ║
╠══════════════════════════════════════════════════════════════════════╣
║  #  │ Agent                          │ Invocações │ Avg │ Success   ║
║  ─────────────────────────────────────────────────────────────────── ║
║  1  │ wordpress-plugin-developer     │    156     │ 52s │   96%     ║
║  2  │ marketing-planning-expert      │    134     │ 38s │   94%     ║
║  3  │ php-fullstack-engineer         │    98      │ 61s │   92%     ║
║  4  │ seo-specialist                 │    87      │ 45s │   98%     ║
║  5  │ content-manager                │    76      │ 32s │   97%     ║
║  6  │ copywriter                     │    65      │ 28s │   99%     ║
║  7  │ sales-manager                  │    54      │ 41s │   91%     ║
║  8  │ dev-helper                     │    48      │ 55s │   89%     ║
║  9  │ n8n-automation-expert          │    42      │ 67s │   95%     ║
║ 10  │ easypanel-specialist           │    38      │ 72s │   93%     ║
╚══════════════════════════════════════════════════════════════════════╝

3. Componentes Subutilizados

/descomplicar:telemetry unused
/descomplicar:telemetry unused 90d   # Não usados há 90 dias

Query:

-- Agentes nunca usados ou não usados há 30+ dias
SELECT a.slug, a.name, a.category,
  COALESCE(MAX(au.created_at), 'Nunca') as last_used,
  DATEDIFF(NOW(), COALESCE(MAX(au.created_at), '2020-01-01')) as days_since
FROM cr_agents a
LEFT JOIN cr_agent_usage au ON a.id = au.agent_id
WHERE a.status = 'active'
GROUP BY a.id
HAVING days_since > 30 OR last_used = 'Nunca'
ORDER BY days_since DESC;

Output:

╔══════════════════════════════════════════════════════════════════════╗
║  COMPONENTES SUBUTILIZADOS (>30 dias sem uso)                        ║
╠══════════════════════════════════════════════════════════════════════╣
║  AGENTS (14 de 46)                                                   ║
║  ├── backup-specialist          │ Nunca usado │ Considerar arquivar ║
║  ├── reflect-agent              │ 45 dias     │ Auto-trigger activo?║
║  └── ...                                                             ║
╠══════════════════════════════════════════════════════════════════════╣
║  SKILLS (26 de 54)                                                   ║
║  ├── archive                    │ 60 dias     │ Raramente necessária║
║  └── ...                                                             ║
╠══════════════════════════════════════════════════════════════════════╣
║  RECOMENDAÇÃO: Revisar componentes não usados há >90 dias            ║
╚══════════════════════════════════════════════════════════════════════╝

4. Análise de Erros

/descomplicar:telemetry errors
/descomplicar:telemetry errors agent wordpress-plugin-developer

Query:

SELECT
  a.slug,
  COUNT(*) as total_errors,
  COUNT(*) * 100.0 / (SELECT COUNT(*) FROM cr_agent_usage WHERE agent_id = a.id) as error_rate,
  MAX(au.created_at) as last_error
FROM cr_agent_usage au
JOIN cr_agents a ON au.agent_id = a.id
WHERE au.success = 0
AND au.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY a.id
ORDER BY total_errors DESC
LIMIT 10;

5. Registar Uso (automático via hooks)

-- Registado automaticamente pelo hook PostToolUse
INSERT INTO cr_agent_usage (agent_id, session_id, success, duration_sec, created_at)
VALUES (
  (SELECT id FROM cr_agents WHERE slug = '{agent_slug}'),
  '{session_id}',
  {success},
  {duration},
  NOW()
);

INSERT INTO cr_mcp_tool_usage (mcp_tool_id, agent_id, response_time_ms, success, created_at)
VALUES (
  (SELECT id FROM cr_mcp_tools WHERE tool_name = '{tool_name}'),
  (SELECT id FROM cr_agents WHERE slug = '{agent_slug}'),
  {response_time},
  {success},
  NOW()
);

Integração com Decision Trees

A telemetria alimenta as decision trees para melhorar a selecção de agentes:

-- Actualizar confidence baseado em success rate
UPDATE cr_decision_trees dt
SET dt.confidence_score = (
  SELECT AVG(CASE WHEN au.success = 1 THEN 1.0 ELSE 0.5 END)
  FROM cr_agent_usage au
  WHERE au.agent_id = dt.agent_id
  AND au.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY)
)
WHERE dt.status = 'active';

Métricas de Saúde

Métrica Threshold Acção
Success Rate < 90% Investigar erros
Avg Duration > 120s Optimizar agente
Unused (dias) > 90 Considerar arquivar
Error Spike > 5 em 1h Alerta imediato

Output Esperado

╔══════════════════════════════════════════════════════════════════════╗
║              TELEMETRY DASHBOARD - Últimos 30 dias                   ║
╠══════════════════════════════════════════════════════════════════════╣
║  Componente   │ Únicos │ Invocações │ Avg Duration │ Success Rate   ║
║  Agents       │   32   │    1,234   │     45.2s    │     94.5%      ║
║  Skills       │   28   │      567   │     12.8s    │     97.2%      ║
║  MCP Tools    │  156   │    8,901   │      0.8s    │     99.1%      ║
╠══════════════════════════════════════════════════════════════════════╣
║  TENDÊNCIA: ↑ 12% vs período anterior                                ║
╚══════════════════════════════════════════════════════════════════════╝