AI Skill Report Card
Consulting Personnel Payroll Records
Quick Start14 / 15
Usuario pregunta: "Necesito los datos del empleado legajo 31086"
DriveSearch→ buscar archivotest_personalMCP_GoogleSheet.get_sheet_data→ hojapersonal, rangeA1:R50MCP_GoogleSheet.get_sheet_data→ hojaagentes, rangeA1:O50- Cruzar legajo 31086 en ambas hojas
- 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.
Workflow14 / 15
Progress:
- Paso 1: Identificar empleado(s) buscado(s) (legajo, apellido, nombre o fragmento)
- Paso 2:
DriveSearchpara localizartest_personal - Paso 3:
get_sheet_datahojapersonal(A1:R50) - Paso 4:
get_sheet_datahojaagentes(A1:O50) - Paso 5: Si se pide info de movimientos,
DriveSearchparatest_personal-movy 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
toolCallsen 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.
Examples16 / 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.
Best Practices
- Verificar que el legajo devuelto por la herramienta coincida exactamente con el solicitado.
- Si
get_sheet_datadevuelve 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
personalyagentespor 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.
Common Pitfalls
- 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
toolCallsni metadata de ejecución en la respuesta final, solo{"answer": ...}. - No mezclar datos de legajos distintos al cruzar las hojas
personalyagentes. - No omitir empleados cuando el usuario pidió una lista — chequear que la cantidad de bloques en la respuesta coincida con la cantidad solicitada.