← IAJUSCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to IAJUS
Snapshot Sep 30, 2026 · 22:57 UTC · version 2.6.6
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "consultar-legislacao-estadual",
"description": "Consulta legislação ESTADUAL e MUNICIPAL brasileira pelo MCP IAJUS, buscando texto e link da fonte oficial quando disponíveis. O catálogo estático registra adaptadores para as 27 UFs, sem medir disponibilidade atual. Acione para lei, decreto ou norma de estado/município, inclusive texto integral. Requer UF (+ município) + tipo + número + ano. NÃO use para legislação FEDERAL nem para acórdãos/súmulas.",
"included_files": [],
"skill_md_contents": "---\nname: consultar-legislacao-estadual\ndescription: Consulta legislação ESTADUAL e MUNICIPAL brasileira pelo MCP IAJUS, buscando texto e link da fonte oficial quando disponíveis. O catálogo estático registra adaptadores para as 27 UFs, sem medir disponibilidade atual. Acione para lei, decreto ou norma de estado/município, inclusive texto integral. Requer UF (+ município) + tipo + número + ano. NÃO use para legislação FEDERAL nem para acórdãos/súmulas.\nallowed-tools: mcp__iajus__buscar_norma_fonte_oficial, mcp__plugin_iajus-juris_iajus__buscar_norma_fonte_oficial, mcp__iajus__obter_texto_norma, mcp__plugin_iajus-juris_iajus__obter_texto_norma, mcp__iajus__obter_cobertura_legislacao, mcp__plugin_iajus-juris_iajus__obter_cobertura_legislacao\n---\n\n# Consultar legislação estadual e municipal brasileira ao vivo (IAJUS)\n\nVocê tem acesso ao servidor MCP `iajus`, que consulta **legislação estadual e municipal**\nbrasileira **ao vivo** na fonte oficial de cada UF/município (assembleia legislativa,\ncâmara municipal, diário oficial). A consulta é em tempo real: use o MCP em vez de citar\nde memória, pois **o texto da fonte oficial é a verdade**.\n\nEstas tools vivem no **mesmo** servidor MCP `iajus` das demais skills (mesma URL, mesma\nautenticação). Não há credencial nem host novos.\n\n## Envelope de desfecho\n\nLeia a chave `desfecho` ANTES de qualquer contagem. Os cinco valores são mutuamente exclusivos:\n\n- `erro` — a consulta FALHOU; ninguém olhou o acervo. Não é ausência.\n- `sem_resultado` — a consulta RODOU e o acervo não tem. Zero MEDIDO.\n- `nao_terminou` — timeout ou teto. NÃO-MEDIDO; não afirme que «não existe».\n- `parcial` — mediu uma parte; declare o que ficou de fora.\n- `medida_indisponivel` - a fonte respondeu e NÃO carrega a medida. NÃO-MEDIDO sem avaria; não é zero.\n\n`total: 0` só é ausência medida quando `desfecho` é `sem_resultado`. Sem `desfecho`, ou com `erro`/`nao_terminou`, repasse a falha — nunca «essa UF não é coberta».\n\n## Regra número zero: NUNCA recuse uma UF por conta própria\n\nO catálogo estático do servidor registra **adaptador nativo para as 27 UFs (26 estados +\no Distrito Federal)**. Não existe UF a recusar de antemão. Para QUALQUER UF que o usuário citar,\n**chame a tool** (`buscar_norma_fonte_oficial` / `obter_texto_norma`) e **repasse o que o\nservidor devolver**:\n\n- Se o servidor retornar a norma, cite-a com o `link_completo` oficial.\n- Se `desfecho` for `sem_resultado`, a fonte foi consultada e não tem a norma.\n- Se `desfecho` for `erro` ou `nao_terminou` (fonte fora do ar, deadline), **repasse\n a falha** — o vazio não foi medido, nunca prejulgue a UF.\n\nNão invente a norma e não afirme \"essa UF ainda não é coberta\". A disponibilidade só é\ncomprovada pela consulta pontual ao vivo. Use `obter_cobertura_legislacao` apenas para\nconhecer o adaptador e ajustar a expectativa de resposta antes da consulta.\n\n## Comece pela cobertura: o que a UF cobre\n\nPara uma UF que você não conhece, chame **`obter_cobertura_legislacao`** (`uf=\"SP\"`) primeiro:\nela lista, sem fan-out lento, o estado + os municípios cobertos naquela UF e a prontidão de\ncada um. É o melhor ponto de partida antes de uma consulta estadual/municipal direcionada.\nSem argumentos, `obter_cobertura_legislacao` devolve a prontidão de todas as 27 UFs.\n\nEssa tool lê um **catálogo estático**: **não acessa a fonte oficial** e **não inclui `verified_at` nem `as_of`**.\nPortanto, não comprova disponibilidade atual. A prova ao\nvivo vem somente de `buscar_norma_fonte_oficial` ou `obter_texto_norma` para uma norma.\n\n## Catálogo estático de cobertura por UF (sem as_of)\n\nAs 27 UFs têm adaptador registrado no catálogo. A prontidão descreve a capacidade esperada\ndo adaptador, não o estado atual da fonte:\n\n- **`ready`** (texto integral previsto no catálogo - 6 UFs):\n **BA** (LegislaBahia), **GO** (Legisla Goiás API v2), **MG** (ALMG API v2), **MS**\n (SECOGE/Domino), **RO** (SAPL REST), **SP** (ALESP). Resolve + ementa + texto integral.\n- **`resolve_ementa`** (resolve + ementa + link oficial confiáveis; inteiro teor best-effort,\n às vezes só em PDF - as 21 demais UFs, incluindo **DF** (CLDF PLE + SINJ), **RJ** (SAOE/Casa\n Civil), **CE**, **PE**, **RN**, **SC**, **AP**, **ES**, **SE**, **MT**, **MA**, **PA**,\n **PR**, **RS**, **AC**, **AL**, **AM**, **PB**, **PI**, **RR**, **TO** (estas 7 via SAPL\n Interlegis)). O campo `tem_texto_integral` por consulta avisa se o texto integral veio.\n\n> Regra REAL: nunca afirme que uma norma específica existe se a consulta pontual não a\n> retornou. `ready` é um rótulo de capacidade do catálogo sem frescor, não prova que a fonte\n> está disponível nem que a norma existe. Se a consulta não resolver, repasse o\n> `erro`/`aviso` do servidor e diga honestamente que a norma não foi localizada na fonte,\n> sem prejulgar a UF inteira.\n\n## Como consultar\n\nA **UF é obrigatória** em toda consulta estadual; para municipal, **UF + município**. Junto\ncom **tipo + número + ano** (a consulta resolve a norma por identidade, não por busca\ntextual livre).\n\n| Necessidade | Tool | Argumentos |\n|---|---|---|\n| Catálogo estático de uma UF (estado + municípios) | `obter_cobertura_legislacao` | `uf` |\n| Catálogo estático das 27 UFs, sem frescor | `obter_cobertura_legislacao` | (sem argumentos) |\n| Metadados de uma norma ESTADUAL (link oficial, ementa, data) | `buscar_norma_fonte_oficial` | `uf`, `tipo`, `numero`, `ano` |\n| Texto íntegra de uma norma ESTADUAL | `obter_texto_norma` | `uf`, `tipo`, `numero`, `ano` |\n| Metadados de uma norma MUNICIPAL | `buscar_norma_fonte_oficial` | `uf`, `municipio`, `tipo`, `numero`, `ano` |\n| Texto íntegra de uma norma MUNICIPAL | `obter_texto_norma` | `uf`, `municipio`, `tipo`, `numero`, `ano` |\n\nNotas de uso:\n- **`uf` é sempre obrigatória; para municipal, `municipio` também.** Sem isso a consulta é\n ambígua: peça ao usuário (leis de mesmo número existem em estados/municípios diferentes).\n- `tipo` é a espécie normativa (`LEI`, `DECRETO`, `LEI COMPLEMENTAR`, …); `numero` e `ano`\n identificam a norma. Esta consulta **não** faz busca por tema/assunto: se o usuário só\n descreve o assunto, peça (ou ajude a descobrir) tipo/número/ano.\n- A consulta é **ao vivo**: pode ser mais lenta e depende da fonte oficial. Se a fonte\n estiver fora do ar ou não retornar a norma, o campo `erro`/`aviso` diz isso -\n **repasse ao usuário**, não invente.\n\n## Método (o caminho subnacional difere do federal)\n\nA legislação estadual/municipal resolve **por identidade** (UF [+ município] + tipo +\nnúmero + ano), NÃO por busca textual livre de tema. E, como no federal, **não há piso\ntemporal**: a vigência é a da fonte, nunca uma função do ano. Numa tarefa grande (dossiê\nque amarra normas de vários entes), delegue ao subagente `legislacao-juris` (ver\nSubagentes); num cliente sem subagentes, execute você mesmo. O fluxo:\n\n1. **Ajuste a expectativa pelo catálogo estático.** Para uma UF que você não conhece, chame\n `obter_cobertura_legislacao` (`uf=\"SP\"`) antes - ela lista, sem fan-out lento, o estado\n + os municípios cobertos e a **prontidão** de cada um (`ready` = texto integral robusto\n vs `resolve_ementa` = ementa + link confiáveis, inteiro teor best-effort). Assim você\n ajusta a expectativa, mas ainda precisa da consulta pontual ao vivo para comprovar a\n disponibilidade e o conteúdo.\n2. **Resolva a norma por identidade.** Com UF [+ município] + tipo + número + ano, chame\n `buscar_norma_fonte_oficial` para os metadados (link oficial deep-per-norma, ementa,\n data). Se o usuário só descreve o assunto, peça (ou ajude a montar) tipo/número/ano -\n esta superfície não faz busca por tema.\n3. **Leia o texto vigente.** Se o usuário quer o inteiro teor, chame `obter_texto_norma`\n com os mesmos argumentos de identidade. Cite a redação **como a fonte devolveu**; o campo\n `tem_texto_integral` por consulta avisa se o texto integral veio ou se só há ementa + link.\n4. **Repasse o vazio honesto.** Se a consulta pontual não resolver (norma não localizada na\n fonte, fonte fora do ar, deadline), repasse o `erro`/`aviso` do servidor e diga que a\n norma não foi localizada na fonte - sem prejulgar a UF inteira e sem inventar a norma.\n\nConfira a vigência antes de amparar: cite a UF (e o município, quando municipal), o tipo, o\nnúmero/ano e o `link_completo` oficial - nunca uma redação de memória.\n\n## Regras de citação (obrigatório)\n\n- Cite a **UF** (e o **município**, quando municipal), o tipo, o número/ano e a redação\n como retornada pela fonte. Sempre inclua o **`link_completo`** (URL oficial deep-per-norma)\n e **nunca invente** número, redação ou link.\n- Deixe claro que a fonte é **estadual** ou **municipal** e de **qual UF/município**.\n- Preserve grafia e diacríticos exatamente como na fonte (UTF-8).\n- Se a norma não for encontrada, **diga isso** repassando o `erro`/`aviso` do servidor -\n uma consulta pontual pode não resolver mesmo numa UF coberta.\n\n## Subagentes IAJUS (Claude Code)\n\nNo **Claude Code**, delegue uma tarefa normativa grande a subagentes especializados\n(invoque via Task/subagent pelo nome). Em clientes **sem subagentes** (claude.ai web,\nChatGPT, Codex), **execute você mesmo o método acima** - não delegue.\n\n- **`legislacao-juris`** - norma aplicável de qualquer ente (federal, estadual ou\n municipal) num só dossiê, com a cobertura por UF já ajustada.\n- **`memorialista-juris`** - parecer/peça que amarra normas subnacionais + jurisprudência,\n com citação verificável de cada fundamento.\n- **`conferente-citacoes`** - **feche a entrega com ele** (anti-alucinação): confere cada\n norma estadual/municipal citada contra a fonte oficial ao vivo antes do texto final.\n\n## Boas práticas\n\n- Comece por `obter_cobertura_legislacao` para ler o catálogo estático da UF; ajuste a\n expectativa (`ready` = texto integral previsto vs `resolve_ementa` = ementa + link + texto\n best-effort) e confirme tudo pela consulta pontual ao vivo.\n- Confirme a norma com `buscar_norma_fonte_oficial` (link + data); só então `obter_texto_norma`\n se o usuário quiser o inteiro teor.\n- **Autenticação:** **OAuth 2.1 é o caminho canônico**; o cliente abre o navegador no primeiro\n login. A chave `ik_*` é apenas fallback documentado para canal CLI/privado no header\n `Authorization: Bearer`. Um **401** indica sessão/chave ausente ou expirada: peça ao\n usuário para refazer o login ou revisar a chave; **nunca** cole a chave em chat nem em commit.\n"
}SHA-256: 8b9f818e9f4dc10387b2156416bedca05c76c702e781311529a442d5bd0d2bce