Modo: pipeline — Inbox de URLs (Second Brain)
Modo: pipeline — Inbox de URLs (Second Brain)
Procesa URLs de ofertas acumuladas en data/pipeline.md. El usuario agrega URLs cuando quiera y luego ejecuta /career-ops pipeline para procesarlas todas.
Workflow
- Leer
data/pipeline.md→ buscar items- [ ]en la sección “Pendientes” - Para cada URL pendiente: a. Calcular siguiente
REPORT_NUMsecuencial (leerreports/, tomar el número más alto + 1) b. Extraer JD usando Playwright (browser_navigate + browser_snapshot) → WebFetch → WebSearch c. Si la URL no es accesible → marcar como- [!]con nota y continuar d. Ejecutar auto-pipeline completo: Evaluación A-F → Report .md → PDF (si score >= 3.0) → Tracker e. Mover de “Pendientes” a “Procesadas”:- [x] #NNN | URL | Empresa | Rol | Score/5 | PDF ✅/❌ - Si hay 3+ URLs pendientes, lanzar agentes en paralelo (Agent tool con
run_in_background) para maximizar velocidad. - Al terminar, mostrar tabla resumen:
| # | Empresa | Rol | Score | PDF | Acción recomendada |
Formato de pipeline.md
## Pendientes
- [ ] https://jobs.example.com/posting/123
- [ ] https://boards.greenhouse.io/company/jobs/456 | Company Inc | Senior PM
- [!] https://private.url/job — Error: login required
## Procesadas
- [x] #143 | https://jobs.example.com/posting/789 | Acme Corp | AI PM | 4.2/5 | PDF ✅
- [x] #144 | https://boards.greenhouse.io/xyz/jobs/012 | BigCo | SA | 2.1/5 | PDF ❌
Detección inteligente de JD desde URL
- Playwright (preferido):
browser_navigate+browser_snapshot. Funciona con todas las SPAs. - WebFetch (fallback): Para páginas estáticas o cuando Playwright no está disponible.
- WebSearch (último recurso): Buscar en portales secundarios que indexan el JD.
Casos especiales:
- LinkedIn: Puede requerir login → marcar
[!]y pedir al usuario que pegue el texto - PDF: Si la URL apunta a un PDF, leerlo directamente con Read tool
local:prefix: Leer el archivo local. Ejemplo:local:jds/linkedin-pm-ai.md→ leerjds/linkedin-pm-ai.md
Numeración automática
- Listar todos los archivos en
reports/ - Extraer el número del prefijo (e.g.,
142-medispend...→ 142) - Nuevo número = máximo encontrado + 1
Sincronización de fuentes
Antes de procesar cualquier URL, verificar sync:
node cv-sync-check.mjs
Si hay desincronización, advertir al usuario antes de continuar.
