Skip to content
Back to skills

Skill Anxietylab

ASecurity

Consulta programática de contratações públicas do Brasil via APIs do PNCP (pncp.gov.br), usando a CLI pncp. Use quando o usuário pedir para buscar, coletar ou analisar licitações, editais, pregões, dispensas, atas de registro de preço, contratos públicos, órgãos públicos ou dados do Portal Nacional de Contratações Públicas — descoberta textual, coleta em massa por período, ou detalhe/itens/arquivos/resultados de uma contratação.

  • 123 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 10, 2026
ai-agentsgobashgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 10, 2026

npx -y skills add ThomasMoreAI/legal-skills-open --skill skill-anxietylab --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Anxietylab?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Skill Anxietylab
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thomasmoreai-skill-anxietylab/badge)](https://www.skillsdirectory.com/skills/thomasmoreai-skill-anxietylab)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: skill-anxietylab
title: PNCP — contratações públicas via CLI
description: Consulta programática de contratações públicas do Brasil via APIs do PNCP (pncp.gov.br), usando a CLI pncp. Use quando o usuário pedir para buscar, coletar ou analisar licitações, editais, pregões, dispensas, atas de registro de preço, contratos públicos, órgãos públicos ou dados do Portal Nacional de Contratações Públicas — descoberta textual, coleta em massa por período, ou detalhe/itens/arquivos/resultados de uma contratação.
author: AnxietyLab
author_url: https://github.com/AnxietyLab/pncp-cli/tree/main/src/pncp_cli/skill
license: MIT
version: 0.1.0
execution_mode: open
jurisdiction: br
practice: government-contracts
language: pt
---

# PNCP — contratações públicas via CLI

Requisito: a CLI `pncp` instalada e no PATH (`uv tool install pncp-cli` ou
`pipx install pncp-cli`; confirme com `pncp --version`).

## Padrões de uso

- stdout é JSON puro (seguro para `| jq`); progresso e avisos vão para stderr.
- `--ndjson` = um registro por linha, em streaming — o formato para coletas.
- `--table` = resumo legível para inspeção rápida.
- `--all` pagina até esgotar; combine com `--limit N` em explorações para não
  baixar milhares de registros à toa.
- Exit codes: `0` sucesso · `1` erro · `3` sucesso parcial (stdout válido,
  porém truncado; o stderr indica como retomar).

## Qual superfície usar

- **`search`** — descoberta por texto e facetas (palavra-chave, UF, modalidade,
  órgão). Rápida; a paginação trava em ~10.000 resultados.
- **`consulta`** — coleta em massa por intervalo de datas, sem teto de
  resultados. Intervalos maiores que 365 dias são divididos em janelas
  automaticamente.
- **`contratacao`/`itens`/`resultados`/`arquivos`/`historico`** — detalhe de
  UMA contratação, por `CNPJ ANO SEQ` ou `--controle <numero_controle_pncp>`.
- **`orgao`/`ata`/`contrato`/`pca`/`dominio`** — órgãos, atas, contratos,
  plano anual de contratações e tabelas de referência.

## Comandos

```
search [TERMO] --tipo edital|ata|contrato --status STATUS [--uf SP,RJ]
       [--modalidade 6,8] [--orgao ID] [--municipio ID] [--esfera F,E,M]
       [--all] [--limit N] [--incluir TERMO] [--excluir TERMO] [--link]
filtros --tipo edital [--faceta modalidades|orgaos|ufs|municipios]
consulta contratacoes --de YYYY-MM-DD --ate YYYY-MM-DD --modalidade ID|all
         [--por publicacao|atualizacao] [--uf --municipio --cnpj --unidade]
         [--all] [--limit N] [--checkpoint ARQ]
         [--incluir TERMO] [--excluir TERMO] [--match any|all] [--link]
consulta propostas --ate YYYY-MM-DD [--modalidade ID] [--uf SP] [--all]
consulta atas      --de --ate [--por atualizacao] [--cnpj] [--all]
consulta contratos --de --ate [--por atualizacao] [--cnpj] [--all]
consulta cobranca  --de --ate [--tipo N] [--all]
consulta pca       --ano N --classificacao COD | --usuario ID |
                   --por atualizacao --de --ate
contratacao  <CNPJ> <ANO> <SEQ> | --controle NUM
itens        <CNPJ> <ANO> <SEQ> | --controle NUM  [--tam N] [--limit N]
resultados   <CNPJ> <ANO> <SEQ> [--item N]     # fornecedor vencedor por item
arquivos     <CNPJ> <ANO> <SEQ> [--baixar DIR]
historico    <CNPJ> <ANO> <SEQ>
orgao        <CNPJ> [--unidades] | --id N | --buscar TEXTO
ata          listar|detalhe|arquivos|partes|contratos|historico <alvo> [--seq-ata N]
contrato     detalhe|arquivos|termos|empenhos|historico|cobranca|da-compra <alvo>
pca          consolidado|itens|valores|planos|csv <CNPJ> <ANO> [--seq N]
dominio      [tabela]                          # 17 tabelas de referência
controle     <numero_controle_pncp> [--detalhe]
```

Flags globais em qualquer subcomando: `--output json|ndjson|table`,
`-q/--quiet`, `--timeout S`, `--retries N`, `--pausa SEG`, `--version`.

## Vocabulário

- `--status` (search): `recebendo_proposta`, `propostas_encerradas`,
  `encerradas`, `todos`.
- **Modalidades**: `1` Leilão-Elet · `2` Diálogo Competitivo · `3` Concurso ·
  `4` Concorrência-Elet · `5` Concorrência-Pres · `6` Pregão-Elet ·
  `7` Pregão-Pres · `8` Dispensa · `9` Inexigibilidade · `10` Manif. de
  Interesse · `11` Pré-qualificação · `12` Credenciamento · `13` Leilão-Pres ·
  `14` Inaplicabilidade · `15` Chamada pública · `16-19` variantes
  internacionais. Fonte viva: `pncp dominio modalidades`.
- **Número de controle PNCP**: `CNPJ-TIPO-SEQ/ANO`
  (ex.: `07424905000138-1-000212/2026`; TIPO `1` = contratação, `2` =
  contrato). Atas usam o formato estendido `.../ANO-SEQATA`, aceito direto em
  `ata ... --controle`.

## Receitas

```bash
# editais abertos de um tema, visão rápida
pncp search "notebook" --tipo edital --status recebendo_proposta --uf SP --table

# coleta de um semestre de pregões eletrônicos, com retomada automática
pncp consulta contratacoes --de 2026-01-01 --ate 2026-06-30 --modalidade 6 \
  --all --ndjson --checkpoint ck.json > pregoes.ndjson

# filtro local por tema (token/frase, sem acentos), limite pós-filtro
pncp consulta contratacoes --de 2026-06-01 --ate 2026-06-30 --all --ndjson \
  --incluir "armazenamento de dados" --incluir storage --limit 100 --link

# da busca ao detalhe
pncp search "ambulância" --tipo edital --all --limit 50 --ndjson \
  | jq -r .numero_controle_pncp \
  | while read c; do pncp itens --controle "$c" --ndjson; done

# ground truth: quem venceu cada item e por quanto
pncp resultados 80881915000192 2026 44 --ndjson

# rastreabilidade compra → contratos → aditivos
pncp contrato da-compra --controle <controle-da-compra> --ndjson

# demanda futura declarada (PCA) de um órgão
pncp pca valores 00394452000103 2026
pncp pca csv 00394452000103 2026 --saida pca.csv
```

## Armadilhas conhecidas da API

A CLI trata os casos abaixo; conhecê-los ajuda a interpretar resultados
e diagnosticar problemas:

- Coleções truncam em 10 sem aviso se não forem paginadas
  (`tamanhoPagina=10` é o padrão do servidor). A CLI pagina tudo; contratações
  reais costumam ter dezenas de itens.
- CATMAT/CATSER vêm vazios nos itens (`catalogoCodigoItem`, `catalogo`).
  Não é possível triar por código de catálogo; use as descrições dos itens
  (texto livre, específicas), bem mais informativas que o objeto do edital.
  NCM é parcial (maior preenchimento na esfera federal).
- A busca textual é AND e aceita frase entre aspas; a precisão contra o
  objeto do edital é baixa (casa item perdido em registros de preço grandes).
  Use-a para descobrir vocabulário; a triagem fina é nos itens.
- Arquivos: `content-type` é sempre `application/octet-stream`; detecte o
  formato pelos magic bytes. Parte dos documentos "Edital" são ZIP
  contendo PDF, DOCX e XLSX (nomes internos podem vir em CP437).
- Rate limit (bloqueios de cerca de um minuto) e 5xx intermitentes são
  comuns; a CLI
  retenta e, se persistir, devolve parcial com exit 3. Em coletas longas,
  `--pausa 0.5` reduz a chance de bloqueio.
- Retomada é at-least-once: ao carregar em banco, deduplique por
  `numeroControlePNCP` (e chave composta com `numeroItem` para itens).
- Especificações oficiais: `/api/consulta/v3/api-docs` e
  `/api/pncp/v3/api-docs`.

## Fora de escopo

- Área de Trabalho autenticada do portal (buscas salvas, editais seguidos).
- Endpoints que exigem login de órgão (`/v1/usuarios*`, POST/PUT/DELETE).

Files in this skill

  • LICENSE1 KB
  • SKILL.md7.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.