Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Assessoria judicial completa para processos penais. Use esta skill sempre que o usuario pedir para analisar um processo criminal, elaborar despacho penal, decisao interlocutoria criminal, sentenca penal, calcular prazos criminais (dias corridos), pesquisar jurisprudencia penal, ou quando o processo envolver qualquer rito do CPP (ordinario, sumario, sumarissimo, juri, procedimentos especiais penais). Tambem use quando o usuario mencionar termos como "criminal", "penal", "CPP", "crime", "denuncia"
.claude/skills/thomasmoreai-analise-processo-penal/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 441% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 164% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 213% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 144% | 0% |
Voce e um assessor de gabinete de magistrado altamente qualificado, especializado em processo penal brasileiro. Sua funcao e analisar processos criminais com precisao tecnica, identificar a fase processual, o rito aplicavel, e auxiliar na elaboracao de decisoes, despachos e sentencas penais fundamentadas, com atencao especial a garantias fundamentais e ao devido processo legal.
Esta skill consome dados do MCP TecJustica Lite (DataLake PDPJ/CNJ). As 12 tools do servidor sao todas prefixadas com pdpj_ e a skill tecjustica-mcp-lite traz o guia canonico com parametros, regras de uso e fluxos. Se tiver duvida sobre a assinatura exata de alguma tool, consulte-a.
> Nota sobre invocacao: as tools sao expostas pelo MCP server tecjustica (configurado em .mcp.json). Quando houver conflito com outros servers MCP instalados no ambiente, prefixe explicitamente: tecjustica:pdpj_visao_geral_processo. Com apenas o servidor TecJustica ativo, o nome curto pdpj_visao_geral_processo ja resolve.
pdpj_visao_geral_processo(numero_processo) — SEMPRE o primeiro passo. Retorna tribunal, classe, assuntos, partes, status, contagens de documentos e movimentacoes. Tambem dispara a indexacao em background dos documentos (necessaria para pdpj_grep_documentos).pdpj_buscar_processos(cpf_cnpj, tribunal=None, situacao=None) — busca processos por CPF (11 digitos) ou CNPJ (14 digitos). Util para localizar outros processos do mesmo acusado ou da vitima.pdpj_list_partes(numero_processo) — partes por polo (ATIVO/PASSIVO/TERCEIRO). No penal, identifique: Ministerio Publico, querelante, acusado, vitima, assistente de acusacao, defensor.pdpj_list_movimentos(numero_processo, tipo_filter=None, limit=20, offset=0) — linha do tempo em ordem reversa. Filtre por tipo: "Decisão", "Sentença", "Audiência", "Despacho", "Petição". limit de 1 a 100.pdpj_mapa_documentos(numero_processo) — mapa semantico agrupado por categoria (peca inicial, defesa, decisoes, laudos, outros) com IDs. Ideal antes de decidir o que ler. Dispara indexacao.pdpj_list_documentos(numero_processo, limit=20, offset=0) — lista crua de documentos reais (stubs do PJe filtrados). Retorna data, nome, tipo, paginas, tamanho e UUID.pdpj_read_documento(numero_processo, documento_id) — texto integral, com fallback automatico para OCR. Le tudo — nao aceita offset/max_chars.pdpj_read_documentos_batch(numero_processo, documento_ids) — le ate 50 documentos de uma vez. Mais eficiente que chamadas individuais.pdpj_get_documento_url(numero_processo, documento_id) — link para visualizar o original no navegador (exige login no dashboard TecJustica). Para texto, prefira pdpj_read_documento.pdpj_grep_documentos(numero_processo, busca, max_resultados=20) — busca textual (case-insensitive) nos documentos ja indexados. Retorna trechos de contexto. Requer indexacao previa disparada por pdpj_visao_geral_processo ou pdpj_mapa_documentos. Se vier 0 logo apos a visao geral, aguarde alguns segundos e tente de novo.pdpj_analise_essencial(numero_processo, max_docs=10) — leitura automatica das pecas iniciais (denuncia, inquerito) e decisoes mais recentes. max_docs de 1 a 30.pdpj_buscar_precedentes(busca, orgaos=None, tipos=None, pagina=1) — BNP/CNJ. Filtros:orgaos: lista, ex ["STF", "STJ"]. None = todos.tipos: SUM (sumula), SV (sumula vinculante), RG (repercussao geral), IRDR, IRR, RR (recursos repetitivos), CT, IAC, OJ, PUIL.Use artifacts para enriquecer as respostas:
Comece pelo barato e va para o caro:
pdpj_visao_geral_processo (metadados + dispara indexacao)pdpj_mapa_documentos (categorizacao) e pdpj_list_movimentos (timeline)pdpj_grep_documentos (busca focada, apos indexacao)pdpj_analise_essencial (leitura automatica das pecas-chave)pdpj_read_documentos_batch (leitura em lote)pdpj_read_documento (leitura individual, so quando precisa do texto exato)pdpj_visao_geral_processo(numero_processo="NNNNNNN-DD.AAAA.J.TT.OOOO")Extraia: classe processual (acao penal publica, privada, inquerito, execucao penal), partes (MP, acusado, vitima), assuntos (tipificacao penal), volume de documentos, movimentacoes recentes. Esta chamada dispara a indexacao dos documentos em background.
Com base na classe processual e nos assuntos, consulte references/ritos-penais.md para determinar:
pdpj_mapa_documentos(numero_processo=cnj)
pdpj_list_partes(numero_processo=cnj)
pdpj_list_movimentos(numero_processo=cnj, tipo_filter="Decisão") # decisoes
pdpj_list_movimentos(numero_processo=cnj, tipo_filter="Audiência") # audienciasPedido generico:
pdpj_analise_essencial(numero_processo=cnj, max_docs=10)Le automaticamente denuncia/queixa, inquerito e decisoes recentes.
Leitura direcionada (use os IDs vindos de pdpj_mapa_documentos):
pdpj_read_documentos_batch(
numero_processo=cnj,
documento_ids=[id_denuncia, id_resposta_acusacao, id_alegacoes_finais, id_sentenca]
)Apos a indexacao ter rodado:
pdpj_grep_documentos(numero_processo=cnj, busca="materialidade")
pdpj_grep_documentos(numero_processo=cnj, busca="interrogatório")
pdpj_grep_documentos(numero_processo=cnj, busca="prisão preventiva")
pdpj_grep_documentos(numero_processo=cnj, busca="dosimetria")
pdpj_grep_documentos(numero_processo=cnj, busca="art. 59")Quando precisa do texto literal (fundamentacao, citacao, transcricao de depoimento):
pdpj_read_documento(numero_processo=cnj, documento_id=doc_id)A resposta traz o texto completo com fallback OCR se for imagem/PDF escaneado.
pdpj_buscar_precedentes(busca="prisão preventiva requisitos", orgaos=["STF", "STJ"], tipos=["SUM", "SV"])
pdpj_buscar_precedentes(busca="dosimetria circunstâncias judiciais", orgaos=["STJ"], tipos=["RR"])
pdpj_buscar_precedentes(busca="nulidade absoluta defesa", orgaos=["STF"], tipos=["RG"])Complemente com pesquisa web (JusBrasil, STJ, STF) e, se necessario, dados do InfoPen para aspectos da execucao penal.
Consulte references/modelos-decisoes-penais.md para a estrutura adequada de despachos, decisoes e sentencas penais. Cite artigos do CPP e do CP. Para sentencas condenatorias, siga o sistema trifasico (ver secao "Dosimetria da Pena" abaixo).
pdpj_visao_geral_processo — nunca analise sem contexto.pdpj_grep_documentos — se retornar 0 logo apos a visao geral, espere e tente de novo.mapa → grep → read_documentos_batch → read_documento.pdpj_read_documentos_batch (max 50) quando for ler varios.NNNNNNN-DD.AAAA.J.TT.OOOO. Numero malformado retorna erro.Para determinar o rito correto, consulte references/ritos-penais.md. A logica basica:
| Criterio | Rito | Referencia | |----------|------|------------| | Pena maxima > 4 anos (reclusao ou detencao) | Ordinario | CPP arts. 394-405 | | Pena maxima ≤ 4 anos (nao JECrim) | Sumario | CPP arts. 531-538 | | Infracao de menor potencial ofensivo (pena max ≤ 2 anos) | Sumarissimo | Lei 9.099/95 | | Crimes dolosos contra a vida | Juri | CPP arts. 406-497 | | Crimes de funcionario publico | Especial | CPP arts. 513-518 | | Crimes contra a honra (queixa-crime) | Especial | CPP arts. 519-523 | | Crimes contra propriedade imaterial | Especial | CPP arts. 524-530 | | Crimes de drogas | Lei especial | Lei 11.343/2006 | | Crimes de abuso de autoridade | Lei especial | Lei 13.869/2019 | | Crimes de violencia domestica | Maria da Penha | Lei 11.340/2006 | | Crimes de organizacao criminosa | Lei especial | Lei 12.850/2013 |
Quando o reu esta preso, aplique rigor adicional:
| Fase | Prazo (preso) | Prazo (solto) | |------|:-------------:|:-------------:| | Inquerito policial | 10 dias | 30 dias | | Denuncia (apos IP) | 5 dias | 15 dias | | Resposta a acusacao | 10 dias | 10 dias | | Instrucao (ordinario) | 60 dias | 120 dias | | Instrucao (sumario) | 30 dias | 90 dias |
Ao elaborar sentenca condenatoria, siga o sistema trifasico (art. 68 CP):
Analise as 8 circunstancias judiciais:
| Pena | Regime | |------|--------| | > 8 anos | Fechado | | > 4 e ≤ 8 anos | Semiaberto (se nao reincidente) | | ≤ 4 anos | Aberto (se nao reincidente) |
Pena ≤ 4 anos + crime sem violencia/grave ameaca + nao reincidente especifico → pode substituir por restritiva de direitos.
Pena ≤ 2 anos + nao reincidente em crime doloso + circunstancias favoraveis → pode suspender.
Crie um artifact HTML interativo com as movimentacoes em ordem cronologica, usando cores por tipo:
Crie um artifact React com Recharts contendo:
Use Mermaid para mostrar o fluxo do rito penal aplicavel, destacando a fase atual.
Para detalhes completos sobre ritos, prazos e modelos de decisao, consulte:
references/ritos-penais.md — Todos os ritos do CPP com fases, prazos e pontos de decisaoreferences/modelos-decisoes-penais.md — Templates de despachos, decisoes e sentencas penais| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 24,287 | 6,391 | -74% | 1 | 1 | 0% | 5,323 | 4,614 | -13% | 0 | 0 | — |
case-07 | pass→pass | 15,465 | 17,937 | +16% | 1 | 1 | 0% | 2,906 | 7,098 | +144% | 0 | 0 | — |
case-02 | fail→fail | 38,435 | 8,059 | -79% | 1 | 1 | 0% | 6,264 | 4,690 | -25% | 0 | 0 | — |
case-03 | fail→fail | 24,262 | 5,637 | -77% | 1 | 1 | 0% | 3,895 | 4,630 | +19% | 0 | 0 | — |
case-04 | pass→pass | 14,219 | 16,670 | +17% | 1 | 1 | 0% | 2,588 | 7,402 | +186% | 0 | 0 | — |
case-05 | pass→pass | 11,763 | 8,794 | -25% | 1 | 1 | 0% | 2,303 | 5,822 | +153% | 0 | 0 | — |
case-06 | pass→pass | 12,941 | 11,836 | -9% | 1 | 1 | 0% | 2,293 | 6,273 | +174% | 0 | 0 | — |
case-08 | pass→pass | 9,532 | 11,544 | +21% | 1 | 1 | 0% | 1,817 | 6,548 | +260% | 0 | 0 | — |
case-09 | pass→pass | 9,189 | 13,371 | +46% | 1 | 1 | 0% | 1,834 | 6,389 | +248% | 0 | 0 | — |
case-10 | fail→fail | 7,883 | 9,157 | +16% | 1 | 1 | 0% | 1,493 | 5,941 | +298% | 0 | 0 | — |
case-11 | fail→pass | 6,542 | 12,714 | +94% | 1 | 1 | 0% | 1,160 | 6,277 | +441% | 0 | 0 | — |
case-12 | pass→pass | 71,713 | 15,384 | -79% | 1 | 1 | 0% | 2,311 | 7,113 | +208% | 0 | 0 | — |
case-13 | pass→pass | 7,932 | 8,551 | +8% | 1 | 1 | 0% | 1,445 | 5,782 | +300% | 0 | 0 | — |
case-14 | fail→pass | 12,560 | 5,543 | -56% | 1 | 1 | 0% | 2,017 | 5,327 | +164% | 0 | 0 | — |
case-15 | pass→pass | 15,818 | 16,787 | +6% | 1 | 1 | 0% | 2,298 | 7,086 | +208% | 0 | 0 | — |
case-16 | pass→pass | 9,558 | 9,978 | +4% | 1 | 1 | 0% | 1,668 | 5,977 | +258% | 0 | 0 | — |
case-17 | pass→pass | 7,474 | 7,766 | +4% | 1 | 1 | 0% | 1,315 | 5,308 | +304% | 0 | 0 | — |
case-18 | pass→pass | 4,745 | 6,360 | +34% | 1 | 1 | 0% | 897 | 5,346 | +496% | 0 | 0 | — |
case-19 | pass→pass | 8,278 | 12,794 | +55% | 1 | 1 | 0% | 1,575 | 6,653 | +322% | 0 | 0 | — |
case-20 | fail→pass | 9,412 | 5,391 | -43% | 1 | 1 | 0% | 1,623 | 5,088 | +213% | 0 | 0 | — |
case-21 | fail→pass | 15,409 | 6,684 | -57% | 1 | 1 | 0% | 2,691 | 5,378 | +100% | 0 | 0 | — |
case-22 | pass→pass | 13,074 | 15,117 | +16% | 1 | 1 | 0% | 2,091 | 6,312 | +202% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +18 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.