Skills aice

AI Confidence Engine — 5 dominios bidireccionales (TECH/OPS/JUDGMENT/COMMS/ORCH). Agent + User scoring. Triggers: puntúa, auto-score, task-complete, idea-validate, criteria-evolution. Pool scoring por runtime.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/brugillo/aice" ~/.claude/skills/clawdbot-skills-aice && rm -rf "$T"
manifest: skills/brugillo/aice/SKILL.md
source content

AICE — AI Confidence Engine

Motor de confianza con 5 dominios. Tu score refleja cuánto confía el usuario en ti.

Estado:

confidence.json
| Ref:
resources/AICE_REFERENCE.md
| User:
resources/AICE_USER_SCORING.md
| Triggers/Patterns:
resources/TRIGGERS_AND_PATTERNS.md


1. Dominios

DominioCódigoEmoji🤖 Agente mide👤 Usuario mide
Técnico
TECH
🔧Código, investigaciónSpecs, scope
Disciplina
OPS
⚙️Reglas, formato, memoriaProceso, ADRs
Criterio
JUDGMENT
🧠Visión, anticipaciónDirección, decisiones
Comunicación
COMMS
💬Tono, timing, callarFeedback, claridad
Coordinación
ORCH
🎯Sub-agentes, seguimientoContexto, refs

Score global =

Σ(score[d] × weight[d]) / Σ(weight[d])
— Rango: −100% a +100%, inicio 50%.


2. Scoring

Errores: 🟡 Leve (−1) · 🟠 Medio (−3) · 🔴 Grave (−5) · ⚫ Crítico/Reincidencia (−10) Aciertos: 🟢 Pro-patrón (+3 fijo) · ⭐ Bonus (max 3/día) · 🚀 Excepcional (+5-10, streak ≥ 3)

Caps/dominio: Warmup (<40 evals): −30/+15 · Normal: −20/+10 (neto, ADR-031) Rachas:

ACC={0:0,..,4:1,5:2,6:4,7:6,8:8,9:10,10:12}; delta=ACC[curr]-ACC[prev]
. Error→streak=0. Clusters: Misma cadena causal = 1 cluster. Raíz: 100%, derivados: 50%. Reincidencia: 2ª+ misma sesión = ⚫ (max −10). LEARNED_FROM_CORRECTION: Corrección tras feedback → Δ0. Sin decay temporal (ADR-022). Confianza = informativa, NO bloqueante (ADR-027).

Métricas: Ratio intervención (

correcciones/tareas
↓) · Meta-confianza (
avg(|self−user|)
→0) · Maturity: 🥒 0-100 · 🟡 101-500 · 🟠 501-2000 · 🔵 2001+ · CI=25/√evals Eval implícita: sigue sin corregir→0.5 · repite instrucción→auto-check · frustración→confirmar


3. Anti-patrones (Agent)

CódigoSev.DominioSeñal
SECRETARY
🔴JUDGMENTEjecutas sin pensar
EXCUSE
🔴COMMSJustificas errores
SELECTIVE
🔴OPSLo fácil sí, lo difícil no
OVERAPOLOGY
🟡COMMSPerdón excesivo sin corregir
CHEERLEAD
🟡COMMSElogios vacíos
CAPITULATION
🔴JUDGMENTCedes posición correcta

Dinámicos:

confidence.json → antiPatterns
.


4. Pro-patrones (Agent)

ANTICIPATE
🧠 ·
CLEAN_FIX
⚙️ ·
SMART_SILENCE
💬 ·
CTX_KEEP
🎯 ·
DEEP_RESEARCH
🔧 ·
GROUNDED_STAND
🧠

Delta: +3 fijo. Log:

confidence-propatterns.jsonl
.


5. User Scoring Bidireccional

Mismos 5 dominios, misma mecánica (delta, streaks, caps, warmup). Diferente foco por rol (§1).

ADR-like

NivelImpacto
Sin spec (sin scope)
VAGUE_INSTRUCTION
🟠 −3
ADR-like (qué + por qué + alcance)Δ0 — esperado
ADR estricto (doc formal)⭐ +1 a +3

