Artículo Premium

#27 Mi primer agente Constructor de documentos legales con claude code

Contenido exclusivo para miembros del Club de Innovación de Despachos Profesionales.
No está autorizado su difusión, reproducción o distribución.


Autor: José Pedro Martín Escolar
08 de Mayo de 2026
Curioseando por internet encontré un artículo donde explicaba cómo los departamentos legales estaban evolucionando con Claude Code para la creación de documentos legales y ese artículo decía textualmente lo siguiente:

"El cliente completa un cuestionario estructurado, los datos se incorporan al sistema de Claude Code y se genera un borrador de acuerdo, moción o carta de demanda según la guía de estilo de la firma"


Como había aprendido a usar Claude Code pensé: "esta es la mía". Al usar "Claude Chat" descubrí que no ofrece las mismas respuestas que "Claude Code"; las respuestas son completamente distintas.

Cada producto incorpora su propio prompt de sistema. El de Claude Chat (claude.ai) está orientado a la conversación general, con reglas sobre formato, citaciones y uso de herramientas. El de Claude Code está afinado para tareas de desarrollo en terminal: es más conciso, menos prosaico y asume que trabajas con código y archivos.

El siguiente paso fue preguntar a Claude Code dentro de Visual Studio, como habíamos visto en el curso de Claude Code del Club de Innovación. En el mismo explicaba que el futuro estará en manejar muy bien las Skills. Y efectivamente, lo que aconsejó Claude Code fue crear un cuestionario web donde el cliente expone lo que necesita y posteriormente, de acuerdo a toda una serie de skills, se crearía el documento word para el cliente.

Esta fue la primera respuesta de Claude Code.
El siguiente paso fue decir a Claude que me ayudara a crear una prueba de concepto. Y efectivamente, lo primero que hizo fue crear todas las skills
Después de terminar me había creado esta estructura

Qué contiene cada pieza (decisiones de diseño)

  • CLAUDE.md — concentra dos cosas: la guía de estilo del despacho (terminología preferida y prohibida, fórmulas, citas) y las reglas vinculantes de generación (validar esquema, no inventar, marcar [REVISAR], guardar en salidas/). Es el archivo que cargará Claude en cada sesión.
  • Plantillas — esqueletos con placeholders descriptivos (). Sirven para fijar la estructura.
  • Ejemplos — documentos completos anonimizados. En la práctica son lo que más sube la calidad: Claude imita el registro real, no la teoría del manual de estilo. Para producción querrás 3-5 ejemplos reales por tipo.
  • Esquemas JSON — el contrato entre el cuestionario y el motor. Si el formulario web genera JSON conforme al esquema, el flujo es estable.
  • Slash commands — el procedimiento operativo. Cada comando es una receta paso a paso: validar → cargar contexto → redactar → marcar revisión → guardar → resumir.
Antes de comenzar el proyecto era importante saber cómo sería el proceso. Es decir, una vez creado el borrador ¿Lo revisaría antes el despacho? En mi caso prefiero que sean ambos.

El cliente recibirá el borrador y también el despacho para revisarlo. Se trata de una prueba de concepto. Lo que estoy pensando es que al finalizar pudiera crearme una tarea en el CRM. 
Por último tuve que elegir el formato de salida (¿word, pdf...?). En mi caso he decidido que sea mejor el formato word para poder realizar cambios.

Pero... ¿Y si creo una aplicación donde cliente y despacho pudiéramos trabajar en el mismo documento final? ¿Sería posible esto? Pues le pregunté a Claude Code. En otro artículo comentaré qué sucedió.

Después de unos minutos surgió la magia... ¡Boooooom! Tenía realizada la aplicación.
Las primeras impresiones eran de asombro. Increíble lo que había construido. Después de rellenar un formulario obtengo el word pero con recomendaciones que no había puesto en el formulario. 

Qué pasa cuando el cliente le da a "Generar"

Sigue este viaje:

1. Cliente envía el formulario
       ↓
2. Backend (Node) lee de DISCO los 4 archivos:
       - recursos/CLAUDE.md
       - recursos/plantillas/<tipo>.md
       - recursos/ejemplos/<tipo>-ejemplo.md
       - reglas inline del construirPrompt.ts
       ↓
3. Los concatena en un único "system prompt" enorme
       ↓
4. Envía a la API de Anthropic:
       system = [esa concatenación, con cache_control]
       user   = JSON del caso del cliente
       ↓
5. Claude responde con el borrador en markdown
       ↓
6. Backend → .docx → cliente
El siguiente paso era ¿Cómo podía poner esto en una url pública con total seguridad? Le pregunté a Claude Code. Pero esto lo explicaré en otro momento.


Piensa en tu app como un restaurante:

  • El código que escribes = las recetas y procedimientos del cocinero
  • Las librerías que usas (@anthropic-ai/sdk, express, docx) = ingredientes y utensilios pre-fabricados que metes en tus recetas
  • El hosting (Render, Vercel, etc.) = el local físico con cocina, electricidad, dirección postal
  • GitHub = el mensajero que lleva tus recetas desde tu portátil hasta el local
  • La URL pública = la dirección de la calle del restaurante

Estas cuatro cosas son independientes. Puedes cambiar una sin tocar las otras.

¿Quieres ver todas las publicaciones?