feat: sync all plugins, skills, agents updates
New plugins: core-tools New skills: auto-expense, ticket-triage, design, security-check, aiktop-tasks, daily-digest, imap-triage, index-update, mindmap, notebooklm, proc-creator, tasks-overview, validate-component, perfex-module, report, calendar-manager New agents: design-critic, design-generator, design-lead, design-prompt-architect, design-researcher, compliance-auditor, metabase-analyst, gitea-integration-specialist Updated: all plugin configs, knowledge datasets, existing skills Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
157
core-tools/skills/_core/instrumentation-protocol.md
Normal file
157
core-tools/skills/_core/instrumentation-protocol.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# Protocolo de Instrumentação Automática v1.0
|
||||
|
||||
**Data:** 2026-02-03
|
||||
**Propósito:** Auto-registar métricas de execução de skills para análise PDCA
|
||||
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Toda skill instrumentada deve gravar automaticamente métricas de execução na tabela `tblskill_agent_metrics` do Desk CRM.
|
||||
|
||||
## Quando Instrumentar
|
||||
|
||||
Skills que:
|
||||
- Têm baseline definido em `_knowledge-map.json`
|
||||
- São frequentemente usadas (>5x/semana)
|
||||
- Estão em processo de optimização
|
||||
|
||||
## Estrutura de Instrumentação
|
||||
|
||||
### 1. Início de Execução
|
||||
|
||||
Ao iniciar a skill, registar:
|
||||
|
||||
```javascript
|
||||
const SKILL_START = Date.now();
|
||||
const SESSION_ID = crypto.randomUUID(); // ou usar session_id existente
|
||||
```
|
||||
|
||||
### 2. Rastreio de Consultas KB
|
||||
|
||||
Se a skill consultar Dify KB:
|
||||
|
||||
```javascript
|
||||
let KB_CONSULTED = false;
|
||||
let KB_HITS = 0;
|
||||
let KB_MISS = 0;
|
||||
|
||||
// Após cada consulta Dify bem sucedida
|
||||
KB_CONSULTED = true;
|
||||
KB_HITS++;
|
||||
|
||||
// Se consulta falhou ou sem resultados
|
||||
KB_MISS++;
|
||||
```
|
||||
|
||||
### 3. Contagem de Tool Calls
|
||||
|
||||
```javascript
|
||||
let TOOL_CALLS = 0;
|
||||
|
||||
// Incrementar a cada tool call
|
||||
TOOL_CALLS++;
|
||||
```
|
||||
|
||||
### 4. Fim de Execução - Gravar Métrica
|
||||
|
||||
**Via SQL directo (fallback robusto):**
|
||||
|
||||
```sql
|
||||
INSERT INTO tblskill_agent_metrics (
|
||||
type, name, duration_ms, status,
|
||||
session_id, task_id, project_id, staff_id,
|
||||
kb_consulted, kb_hits, kb_miss, tool_calls,
|
||||
error_type, error_message, context_tokens, output_tokens,
|
||||
model_used, created_at
|
||||
) VALUES (
|
||||
'skill', '/nome-skill', {DURATION_MS}, '{STATUS}',
|
||||
'{SESSION_ID}', {TASK_ID}, {PROJECT_ID}, 25,
|
||||
{KB_CONSULTED}, {KB_HITS}, {KB_MISS}, {TOOL_CALLS},
|
||||
NULL, NULL, NULL, NULL,
|
||||
'opus-4.5', NOW()
|
||||
);
|
||||
```
|
||||
|
||||
**Via MCP tool (quando disponível):**
|
||||
|
||||
```javascript
|
||||
mcp__desk-crm-v3__log_skill_metric({
|
||||
type: 'skill',
|
||||
name: '/nome-skill',
|
||||
duration_ms: Date.now() - SKILL_START,
|
||||
status: 'success', // ou 'error', 'partial'
|
||||
session_id: SESSION_ID,
|
||||
task_id: CURRENT_TASK_ID,
|
||||
project_id: CURRENT_PROJECT_ID,
|
||||
staff_id: 25, // AikTop
|
||||
kb_consulted: KB_CONSULTED,
|
||||
kb_hits: KB_HITS,
|
||||
kb_miss: KB_MISS,
|
||||
tool_calls: TOOL_CALLS
|
||||
});
|
||||
```
|
||||
|
||||
## Status Possíveis
|
||||
|
||||
| Status | Quando Usar |
|
||||
|--------|-------------|
|
||||
| `success` | Skill completou com sucesso |
|
||||
| `error` | Skill falhou com erro |
|
||||
| `partial` | Skill completou parcialmente |
|
||||
| `cancelled` | Utilizador cancelou |
|
||||
|
||||
## Campos Opcionais
|
||||
|
||||
| Campo | Quando Preencher |
|
||||
|-------|------------------|
|
||||
| `task_id` | Se executando dentro de tarefa Desk |
|
||||
| `project_id` | Se contexto de projecto conhecido |
|
||||
| `error_type` | Se status = 'error' |
|
||||
| `error_message` | Se status = 'error' |
|
||||
| `context_tokens` | Se disponível via API |
|
||||
| `output_tokens` | Se disponível via API |
|
||||
|
||||
## Template para Skills
|
||||
|
||||
Adicionar esta secção no final de cada SKILL.md instrumentada:
|
||||
|
||||
```markdown
|
||||
---
|
||||
|
||||
## Instrumentação Automática
|
||||
|
||||
Esta skill grava métricas automaticamente para análise PDCA.
|
||||
|
||||
### Ao Executar Esta Skill
|
||||
|
||||
1. **Início:** Registar timestamp inicial
|
||||
2. **Consultas KB:** Rastrear hits/miss do Dify
|
||||
3. **Fim:** Gravar métrica via SQL ou MCP
|
||||
|
||||
### Query para Gravar (executar no final)
|
||||
|
||||
\`\`\`sql
|
||||
INSERT INTO tblskill_agent_metrics (type, name, duration_ms, status, staff_id, kb_consulted, created_at)
|
||||
VALUES ('skill', '/nome-skill', {DURACAO_MS}, '{STATUS}', 25, {KB_CONSULTADO}, NOW());
|
||||
\`\`\`
|
||||
|
||||
### Ver Métricas
|
||||
|
||||
\`\`\`bash
|
||||
/metrics /nome-skill
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
## Integração com /reflect
|
||||
|
||||
Se degradação detectada (performance >15% pior que baseline):
|
||||
|
||||
1. `/metrics` mostra alerta
|
||||
2. Sugerir `/reflect` para investigação
|
||||
3. `/reflect` analisa padrões e propõe melhorias
|
||||
4. Registar ciclo PDCA em `tblskill_agent_pdca_cycles`
|
||||
|
||||
---
|
||||
|
||||
**Protocolo v1.0** | 2026-02-03
|
||||
Reference in New Issue
Block a user