examen-grado
This MCP server is an adaptive tutor for Chile's Derecho grado exam (Civil & Procesal): it configures a student profile, teaches and quizzes with spaced repetition, simulates the exam, verifies law against Ley Chile, and exports study material.
Configure and profile:
configurar_estudiante,listar_universidades,perfil_examen— set university, exam date, weekly hours/days; read each university's exam format.Plan and navigate:
estado_estudiante,sesion_de_hoy,plan_estudio,ver_indice,buscar_temario,elegir_temas— see what to study today, the full plan, topic states, and pick content.Teach topics:
ver_tema— get cédula content, norms, prerequisites, related topics, and the student's past errors before a class.Practice with spaced repetition:
registrar_respuesta(FSRS scheduling, 1–4 grades),practicar_plazos(verified legal deadlines),practicar_discriminacion(confusable institutions),preparar_exposicion(oral cédula exposition with timings/rubric),diagnostico.Simulate the exam:
sortear_cedula(draw cédulas by university, weak-priority),registrar_simulacro(record grade, rubric, evaluated topics),calcular_nota(Chilean 1.0–7.0 grade with exigencia).Verify the law:
ver_articulo— fetch current text from Ley Chile for CC, CPC, COT, CPP, CPR, CCOM, LMC, and other listed laws.Use own materials:
agregar_manual/buscar_en_manuales/listar_manuales/quitar_manual(PDF manuals with author and page citation);cargar_documento/leer_documento/listar_documentos/quitar_documento(cedularios, reglamentos, past exams, pautas).Adapt to a specific exam:
guardar_cedulario,guardar_perfil_examen— replace or supplement the official cedulario and exam format from the student's documents.Save and export:
guardar_material/ver_material(fichas, cuadros, tarjetas),exportar(Anki cards/deadlines, .ics study calendar, progress backup).Track progress:
progreso— mastery by unit, simulacro history, most-forgotten topics, errors, streak.
Allows exporting study flashcards and legal deadlines to Anki for spaced repetition.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@examen-gradoSimula una pregunta de la comisión de Derecho Civil para la U. de Chile."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Examen de Grado
Preparador del examen de grado de Derecho en Chile, en Derecho Civil y Derecho Procesal. Es un servidor MCP más una skill para Claude: da clases, hace repasar con repetición espaciada, simula la comisión (oral o escrita según la universidad), prepara material de estudio y responde dudas con fuentes que se pueden verificar.
Creado por Joaquín Larraín Guimoye.
Qué lo hace distinto
Se adapta a cada universidad. Cada universidad tiene su cedulario y su forma de examinar. En la U. de Chile el examen es oral, ante una comisión que interroga sobre "los principios fundamentales de las instituciones" y evalúa "comprensión, análisis y síntesis" (Reglamento, art. 16). En la UDP son dos pruebas escritas sobre un caso ficticio, con códigos a la vista. El tutor lee el perfil de la universidad del estudiante y cambia la forma de preguntar, de simular y de corregir.
Un solo temario, muchos cedularios. El progreso se lleva sobre un temario canónico de 273 temas. Cada cedulario oficial (1.057 cédulas transcritas de catorce universidades; la UDD aún no publica las suyas) enlaza sus cédulas con esos temas, así que el índice que ve el estudiante es el de su propia universidad, en su orden, con su numeración y con sus exclusiones. Como se sabe qué temas exige cada universidad, el tutor también sabe cuáles exigen casi todas: si el tiempo no alcanza, esos van primero.
Enseña con método, no sólo explica. La práctica de recuperación y la repetición espaciada son las dos técnicas de estudio mejor respaldadas por la investigación (Dunlosky et al., 2013). El tutor hace que el estudiante recupere en vez de releer, agenda cada tema con FSRS (el algoritmo de Anki) antes de que se olvide, intercala Civil y Procesal, respeta prerrequisitos y corrige nombrando el error concreto. La base de cada decisión está en skills/examen-grado/referencias/metodologia.md.
No puede inventar la ley. El texto de las normas viene siempre de Ley Chile, vigente, con las notas de modificación separadas. La doctrina sólo se atribuye a un autor si viene del manual que el propio estudiante cargó, con página. Cada artículo citado en el temario se comprueba contra Ley Chile con npm run verificar-articulos, y se revisó a mano que cada número corresponda a su materia. Los 49 plazos para practicar se comprueban igual (npm run verificar-plazos): la primera verificación detectó cuatro reglas cambiadas por reformas que un apunte o manual anterior todavía trae con el texto antiguo: los 18 días para contestar la demanda (antes 15), los 8 días para oponer excepciones en el juicio ejecutivo (antes 4), los 15 días del recurso de nulidad penal (antes 10) y el control de la acción ejecutiva prescrita (antes, un título de más de tres años).
Entrena lo que el examen mide. Además de clases, repasos y simulacros:
Plazos verificados, preguntados con repetición espaciada.
Instituciones que se confunden (50 pares: nulidad absoluta y relativa, apelación y casación…), con cuadro comparativo de memoria y casos en que hay que decidir cuál aplica.
Exposición de cédula con guion de tiempos, los puntos que exige el texto oficial y una segunda versión corregida.
Calibración: el estudiante dice qué tan seguro está antes de la corrección. Un acierto adivinado vuelve pronto al repaso, y un error cometido con seguridad se corrige en el momento.
Agenda de cada sesión: bloques con tiempos (repaso → pretest → clase → práctica → explicación propia), pausas y un cierre.
Exportar tarjetas y plazos a Anki, y el plan de estudio a un calendario (.ics).
Related MCP server: MCP Legal Chile
Universidades
Quince facultades: las presentes en el ranking QS de Law & Legal Studies 2025–2026 (UC, U. de Chile, UAI, PUCV, UdeC, USACH, U. de Talca, UACh y UDD), la UDP y cinco de las que más egresados presentan cada año (U. Central, UNAB, Finis Terrae, UDLA y UCSH). Cada perfil cita su fuente; lo que no está en una fuente oficial queda marcado "por confirmar".
Universidad | Examen | Cedulario cargado |
U. de Chile | Oral: exposición de cédula + interrogación de Civil y Procesal (Reglamento, arts. 15–16) | Civil 168 cédulas, Procesal 69 |
UC | Oral: Civil, Procesal y una cédula electiva, ante tres profesores | Civil 34 capítulos, Procesal 30 (vigentes desde abril 2021), con exclusiones |
UAI | Escrito: un caso de Civil (210 min) y dos de Procesal Civil (120 min cada uno), con pauta por ítems | Civil 41 temas; Procesal: pendiente (se usa el temario sin proceso penal) |
UDP | Escrito: dos pruebas sobre un caso ficticio, con códigos | Civil 7 cursos, Procesal Civil 4, con incluidas, excluidas y bibliografía |
PUCV | Oral ante cuatro o más profesores: Público, Civil y Procesal; régimen desagregado | Civil 36 apartados, Procesal 58 (Res. 23 y 24/2016-F) |
USACH | Oral y público: Civil, Procesal y una cédula electiva | Civil 164 cédulas, Procesal 23 secciones |
UACh | Oral: exposición de cédula de especialización + Civil, Procesal y Constitucional | Civil 35 unidades, Procesal 29 (temarios 2025) |
U. de Talca | Oral: Civil, Procesal y una tercera disciplina (se elimina para quienes ingresen desde 2027) | Civil 9 temas (2025), Procesal 7 (2023) |
UdeC | Oral y público: disertación (≤ 15 min) + interrogación de Civil y Procesal | Procesal 7 unidades (Res. 2023-006); Civil: pendiente |
UDD | Mixto: disertación + caso escrito de Civil defendido oralmente + interrogación de Procesal | Pendiente (cedularios no publicados) |
U. Central | Oral (exposición inicial de una materia elegida + interrogación) o, en la nueva modalidad, caso escrito de 3 horas + defensa oral | Civil 40 cédulas, Procesal 40 (2025), dos temas por cédula |
UNAB | Tres ejercicios escritos (EEG) de preguntas cerradas sobre casos prácticos | Civil 33 temas, Procesal 30 (malla 2011, período 2026-20), con el ejercicio en que se evalúa cada uno |
Finis Terrae | Oral: temarios obligatorios de Civil y Procesal + un tema sorteado de un cedulario electivo | Civil 48 puntos, Procesal 16, con exclusiones |
UDLA | Oral, por ramo en meses distintos (Civil; Procesal y Constitucional) | Civil 55 temas (2024), Procesal 55 (2023) |
UCSH | Oral y público (Res. 001/2020) | Civil 11 secciones, Procesal 8, con la lista oficial de exclusiones |
Si la universidad del estudiante no está, o tiene documentos más nuevos, los adjunta en la conversación (PDF, Word o fotos). El tutor lee su cedulario, lo transcribe literal, lo enlaza al temario y lo usa en el índice, el plan y los simulacros; de sus exámenes anteriores y pautas saca el formato (tiempo, instrucciones, tipo de preguntas, cómo se asigna el puntaje) para armar simulacros y pautas iguales. Todo queda en su computador.
Cómo se usa
El estudiante sólo conversa. Al empezar, el tutor pregunta universidad, fecha del examen y horas por semana, y ofrece un diagnóstico. Desde ahí, cada día:
"¿Qué me toca hoy?": repasos vencidos (del más olvidado al menos), temas nuevos y, si corresponde, un simulacro, dentro de los minutos disponibles.
"Muéstrame el índice": el cedulario de su universidad con el estado de cada cédula (⚪ sin ver, 🔴 débil, 🟠 aprendiendo, 🟡 consolidando, 🟢 dominado). El estudiante elige qué ver y esos temas pasan primero.
"Hazme una clase de la cédula 40": pregunta de entrada, explicación por bloques con preguntas intermedias, caso resuelto, caso para el estudiante y reconstrucción del tema sin apoyo.
"Quiero un simulacro": sortea cédulas y hace de comisión (presidente, profesor de Civil, profesor de Procesal); o, si su examen es escrito, arma un caso nuevo al estilo de su universidad, con su pauta de corrección por ítems (como las de la UAI), lo corrige ítem por ítem y calcula la nota con la exigencia de su universidad.
"Te paso mi cedulario y un examen del año pasado": el tutor se adapta a ese examen.
"Hazme un cuadro de nulidad absoluta y relativa": fichas, cuadros comparativos, líneas de tiempo procesales, tarjetas.
"Pregúntame plazos" o "no distingo apelación de casación": práctica de plazos verificados y de instituciones que se confunden.
"Quiero ensayar mi exposición de la cédula 12": guion con tiempos, exposición contra el reloj, devolución y segunda versión.
"Pásame esto a Anki" / "ponme el plan en el calendario".
Cualquier duda, respondida con la norma vigente y, si cargó su manual, con la cita de página.
Herramientas del servidor
Herramienta | Para qué |
| Punto de entrada: configuración, plan, racha y sesión sugerida |
| El método pedagógico de cada modo, para usar el tutor sin la skill |
| Universidad, fecha de examen, horas y días de estudio |
| Qué estudiar hoy; fases y ritmo hasta el examen, con advertencia si no alcanza |
| Índice con estado, búsqueda y selección de contenidos |
| Cédula, normas, prerrequisitos, relaciones, plazos, instituciones con que se confunde, en cuántos cedularios se exige y errores anteriores del estudiante |
| Califica una recuperación (1–4) con la confianza declarada y reprograma el repaso |
| Un tema por unidad para el diagnóstico inicial; lo que no domina queda como foco |
| Plazos verificados e instituciones que se confunden |
| Guion, puntos obligatorios y rúbrica para ensayar una exposición |
| Tarjetas y plazos para Anki; plan de estudio en .ics; respaldo del progreso (a la carpeta Descargas) |
| Simulacros por universidad |
| Dominio por unidad, simulacros, temas que más se olvidan, errores y calibración |
| Texto vigente de un artículo desde Ley Chile |
| Manuales propios del estudiante, con búsqueda y cita de página |
| Material de estudio guardado (fichas, casos, pautas) |
| Documentos del estudiante (adjuntos en la conversación o por ruta): cedulario, reglamento, exámenes anteriores, pautas |
| Adaptar el tutor a su examen con esos documentos |
| Puntaje → nota chilena con exigencia |
| Universidades y formato de su examen, con fuente |
Además expone prompts (empezar, diagnostico, clase, repaso, simulacro, plazos, confusiones, exposicion, mi_examen) con el mismo método, para clientes que no cargan skills.
Instalación
Claude Desktop (Mac o Windows): un minuto
Descarga examen-grado.mcpb y ábrelo con doble clic → Instalar.
En una conversación nueva escribe: "Quiero preparar mi examen de grado".
No hay que instalar nada más: Claude Desktop trae el Node.js que usa la extensión. Opcional: sube también la skill examen-grado-skill.zip en Configuración → Capacidades → Skills; sin ella el tutor funciona igual, porque el método le llega por la extensión (guia_del_tutor).
Guía para estudiantes: primera conversación, qué pedirle, cómo subir tu cedulario, respaldo del progreso y problemas frecuentes.
Claude Code
/plugin marketplace add djlarrix/examen-grado
/plugin install examen-grado@examen-gradoEl plugin trae el servidor y la skill; la primera vez instala sus dependencias solo.
Desde el código
Requiere Node.js 22.13 o superior (usa el SQLite incluido en Node; no hay nada que compilar).
git clone https://github.com/djlarrix/examen-grado.git
cd examen-grado && npm install
claude mcp add examen-grado -- node "$PWD/src/arrancar.mjs"
cp -R skills/examen-grado ~/.claude/skills/Para Claude Desktop sin la extensión, agrega el servidor a claude_desktop_config.json:
{
"mcpServers": {
"examen-grado": { "command": "node", "args": ["/ruta/a/examen-grado/src/arrancar.mjs"] }
}
}Privacidad y derechos de autor
El progreso del estudiante vive en su computador, en
~/.examen-grado/estudio.sqlite(se puede mover conEXAMEN_GRADO_DIR).Los manuales, exámenes y pautas no se distribuyen con el proyecto: cada estudiante carga los suyos. Los PDF no se suben a ningún servidor; se indexa su texto localmente y sólo los pasajes que se consultan pasan a la conversación con Claude.
Los cedularios y temarios de
datos/universidades/son documentos de cada universidad, reproducidos con su fuente para fines de estudio.
Aviso
Proyecto independiente: no es un producto oficial de ninguna universidad ni reemplaza las indicaciones de tu facultad. Los cedularios y formatos de examen vienen de documentos oficiales publicados, con su fuente y fecha de revisión, pero cambian: confirma con tu facultad antes de rendir. El tutor enseña; no presta asesoría legal.
Contribuir
Errores de contenido, universidades que faltan o cedularios nuevos: issues (hay plantillas) o ver CONTRIBUTING.md. Cada lunes una revisión automática compara el temario y los plazos con Ley Chile y abre un issue si una reforma cambió algo.
Licencia
Código y material propio del proyecto bajo licencia MIT.
Desarrollo
npm test # pruebas (sin red)
npm run empaquetar # dist/: extensión .mcpb para Claude Desktop y skill .zip
npm run validar # consistencia de temario, cedularios y mapas
npm run verificar-articulos # cada artículo del temario contra Ley Chile (con red)
npm run verificar-plazos # cada plazo contra el texto vigente de su artículo (con red)
node scripts/probar-servidor.mjs # recorrido por el protocolo MCP realHoja de ruta
Completar cedularios pendientes (Procesal de la UAI, Civil de la UdeC, ambos de la UDD) y sumar las facultades que no publican sus cedularios en línea (Los Andes, Autónoma, Valparaíso, Mayor, San Sebastián, UCN, UCSC…); mientras tanto, el estudiante sube el suyo.
scripts/importar-cedulario.mjsconvierte un cedulario oficial a datos sin reescribirlo.Derecho Público / Constitucional y Laboral como ramos adicionales (los examinan la PUCV, la UACh, la UDLA y la UNAB) y las cédulas electivas.
Validación con estudiantes y profesores: revisión del temario canónico y de los perfiles de comisión por docentes de cada facultad; piloto con estudiantes que rinden este semestre.
Servidor remoto multiusuario: para que los estudiantes lo usen como conector en claude.ai sin instalar nada. El esquema de datos ya separa por estudiante; falta el transporte HTTP con autenticación.
Banco de casos revisado por profesores para los exámenes escritos.
Available Tools
34 toolsagregar_manualA
Indexa un manual en PDF del propio estudiante para buscar y citar con página. El PDF queda en su computador; se guarda su texto para búsqueda local. Los PDF escaneados sin texto no sirven.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | ||
| rama | No | ||
| ruta | Yes | Ruta al PDF en el computador del estudiante. | |
| autor | No | ||
| titulo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the PDF stays on the computer and only its text is saved for local search, and it warns about scanned PDFs without text. This provides valuable transparency about side effects and limitations. It does not cover permissions or overwrite behavior, but the disclosed points are significant and beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. It front-loads the primary action and purpose, then adds two crucial constraints. Every sentence earns its place, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward add operation with no output schema, the description is fairly complete. It explains the core function, the storage behavior, and a critical limitation. It does not mention return values or whether the operation can overwrite existing manuals, but for a basic indexing tool, an agent can reasonably understand when to call it and what to expect. Minor gaps remain, but not severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only ruta is described). The tool description adds context about the operation but does not explain the meaning or usage of anio, rama, autor, or titulo beyond the schema. While it implies ruta and titulo are central, it does not clarify optional parameters. Given the low schema coverage, the description partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (indexa) and resource (manual en PDF del propio estudiante) and explains its purpose (buscar y citar con página). It distinguishes this tool from siblings like buscar_en_manuales, listar_manuales, and quitar_manual by indicating it is the addition operation. No ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context: use when you want to index a student's PDF manual for search/citation. It also provides a constraint (scanned PDFs without text don't work), which is a prerequisite. However, it does not explicitly mention alternatives or when not to use this tool, leaving some inference needed. It is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_en_manualesA
Busca en los manuales cargados por el estudiante y devuelve pasajes con cita (autor, obra, página). Única fuente válida para atribuir doctrina a un autor. Frases exactas entre comillas.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| limite | No | Default 5. | |
| consulta | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the return format (passages with citations) and implies a read-only search, but does not mention potential side effects, error cases, or prerequisites beyond the mention of 'manuales cargados'. It does not contradict any annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, each adding value: the action, the unique role, and a query tip. It is front-loaded and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema or annotations, the description covers the main purpose and gives a hint on query syntax, but it omits any explanation of the 'rama' parameter, which is a clear gap. It also doesn't mention error handling or what happens with no results, though the manual-loading prerequisite is implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'limite' has a description). The description adds value for 'consulta' by recommending exact phrases in quotes, but it provides no explanation for the 'rama' parameter, which has an enum but no purpose stated. It fails to fully compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Busca' (searches), the resource 'manuales cargados por el estudiante', and the specific output: passages with citation (author, work, page). It also distinguishes itself as the only valid source for attributing doctrine to an author, which separates it from sibling search tools like buscar_temario.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit 'when' (when you need to attribute doctrine to an author) and implicitly excludes alternatives by stating it is the 'Única fuente válida'. It also provides a usage hint about using exact phrases in quotes. However, it does not name specific alternative tools or situations where they would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_temarioA
Encuentra temas y cédulas por palabras ("lesión enorme", "notificación por cédula"). Úsala para ubicar una duda en el temario.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It does convey that the tool performs a text-based search for topics and cédulas, but it does not mention output format, matching rules, or behavior when no results are found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, with the main behavior stated first and examples included. Every word earns its place and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter search tool with no output schema, the description gives enough to invoke it: what to search, how to phrase the input, and the intended purpose. It does not describe the return structure, but the core usage is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for the undocumented 'texto' parameter. It does so by explaining that the input consists of words or phrases, supported by examples like 'lesión enorme' and 'notificación por cédula'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds 'temas y cédulas' by words, with concrete examples. It identifies the resource as the 'temario', which differentiates it from siblings like 'buscar_en_manuales', though it does not explicitly name or contrast those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Úsala para ubicar una duda en el temario' gives a clear intended use case. It does not explicitly state when not to use it or point to an alternative tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calcular_notaA
Convierte un puntaje a nota chilena de 1,0 a 7,0 con exigencia (60 % por defecto o la del perfil). Úsala al corregir con pauta, en vez de calcular a mano.
| Name | Required | Description | Default |
|---|---|---|---|
| maximo | Yes | ||
| puntaje | Yes | ||
| exigencia | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It explains the default exigencia (60%) and that it can use the profile's exigencia, which is useful. However, it doesn't mention error cases (e.g., puntaje > maximo), rounding behavior, or the exact conversion formula, leaving uncertainty about edge cases. It does convey the core calculation intent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact two-sentence structure. The first sentence states the core purpose and key parameters, and the second provides usage guidance. No filler or redundancy. The main action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculation tool with no output schema and 0% schema coverage, the description should explain the conversion logic sufficiently. It does not define maximo, nor does it explain how exigencia affects the result (e.g., threshold for passing). The exact formula is left ambiguous. While it is clear on the input and output range, the mechanics are incomplete, making it hard for an agent to verify correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'puntaje' and 'exigencia' but omits 'maximo' entirely. The schema defines the parameters but their meaning beyond names is not explained. The description adds context for exigencia (default and profile) but fails to explain maximo, leaving the agent to infer its role. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Convierte' (converts) with a specific resource (puntaje to nota) and defines the output range (1.0 to 7.0). It distinguishes itself from siblings by being a calculation tool, unlike the others which are about searching, planning, or recording. The mention of 'exigencia' adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use it: 'al corregir con pauta' (when correcting with a rubric), and contrasts with manual calculation ('en vez de calcular a mano'). While it doesn't list alternative tools or when not to use it, the context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cargar_documentoB
Guarda un documento de SU examen (cedulario o temario, reglamento, examen anterior, pauta de corrección) para usarlo en todas las sesiones. Lo más simple: el estudiante adjunta el archivo en la conversación (PDF, Word, foto), tú lo lees y lo guardas con texto (transcripción fiel) y titulo. También acepta ruta a un PDF, .txt o .md del computador. Devuelve el comienzo y qué hacer después según el tipo.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| ruta | No | Alternativa: ruta a un PDF, .txt o .md en el computador del estudiante. | |
| tipo | Yes | ||
| texto | No | Contenido completo del documento adjunto, transcrito tal cual. | |
| titulo | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses input modes and a returning behavior ('Devuelve el comienzo y qué hacer después según el tipo'), plus the faithful-transcription expectation. It does not state whether an existing document is overwritten, whether tipo drives different storage, or any auth/permission constraints for this write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose and then the simplest workflow, with no filler. Each sentence contributes (purpose, input method, return), though it could be tightened slightly and would be more useful if it spent one clause differentiating siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter write tool with two enums and no output schema, the description adequately covers the primary workflow and states what is returned. The gaps are the unexplained rama parameter and any behavior on repeated saves, so an agent can invoke it but not fully predict the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40% (only ruta and texto are documented), so the description must compensate. It adds meaning for texto ('transcripción fiel') and ruta (file on the computer's PDF/.txt/.md), and its list of document types roughly maps to the tipo enum. But rama (civil/procesal) and titulo semantics are left entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Guarda un documento de SU examen', enumerating the document kinds (cedulario, temario, reglamento, examen anterior, pauta) and the persistence scope ('para usarlo en todas las sesiones'). The purpose is clear, but the description never distinguishes this tool from closely named siblings like guardar_cedulario, guardar_material, or agregar_manual, so an agent must still reason about which save-tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives practical usage guidance on the two accepted input paths ('el estudiante adjunta el archivo... tú lo lees y lo guardas con texto' vs. 'También acepta ruta'), which is genuinely helpful. However, it offers no when-to-use / when-not-to-use guidance relative to the many sibling save tools, leaving the selection question implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configurar_estudianteA
Guarda o actualiza el perfil del estudiante: universidad, fecha del examen, horas y días de estudio por semana. Todos los campos son opcionales; sólo se cambian los que vengan. Si su universidad no está en listar_universidades, usa "otra" y guarda en notas cómo es su examen.
| Name | Required | Description | Default |
|---|---|---|---|
| notas | No | Lo que el estudiante cuente de su examen o de sí mismo que sirva para enseñarle. | |
| nombre | No | ||
| dias_semana | No | Días de estudio por semana (1–7). Default 6. | |
| universidad | No | Id de `listar_universidades`, u "otra". | |
| fecha_examen | No | AAAA-MM-DD. Si no la sabe, déjala vacía. | |
| horas_semana | No | Horas de estudio por semana (1–80). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses partial-update semantics ('sólo se cambian los que vengan') and the university fallback, but it does not reveal return behavior, persistence side effects, or whether the profile must already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences with no filler; the main purpose is front-loaded and the conditional fallback is stated compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, all-optional config tool with no output schema, the description covers the fields, update semantics, and the main edge case (unknown university). It is slightly incomplete on what happens after saving or what the tool returns, but nothing critical is missing for invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline is 3. The description adds cross-parameter meaning beyond the schema by explaining that universidad can be 'otra' and that the exam description then goes in notas, plus the global optionality of all fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Guarda o actualiza el perfil del estudiante') and enumerates the exact fields involved. It does not explicitly contrast with the sibling guardar_perfil_examen, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: this tool is for saving/updating the student profile and is a partial update. The conditional instruction about 'otra' and notas gives concrete usage direction, though it never names an alternative tool or states when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnosticoB
Elige un tema por unidad (los más exigidos entre universidades) para un diagnóstico inicial. Lo que el estudiante no domina queda como foco al registrarlo con modo "diagnostico"; lo que domina entra al repaso.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| cantidad | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose what happens to unmastered vs mastered topics (focus vs repaso), but it is ambiguous whether calling this tool itself registers those outcomes or whether a later 'modo diagnostico' registration is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the main action and purpose, with no redundant filler. The parenthetical about universities adds context without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two opaque parameters, no output schema, and no annotations. The description covers purpose but not the meaning of the inputs or what the tool returns/registers, leaving an agent unable to call it with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain either parameter: 'rama' (civil/procesal) or 'cantidad' (4-30) are never mentioned. An agent cannot infer what 'cantidad' counts or how 'rama' affects the selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Elige') and resource ('un tema por unidad') and adds a clear purpose ('para un diagnóstico inicial'). It does not explicitly distinguish itself from the sibling 'elegir_temas', though the diagnostic context helps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage context: choose a topic per unit for an initial diagnostic, with the most university-required topics. It does not state when not to use it or name alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elegir_temasA
El estudiante elige qué contenidos quiere ver: los temas elegidos pasan primero en la sesión de hoy. Acepta ids de tema, cédulas ("civil:40", "procesal:12"), unidades completas ("civil.bienes") o, en universidades con ejercicios de examen separados (UNAB), un ejercicio completo ("ejercicio:2", "civil:ejercicio:3").
| Name | Required | Description | Default |
|---|---|---|---|
| quitar | No | ||
| agregar | No | ||
| limpiar | No | Vacía la selección antes de agregar. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the key behavior ('los temas elegidos pasan primero en la sesión de hoy') and lists valid value formats. However, it does not mention persistence, validation, or the mutating effects beyond what the schema's quitar/agregar/limpiar names imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core purpose, then immediately provides concrete accepted formats. There is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, it covers purpose, behavioral effect, and value formats well. The main gaps are whether the same formats apply to quitar as well as agregar, and whether changes persist beyond today's session, but the schema and parameter names cover the basics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (limpiar is described). The description adds valuable format examples for the string values, but it never explicitly maps those formats to agregar versus quitar, nor does it explain array semantics. It partially compensates for the low coverage but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('elige') and resource ('qué contenidos quiere ver'), and clarifies the behavioral effect: chosen topics pass first in today's session. It also enumerates the accepted input formats, making the tool's role distinct from sibling tools like ver_tema or plan_estudio.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context: use this when the student wants to prioritize certain content in today's session. It does not explicitly name alternatives or state when not to use it, but the stated purpose is enough to route an agent toward the correct sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estado_estudianteA
PUNTO DE ENTRADA. Llámala al comenzar cada conversación. Dice si el estudiante está configurado, cuántos días faltan, en qué fase del plan va, su racha y la sesión sugerida para hoy (repasos, temas nuevos, simulacro).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only status operation by saying what the tool 'Dice' (tells), and it lists the information returned. However, it does not explicitly state that the tool has no side effects or describe behavior when the student is not configured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the entry-point directive, and every phrase earns its place by conveying either when to call the tool or what it reports. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter status tool with no output schema, the description covers the main expected contents: configuration status, days remaining, phase, streak, and today's suggested session. It could add guidance for the unconfigured case (e.g., suggesting configurar_estudiante), but it is otherwise complete enough for an agent to invoke and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is already complete and the description need not explain parameter behavior. The baseline of 4 applies because there is no parameter-semantics burden to carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's role ('PUNTO DE ENTRADA') and enumerates the status information it reports: configured state, days remaining, plan phase, streak, and suggested session. It does not explicitly distinguish itself from sibling tools like sesion_de_hoy or progreso, but the 'entry point' framing makes its purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call it at the beginning of every conversation ('Llámala al comenzar cada conversación'), which gives an agent clear timing guidance. It does not mention exclusions or alternatives, but for an entry-point status tool this is sufficient context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exportarA
Genera un archivo (en la carpeta Descargas) para usar fuera del chat: "anki" (tarjetas guardadas + plazos, listo para importar en Anki), "calendario" (.ics con una sesión por día de estudio, simulacros y el día del examen) o "respaldo" (copia de todo su progreso, para otro computador).
| Name | Required | Description | Default |
|---|---|---|---|
| hora | No | Hora de las sesiones (HH:MM), para el calendario. | |
| formato | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden; it does disclose the artifact type and destination folder (Descargas) for each mode, which is useful. However it omits whether files overwrite existing ones, what the tool returns (path? confirmation?), and any size or permission constraints on a write-to-disk operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: purpose first, then the three modes. Every clause earns its place by disambiguating the enum values, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter mutation tool with no annotations and no output schema, the description covers the formats and the destination folder but never says what the call returns (e.g., a file path or confirmation) or how failures surface. Adequate but with a clear gap for an agent that needs to report results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'hora' is documented in the schema, but the enum 'formato' has no schema description. The description compensates well by explaining exactly what each of the three values produces, adding real meaning beyond the bare enum list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (genera) and resource (archivo en la carpeta Descargas) and then enumerates the three export modes with what each contains, so an agent immediately understands what the tool produces. No sibling tool overlaps with file export, so differentiation is implicit but clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Para usar fuera del chat' gives a clear usage context: this is the tool for getting study material out of the chat into external formats. It does not state when-not to use it or name any alternative, but none of the siblings perform exports, so the risk of misselection is low.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardar_cedularioA
Guarda el cedulario del estudiante (transcrito de un documento que subió) para un ramo. Reemplaza al oficial en el índice, el plan y los simulacros. Cada cédula: número, tema, contenido literal y temas = ids del temario a los que corresponde (búscalos con buscar_temario). Confirma la transcripción con el estudiante antes de guardar. borrar: true vuelve al oficial.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | Yes | ||
| borrar | No | ||
| fuente | No | Qué documento es (p. ej. "Cedulario Derecho Civil, U. X, 2025"). | |
| cedulas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the side effect of replacing the official cedulario in index, plan, and simulations, and explains the 'borrar: true' option to revert to official. It also mentions confirming transcription with the student, which is a behavioral safeguard. It does not mention permissions, failure modes, or return values, but covers the most critical side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, efficient and front-loaded with the core action, then side effects, then parameter specifics. Every sentence adds value: the first states the purpose and impact, the second details the structure, and the third gives procedural and revert guidance. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and the tool has significant side effects, the description covers the main aspects: what it does, side effects, how to obtain 'temas' ids, the confirmation step, and the revert option. It does not mention error scenarios, but for a save operation with clear side effects and a revert mechanism, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'fuente' has a description). The description compensates significantly by explaining the structure of the 'cedulas' array: each cédula has número, tema, contenido literal, and 'temas' which are ids of the syllabus items to look up with buscar_temario. It also explains the 'borrar' parameter. This adds essential meaning beyond the raw schema for the most complex parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: saving a student's cedulario for a subject (rama), with explicit mention that it replaces the official version in index, plan, and mock exams. The verb 'Guarda' and resource 'cedulario' are specific, and the description distinguishes it from other tools by focusing on the save/update action rather than listing or reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use it (when transcribing an uploaded document) and gives a procedural instruction: confirm with the student before saving. It also references buscar_temario for finding the 'temas' ids, implying the need to use that tool beforehand. However, it does not explicitly state when NOT to use it or compare directly with alternatives like guardar_material, though the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardar_materialA
Guarda material que le sirvió al estudiante (ficha, cuadro, esquema, línea de tiempo, tarjetas) para volver a verlo. Las tarjetas, en formato "P: pregunta" / "R: respuesta" separadas por una línea en blanco, se pueden exportar a Anki.
| Name | Required | Description | Default |
|---|---|---|---|
| tema | No | Id de tema del temario (p. ej. "civil.acto.nulidad_relativa"). | |
| tipo | Yes | ||
| titulo | Yes | ||
| contenido | Yes | En markdown. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the format for 'tarjetas' (P:/R: separated by blank line) and mentions export capability, which adds behavioral context. However, it does not describe side effects (e.g., whether it overwrites existing material, requires authentication, or is reversible). The disclosed format is useful but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no redundancy. It front-loads the core purpose ('Guarda material... para volver a verlo') and then adds a specific detail about tarjetas and Anki export. Every clause earns its place, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple save operation, the description covers the essential context: what is saved, why, and the specific format for one type. It does not mention return values or error handling, but for a non-destructive save tool without an output schema, that is likely not needed. It is sufficiently complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with descriptions for 'tema' and 'contenido' but not for 'tipo' and 'titulo'. The description adds meaning about the types of material and the tarjeta format, which helps with 'tipo' and 'contenido', but it does not explain 'titulo'. It partially compensates for the schema gaps but leaves some parameters undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Guarda material') with a defined resource type (ficha, cuadro, etc.) and its purpose (para volver a verlo). It also adds the Anki export detail for tarjetas, which helps differentiate from related tools like 'ver_material' (viewing) and 'exportar' (exporting). The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when material was useful and should be saved for later viewing) but does not explicitly state when not to use it or mention alternatives. It briefly mentions export to Anki but does not position it against the 'exportar' sibling. More explicit guidance on when to choose this over other tools would improve this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guardar_perfil_examenB
Guarda cómo es el examen del estudiante según SUS documentos o relato: modalidad, partes, duración, instrucciones, estilo de la comisión, formato de la pauta de corrección, calificación y exigencia. Se combina con el perfil oficial (lo aportado queda marcado). Exige fuente.
| Name | Required | Description | Default |
|---|---|---|---|
| notas | No | ||
| estilo | No | Cómo pregunta la comisión o qué premia la corrección. | |
| fuente | Yes | ||
| partes | No | ||
| exigencia | No | Fracción del puntaje para el 4,0 (0,6 = 60 %). | |
| modalidad | No | ||
| calificacion | No | ||
| formato_pauta | No | Cómo es la pauta oficial: ítems, pesos, bonus, alternativas. | |
| instrucciones | No | Instrucciones que da el examen (qué se exige en cada respuesta). | |
| nombre_examen | No | ||
| duracion_minutos | No | ||
| formato_preguntas | No | Tipo de preguntas del examen escrito. | |
| exposicion_minutos | No | Duración de la exposición o disertación, si la hay. | |
| modalidad_por_ramo | No | Si cambia por ramo, p. ej. {"civil": "escrita", "procesal": "oral"}. | |
| universidad_nombre | No | Si la universidad no está en la lista. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses two useful traits: that data merges into the official profile and that user-supplied data 'queda marcado', plus the required 'fuente'. However, it omits write semantics such as overwrite vs merge on conflicts, permission needs, or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the action front-loaded and no filler. The long field enumeration is dense but each item earns its place by mapping to schema properties, and the merge/mark note is compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter nested mutation tool with no annotations and no output schema, the description covers the conceptual scope reasonably and notes the merge behavior, but leaves write/overwrite semantics and the undocumented parameters unaddressed. Adequate but with clear gaps given the schema complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 53%, so the schema itself documents roughly half the parameters. The description enumerates many of the same fields (modalidad, duración, estilo, formato de pauta, calificación, exigencia) but adds little format or constraint detail beyond what the schema already provides; the 7 undocumented params get no compensating explanation. Baseline 3 is appropriate for mid coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Guarda cómo es el examen del estudiante') and enumerates the exact facets captured (modalidad, partes, duración, instrucciones, estilo, formato de pauta, calificación, exigencia). It also implies its relationship to the official profile via 'Se combina con el perfil oficial', which helps separate it from the sibling perfil_examen, though it never names that sibling directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'según SUS documentos o relato' and states the required parameter ('Exige fuente'), but offers no explicit when-to-use vs perfil_examen or other siblings, and no when-not-to-use conditions. Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guia_del_tutorB
El método pedagógico del tutor (qué hacer y cómo enseñar en cada modo). Si NO tienes cargada la skill "examen-grado", llámala con modo "inicio" al empezar la conversación y con el modo que corresponda antes de dar una clase, repasar, simular, practicar plazos, etc. Con la skill cargada no hace falta.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the whole burden. It does imply a non-destructive instructional lookup (the 'skill loaded' caching note hints the call is a cheap retrieval of static guidance rather than a mutation), but it never states whether the call changes state, needs auth, or what the returned content looks like. Partial disclosure only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what the tool is, then the invocation rule, then the exception. Nothing is wasted, though the mode list is compressed into a clause rather than laid out, which slightly hurts scannability against a 12-value enum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter lookup with no output schema, the description covers the essentials of when to call it, but it leaves the enum semantics largely implicit and never resolves the overlap with siblings of the same name. That ambiguity is the main thing an agent needs and does not get.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is a 12-value enum with no per-value documentation in the schema. The description salvages some of this by assigning meaning to 'inicio' and to the family of modes used 'antes de dar una clase, repasar, simular, practicar plazos', but values like 'discriminacion', 'material', 'preguntas', 'mi_examen' and 'metodologia' remain unexplained and several collide with sibling tool names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states the tool returns the tutor's pedagogical method ('qué hacer y cómo enseñar en cada modo'), which is a recognizable resource, but the framing is abstract and it never distinguishes itself from siblings whose names collide with its own enum values (diagnostico, simulacro/registrar_simulacro, plazos/practicar_plazos, exposicion/preparar_exposicion). An agent cannot tell from this text why it would call guia_del_tutor with modo 'diagnostico' instead of the standalone diagnostico tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete trigger conditions: call with modo 'inicio' at the start of a conversation, and with the matching mode before teaching, reviewing, simulating or practising deadlines. It also supplies an explicit negative condition ('con la skill cargada no hace falta'), which is genuine when-not guidance. What it lacks is any routing rule mapping its modes to the similarly named sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_documentoA
Lee las páginas de un documento cargado (hasta ~12 por llamada). Úsala para transcribir un cedulario o analizar un examen o pauta.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| desde | No | ||
| hasta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly signals a read-only operation via 'Lee' and discloses the page limit ('hasta ~12 por llamada'), which is important behavioral context. It does not mention error handling or response format, but for a benign read tool the key behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The primary action and limit are front-loaded, followed by selection criteria for use. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description must explain enough to call it correctly. It provides the core purpose and use cases, but omits parameter details and what the return value looks like. Given the tool's simplicity, this is a reasonable but not fully complete definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters `id`, `desde`, or `hasta` beyond the vague word 'páginas'. It mentions a page limit but does not map it to the range parameters, leaving an agent to guess their meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Lee las páginas de un documento cargado') on a clear resource, and adds a practical constraint ('hasta ~12 por llamada'). It does not explicitly name sibling alternatives, but the phrase 'documento cargado' distinguishes it from viewing materials or articles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use cases: 'Úsala para transcribir un cedulario o analizar un examen o pauta.' This tells the agent when to invoke it, but it does not mention alternatives or when not to use it, so it stops short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_documentosC
Documentos que el estudiante ha cargado (cedularios, reglamentos, exámenes anteriores, pautas).
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that the operation is read-only, how results are returned, or how the 'tipo' parameter affects behavior. The description only names the content, omitting any behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded with the core purpose. However, it is so terse that it sacrifices necessary detail, though this is a structural strength in terms of brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (list with optional filter), but the description is incomplete: it fails to explain the parameter, provide usage context, or mention any filtering behavior. Without an output schema, it should at least clarify what the tool returns and how the optional parameter works. The absence of such details makes the description inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the 'tipo' parameter at all. Schema coverage is 0%, and the description merely lists document categories without linking them to the parameter. This leaves the parameter's meaning and usage entirely unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool lists: documents uploaded by the student, with examples (cedularios, reglamentos, exámenes anteriores, pautas). The verb 'list' is implied by the tool name and description, and the resource is specific. It differentiates from sibling tools like listar_manuales by focusing on student-uploaded documents rather than manuals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as listar_manuales or buscar_en_manuales. It does not mention any conditions, prerequisites, or exclusions, leaving the agent to infer usage solely from the name and examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_manualesC
Manuales cargados por el estudiante.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states what manuals are, not what the tool does, what it returns, whether it is read-only, or any side effects. This is a major omission for a tool with no structured behavioral hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and under-specified. It does not provide enough information to be considered appropriately concise; it is a fragment that does not convey the tool's function. Under-specification is not the same as conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must provide all context. It fails to explain what manuales are in this context, what the tool outputs, or how it differs from 'buscar_en_manuales' or 'agregar_manual'. This is insufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description has no parameter semantics to add. The schema covers 100% of parameters (none), so the baseline of 4 is appropriate. The description doesn't need to explain parameters, and it doesn't attempt to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Manuales cargados por el estudiante' is a noun phrase, not a verb phrase. It does not explicitly state the action of listing or retrieving manuals. It gives a vague resource scope but no clear verb, so an agent cannot be sure whether this returns a list, searches, or does something else. It lacks specificity to distinguish from siblings like 'buscar_en_manuales'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of alternative tools like 'buscar_en_manuales' or 'agregar_manual', and no conditions that would select this particular list operation. The agent has no context to decide between this and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_universidadesA
Universidades con perfil de examen cargado, su modalidad (oral/escrita) y si tienen cedulario transcrito.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It clearly states the tool filters for universities with an exam profile and returns modality and cedulario status, which is good. It does not explicitly state it is read-only or describe any side effects, but for a listing operation this is largely implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that states the subject and the three relevant attributes. It is front-loaded with the key resource name and contains no filler or redundant words, earning a top score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description fully specifies what is returned: university name, modality (oral/written), and cedulario status. It does not mention sorting, pagination, or empty-result behavior, but these are minor for a simple listing tool and do not prevent correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics. The description adds value by specifying what each listed item includes (modality and cedulario status), which goes beyond the empty schema. Baseline for 0 params is 4, and nothing in the description misleads or undercuts that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (universities) and the specific attributes returned (exam profile loaded, modality, cedulario status), which distinguishes it from sibling list tools like listar_manuales and listar_documentos. However, it is phrased as a noun phrase rather than an explicit verb phrase like 'Lists...', so it could be more direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when an agent needs to see which universities have an exam profile, but it gives no explicit when-to-use guidance and does not name any alternative tools or exclusion criteria. Sibling tools like perfil_examen or guardar_perfil_examen are not referenced, so the agent must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
perfil_examenA
Cómo es el examen de grado de una universidad: partes, duración, comisión, calificación, estilo de la comisión y puntos por confirmar, con fuente. Consúltalo antes de preparar un simulacro o de decidir qué tipo de preguntas hacer.
| Name | Required | Description | Default |
|---|---|---|---|
| universidad | No | Default: la del estudiante. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It conveys a read-only lookup ('Consúltalo') and describes what the result includes, including that answers are source-backed and may contain unconfirmed points. It does not discuss permissions or rate limits, but this is a low-risk read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences: the first enumerates the returned content and source; the second gives the ideal invocation moment. No filler or repeated schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter lookup with no output schema, the description is nearly complete: it enumerates what will be returned and when to call. It leaves only minor unknowns such as error behavior when no profile exists, which are low-stakes for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional 'universidad' parameter, which already documents its default. The description only reinforces that the profile is for a university and adds no format or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: a university's final-exam profile, and lists its relevant aspects (parts, duration, committee, grading, committee style, open points, and source). It signals a lookup via 'Consúltalo', but does not explicitly differentiate from sibling guardar_perfil_examen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit usage context: consult before preparing a mock exam or deciding what question types to ask. It does not mention exclusions or name alternative tools, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_estudioA
Plan completo hasta el examen: fases con fechas, temas vistos/pendientes, ritmo necesario de temas nuevos por día y advertencia si no alcanza el tiempo.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the behavioral burden. It does add useful context by specifying what the plan includes and the existence of a warning when time is insufficient, but it does not disclose whether the tool reads or modifies stored state, requires prerequisites, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that packs all key deliverables without redundancy. It is appropriately sized for the tool's simplicity and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool, the description is largely complete: it enumerates the plan's components, which serves as the return-value information in the absence of an output schema. However, it does not mention what stored data the plan relies on (e.g., exam date, current progress), which is a minor gap given the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is nothing for the description to add about parameter meaning. Per the baseline rule for no-parameter tools, the description adequately covers the behavior without parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool produces a complete study plan up to the exam, listing concrete output components: phases with dates, seen/pending topics, required pace of new topics per day, and a warning if time is insufficient. This distinguishes it from sibling tools like diagnostico (assessment) and progreso (progress tracking), which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage—when a user needs a study plan—is implied by the description, but there is no explicit guidance on when to use this tool versus alternatives such as sesion_de_hoy or diagnostico. No exclusions or conditional directives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
practicar_discriminacionB
Pares de instituciones que se confunden (nulidad absoluta/relativa, apelación/casación…) con los ejes para compararlas. Para un cuadro comparativo de memoria y casos en que hay que decidir qué institución aplica.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| tema | No | Tema, cédula o unidad para acotar. | |
| cantidad | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It reveals that the tool generates comparison pairs and axes useful for memory and decision cases, but it does not describe the interaction flow, output format, or any side effects. The description is not misleading, but it leaves the agent guessing about what actually happens when called.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. It front-loads the core content (pairs of institutions) and then adds the intended use case. Every clause contributes meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and sparse parameter descriptions, the description is under-specified. It does not explain what the returned content looks like, how quantity works, whether it evaluates answers, or how rama/tema narrow the comparison set. The agent would need additional info to reliably invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description does not explain how 'rama', 'tema', or 'cantidad' affect the output. The schema gives rama an enum and cantidad min/max, but the description adds no semantic meaning to these parameters, so the agent cannot infer how to set them well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's subject: pairs of confusable legal institutions (nulidad absoluta/relativa, apelación/casación) with comparison axes. It conveys a specific practice/discrimination purpose and is distinct from siblings like practicar_plazos or sortear_cedula, though it does not explicitly name any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete use case: 'Para un cuadro comparativo de memoria y casos en que hay que decidir qué institución aplica.' This tells the agent when the tool is appropriate, but it does not mention exclusions or explicitly contrast with alternative practice tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
practicar_plazosA
Preguntas de plazos legales ("¿en qué plazo se apela?"), verificados contra el texto vigente de Ley Chile. Prioriza temas ya vistos y débiles. Trae la respuesta: no la muestres hasta que el estudiante conteste.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| tema | No | Tema, cédula o unidad para acotar. | |
| cantidad | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it discloses two useful traits: questions are verified against the current Ley Chile text, and the answer is included but must be hidden ('no la muestres hasta que el estudiante conteste'). It also reveals the prioritization behavior. It does not detail side effects or output format, so this is strong but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and each clause earns its place: topic, verification source, prioritization, and the answer-withholding rule. There is no filler, and the agent-facing instruction is stated directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a quiz tool with no output schema, the description explains the core loop (ask a question, withhold the answer, wait for the student) and the content source, which is enough to invoke it safely. It omits concrete output shape and how the student's answer should be handled afterward, so an agent still has to infer part of the contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only 'tema' has a description), and the description adds only a weak link to 'temas ya vistos y débiles'. It does not explain 'rama' (civil/procesal) or 'cantidad' (1–15) beyond the schema's own enum/limits, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool produces legal-deadline questions ('Preguntas de plazos legales') and specifies their source ('verificados contra el texto vigente de Ley Chile'). It does not explicitly differentiate itself from sibling practice tools like practicar_discriminacion, so it is clear but not sibling-aware.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it—for quizzing a student on legal deadlines, with automatic focus on 'temas ya vistos y débiles'. However, it never names alternatives such as practicar_discriminacion or preparar_exposicion, nor states when not to use them, so the guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preparar_exposicionA
Prepara la exposición oral de una cédula (o tema): puntos que debe cubrir según el texto oficial, guion con tiempos, rúbrica y errores previos del estudiante. Para universidades con disertación o exposición inicial (U. Central, UDD, UDLA) o para ensayar cualquier cédula en voz alta.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| tema | No | ||
| numero | No | ||
| minutos | No | Duración. Por omisión, la del perfil o 8. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that the tool uses the official text and the student's previous errors and produces a script with timings and rubric, but it does not say whether it mutates state, what it returns, or whether a student profile must already exist. This is useful but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function and deliverables, and the use-case qualifier is placed at the end. Every clause adds information; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a solid high-level purpose and output content, but with no output schema and no annotations it leaves gaps: exact parameter mapping, return format, and prerequisites such as an existing student profile or prior error history. It is adequate but not fully self-contained for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, with only minutos having a description. The description references 'cédula (o tema)' but does not explain how rama, tema, or numero identify the target cédula/topic, nor does it clarify the default behavior for each parameter. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Prepara') and resource ('la exposición oral de una cédula (o tema)') and lists concrete deliverables: puntos, guion con tiempos, rúbrica y errores previos. This clearly distinguishes it from sibling tools like sortear_cedula or practicar_discriminacion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly identifies when to use it: for universities with disertación or exposición inicial (U. Central, UDD, UDLA) or for rehearsing any cédula aloud. It does not name alternatives or exclusions, but the context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
progresoA
Avance del estudiante: dominio por unidad, historial de simulacros, temas que más olvida, errores recientes y racha.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It does disclose the returned data categories, which is useful, but it does not explicitly state that this is a read-only query, whether it depends on a configured student, or how it behaves when no progress data exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with a colon-separated list of concrete data elements. Every word adds information and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only report, the description covers the main output categories an agent needs to decide whether to call it. It could mention that it refers to the currently configured student or define the recency of 'errores recientes', but the core content is adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to clarify about inputs. The baseline of 4 applies; the description instead clarifies the meaning of the tool by listing what the progress report contains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Avance del estudiante') and enumerates specific content: mastery by unit, mock history, forgotten topics, recent errors, and streak. It is clear enough to distinguish from siblings like estado_estudiante or diagnostico, though it lacks an explicit verb such as 'obtener' or 'consultar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool instead of related tools such as estado_estudiante, diagnostico, or sesion_de_hoy. The content list implies a progress-report use case, but no explicit context, exclusions, or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quitar_documentoC
Quita un documento cargado.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden of behavioral disclosure. It only says 'quita' and does not state whether the removal is destructive, reversible, requires ownership, or affects associated data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence with no filler, and the action is front-loaded. It is concise, though slightly under-specified, which prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a removal tool with no output schema and no annotations, an agent would need to know side effects, success behavior, and any restrictions. The one-parameter schema makes the call simple, but the description is minimal and leaves important context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the id parameter explicitly. It only implies that the target is a loaded document, which is minimal compensation for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Quita' (removes) with the resource 'un documento cargado', clearly conveying the tool's action. It is distinguishable from sibling tools like quitar_manual by the resource type and from cargar/leer/listar_documentos by the operation. However, 'quita' could mean delete or unload, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it applies to loaded documents while quitar_manual applies to manuals, nor does it state prerequisites like the document needing to already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quitar_manualA
Quita un manual del índice (no borra el PDF).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing effects. It states the side effect (removal from the index) and the non-effect (the PDF remains), which is genuinely useful. It does not mention reversibility, errors, or return behavior, but the operation is simple enough that this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with a valuable parenthetical clarification. There is no fluff, and every word contributes to the agent's understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema and no annotations, the description is largely sufficient: it defines the action, scope, and a critical non-destructive guarantee. The main missing piece is explicit parameter semantics, but the tool's low complexity keeps this from being a serious gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explicitly document the 'id' parameter. However, the phrase 'un manual del índice' implies that the id refers to the manual being removed, providing partial semantic context that the bare integer schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: it removes a manual from the index and explicitly clarifies that it does not delete the PDF. This distinguishes it from file-deletion operations and sibling tools such as quitar_documento.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear scope context ('del índice') and an explicit when-not ('no borra el PDF'), which helps an agent avoid using it for PDF deletion. It does not name an alternative tool for actually deleting the PDF, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registrar_respuestaA
OBLIGATORIA después de cada respuesta evaluable del estudiante. Actualiza el repaso espaciado del tema. calificacion: 1 otra vez (no lo recordó / error esencial / necesitó la explicación), 2 difícil (con pistas o errores relevantes), 3 bien (correcto sin ayuda), 4 fácil (correcto, preciso, estructurado, relacionó solo). Califica el PRIMER intento. En error, el error concreto en una frase útil para reenseñar.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | ||
| tema | Yes | Id de tema del temario (p. ej. "civil.acto.nulidad_relativa"). | |
| error | No | Qué confundió u omitió. Vacío si respondió bien. | |
| pregunta | No | La pregunta que se hizo, resumida. | |
| confianza | No | Qué tan seguro dijo estar ANTES de saber si acertó. Un acierto con confianza baja se programa como difícil; un error con confianza alta se marca para corregirlo a fondo. | |
| calificacion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does substantial work: it discloses that the tool mutates spaced-repetition state, defines the 1-4 calibration scale, and constrains grading to the first attempt. It stops short of stating side effects like whether previous grades are overwritten or what happens on repeated calls, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, opening with the mandatory usage condition and then covering the calibration scale, the first-attempt rule, and the error-field requirement in just a few sentences. Every sentence adds information; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters and no output schema or annotations, the description covers the essential decisions: when to call it, how to grade, which attempt to grade, and how to fill `error`. It leaves some context implicit (e.g., how `modo` and `confianza` combine with the grade), but the schema supplies enough of that, so the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds real meaning beyond the schema for two key parameters: it defines each `calificacion` value and specifies that `error` should be a concrete, teachable phrase. `modo` and `confianza` rely on their enum/schema descriptions, but the most behaviorally important parameters are well explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Actualiza el repaso espaciado del tema') tied to a specific resource ('respuesta evaluable del estudiante'), so an agent can tell this is the per-answer feedback tool. It does not explicitly contrast it with siblings like registrar_simulacro, though the name and 'respuesta evaluable' strongly imply the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use it: 'OBLIGATORIA después de cada respuesta evaluable del estudiante.' It also gives a precise exclusion rule ('Califica el PRIMER intento'), but it does not name alternatives or describe when another tool should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registrar_simulacroB
Guarda el resultado de un simulacro (nota 1–7, rúbrica por dimensión, fortalezas, a mejorar) y actualiza el repaso de cada tema evaluado. Incluye en temas_evaluados todos los temas sobre los que se preguntó.
| Name | Required | Description | Default |
|---|---|---|---|
| nota | No | ||
| cedulas | No | P. ej. ["civil:40", "procesal:26"]. | |
| rubrica | No | Nota por dimensión: exactitud, precision, estructura, fundamento, relacion, aplicacion, expresion. | |
| a_mejorar | No | ||
| fortalezas | No | ||
| temas_evaluados | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It does reveal an important side effect—updating the repaso of each evaluated topic—and clarifies the expected scope of temas_evaluados. However, it omits details about overwriting behavior, required permissions, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler and front-loads the core purpose. It could be slightly better structured, but every clause adds relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, nested objects, and no output schema, the description provides adequate but not complete context. It explains the main purpose and side effect and adds the key constraint on temas_evaluados, but leaves usage routing and some parameter semantics to the schema and sibling names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description needs to compensate. It adds useful meaning by constraining nota to 1–7 and by specifying that temas_evaluados must include every assessed topic. It does not clarify cedulas beyond the schema's example and only names rubrica, fortalezas, and a_mejorar without detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: save a mock-exam result and update the review state of each evaluated topic. The resource ('simulacro') and the side effect distinguish it from close siblings like registrar_respuesta and calcular_nota, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used after a simulacro and instructs the agent to include all assessed topics in temas_evaluados. It does not state when to prefer this over registrar_respuesta or calcular_nota, nor does it list exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sesion_de_hoyA
Qué estudiar hoy: repasos vencidos (del más olvidado al menos), temas nuevos (primero los elegidos por el estudiante, luego el orden del plan intercalando Civil y Procesal) y si toca simulacro, dentro de los minutos disponibles.
| Name | Required | Description | Default |
|---|---|---|---|
| minutos | No | Minutos disponibles hoy, si difieren de lo habitual. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the ordering behavior and the constraint of available minutes, which is useful. However, it doesn't mention whether this tool modifies state (e.g., marks reviews as done), whether it requires prior configuration, or what happens if no reviews/topics are pending. The description is honest but incomplete on side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the core purpose and then details the prioritization order. It's concise and structured, though the long parenthetical list makes it slightly harder to parse quickly. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description covers the main behavior: what to study and in what order. However, it lacks information about the return value (what the agent should do with the result), whether it mutates state, and edge cases like no pending items. Given the tool's role as a session planner, this is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'minutos', and the description adds context by explaining it's the available minutes today if they differ from usual. This adds meaning beyond the schema's generic description, but the parameter is optional and simple, so the added value is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it determines what to study today, prioritizing overdue reviews, new topics, and mock exams within available minutes. It distinguishes itself from siblings like elegir_temas or plan_estudio by focusing on the daily session composition, though it doesn't explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: at the start of a study session to get the day's agenda. It explains the prioritization logic (overdue reviews first, then new topics, then mock exams) and mentions the optional 'minutos' parameter for adjusting to available time. It doesn't explicitly state when not to use it or name alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sortear_cedulaA
Sortea cédulas para un simulacro, según el cedulario de la universidad (una por ramo si no se indica rama). prioridad "debiles" hace más probable que salgan temas débiles o no vistos.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| numero | No | Forzar una cédula concreta. | |
| ejercicio | No | Sólo cédulas de ese ejercicio de examen de grado (UNAB: 1, 2 o 3). | |
| prioridad | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully explains the default 'una por ramo' rule and the probabilistic effect of prioridad 'debiles', but it does not state whether the tool returns the selected cédulas, persists anything, or has side effects. Some behavior is transparent, but key execution semantics remain implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the main action, and avoids redundant filler. Every sentence adds information: the first defines what is drawn and the default, the second clarifies the special priority behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four optional parameters, no annotations, and no output schema, the description covers the core behavior but omits the return value shape and how `numero` and `ejercicio` interact with the random draw. An agent could invoke it, but not with complete certainty about the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the description compensates for the two undocumented parameters: it explains `rama`'s default behavior and the meaning of `prioridad` = 'debiles'. The other two parameters, `numero` and `ejercicio`, are already described in the schema, so the description adds meaningful value without fully covering everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Sortea cédulas para un simulacro', and immediately defines the source ('según el cedulario de la universidad') and the default selection rule ('una por ramo si no se indica rama'). This clearly differentiates it from sibling tools like elegir_temas or registrar_simulacro.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'para un simulacro' gives clear contextual guidance about when to invoke the tool. There are no explicit exclusions or alternative tool names, so it does not reach the explicit when/when-not level, but the intended context is understandable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ver_articuloA
Texto oficial VIGENTE de un artículo, desde Ley Chile. Úsala SIEMPRE antes de afirmar qué dice una norma; no la cites de memoria. Normas: Código Civil, Código de Procedimiento Civil, Código Orgánico de Tribunales, Código Procesal Penal, Constitución, Código de Comercio, Ley de Matrimonio Civil (19.947), AUC (20.830), Tribunales de Familia (19.968), comparecencia (18.120), arrendamiento urbano (18.101), operaciones de crédito (18.010), consumidor (19.496), efecto retroactivo de las leyes, DL 2.695.
| Name | Required | Description | Default |
|---|---|---|---|
| norma | Yes | Sigla (CC, CPC, COT, CPP, CPR, CCOM, LMC…) o nombre ("Código Civil", "Ley 19.947"). | |
| articulo | Yes | Número: "1682", "1792-1", "19". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that the text is official and current ('VIGENTE') and from Ley Chile, and it enumerates covered legal bodies. It doesn't detail error handling or response format, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary purpose and usage rule are front-loaded, and the list of supported norms is useful scope information rather than filler. Slightly long due to the enumeration, but each item contributes to selection accuracy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup with no annotations and no output schema, the description explains what it returns, which norms it supports, and when to use it. It is complete enough for an agent to select and invoke the tool correctly, with minor gaps around error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, giving a baseline of 3. The description adds real value by enumerating the specific supported legal instruments (CC, CPC, CPP, CPR, specific laws, DL 2.695), which helps an agent determine quickly whether a requested norm can be fetched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns the official current text of a legal article from Ley Chile, a specific verb+resource pairing. It clearly differentiates from sibling tools like ver_tema or ver_material, which concern study sessions rather than authoritative legal retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger: use always before affirming what a legal norm says, and warns not to cite from memory. It doesn't mention alternatives, but no sibling tool competes for the same task, so the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ver_indiceA
Índice de contenidos con el estado de cada tema (⚪ sin ver, 🔴 débil, 🟠 aprendiendo, 🟡 consolidando, 🟢 dominado, ⭐ elegido). Sin rama: resumen por unidad. Con rama: cada cédula del cedulario de su universidad (o cada tema del temario). Úsalo cuando el estudiante quiera elegir qué estudiar.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| vista | No | Default: cedulario si la universidad lo tiene. | |
| unidad | No | Filtrar por unidad (p. ej. "civil.bienes"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains the two output modes, the meaning of status icons, and hints at reading student progress data. It does not explicitly state 'read-only' or address auth/rate limits, but the nature as an index view makes side effects unlikely; the conditional behavior and status legend go beyond a minimal description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loading the core purpose (index with states), then conditional behavior, then a clear usage trigger. Every sentence earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description gives a fairly complete picture: what is returned (statuses), how to adjust granularity via `rama`, and when to use it. It does not detail pagination or sorting, but for an index tool with optional params and no required fields, the essential information is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, missing an explanation for `rama`. The description compensates by defining what `rama` does (without vs. with), which is absent from the schema. It also reinforces the meaning of `vista` indirectly through the 'cédula del cedulario (o tema del temario)' phrasing, adding value beyond the schema's default-only note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it provides an index of contents with the mastery status of each topic, and explicitly differentiates behavior with and without the `rama` parameter. It names the resource (contenidos index) and the function (show state), and the use case ('when the student wants to choose what to study') distinguishes it from siblings like `ver_tema` or `elegir_temas`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit trigger for use: 'Úsalo cuando el estudiante quiera elegir qué estudiar.' It also explains how to choose between the two modes (with or without `rama`), which acts as usage guidance. However, it does not explicitly name alternatives or state when not to use this tool, stopping short of full contrast with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ver_materialB
Material guardado: la lista, el de un tema, o uno por id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| tema | No | Id de tema del temario (p. ej. "civil.acto.nulidad_relativa"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the key retrieval behavior (list vs. filtered by tema vs. by id), but it does not state that the operation is read-only, what happens when both params are supplied, or what the return shape is. For a simple view tool this is acceptable but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. The three modes are listed compactly. It loses a point because the noun-phrase style omits the verb and reads more like a fragment than a full instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main calling patterns (no args, tema, id) and is probably sufficient for basic invocation. It is incomplete for a no-output-schema tool because it does not describe the returned material structure or handle the both-parameters case, though those are minor for a simple view operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'tema' has a description, 'id' does not. The description maps both parameters to modes ('el de un tema' and 'uno por id'), adding some meaning, but it never clarifies that 'id' is a saved-material id or whether the params are mutually exclusive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('saved material') and enumerates the three access modes: full list, by tema, or by id. It lacks an explicit verb ('view/get'), relying on the tool name 'ver_material', and does not contrast with siblings such as ver_tema, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over alternatives like ver_tema or ver_indice, no exclusions, and no mention of the save-workflow context (e.g., 'use after guardar_material'). The word 'guardado' implies saved-material context, but that is not enough to count as explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ver_temaA
Todo lo necesario para enseñar un tema o una cédula: contenido de la cédula, normas de apoyo, prerrequisitos con su dominio, temas relacionados (para preguntas de relación), estado del estudiante y sus errores anteriores. Llámala antes de una clase.
| Name | Required | Description | Default |
|---|---|---|---|
| rama | No | ||
| tema | No | Id de tema, "civil:40" (cédula) o id de unidad. | |
| cedula | No | Número de cédula del cedulario del estudiante (con `rama`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the tool's output categories in detail, which is valuable, but it never states whether the tool has side effects, requires a configured student, or is strictly read-only. The name 'ver_tema' suggests a view operation, but the description itself does not confirm the behavioral profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one substantive sentence followed by a short, actionable usage directive. Every listed item contributes to understanding what the tool returns, and the timing instruction is front-loaded at the end without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex aggregation tool with no output schema, the description provides a solid inventory of returned content and a clear call-time. It does not explain output format or the relationship between parameters, but it covers the main decision-relevant context an agent needs to invoke it appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the schema already documents 'tema' and 'cedula'; 'rama' is an enum with self-explanatory values. The description adds context about the aggregate results but does little to clarify how the parameters should be combined or which combinations are valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (a tema or cédula) and enumerates the content returned: normas de apoyo, prerrequisitos, temas relacionados, estado del estudiante y errores anteriores. This inventory helps distinguish it from siblings like ver_material or estado_estudiante, though the description is phrased as a noun phrase rather than a direct verb statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Llámala antes de una clase' is an explicit, practical usage trigger. It tells the agent when to invoke the tool, but it does not explicitly name alternative tools or state when not to use it, which would be needed for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.10.0- Changed
cargar_documento3 fields changed- changed
Input schema / properties / ruta / descriptionPrevious value: -"Ruta al PDF en el computador del estudiante."New value: +"Alternativa: ruta a un PDF, .txt o .md en el computador del estudiante." - added
Input schema / properties / textoAdded value: +{ + "description": "Contenido completo del documento adjunto, transcrito tal cual.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "ruta", - "tipo" -]New value: +[ + "tipo" +]
- Changed
exportar1 field changed- changed
Input schema / properties / formato / enumPrevious value: -[ - "anki", - "calendario" -]New value: +[ + "anki", + "calendario", + "respaldo" +]
- Changed
guardar_perfil_examen3 fields changed- added
Input schema / properties / exposicion_minutosAdded value: +{ + "description": "Duración de la exposición o disertación, si la hay.", + "type": "number" +} - added
Input schema / properties / formato_preguntasAdded value: +{ + "description": "Tipo de preguntas del examen escrito.", + "enum": [ + "desarrollo", + "caso", + "seleccion_multiple" + ], + "type": "string" +} - added
Input schema / properties / modalidad_por_ramoAdded value: +{ + "description": "Si cambia por ramo, p. ej. {\"civil\": \"escrita\", \"procesal\": \"oral\"}.", + "type": "object" +}
- Added
guia_del_tutor
33 tool updates
v0.9.0- First observed
agregar_manual - First observed
buscar_en_manuales - First observed
buscar_temario - First observed
calcular_nota - First observed
cargar_documento - First observed
configurar_estudiante - First observed
diagnostico - First observed
elegir_temas - First observed
estado_estudiante - First observed
exportar - First observed
guardar_cedulario - First observed
guardar_material - First observed
guardar_perfil_examen - First observed
leer_documento - First observed
listar_documentos - First observed
listar_manuales - First observed
listar_universidades - First observed
perfil_examen - First observed
plan_estudio - First observed
practicar_discriminacion - First observed
practicar_plazos - First observed
preparar_exposicion - First observed
progreso - First observed
quitar_documento - First observed
quitar_manual - First observed
registrar_respuesta - First observed
registrar_simulacro - First observed
sesion_de_hoy - First observed
sortear_cedula - First observed
ver_articulo - First observed
ver_indice - First observed
ver_material - First observed
ver_tema
TDQS
Scored across 34 tools
Several tools overlap in purpose: estado_estudiante, sesion_de_hoy, and plan_estudio all suggest what to study; ver_tema and preparar_exposicion both prepare teaching a topic; document and manual management tools are parallel sets. Descriptions clarify distinctions, but with 34 tools misselection is still likely.
Most tools follow a Spanish snake_case verb_noun pattern (cargar_documento, ver_tema, registrar_respuesta, etc.), but a number of noun-only names (perfil_examen, progreso, diagnostico) and prepositional phrases (sesion_de_hoy, guia_del_tutor) deviate from the pattern. Still consistent and readable overall.
With 34 tools, the set exceeds the 25+ threshold that typically indicates an overstuffed surface. While the domain is broad, many tools could be consolidated (e.g., document/manual CRUD, multiple study-planning tools), making the count feel heavy for a single-user tutor.
The surface covers onboarding, study planning, topic teaching, practice, grading, simulations, document/manual management, legal text lookup, and export. Minor gaps exist, such as no delete/update tool for saved materials and no way to reset progress, but these are workable around.
Maintenance
Related MCP Connectors
Search U.S. case law, fetch opinions, and ask matter-aware legal questions over your documents.
Connect AI to millions of laws and court cases with the Lawstronaut MCP.
LawOracle — 20 legal AI tools: case law search, contracts, EU regulations, citation graph.
- DikeOAuthio.github.fr3on
Grounded MENA legal search, reasoning, citation resolution, and citation-graph traversal.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that connects AI to the Chilean legislation system (Ley Chile) for retrieving legal norms, citations, and intertemporal analysis.282MIT
- AlicenseBqualityFmaintenanceConnects AI assistants to Chilean legal sources, enabling citation of official legal texts, search of doctrine, jurisprudence, and rulings.18MIT
- FlicenseNot gradedqualityBmaintenanceEnables Chilean legal research via 15 MCP tools that search and cite official sources, retrieve full legal texts, perform hybrid semantic searches, and export results to Word or PDF.-
- FlicenseNot gradedqualityCmaintenanceEnables semantic search, outcome prediction, and legal document drafting across 67M+ Brazilian court decisions from 55 tribunals, with tools for jurimetric analysis and citation verification.-