pjecalc-agent-architect
Skill de arquitetura e refatoração do repositório pjecalc-agente — o agente de automação remota do PJE-Calc Cidadão.
Skill by bragabarreto
Chalk Labs
Need help deploying pjecalc-agent-architect?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/bragabarreto-pjecalc-agent-architect
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pjecalc-agent-architect
What's inside
- Skill name
pjecalc-agent-architect- Description
- Skill de arquitetura e refatoração do repositório pjecalc-agente — o agente de automação remota do PJE-Calc Cidadão. Use esta skill SEMPRE que o problema envolver: reestruturar o código do agente, eliminar código morto ou duplicado, resolver conflitos entre múltiplas estratégias de automação (automation.py vs playwright_pjecalc.py vs extensão), migrar de arquivos JSON para banco de dados, desacoplar o monólito Flask+Tomcat em microsserviços, otimizar o Dockerfile ou inicialização do Tomcat, planejar filas assíncronas (Celery/Redis), resolver problemas de escalabilidade no Railway, ou qualquer decisão arquitetural sobre como o agente deve ser organizado. Também use quando precisar entender a estrutura atual do repositório, mapear dependências entre módulos, ou planejar uma refatoração segura sem quebrar funcionalidades existentes. Se a conversa mencionar "refatorar o agente", "limpar o código", "arquitetura do pjecalc-agente", "microsserviços", "desacoplar", "código morto", "rotas órfãs", ou "escalabilidade do Railway", esta é a skill certa.
- License
- MIT
- Instructions
- 326 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- description: longer than 1024 characters
- files: referenced but missing: scripts/find_dead_code.py, scripts/health_check.py, scripts/split_webapp.py
Files (5)
- SKILL.md
- find_dead_code.py
- health_check.py
- pjecalc-agent-architect.skill
- split_webapp.py
SKILL.md (first lines)
# PJE-Calc Agent Architect
Skill de arquitetura e refatoração para o repositório `pjecalc-agente`. O objetivo é transformar
o agente atual — funcional mas fragmentado — em uma base de código limpa, testável e escalável.
## Contexto: por que esta skill existe
O pjecalc-agente cresceu organicamente enquanto resolvia problemas difíceis (GUI Java headless,
JSF dinâmico, extração NLP de sentenças). O resultado é um código que funciona em partes, mas
sofre de fragmentação arquitetural: três estratégias de automação concorrentes, código morto
acumulado, acoplamento forte entre orquestração e automação, e dificuldade de escalar.
Esta skill NÃO trata de como preencher o PJE-Calc (use `pjecalc-preenchimento`), nem de como
debugar o Tomcat (use `pjecalc-agent-debugger`), nem de como escrever seletores JSF (use
`playwright-jsf-automator`). Esta skill trata de **como o código do agente deve ser organizado**.
---
## Mapa do repositório atual
```
pjecalc-agente/
├── webapp.py (1199 linhas) — FastAPI: rotas, SSE, lógica de negócio
├── config.py (113 linhas) — Configurações globais + auto-detecção CLOUD_MODE
├── database.py (525 linhas) — SQLAlchemy: Processo, Calculo, InteracaoHITL
├── main.py (?) — CLI standalone (modo local)
├── iniciarPjeCalc.sh (207 linhas) — Startup: Xvfb + xdotool + Bootstrap/Lancador
├── docker-entrypoint.sh (54 linhas) — Container: PJE-Calc bg → uvicorn imediato
├── Dockerfile (124 linhas) — Multi-stage: agent-builder + imagem final
├── modules/
│ ├── ingestion.py (302 linhas) — PDF/DOCX → texto (pdfplumber + OCR)
│ ├── extraction.py (2022 linhas) — Texto → JSON via Claude/Gemini API
│ ├── classification.py (497 linhas) — Verbas → mapeamento PJE-Calc
│ ├── parametrizacao.py (328 linhas) — JSON → instruções módulo a módulo
│ ├── preview.py (422 linhas) — Prévia editável (web)
│ ├── playwright_pjecalc.py (2605 linhas) — ⭐ Automação principal (Playwright + JSF)
│ ├── automation.py (729 linhas) — ⚠️ Automação legada (pyautogui/playwright dual)
│ ├── playwright_script_builder.py (891 linhas) — ⚠️ Gera script standalone para download
│ ├── pjc_generator.py (1083 linhas) — Gerador nativo de .PJC (ZIP+XML)
│ ├── human_loop.py (465 linhas) — HITL: pausa para validação humana
│ ├── document_collector.py (467 linhas) — Coleta de documentos
│ └── export.py (301 linhas) — Exportação de resultados
├── extension/ — ⚠️ Extensão Chrome (terceira via de automação)
├── templates/ — Jinja2: previa.html, instrucoes.html, etc.
├── tests/ — Testes (cobertura limitada)
├── pjecalc-dist/ — PJE-Calc Cidadão empacotado (91MB, sem JRE)
└── dialog-suppressor/ — Java Agent para silenciar JOptionPane
```
### Legenda de status
- ⭐ = código principal, manter e melhorar
- ⚠️ = código problemático, candidato a remoção ou consolidação
---
## Diagnóstico: os 5 problemas estruturais
### 1. Três estratégias de automação concorrentes
O repositório tem três implementações diferentes tentando fazer a mesma coisa — preencher o
PJE-Calc. Cada uma usa seletores diferentes, fluxos diferentes, e até caminhos de navegação
diferentes ("Novo" vs "Cálculo Externo"):
| Implementação | Arquivo | Navegação | Resiliência |
|---|---|---|---|
| Playwright SSE (principal) | `playwright_pjecalc.py` | "Novo" ✓ | Alta (AJAX monitor, retry, crash recovery) |
| Script standalone | `playwright_script_builder.py` | "Cálculo Externo" ✗ | Baixa (seletores fixos, pausas manuais) |
| Extensão Chrome | `extension/content.js` | "Cálculo Externo" ✗ | Baixa (eventos DOM manuais) |
Além disso, `automation.py` é uma abstração legada que tenta unificar pyautogui e playwright,
mas na prática não é usada pelo fluxo principal.
**Ação**: Consolidar tudo em `playwright_pjecalc.py`. Remover `automation.py`,
`playwright_script_builder.py` e `extension/`. Se o usuário precisa de um script local,
gerar a partir do mesmo código-fonte, não de um builder separado.
### 2. webapp.py monolítico (1199 linhas)
O `webapp.py` concentra:
- Rotas HTTP (API + páginas)
- Lógica de processamento (background tasks)
- SSE streaming da automação
- Logging em buffer in-memory
- Gerenciamento de sessões em processamento
**Ação**: Extrair em módulos:
```
webapp.py → Apenas definição de rotas e middleware
routes/
├── pages.py → Rotas de páginas HTML (GET)
├── api.py → API REST (POST/PATCH/DELETE)
├── diagnostics.py → Endpoints de diagnóstico (/api/logs/*, /api/ps, etc.)
└── sse.py → Server-Sent Events para automação
services/
├── processing.py → Background tasks (extração + classificação)
└── automation.py → Orquestração da automação Playwright
```
### 3. Acoplamento Flask ↔ Tomcat no mesmo container
O container Docker empacota tudo junto: Python Agent (FastAPI), PJE-Calc (Tomcat Java), Xvfb,
Playwright Chromium. Isso cria problemas:
- Impossível escalar extração NLP independentemente da automação
- O Tomcat demora 2-5 minutos para subir, bloqueando qualquer automação
- Falha no Tomcat = falha de todo o serviço
- Imagem Docker pesada (~2GB) com Java + Python + Chromium + Xvfb
**Ação (curto prazo)**: Manter o monólito, mas desacoplar internamente. O webapp deve
funcionar 100% sem o Tomcat (extração, prévia, edição). A automação é uma feature
opcional que só roda se Tomcat estiver disponível.
**Ação (médio prazo)**: Separar em dois serviços:
```
┌─────────────────────────┐ ┌──────────────────────────┐
│ Serviço de Orquestração │ │ Worker de Automação │
│ (Flask + LLM + Prévia) │────▶│ (Playwright + PJE-Calc) │
│ Leve, escala horizontal │ │ Pesado, pool fixo │
│ Sem Java, sem Xvfb │ │ Java + Xvfb + Chromium │From bragabarreto/pjecalc-agente, MIT.
More from bragabarreto/pjecalc-agente
- 0.478score
pjecalc-transformacao
bragabarreto
Guia de transformação do PJe-Calc Agente para replicar o CalcMACHINE v1.6.1.
SkillDFreshness: D★ 9Claude Code +9 - 0.475score
pjecalc-operacional
bragabarreto
Regras operacionais para automação do PJE-Calc Cidadão — roteiros executáveis por parcela, regras de dependência entre módulos, fichas técnicas de cada verba…
SkillDFreshness: D★ 9Claude Code +9 - 0.470score
systematic-debugging
bragabarreto
Metodologia de debugging sistemático para Python, FastAPI, Playwright e Railway.
SkillDFreshness: D★ 9Claude Code +9 - 0.469score
pjecalc-preenchimento
bragabarreto
Guia completo de preenchimento e automação do PJE-Calc Cidadão (versão desktop).
SkillDFreshness: D★ 9Claude Code +9 - 0.289score
pjecalc-agent-debugger
bragabarreto
No description from the publisher yet.
SkillCFreshness: C★ 9Claude Code +9 - 0.253score
pjecalc-processamento
bragabarreto
No description from the publisher yet.
SkillDFreshness: D★ 9Claude Code +9 - 0.253score
pjecalc-automacao
bragabarreto
No description from the publisher yet.
SkillDFreshness: D★ 9Claude Code +9
Signals
- Stars
- 9
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Apr 2, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/bragabarreto/pjecalc-agente
- Website
- 163.176.44.221:8000
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bragabarreto
- 0.478score
pjecalc-transformacao
bragabarreto
Guia de transformação do PJe-Calc Agente para replicar o CalcMACHINE v1.6.1.
SkillDFreshness: D★ 9Claude Code +9 - 0.475score
pjecalc-operacional
bragabarreto
Regras operacionais para automação do PJE-Calc Cidadão — roteiros executáveis por parcela, regras de dependência entre módulos, fichas técnicas de cada verba…
SkillDFreshness: D★ 9Claude Code +9 - 0.470score
systematic-debugging
bragabarreto
Metodologia de debugging sistemático para Python, FastAPI, Playwright e Railway.
SkillDFreshness: D★ 9Claude Code +9 - 0.469score
pjecalc-preenchimento
bragabarreto
Guia completo de preenchimento e automação do PJE-Calc Cidadão (versão desktop).
SkillDFreshness: D★ 9Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get pjecalc-agent-architect running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
pjecalc-agent-architect skill. Agent Mart. https://agentmart.dev/skills/bragabarreto-pjecalc-agent-architect (last updated 2026-10-24)