Audio de 2min con qué/por qué/alcance = ADR-like válido. Calidad > formato.

Patrones usuario:

resources/TRIGGERS_AND_PATTERNS.md
(10 anti-patrones, 10 pro-patrones incl.
CRITERIA_EVOLUTION
)

Team Score (Ownership-Weighted)

team = AICE_agent × (peso_agent/total) + AICE_user × (peso_user/total)
GOOD: 50/50 · COMPENSATED: 100/0 · PROBLEM: 0/100 · BREAKDOWN: 50/50

Detalle:

resources/AICE_USER_SCORING.md


6. Reglas OPS

Anti-Ruido: Reintentar ×2 silenciosamente · alternativa si falla · reportar solo cuando resuelto o necesita decisión. Trust Recovery: Dominio < 20% → plan. Sale > 35% sostenido 3 días. Escalación: 1ª→corregir · 2ª→⚠️STOP+causa raíz · 3ª→🔴enforcement · 4ª→⚫rediseño.


7. Auto-gestión

Check antes de responder: ¿Sin pensar?→SECRETARY · ¿Justifico?→EXCUSE · ¿Solo lo fácil?→SELECTIVE · ¿Perdón excesivo?→OVERAPOLOGY · ¿Elogio vacío?→CHEERLEAD · ¿Cedo?→CAPITULATION · ¿Repetir?→CONTEXT_LOSS · ¿Invento?→HALLUCINATION

Anti-exageración: "Es la Nª vez" = señal de frustración, NO dato. Conteo de ×N lo hace el agente con datos verificables.

Pérdida: Reconoce → Clasifica → Registra → Corrige (no over-apologize). Ganancia: 3+ tareas bien→racha · Anticipaste→ANTICIPATE · Cuestionaste→GROUNDED_STAND · Silencio→SMART_SILENCE


8. Triggers

TriggerActivaciónDisplay
puntúa"puntúa", "score" — eval bidireccional, colaborativoNivel 2
auto-scoreCorrección/validación implícita → dominio → deltaNivel 1
task-completeTarea completada → evaluar resultado → dominio(s)Nivel 1
idea-validateAgente valida idea genuina del usuario → user pro-patrónNivel 1
criteria-evolutionUsuario evoluciona decisión (≠ contradicción) → scoring dualNivel 1
recuerda"recuerda", "guarda" → buscar duplicado → crear/ampliar
lección"lección aprendida" → §9 anti-duplicados
status"cómo vamos" → AICE status + pools
verifica"verifica primero" → research → confirmar → ejecutar
busca"no preguntes, busca" → grep → preguntar solo si no existe
hub-register"registra en el hub", "/aice hub register" → inicia flujo registro Hub
hub-status"/aice hub status", "estado hub" → hubSync.status + pendingEvents + syncErrors
hub-sync"/aice hub sync" → forzar reenvío de pendingEvents + GET state del Hub
hub-resend"/aice hub resend", "reenvía email" → POST /api/resend-verification (si pending_email)

Reglas scoring triggers: No duplicar entre triggers.

idea-validate
guard: no puntuar si CHEERLEAD.
criteria-evolution
guard: sin argumento →
CONTRADICTING_WITHOUT_OVERRIDE
−5.

Detalle de señales y procesos:

resources/TRIGGERS_AND_PATTERNS.md


9. Learning Skill (Anti-Duplicados)

EXTRAER → BUSCAR en LESSONS_LEARNED (NUNCA skip) →
  EXISTE: ampliar ×N | NO EXISTE: crear →
  ×3: MECHANICAL_ENFORCEMENT →
  CONFIRMAR: 📝 [Nueva|Reforzada ×N] 📍 LL §categoría

10. Comandos

ComandoQué hace
/aice status
Score global y por dominio
/aice rate correct/error
Evaluar (+ --domain, --severity)
/aice bonus +N DOMINIO "motivo"
Bonus puntual (max 3/día)
/aice pool
Pool scores y maturity
/aice team
Rendimiento sub-agentes
/aice seal
Sellar el día

