🇨🇱Chile·Laboral Skill· 23 abr 2026· ES
Descargar sentencias PJUD (civil y laboral) automáticamente
Descarga ebooks PDF del PJUD para causas civiles (C-) y laborales (T-, O-, M-, etc.) desde la OJV vía Chrome MCP o Playwright.
skill.md · Laboral
¿Cómo uso esto?
- Rellena las variables (más abajo) si aplica.
- Aprieta «Copiar prompt».
- Pega el texto en ChatGPT, Claude o Gemini y envía.
---
name: descargas-laborales-y-civiles-pjud
description: >
Descargador automático de sentencias y resoluciones (Ebooks en PDF) desde el PJUD para causas
civiles y laborales. Usa esta skill cuando el usuario diga "descarga las sentencias",
"baja los ebooks del PJUD", "procesa el excel de causas", "descarga los PDFs del PJUD",
"corre el descargador", "descarga las causas", "quiero descargar sentencias",
"descarga las causas laborales", "baja los ebooks laborales", o cualquier variante que implique
obtener sentencias o ebooks desde la OJV del Poder Judicial.
También activa si el usuario menciona un archivo Excel con causas o roles y quiere descargar
sus sentencias, o cuando dice "hazlo" / "dale" después de haber hablado de descargar causas.
ACTIVA SIEMPRE que el contexto sea descargar o procesar sentencias del PJUD, incluso si no
se menciona el nombre de la skill explícitamente. Funciona tanto con causas civiles (rol C-)
como laborales (roles T-, O-, M-, E-, S-, U-, V-, I-).
---
# Skill: Descargador de Sentencias PJUD — Causas Civiles y Laborales
Descarga automática del Ebook (PDF con la sentencia/resolución completa) de cada causa desde la Oficina Judicial Virtual del PJUD. Soporta causas civiles y laborales. Claude ejecuta la descarga directamente usando las herramientas de Chrome (MCP browser tools).
## Archivos importantes
- **Script descargador**: `scripts/pjud_downloader.py` — motor de descarga con Playwright para ejecución batch en el equipo del usuario (opcional, para lotes grandes)
---
## Paso 0 — OBLIGATORIO: Verificar que Playwright está instalado
**ESTE PASO ES SIEMPRE OBLIGATORIO Y DEBE EJECUTARSE ANTES DE CUALQUIER OTRA COSA.**
Preguntar al usuario si tiene Playwright instalado en su equipo. Indicarle que verifique ejecutando este comando en PowerShell o CMD:
```powershell
python -c "from playwright.sync_api import sync_playwright; print('Playwright OK')"
```
- **Si imprime "Playwright OK"**: Playwright está instalado. Continuar al Paso 1.
- **Si falla o el usuario no lo tiene instalado**: Indicar al usuario que ejecute los siguientes comandos en PowerShell o CMD para instalar las dependencias necesarias:
```powershell
pip install playwright pandas openpyxl requests
playwright install chromium
```
Si `pip` no se reconoce, sugerir `python -m pip install ...` en su lugar.
Si `python` tampoco se reconoce, el usuario necesita instalar Python primero desde https://www.python.org/downloads/ marcando la opción **"Add Python to PATH"** durante la instalación.
**IMPORTANTE**: NO continuar con ningún otro paso hasta que el usuario confirme que Playwright se instaló correctamente. Si tiene dudas, pedirle que ejecute nuevamente el comando de verificación y comparta el resultado.
Este paso garantiza que el usuario tenga el entorno preparado para ejecutar descargas masivas en el futuro si lo necesita, y que todas las dependencias Python estén disponibles.
---
## Paso 1 — Elegir carpeta de destino
SIEMPRE abrir un prompt para que el usuario elija la carpeta de destino. **NUNCA** asumir una carpeta por defecto. Seguir este flujo exacto:
1. Usar la herramienta `AskUserQuestion` para preguntar al usuario dónde quiere guardar los PDFs, ofreciendo opciones como "Escritorio", "Descargas", "Otra carpeta".
2. Según la elección, usar la herramienta `request_cowork_directory` con la ruta correspondiente:
- Escritorio → `request_cowork_directory` con path `~/Desktop`
- Descargas → `request_cowork_directory` con path `~/Downloads`
- Otra carpeta → `request_cowork_directory` SIN path (abre el selector nativo del sistema operativo)
3. La ruta VM montada resultante (ej. `/sessions/.../mnt/Desktop`) se usará para guardar los PDFs.
**IMPORTANTE**: Este paso es OBLIGATORIO. No preguntar la ruta como texto libre — usar siempre `AskUserQuestion` + `request_cowork_directory`.
---
## Paso 2 — Identificar la causa o causas
### Causa individual
Si el usuario pide una sola causa, necesitas:
- **RIT**: formato `X-NÚMERO-AÑO` (ej. `T-1161-2025`)
- **Tribunal**: nombre del juzgado (ej. "Juzgado de Letras del Trabajo de Concepción")
La **letra del rol** determina la competencia:
- `C-` → Civil
- `T-`, `O-`, `M-`, `E-`, `S-`, `U-`, `V-`, `I-` → Laboral
Si el usuario da un RIT sin tribunal, usar el diccionario `MAPEO_TRIBUNALES` del script para inferirlo, o preguntar al usuario.
### Múltiples causas desde Excel
Si el usuario proporciona un Excel, leer el archivo y procesar cada causa. El Excel debe tener columnas: Tribunal, Fecha (opcional), Rol (formato X-NNN-YYYY), Carátula (opcional).
---
## Paso 3 — Navegar la OJV con Chrome browser tools
Claude usa las herramientas del navegador Chrome (MCP) para navegar la OJV y descargar el Ebook.
### 3.1 — Abrir la OJV
Navegar a `https://oficinajudicialvirtual.pjud.cl/indexN.php` y hacer clic en **"Consulta Unificada"** en el menú lateral.
### 3.2 — Llenar el formulario (Búsqueda por RIT)
| Campo | Selector / Ref | Civil | Laboral |
|-------|----------------|-------|---------|
| Competencia | `#competencia` | "Civil" (value 3) | "Laboral" (value 4) |
| Corte | `#conCorte` | Según MAPEO_TRIBUNALES | Según MAPEO_TRIBUNALES |
| Tribunal | `#conTribunal` | Nombre exacto OJV | Nombre exacto OJV |
| Libro/Tipo | `#conTipoCausa` | "C" | Letra del rol (T, O, M, etc.) |
| Rol | `#conRolCausa` | Número del rol | Número del rol |
| Año | `#conEraCausa` | Año del rol | Año del rol |
Usar `find` y `form_input` para localizar y llenar los dropdowns. Esperar entre selecciones (~1-2 segundos) para que los dropdowns dependientes se carguen.
### 3.3 — Buscar
Clic en **"Buscar"** (`#btnConConsulta`). Esperar resultados. Si aparece "No se han encontrado", informar al usuario.
### 3.4 — Abrir detalle de la causa
- **Civil**: clic en `i.fa-search` o `i.glyphicon-search`
- **Laboral**: clic en `img[title="Detalle de la causa"]`
### 3.5 — Descargar el Ebook
1. Buscar el enlace **"Descargar Ebook"** (`a[title="Descargar Ebook"]`)
2. Si no existe → la causa no tiene Ebook disponible, informar al usuario
3. Hacer clic → se abre una **nueva pestaña** con el PDF
4. Esperar a que cargue y luego descargar usando JavaScript:
```javascript
(async () => {
const response = await fetch(window.location.href);
const blob = await response.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'NOMBRE_PDF.pdf';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
return 'OK: ' + blob.size + ' bytes';
})();
```
5. Copiar el PDF descargado desde Downloads a la carpeta elegida en Paso 1
### Nombre del PDF
Formato: `{nombre_corto} {letra}-{rol} {año}.pdf`
- `JLT Concepción T-1161 2025.pdf`
- `1 JC Santiago C-12345 2025.pdf`
Usar los nombres cortos del diccionario `MAPEO_TRIBUNALES` del script.
---
## Paso 4 — Entregar al usuario
Verificar que el PDF existe y tiene tamaño > 500 bytes. Entregar al usuario con un link `computer://` apuntando al archivo en la carpeta montada.
---
## Referencia: Ejecución batch con Playwright (Modo alternativo)
Para descargas masivas (decenas o cientos de causas), el usuario puede ejecutar el script en su propio equipo. Como Playwright ya fue instalado en el Paso 0, el usuario puede ejecutar directamente:
```powershell
# Causa individual
python pjud_downloader.py --rit T-1161-2025 --tribunal "Juzgado de Letras del Trabajo de Concepción" --output "C:\Ruta\destino"
# Lote desde Excel
python pjud_downloader.py --excel "archivo.xlsx" --output "C:\Ruta\destino"
# Solo laborales o civiles
python pjud_downloader.py --excel "archivo.xlsx" --output "C:\Ruta\destino" --competencia laboral
# Dry-run (solo ver qué descargaría)
python pjud_downloader.py --excel "archivo.xlsx" --dry-run
# Retomar desde caso 50
python pjud_downloader.py --excel "archivo.xlsx" --output "C:\Ruta\destino" --desde 50
```
---
## Referencia: Mapeo de tribunales
Si aparecen tribunales no reconocidos, buscar el nombre exacto en la OJV y agregar al diccionario `MAPEO_TRIBUNALES` del script:
```python
"nombre normalizado sin tildes": (
"C.A. de X", # Corte de Apelaciones
"Nombre exacto en OJV", # Tal como aparece en el dropdown
"Nombre corto", # Para el nombre del PDF
"civil" # o "laboral"
),
```
## Referencia: Diferencias civil vs laboral en la OJV
| Aspecto | Civil | Laboral |
|---------|-------|---------|
| Competencia | "Civil" (value 3) | "Laboral" (value 4) |
| Libro/Tipo | Select con "C" | Select `#conTipoCausa` con T,O,M,E,S,U,V,I |
| Modal detalle | Detalle causa civil | `#modalDetalleLaboral` |
| Icono lupa | `i.fa-search` | `img[title="Detalle de la causa"]` |
| Ebook | Nueva pestaña con PDF | Form submit → nueva pestaña |
Tags:#pjud#ojv#descarga#automatización#playwright
Califica este prompt
Promedio 4.7 con 3 votos.
Relacionados en Laboral / Chile
Recibe los mejores prompts legales de la semana
Una selección curada por Skillex. Sin spam, cancelas cuando quieras.