agentleFS
rvsanchesrvsanches/skills-datajud-djen/skills/datajud/SKILL.md

datajud

Skill22 starsChanged 4 months agoMITView on GitHub

Guia prático da API Pública do DataJud (CNJ) — consulta de metadados e movimentações de processos judiciais brasileiros via Elasticsearch em api-publica.datajud.cnj.jus.br. Vai além da documentação oficial: registra conhecimento de produção como a consulta obrigatória pelo alias do tribunal (o curinga api_publica_* retorna 504), respostas 200 parciais que simulam "não encontrado", timeouts realistas (a API responde em 10-40s), política de retry para 429, circuit breaker, datas de 14 dígitos em horário de Brasília e códigos TPU de movimentos. Use sempre que for integrar, consultar, depurar ou otimizar chamadas ao DataJud — busca de processo por número CNJ, sincronização de andamentos/movimentações processuais, erros 504/429/timeout ou montagem de queries Elasticsearch contra tribunais brasileiros.

  • Sends data out

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. franklinbaldo/skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repositoryOne other file it gives its agents.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Search API: um índice por tribunal, consultas em Query DSL.

    line 21

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

API Pública do DataJud (CNJ)

O DataJud é a base nacional de metadados processuais do CNJ. A API Pública (https://api-publica.datajud.cnj.jus.br) expõe esses dados via Elasticsearch Search API: um índice por tribunal, consultas em Query DSL.

O que ela devolve: metadados do processo (classe, órgão julgador, grau, data de ajuizamento, assuntos) e a lista de movimentações (andamentos). O que ela não devolve: teor de decisões, intimações ou publicações — para comunicações que disparam prazo, use a API do DJEN (skill djen).

Documentação oficial: https://datajud-wiki.cnj.jus.br/api-publica/. Este guia registra o que a wiki não conta, aprendido operando a API em produção (projeto Judis, 2025-2026).

Início rápido

curl -X POST 'https://api-publica.datajud.cnj.jus.br/api_publica_tjsp/_search' \
  -H 'Authorization: APIKey <CHAVE_PUBLICA>' \
  -H 'Content-Type: application/json' \
  -d '{"query": {"match": {"numeroProcesso": "00000012320268260100"}}}'
  • A chave pública está em https://datajud-wiki.cnj.jus.br/api-publica/acesso/. O esquema do header é literalmente APIKey (não Bearer).
  • O número do processo vai sem máscara: 20 dígitos.
  • O alias (api_publica_tjsp) é derivável do próprio número CNJ — ver abaixo.

As 7 regras de ouro (aprendidas em produção)

  1. Consulte sempre pelo alias do tribunal, nunca pelo curinga. api_publica_* faz fan-out em ~90 índices, não termina dentro do limite de ~60s do gateway do CNJ e retorna 504 de qualquer origem (medido: 0/27 sucessos em 2026-07). O alias específico responde em 10-35s mesmo com o cluster degradado. O alias é derivável dos dígitos J.TR do número CNJ — função pronta em references/consultas.md.
  2. Dimensione timeouts para dezenas de segundos, não para poucos. A API é cronicamente saturada: respostas de sucesso levando 10-40s são normais (medido: 200 OK aos 41,5s). Timeout de 15s "estoura sempre". Valores que funcionam: ~35s por tentativa em fluxo interativo, ~75s em batch. Acima de ~60s o gateway corta com 504 — esperar mais que isso por uma mesma tentativa não traz resposta.
  3. Retry para 429; nunca para 504. O 429 (es_rejected_execution_exception) é uma rejeição rápida (~0,1s) da fila de busca — retry com backoff curto é barato e costuma passar. O 504 custa ~60s por tentativa e indica saturação sistêmica — deixe para o circuit breaker.
  4. HTTP 200 não significa resposta completa. Sob saturação o Elasticsearch responde 200 com _shards.failed > 0 e, se o processo estava num shard rejeitado, total = 0. "Não encontrado" só é confiável quando _shards.failed == 0. Já exibimos "processo não encontrado" para processo existente por ignorar isso. Detalhes em references/resposta.md.
  5. Datas de 14 dígitos estão em horário de Brasília (UTC-3), sem marcação. dataHora: "20260710143000" é 14h30 em Brasília. Parsear ingenuamente num runtime UTC desloca tudo em 3h — errado para horário de audiência. E o mesmo campo pode vir como epoch de 13 dígitos ou ISO, dependendo do tribunal.
  6. A chave é pública, compartilhada e rotacionada sem aviso. A cota é global por chave (você compete com todo o Brasil). Valide o número CNJ antes de chamar (não desperdice cota com requests inválidos), aplique rate limit próprio, e trate falha total repentina como possível rotação de chave — confira a wiki antes de debugar seu código.
  7. Indexação atrasa. Processos recém-distribuídos podem levar semanas para aparecer. "Não encontrado" (confiável) não significa que o processo não existe — ofereça cadastro manual como fallback.

Referências (leia conforme a tarefa)

ArquivoQuando ler
references/consultas.mdMontar requests: autenticação, derivação do alias por número CNJ (função completa), queries Elasticsearch, paginação
references/resposta.mdInterpretar respostas: estrutura do _source, parsing defensivo, datas, códigos TPU de movimentos → fase processual
references/producao.mdOperar em produção: timeouts, retry, circuit breaker, rate limiting, agendamento de sync, detecção de novidade, monitoramento

Relação com o DJEN

DataJudDJEN (skill djen)
ConteúdoMovimentações — o que aconteceuIntimações/citações — o que dispara prazo
AutenticaçãoChave pública (header APIKey)Nenhuma
Geo-bloqueioNão tem (latência é igual de fora do BR)403 para IP fora do Brasil
ProtocoloPOST, Elasticsearch Query DSLGET, REST com query string

Ambas são do CNJ, sem SLA nem versionamento formal — projete para indisponibilidade e mudanças sem aviso.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.