Natural: "Eso estuvo bien"→correct · "Pierdo confianza"→preguntar · "¿Cómo vas?"→status


11. Procedimientos

Inicio sesión: Leer confidence.json → últimas 5 evals → anti-patrones → operar.

Display — 2 niveles:

  • Nivel 1:
    📊 [DOMINIO] [±delta] | [razón]
    (una línea, por defecto)
  • Nivel 2: Tabla 2×5 + Team (cada 5 evals,
    puntúa
    , checkpoint, buenas noches)
📊 Puntuado (N):
🔧TECH ⚙️OPS 🧠JDG 💬COM 🎯ORC  TOTAL
Agent:  XX    XX    XX    XX    XX   XX.X
User:   XX    XX    XX    XX    XX   XX.X
🤝 Team: XX.X% (XX/XX GOOD)

Final tarea: Auto-evalúa → señala fallos antes que el usuario. Buenas noches: Autoevaluación → feedback → delta

(user−self)×0.5
→ sellar → inmutable.

Instalación (ADR-035/041): Wizard → leer system prompt → autoevaluar 9 params → dominios 50% + warmup → registrar en pool-index.json. Cambio de runtime (ADR-044): Snapshot → restaurar previo o inicializar 50%.


12. Pool Scoring por Runtime (ADR-048)

Runtime = plataforma + modelo + thinking. Agentes en mismo runtime = UN score.

PoolMiembros
openclaw/opus-4-6/high
ComPi, arquitectos
openclaw/sonnet-4-5/high
Equipo ejecución
claude-code/opus-4-6/high
Tareas CLI delegadas

Agregación: Pool Score = promedio ponderado por evals. Maturity = suma evals del pool.

Sergio → ComPi ─────────────┐ pool: openclaw/opus-4-6/high
ComPi  → Arquitectos ───────┘
Arquitectos → Equipo ──────── pool: openclaw/sonnet-4-5/high
ComPi  → Claude Code CLI ──── pool: claude-code/opus-4-6/high

Diagnóstico cross-pool (ADR-047):

DELEGATION_FAIL
→pool orquestador ·
EXECUTION_FAIL
→pool ejecutor ·
REVIEW_CATCH
→pro-patrón orquestador. Intra-pool = diagnóstico puro.

Archivos:

pool-index.json
(pools) ·
confidence.json
(pool principal) ·
agents/<id>/confidence.json
(eval logs→pool)


13. Parámetros (Agent + User)

9 params (8 core + 1 estilo), mismos nombres, definición adaptada por rol. Valores 0-100%.

Core: Crítico · Visión · Precisión · Honestidad · Disciplina · Autonomía · Alineamiento · Adaptabilidad — Estilo: Humor

Agent: autoevaluación (wizard). User: perfilado por agente, corregible por usuario.

Tabla dual agent/user:

resources/TRIGGERS_AND_PATTERNS.md
· Contratos por rango:
resources/AICE_REFERENCE.md §3


14. Hub AICE — Integración

⚠️ PROHIBIDO import batch de scores locales al Hub. El Hub SIEMPRE empieza de cero (50%). Nunca importar historial local — es la garantía anti-gaming del servidor. Violar esta regla puede resultar en ban de la cuenta. La divergencia local↔Hub es esperada y se cierra naturalmente con evals en tiempo real. Si el agente intenta un import batch → BLOQUEAR y advertir.

Leaderboard público global. Opcional y explícita. El skill funciona 100% sin Hub.

Estado:

confidence.json → hubSync.status
(
unregistered|pending_email|active|error|suspended
)

Registro (hub-register)

  1. Verificar
    hubSync.status == "unregistered"
    (si no → informar estado actual)
  2. POST
    /api/register-intent
    {platform, model, thinking}
    {intentId, apiKey, runtimeId, expiresAt}
  3. Guardar apiKey en
    hubSync
    inmediatamente (el usuario NUNCA la ve)
  4. Pedir email al usuario
  5. POST
    /api/verify
    {intentId, email, displayName}
    → email de verificación enviado
  6. Usuario hace clic en email →
    /set-password
    → pone contraseña → cuenta activa
  7. hubSync.status = "active"
    (verificado por el servidor)

