AI Skill Report Card

Consulting Personnel Payroll Records

B74·Aug 7, 2026·Source: Web
14 / 15

Usuario pregunta: "Necesito los datos del empleado legajo 31086"

  1. DriveSearch → buscar archivo test_personal
  2. MCP_GoogleSheet.get_sheet_data → hoja personal, range A1:R50
  3. MCP_GoogleSheet.get_sheet_data → hoja agentes, range A1:O50
  4. Cruzar legajo 31086 en ambas hojas
  5. Responder SOLO con {"answer": "..."} en formato legible
JSON
{"answer": "**Datos del Empleado - Legajo 31086**\n--- DATOS PERSONALES ---\nNombre: Prosseda, Luis Martín\nCargo: Oficial\n..."}
Recommendation
Description mixes third-person opener ('Consulta datos...') but implicitly assumes 'usar cuando' phrasing is fine; consider clarifying triggers with more distinct example queries covering movimientos-specific requests, not just personal data lookups.
14 / 15

Progress:

  • Paso 1: Identificar empleado(s) buscado(s) (legajo, apellido, nombre o fragmento)
  • Paso 2: DriveSearch para localizar test_personal
  • Paso 3: get_sheet_data hoja personal (A1:R50)
  • Paso 4: get_sheet_data hoja agentes (A1:O50)
  • Paso 5: Si se pide info de movimientos, DriveSearch para test_personal-mov y leer hoja correspondiente (partes diarios, salidas por horas, etc.)
  • Paso 6: Cruzar datos de ambos archivos por legajo
  • Paso 7: Validar resultados (ver Best Practices)
  • Paso 8: Armar respuesta final en formato {"answer": "..."}

Reglas de ejecución:

  • Ejecutar UNA herramienta por vez, esperar el resultado antes de la siguiente.
  • El formato de nombre en planillas es "Apellido, Nombre" (ej: "Prosseda, Luis Martín"). Si el usuario da solo un nombre o apellido, buscar por fragmento (case-insensitive, sin acentos si es necesario).
  • Si el usuario pide varios empleados, procesarlos uno por uno, repitiendo el ciclo búsqueda→lectura→cruce para cada uno.
  • Nunca incluir toolCalls en la respuesta final. La respuesta final es únicamente {"answer": ...}.
Recommendation
This skill is highly tool/schema-specific (hardcoded sheet names, ranges like A1:R50, specific file names test_personal/test_personal-mov) — this narrows reusability; consider documenting column meanings or schema assumptions since ranges are guessed rather than derived.
16 / 20

Example 1 — Un empleado por legajo: Input: "Necesito los datos del empleado legajo 31086" Output:

JSON
{"answer": "**Datos del Empleado - Legajo 31086**\n\n- Nombre: Prosseda, Luis Martín\n- Cargo: Oficial\n- Legajo: 31086\n- (resto de campos disponibles en la planilla)"}

Example 2 — Búsqueda por apellido: Input: "Buscame los datos de Prosseda" Output (si hay un solo match):

JSON
{"answer": "**Datos del Empleado - Prosseda, Luis Martín**\n\n- Legajo: 31086\n- Cargo: Oficial\n- ..."}

Output (si hay múltiples Prosseda):

JSON
{"answer": "**Encontré varios empleados con apellido 'Prosseda':**\n\n**Legajo 31086**\n- Nombre: Prosseda, Luis Martín\n- Cargo: Oficial\n\n---\n\n**Legajo 31092**\n- Nombre: Prosseda, Ana\n- Cargo: Administrativa\n\n¿Podés indicarme cuál necesitás?"}

Example 3 — Archivo no encontrado: Input: "Datos del legajo 40000" Output:

JSON
{"answer": "No pude encontrar el archivo 'test_personal' en Google Drive. Por favor verificá que el archivo exista o que tenga los permisos correctos."}

Example 4 — Sin datos: Input: "Datos del legajo 99999" Output:

JSON
{"answer": "**Legajo 99999**\n\nSin datos encontrados en las planillas de personal. Verificá el número de legajo."}

Example 5 — Múltiples empleados solicitados explícitamente: Input: "Necesito los datos de los legajos 31086 y 31092" Output:

JSON
{"answer": "**Legajo 31086**\n- Nombre: Prosseda, Luis Martín\n- Cargo: Oficial\n\n---\n\n**Legajo 31092**\n- Nombre: Gómez, Ana\n- Cargo: Administrativa"}
Recommendation
Workflow lacks detail on how 'movimientos laborales' queries (a named trigger in the description) are actually processed — only briefly mentioned in Paso 5 without examples showing that use case output.
  • Verificar que el legajo devuelto por la herramienta coincida exactamente con el solicitado.
  • Si get_sheet_data devuelve un array vacío, informar explícitamente "sin datos" — nunca inventar valores.
  • Si hay datos personales, corroborar que los campos nombre y apellido no estén vacíos antes de presentarlos como válidos.
  • Si el usuario pidió varios empleados, verificar al final que todos estén presentes en la respuesta; si falta alguno, indicarlo explícitamente.
  • Cruzar siempre datos de personal y agentes por legajo antes de responder (nombre/datos personales de una hoja, cargo/legajo de la otra).
  • Formato de salida: viñetas y secciones claras (--- DATOS PERSONALES ---, --- MOVIMIENTOS ---, etc.). Si son varios empleados, separar cada uno con un bloque delimitado por ---.
  • Si una herramienta falla, comunicar el error exacto recibido, sin inventar una causa.
  • No ejecutar varias herramientas en paralelo sin esperar resultados — siempre secuencial.
  • No asumir que un fragmento de apellido tiene un único match — siempre validar cantidad de resultados antes de responder.
  • No presentar datos si nombre/apellido vienen vacíos en la fila — tratarlo como "sin datos".
  • No incluir toolCalls ni metadata de ejecución en la respuesta final, solo {"answer": ...}.
  • No mezclar datos de legajos distintos al cruzar las hojas personal y agentes.
  • No omitir empleados cuando el usuario pidió una lista — chequear que la cantidad de bloques en la respuesta coincida con la cantidad solicitada.
0
Grade BAI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
14/15
Workflow
14/15
Examples
16/20
Completeness
15/20
Format
12/15
Conciseness
13/15