| name | analizar-errores-comunes |
| description | Analiza las entregas de código de los alumnos de un examen y genera un informe cualitativo de los errores conceptuales y de programación más comunes cometidos, incluyendo ejemplos extraídos directamente de su código. Úsalo cuando el profesor pida conocer por qué están fallando los alumnos, qué dificultades tienen o cuáles son los errores más típicos en sus entregas. |
Skill: Analizar Errores Comunes
Esta skill guía al agente para realizar un análisis cualitativo y exhaustivo de las entregas de los estudiantes con el fin de proporcionar feedback formativo al profesorado.
El objetivo no es hacer un recuento estadístico de qué tests fallan más (eso ya lo hace el script de calificaciones), sino entender por qué fallan a nivel de código (por ejemplo: confusión de tipos, mal uso de bucles, falta de retornos, asunciones erróneas).
Requisitos Previos
Esta skill asume que el proceso de corrección masiva ya se ha ejecutado (/02-corregir-entrega), de forma que dentro de ENTREGAS/<Grupo>/<DNI>/ existen:
solucion.py (el código original del alumno)
informe_profesor.txt (listado de tests que el alumno ha pasado, fallado o en los que ha tenido errores de ejecución)
log_fallos.txt (detalle de la traza de los errores y fallos de aserción)
Pasos para la ejecución de la skill
1. Recopilación de información
El agente debe explorar la carpeta ENTREGAS/<Grupo>/ para acceder a las carpetas de los alumnos.
- Para cada alumno seleccionado, debe leer
informe_profesor.txt para entender los tests que ha fallado, y log_fallos.txt para entender la naturaleza de los errores (por ejemplo, un AssertionError por valores devueltos inesperados, o un TypeError por sumar enteros y strings).
- Fundamental: Debe leer el fichero
solucion.py de esos alumnos para inspeccionar los bloques de código concreto donde están los fallos.
2. Análisis cualitativo (Patrones de Error)
En lugar de agrupar por "Test X", el agente debe abstraer e identificar Patrones de Error Comunes. Ejemplos típicos en estudiantes de Fundamentos de Programación:
- Imprimir (
print()) en lugar de devolver (return).
- Confusión entre asignación (
=) y comparación (==).
- Errores lógicos en el control de bucles (off-by-one errors).
- No contemplar o gestionar adecuadamente el tipo de las variables.
- Ignorar requisitos de formato o usar hardcoding.
- No tratar correctamente la apertura y cierre de ficheros.
3. Generación del Informe
El agente debe crear un archivo Markdown detallado en MAT_PROF/<Grupo>/informe_errores.md.
Estructura Obligatoria del Informe:
# Análisis Cualitativo de Errores: <Grupo>
## Resumen Ejecutivo
Un breve párrafo sobre la impresión general del nivel del código y la calidad de las soluciones.
## Errores y Dificultades Comunes
Para cada patrón de error detectado, incluye una sección con este formato:
### [Nombre del Patrón de Error] (ej: Confusión entre print y return)
**Descripción:** Explicación técnica y pedagógica de qué están entendiendo mal los alumnos.
**Impacto:** Qué pruebas suele hacer fallar.
**Ejemplo real (anonimizado):**
` ` `python
# Extraído de la entrega de un alumno
def mi_funcion(x):
print(x + 2) # ERROR: Debería ser return
` ` `
## Recomendaciones Pedagógicas
Sugerencias para el profesor sobre conceptos teóricos o prácticos en los que merecería la pena insistir en las siguientes clases de prácticas.
4. Comunicación con el Profesor
Tras generar el archivo, el agente debe mostrar un resumen de los hallazgos principales en el chat y facilitar al profesor el enlace al fichero completo informe_errores.md.