Investigación Legal
Aproxima una ejecución de investigación profunda, especializada en derecho y ajustada para ser eficiente por defecto.
Ejecuta un pipeline de recuperación sobre fuentes legales gratuitas y de acceso abierto (sin Westlaw/Lexis);
la forma etapa por etapa, los límites y el mapa de modelos residen en el paso 4, junto a la invocación. El diseño
mantiene bajo el uso de tokens — el costo dominante en la expansión ingenua es que un modelo frontera lea cada
página recuperada — mientras previene citas inventadas. Agregue deep (por ejemplo, "haz un pase
profundo") para trabajos de alto riesgo donde la exhaustividad supere a la velocidad.
Fuentes (acceso abierto)
Jurisprudencia: CourtListener, Justia, Google Scholar jurisprudencia, Cornell LII, Caselaw Access Project, sitios oficiales de tribunales. Académico: SSRN, Google Scholar, repositorios de acceso común de facultades de derecho, contenido abierto de HeinOnline, sitios de revistas, páginas de profesores. Los modos académicos también buscan en la biblioteca Zotero del usuario a través del servidor MCP de Zotero (se omite elegantemente si no está disponible).
Cómo ejecutar
1. Analizar la solicitud
Extraer del mensaje del usuario:
- pregunta — la pregunta legal (obligatorio).
- modo —
jurisprudencia,academicooambos. Por defectoambos. Inferir del redactado ("qué sostienen los tribunales" → jurisprudencia; "estado de la literatura / debate académico" → academico). - estiloSalida —
practicante(Pregunta Presentada / Respuesta Breve / IRAC) oacademico(introducción / panorama / análisis / notas al pie). Por defecto: practicante para jurisprudencia, academico para academico y para ambos. Respetar una anulación explícita. - jurisdicción, fechaDe (por defecto hoy) y cualquier nota (hechos, postura, alcance).
2. Aclarar solo si es realmente bloqueante
Si la pregunta es demasiado vaga para investigar bien, haga 2–3 preguntas específicas antes de lanzar. Para jurisprudencia, jurisdicción y postura procesal son lo más importante; para académico, la tesis o subpregunta específica y cualquier ventana de tiempo. No pregunte en exceso — elija valores predeterminados sensatos y anótelos.
3. Verificación previa: asegurarse de que las herramientas web estén permitidas (hacer esto ANTES de lanzar)
Los subagentes de investigación llaman intensamente a WebSearch y WebFetch. Si esas herramientas no están preautorizadas, cada llamada genera un mensaje de permiso interactivo — y un mensaje interrumpido puede matar a un agente de investigación a mitad de ejecución (un modo de fallo real: una ejecución anterior perdió 2 de 4 vectores de esta manera).
Antes de llamar al Workflow, haga que la ejecución sea autocontenida:
- Lea
~/.claude/settings.jsony verifiquepermissions.allowen busca de"WebFetch"y"WebSearch". - Si falta alguno, agréguelo (fusionar en el array
allowexistente — nunca reemplazarlo; crear la rutapermissions.allowsi está ausente). Si ambos ya están presentes, no haga nada. - No pregunte al usuario sobre esto — es configuración rutinaria para la habilidad. (Si el archivo está administrado/
solo lectura y no puede editarlo, dígale al usuario que verá mensajes de recuperación y debe
aceptarlos, o agregar la regla mediante
/permissions). - Opcional pero vale la pena echarle un vistazo: la verificación determinista de citas de casos necesita un token de API de CourtListener.
Pruébelo, no busque un archivo — ejecute
python3 ${CLAUDE_PLUGIN_ROOT}/skills/legal-research/check_cite.py \"347 U.S. 483\"; salida 0 con"encontrado": truesignifica que el token funciona y no hay nada que informar.check_cite.pyresuelve el token desdeCOURTLISTENER_API_TOKEN, luegoCOURTLISTENER_TOKEN, luego el archivo~/.config/courtlistener/token— en ese orden, y la ruta de la variable de entorno (comúnmente establecida en el bloqueenvde~/.claude/settings.json) es la instalación normal, por lo que la ausencia del archivo no prueba nada. Si la prueba realmente falla, no bloquee la ejecución — los agentes de verificación recurren a la verificación web — pero menciónelo una vez en el paso de entrega (página del token: https://www.courtlistener.com/profile/api-token/).
4. Lanzar el flujo de trabajo
Llame a la herramienta Workflow con el script incluido y los argumentos analizados:
Workflow({
scriptPath: \"${CLAUDE_PLUGIN_ROOT}/skills/legal-research/legal-research.workflow.js\",
args: {
skillsDir: \"${CLAUDE_PLUGIN_ROOT}/skills\", // donde residen los scripts auxiliares incluidos
question: \"<la pregunta legal>\",
mode: \"jurisprudencia\" | \"academico\" | \"ambos\",
outputStyle: \"practicante\" | \"academico\",
jurisdiction: \"<ej. federal / 9.º Cir. / Misuri / Tribunal Supremo de EE. UU.>\",
asOfDate: \"<YYYY-MM-DD o 'hoy'>\",
notes: \"<hechos, postura, alcance, cualquier cosa que el usuario haya enfatizado>\",
deep: false, // verdadero solo cuando el usuario solicita un pase profundo/exhaustivo/de alto riesgo
projectDir: \"<el directorio de trabajo actual — permite el vector de encuesta del corpus local;
omitir solo si el cwd claramente no está relacionado con la pregunta>\"
}
})
Ajustado por defecto: ~4 vectores de encuesta solo de búsqueda (más un barrido de la biblioteca Zotero en modos académicos
y un barrido del corpus local de projectDir — memorandos anteriores y fuentes descargadas son mapas y pistas, nunca
autoridad citable). El alcance también clasifica la pregunta (doctrinal vs. académica; histórica
o no) — eso selecciona un resumen de método analítico inyectado en el Borrador (disciplina de síntesis,
higiene de holding/dicta, taxonomía que abarca épocas para preguntas de historia doctrinal) y, para preguntas
históricas, distribuye los vectores de búsqueda en capas temporales para que la cobertura no se agrupe en el
canon moderno. Celda de cobertura de respuesta directa (académico/ambos, agregado el 2026-07-16 después de que una
ejecución de comparación de Codex venciera a una ejecución de Claude de 64 agentes en la pregunta real): El alcance debe dedicar al menos
un vector a la literatura que trata el FENÓMENO NOMBRADO de la pregunta como su propio objeto — construido a partir de
los términos de título de especialista que un experto espera e incluyendo una búsqueda de citas de la pieza más relevante
— mantenido distinto de las literaturas adyacentes a las que el fenómeno simplemente pertenece. La encuesta señala
dichos candidatos centrales; el triaje los promueve a lecturas completas antes de las encuestas adyacentes amplias. El
fallo que esto corrige: mapear cinco literaturas adyacentes (discurso extrajudicial, recusación, celebridad)
mientras se pierden los pocos trabajos directamente sobre el fenómeno (ej. estudios de autobiografía judicial,
secciones de ética de "acuerdos de libros de jueces"), para luego confundir esa brecha de corpus con un hallazgo de que
"no existe literatura directa." Las afirmaciones de ausencia/brecha ahora están controladas por una auditoría de omisión de fuentes centrales
(en el resumen de método académico): no hay "ninguna literatura aborda directamente X" a menos que una búsqueda dirigida al fenómeno
Y una búsqueda de citas en ambas direcciones realmente se hayan ejecutado — de lo contrario, la afirmación se
limita a "en las fuentes revisadas" y la búsqueda no ejecutada se señala. La expansión se organiza en torno a
celdas de cobertura, y el límite de agentes es un techo, no una cuota — los carriles no superpuestos superan a muchas
búsquedas generalistas superpuestas. Pipeline: vectores de encuesta → deduplicación → ≤8 lecturas completas únicas en total (no por vector;
los lectores recurren a espejos de acceso abierto — commons digitales, páginas de autor, CourtListener/LII —
antes de rendirse, enrutan los PDF a través de un recuperador con límite de tamaño duro, fetch_page.py, y extraen
postura/limitación/opiniones separadas/significado junto con la proposición y la cita) → un borrador de sesión única (guiado por el resumen de método) → un relleno de brechas acotado (≤3
recuperaciones dirigidas más una ola de reintentos, solo si el borrador señala autoridades faltantes) → verificaciones de citas
fragmentadas solo de las autoridades citadas (8 por agente; las citas de casos se confirman deterministamente a través de
la API de búsqueda de citas de CourtListener, check_cite.py, más un escaneo sistemático de opiniones citantes
mediante cl_case_tools.py citing — un sondeo de lenguaje de tratamiento clasificado por relevancia sobre las opiniones citantes reales del caso,
con una fecha de vigencia, reemplazando la búsqueda única anterior; las fuentes que un lector ya abrió en esta ejecución omiten
las verificaciones de existencia) → finalización ligera. Los candidatos no seleccionados Y las autoridades en las que cada fuente leída
se basa se llevan al borrador como pistas no leídas con reservas, para que la amplitud se mantenga amplia mientras las recuperaciones se mantengan
pocas. Cada ejecución está protegida por un límite de gasto: un techo blando cableado (~250k tokens de salida por defecto, ~1M profundo — elevado de 600k el 2026-07-15 después de
una ejecución histórica profunda que se atascó a medio camino y dejó 35 de 43 citas sin verificar) arma la misma
escalera de degradación elegante que un presupuesto explícito +500k — recortar lecturas → saltar relleno de brechas → verificar
solo citas de carga — para que una ejecución descontrolada se degrade en lugar de espiralizarse. Los agentes de lectura, relleno de brechas y verificación
llevan todos un bloque de disciplina de acceso (agregado la misma fecha): límites de intento duros,
WebSearch/WebFetch solo, y una prohibición explícita de automatización de navegador, proxies de biblioteca e inicios de sesión/SSO
— una fuente con paywall es un honesto abierto=false, no una razón para insistir. Modelos: Haiku solo para la encuesta de fragmentos de búsqueda;
Sonnet para triaje, lecturas completas y verificación; Alcance, Borrador y Finalizar heredan
el modelo de sesión (Fable cuando Fable está activo). deep:true (o un presupuesto de tokens estilo +800k) amplía a
hasta 7 vectores, eleva el límite de lectura a 16 y le da a cada cita de carga (limitada a 8)
un pase de refutación adversaria de 3 votos (vuelve a abrir fuentes para confirmar citas textuales). El flujo de trabajo
se ejecuta en segundo plano y le notifica al finalizar.
5. Entregar
El flujo de trabajo devuelve { memo, estadoSalida, degradacion, conteos, ... }.
- Verifique
estadoSalidaANTES de presentar.completo→ entregar.completo_con_limites→ entregar, mostrando las brechas documentadas (listadas endegradaciony la sección de Límites del memo).presupuesto_agotado→ el guardián del presupuesto recortó la cobertura real (lecturas recortadas, relleno de brechas omitido, citas no verificadas — verdegradacionpara detalles); el memo aún no es el entregable. El patrón de rescate probado (ejecución de julio de 2026 anterior a 1960): lanzar pases de agente de lectura y verificación dirigidos — uno por área descubierta, cada uno con los casos/citas específicos para recuperar y confirmar contra el texto oficial del reportero (CAP static.case.law / LOC usrep scans) — luego redactar el memo final usted mismo a partir del núcleo verificado del flujo de trabajo más los pases de relleno. No entregue al usuario un memo que diga "Confianza: insuficiente" para la mitad de su alcance sin rellenar los vacíos o preguntar. Los agentes de rescate necesitan la misma disciplina de acceso que los agentes del flujo de trabajo (lección de una ejecución académica de julio de 2026, donde un agente de rescate sin límite quemó 30+ minutos y ~245k tokens escalando a automatización de navegador contra un artículo de 1962 con paywall): escribir en cada mensaje de rescate un límite de intento duro (~3 por fuente), WebSearch/WebFetch solo, una prohibición explícita de automatización de navegador / proxies de biblioteca / flujos SSO, y la instrucción de que "con paywall — aquí está la base más sólida que alcancé" es una respuesta completamente aceptable. Si un agente de rescate insiste de todos modos, enviarle un mensaje para que termine e informe en lugar de esperarlo. - Presentar el memo al usuario como el entregable principal.
- Hipervínculos (obligatorio, según el autor, 2026-08-29): cada noticia, publicación de blog u otra fuente web en el memo debe llevar su URL funcional como un enlace en el que se puede hacer clic — nunca una atribución solo con el nombre del medio como "(Politico)" o "(Roll Call, 14 de julio de 2026)". El bloque de citas del flujo de trabajo aplica esto en los mensajes de los agentes; mantenga las ediciones escritas a mano, los pases de rescate y cualquier memo de investigación ad hoc (fuera del flujo de trabajo) con la misma regla, e instruya a cualquier agente de rescate/relleno para que devuelva la URL de cada fuente que cite (una afirmación sin URL no está verificada).
- Encabezado del memo de investigación y pie de página de producción (obligatorio, según el autor — regla global en
~/.claude/CLAUDE.md): el memo se abre directamente debajo del título con el bloque de encabezado estructurado
(
Tema:/Fecha:/Por:); el bloqueDetalles de producción:va al final del archivo (después de todos los apéndices, incl. "Límites de esta investigación", separado por una regla---) — nunca arriba.Fechaes la fecha/hora local en que el memo se entregó/escribió;PoresClaude-<modelo de sesión orquestador>(id exacto);Detalles de producciónnombra la habilidad, el/los modelos de agente de flujo de trabajo realmente utilizados (leídos de las entradas de progreso por agente de la ejecución — no asuma), la duración en tiempo real y el recuento de tokens del bloque<usage>de la notificación de finalización (etiquetado como tokens de salida del subagente; la sobrecarga del orquestador no está incluida). Si se ejecutaron pases de rescate/relleno después del flujo de trabajo, agregue sus recuentos de agentes y note que la duración cubre solo la ejecución del flujo de trabajo. - Muestre los conteos de verificación ("N autoridades verificadas, M no verificadas") para que sepan cuánto confiar en él, y señale el apéndice "Límites de esta investigación" del memo (que ahora divulga la base de verificación de cada autoridad: texto completo directo / reproducción autoritativa / corroboración secundaria / solo cita).
- El resultado también lleva
esqueleto— el esquema analítico etiquetado con citas a partir del cual se escribió el borrador (cada afirmación de carga etiquetada con su hallazgo, los agujeros marcados como BRECHA). No lo presente por defecto; ofrézcalo si el usuario desea auditar el razonamiento, y úselo usted mismo cuando edite el memo manualmente (una afirmación sin línea de esqueleto necesita una autoridad o una reserva antes de crecer). - Ofrezca guardarlo: Markdown en el directorio de trabajo; Word a través del convertidor incluido —
python3 ${CLAUDE_PLUGIN_ROOT}/skills/legal-research/md2docx.py memo.md memo.docx \"<Título>\"; o Google Drive a través del conector. Si el usuario solicitó .docx desde el principio, simplemente prodúzcalo. - Ofrezca un pase de seguimiento sobre cualquier punto débil/no verificado, o un cambio de estilo de salida.
Calibración de afirmaciones (v7)
La verificación de citas y la calibración de afirmaciones capturan clases de error disjuntas: la verificación captura afirmaciones falsas sobre fuentes; la calibración captura hallazgos verdaderos ensamblados en generalizaciones no respaldadas. El pipeline ahora aplica ambas — el mensaje del Borrador lleva una puerta de fuerza de afirmación (palabras de frecuencia/prioridad/finalidad como "primero", "único", "abrumadoramente", "borrado" requieren una búsqueda diseñada para respaldarlas, de lo contrario lenguaje con alcance de muestra), los lectores etiquetan la postura de cada fuente (incluyendo disposiciones arguendo y no precedentes) y su relevancia (solo proceso / asume la premisa / doctrina adyacente), las ejecuciones históricas obtienen sesgo de selección, fecha límite y verificaciones de daño/exclusión, y las ejecuciones profundas agregan un pase de calibración adversario dedicado en el borrador. Una tercera clase de error se encuentra entre ellas: una referencia citada correctamente pero que no respalda la proposición (por ejemplo, un caso citado para un holding cuando la página citada solo contiene dicta, o un artículo citado para la postura del autor cuando en realidad resume a otros). El pipeline ahora también aborda esto: los lectores etiquetan la relación de cada fuente con la proposición que respalda (directa / por analogía / contextual / solo citando a otro), y el verificador de citas reabre la fuente para confirmar que el texto citado realmente respalda la afirmación que se le atribuye — no solo que existe.
Registro de cambios (habilidad)
- 2026-07-16: Celda de cobertura de respuesta directa agregada para modos académico/ambos después de que una ejecución de comparación de Codex venciera a una ejecución de Claude de 64 agentes. Presupuesto de tokens profundo elevado de 600k a 1M después de una ejecución histórica profunda que se atascó. Bloque de disciplina de acceso agregado a los mensajes de los agentes de lectura, relleno de brechas y verificación para evitar la escalada de paywalls.
- 2026-08-29: Regla de hipervínculo obligatorio agregada; cada fuente web en el memo debe llevar su URL. Pie de página de producción movido al final del archivo. Auditoría de calibración de afirmaciones ampliada para incluir verificación de ajuste proposición-autoridad.