用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/majiayu000/claude-skill-registry --skill cadunico-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | cadunico-api |
| description | API CadÚnico via Conecta Gov.br para verificação de elegibilidade |
Consumo da API oficial do CadÚnico para verificação de elegibilidade, consulta cadastral e monitoramento de saúde do cadastro.
GET https://api.conectagov.estaleiro.serpro.gov.br/api-cadunico-servicos/v1/situacaoCadastral/nis/{nis}
Headers:
Authorization: Bearer {token}
Accept: application/json
Resposta:
{
"nis": "12345678901",
"situacaoCadastral": "CADASTRADO",
"dataUltimaAtualizacao": "2024-11-15",
"faixaRenda": "EXTREMA_POBREZA"
}
GET https://api.conectagov.estaleiro.serpro.gov.br/api-cadunico-servicos-dados/v1/dp/dadosFamiliar/{cpf}
Headers:
Authorization: Bearer {token}
Accept: application/json
Resposta:
{
"cpfResponsavel": "***456789**",
"quantidadeMembros": 4,
"rendaFamiliarPerCapita": 150.00,
"municipio": "SAO PAULO",
"uf": "SP",
"dataUltimaAtualizacao": "2024-11-15"
}
# Obter token
curl -X POST https://h.conectagov.estaleiro.serpro.gov.br/oauth2/jwt-token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-u "{client_id}:{client_secret}"
# backend/app/agent/tools/consultar_cadunico.py
async def consultar_cadunico(cpf: str) -> dict:
"""
Consulta situação no CadÚnico via API Conecta Gov.br.
Retorna: situação cadastral, faixa de renda, data última atualização.
"""
token = await obter_token_conecta()
response = await httpx_client.get(
f"{CADUNICO_API_URL}/dadosFamiliar/{cpf}",
headers={"Authorization": f"Bearer {token}"}
)
return response.json()
async def verificar_saude_cadastral(cpf: str) -> dict:
"""
Verifica se cadastro precisa ser atualizado.
CadÚnico exige atualização a cada 24 meses.
"""
dados = await consultar_cadunico(cpf)
ultima_atualizacao = parse_date(dados["dataUltimaAtualizacao"])
meses_desde = (date.today() - ultima_atualizacao).days // 30
if meses_desde >= 22:
return {
"status": "URGENTE",
"mensagem": "Seu cadastro vai vencer em breve. Vá ao CRAS atualizar.",
"meses_restantes": 24 - meses_desde
}
elif meses_desde >= 18:
return {
"status": "ATENCAO",
"mensagem": "Seu cadastro vence em poucos meses. Planeje ir ao CRAS.",
"meses_restantes": 24 - meses_desde
}
else:
return {
"status": "OK",
"mensagem": "Seu cadastro está em dia.",
"meses_restantes": 24 - meses_desde
}
async def verificar_elegibilidade_cruzada(cpf: str) -> list:
"""
Cruza dados do CadÚnico com todos os 229 benefícios.
Retorna lista de benefícios que o cidadão provavelmente tem direito.
"""
dados = await consultar_cadunico(cpf)
beneficios_elegiveis = await eligibility_service.check_all(
renda_per_capita=dados["rendaFamiliarPerCapita"],
membros_familia=dados["quantidadeMembros"],
municipio=dados["municipio"],
uf=dados["uf"]
)
return beneficios_elegiveis
# .env
CONECTA_GOVBR_CLIENT_ID=seu_client_id
CONECTA_GOVBR_CLIENT_SECRET=seu_client_secret
CONECTA_GOVBR_URL=https://api.conectagov.estaleiro.serpro.gov.br
CADUNICO_API_URL=https://api.conectagov.estaleiro.serpro.gov.br/api-cadunico-servicos-dados/v1/dp
backend/app/agent/tools/consultar_cadunico.py - Tool do agentebackend/app/services/cadunico_service.py - Serviço de integraçãobackend/app/services/eligibility_service.py - Motor de elegibilidadebackend/app/core/config.py - Configurações***456789**)| Código | Significado | Ação |
|---|---|---|
| 401 | Token expirado | Renovar token automaticamente |
| 404 | CPF não encontrado no CadÚnico | Orientar cidadão a se cadastrar |
| 429 | Rate limit excedido | Retry com backoff exponencial |
| 500 | API indisponível | Fallback para base local |
基于 SOC 职业分类