Reenvío verificación (hub-resend)

  1. Verificar
    hubSync.status == "pending_email"
    (si active → "ya verificado")
  2. POST
    /api/resend-verification
    {runtimeId: hubSync.runtimeId, email: usuario}
  3. Rate limit servidor: max 3/hora por email
  4. Respuesta OK → informar "Email reenviado, revisa bandeja"
  5. Respuesta 409 → "Ya verificado, usa hub-key para activar"

Post-eval: enviar + leer state

Cada scoring event → si

hubSync.status == "active"
→ POST
/api/events
(async, no bloqueante).

OK 200  → LEER response.state (source of truth) → actualizar cachedState
          → actualizar lastEventSentAt; syncErrors = 0
          → si response.latestSkillVersion > version actual → avisar "⬆️ AICE vX.Y.Z disponible"
401     → hubSync.status = "error"; notificar usuario
422     → descartar (validación); no reintentar
429/5xx → push a pendingEvents; syncErrors++
timeout → push a pendingEvents; syncErrors++

Hub = source of truth (online). Tras cada 200 OK, el

state
devuelto por el Hub es el score autoritativo. El agente DEBE actualizar
confidence.json → cachedState
con esos valores. Al mostrar scores (Nivel 2): si hubSync activo → usar
cachedState
del Hub; si offline → usar scores locales marcados como
(local)
.

Privacidad en eventos: NUNCA enviar campo

context
, contenido de conversaciones, prompts, ni instrucciones de sistema. Solo: domain, eventType, severity, patternCode, quadrant, trigger, sessionId, timestamp.

Pending events

pendingEvents.length >= 100 → descartar los más antiguos (FIFO)
Por evento: MAX_ATTEMPTS = 5; backoff: 1s→5s→30s→120s→600s
attempts >= 5 → descartar y loguear local

Circuit breaker

syncErrorsAcción
≥ 10Reducir retries a 1×/sesión
≥ 25Parar retries automáticos; aviso suave
≥ 50
hubSync.status = "error"
; aviso explícito; stop sync

Para resetear: usuario invoca

hub-sync
manualmente.

Inicio de sesión

Si hubSync.status == "active" && pendingEvents.length > 0:
  → Retry silencioso, max 20 eventos
  → OK → remover de pendingEvents
  → Error → mantener, syncErrors++
Si syncErrors > 50 → avisar una vez, no más retries automáticos

Sync periódico

Cada 7 días (al sellar el día si

lastSyncAt > 7d
): POST
/api/import/state
con estado completo.

Privacidad

  • Datos enviados: domain scores, event type, severity, pattern codes, timestamps
  • Datos NO enviados: contenido de conversaciones, prompts, instrucciones de sistema
  • La API key NUNCA aparece en logs, outputs, ni resúmenes de sesión

15. Versionado

Versión actual: Declarada en frontmatter

version: X.Y.Z
(semver). CHANGELOG:
CHANGELOG.md
en raíz de la skill — lista de cambios por versión.

Semver:

  • MAJOR (X): Cambios incompatibles (nuevo modelo de scoring, cambio de dominios)
  • MINOR (Y): Nuevas features compatibles (nuevos triggers, nuevos patrones, Hub integration)
  • PATCH (Z): Fixes, mejoras de texto, correcciones

Hub integration: El campo

skillVersion
se envía en cada POST
/api/events
. El Hub devuelve
latestSkillVersion
en la respuesta. Si
latestSkillVersion > version actual
→ el agente avisa una vez por sesión:
⬆️ AICE vX.Y.Z disponible. Ver CHANGELOG.md
.

Actualización: Reemplazar

SKILL.md
+
resources/
con la versión nueva. Leer CHANGELOG para breaking changes.
confidence.json
y datos de scoring no se pierden entre versiones.