askill
rede-protecao

rede-protecaoSafety 100Repository

Rede de proteção social e encaminhamento de urgência

0 stars
1.2k downloads
Updated 2/5/2026

Package Files

Loading files...
SKILL.md

Mapeamento integrado de toda a rede de proteção social brasileira com fluxograma interativo de encaminhamento.

Contexto

  • Cidadão em crise não sabe a quem recorrer
  • Rede fragmentada: CRAS, CREAS, Conselho Tutelar, Defensoria, CAPS, UBS
  • Cada minuto conta em situação de violência, risco ou emergência
  • Linguagem simples é essencial para público vulnerável

Equipamentos da Rede

Assistência Social (SUAS)

EquipamentoFunçãoPúblico
CRASPrevenção, cadastros, benefíciosFamílias em vulnerabilidade
CREASProteção especial, violência, abusoPessoas com direitos violados
Centro POPAtendimento população de ruaPessoas em situação de rua
Abrigo/Casa de PassagemAcolhimento temporárioPessoas sem moradia
Casa LarAcolhimento crianças/adolescentesCrianças afastadas da família

Saúde

EquipamentoFunçãoPúblico
UBSSaúde básica, vacinas, pré-natalToda a população
CAPSSaúde mental, álcool, drogasPessoas com sofrimento psíquico
CAPS ADÁlcool e drogasDependentes químicos
CAPSiSaúde mental infantojuvenilCrianças e adolescentes
UPA/SAMUEmergênciaUrgências de saúde

Justiça e Direitos

EquipamentoFunçãoPúblico
Defensoria PúblicaAssistência jurídica gratuitaQuem não pode pagar advogado
Conselho TutelarProteção de criançasCrianças/adolescentes em risco
Delegacia da MulherViolência contra mulherMulheres vítimas de violência
Ministério PúblicoDireitos coletivosComunidades e grupos

Telefones de Emergência

EMERGÊNCIAS:
  190 - Polícia Militar
  192 - SAMU (saúde)
  193 - Bombeiros

PROTEÇÃO:
  100 - Disque Direitos Humanos (crianças, idosos, PCD)
  180 - Central de Atendimento à Mulher
  188 - CVV (prevenção ao suicídio)
  181 - Disque Denúncia

SERVIÇOS:
  121 - INSS / Previdência
  111 - CadÚnico / Bolsa Família
  156 - Prefeitura (varia por município)

Fluxograma de Encaminhamento

"Meu problema é..."

├── "Preciso de comida / dinheiro / benefício"
│   └── CRAS (cadastro + benefícios)
│
├── "Sofro violência em casa"
│   ├── Mulher → Ligue 180 + Delegacia da Mulher + CREAS
│   ├── Criança → Ligue 100 + Conselho Tutelar + CREAS
│   └── Idoso → Ligue 100 + CREAS + Delegacia
│
├── "Estou na rua / sem moradia"
│   └── Centro POP + CRAS (cadastro) + Abrigo
│
├── "Problema de saúde mental / drogas"
│   ├── Crise aguda → SAMU 192 + CAPS
│   ├── Tratamento → CAPS / CAPS AD
│   └── Criança → CAPSi
│
├── "Preciso de remédio"
│   ├── Receita médica → Farmácia Popular
│   └── Sem receita → UBS primeiro
│
├── "Problema com documento / justiça"
│   ├── Sem documentos → CRAS (encaminha para 2ª via)
│   ├── Problema trabalhista → Defensoria Pública
│   └── Problema com benefício negado → Defensoria Pública
│
├── "Meu filho está em perigo"
│   └── Conselho Tutelar + Ligue 100
│
├── "Pensando em me machucar"
│   └── CVV 188 (24h) + CAPS
│
└── "Outro problema"
    └── CRAS (porta de entrada da rede)

Implementação no Agente

Tool de Encaminhamento

# backend/app/agent/tools/rede_protecao.py
from enum import Enum

class TipoNecessidade(str, Enum):
    BENEFICIO = "beneficio"
    VIOLENCIA = "violencia"
    MORADIA = "moradia"
    SAUDE_MENTAL = "saude_mental"
    MEDICAMENTO = "medicamento"
    DOCUMENTOS = "documentos"
    CRIANCA_RISCO = "crianca_risco"
    EMERGENCIA = "emergencia"
    JURIDICO = "juridico"

ENCAMINHAMENTOS = {
    TipoNecessidade.BENEFICIO: {
        "primario": "CRAS",
        "telefone": "111",
        "acao": "Vá ao CRAS mais perto com seus documentos.",
        "documentos": ["CPF", "Comprovante de endereço"],
    },
    TipoNecessidade.VIOLENCIA: {
        "primario": "CREAS",
        "telefones": {"mulher": "180", "crianca": "100", "geral": "190"},
        "acao": "Ligue agora. Você não precisa passar por isso sozinha.",
        "urgente": True,
    },
    TipoNecessidade.MORADIA: {
        "primario": "Centro POP",
        "secundario": "CRAS",
        "acao": "Procure o Centro POP mais perto. Lá tem acolhimento e comida.",
    },
    TipoNecessidade.SAUDE_MENTAL: {
        "primario": "CAPS",
        "telefone_crise": "192",
        "telefone_apoio": "188",
        "acao": "O CVV atende 24 horas pelo 188. Você não está sozinho.",
        "urgente": True,
    },
}

async def encaminhar_rede_protecao(
    necessidade: TipoNecessidade,
    latitude: float = None,
    longitude: float = None,
    detalhes: str = None,
) -> dict:
    """Identifica o serviço correto e fornece encaminhamento."""
    encaminhamento = ENCAMINHAMENTOS[necessidade]

    # Buscar unidade mais próxima se tiver localização
    if latitude and longitude:
        unidade = await buscar_equipamento_proximo(
            tipo=encaminhamento["primario"],
            lat=latitude,
            lng=longitude
        )
        encaminhamento["unidade_proxima"] = unidade

    return encaminhamento

Detecção de Urgência no Chat

# backend/app/agent/tools/detectar_urgencia.py
PALAVRAS_URGENCIA = {
    "alto": ["suicídio", "me matar", "não aguento mais", "acabar com tudo",
             "apanho", "me bate", "abuso", "estupro"],
    "medio": ["violência", "ameaça", "medo", "rua", "fome",
              "desespero", "sem saída", "droga"],
}

async def detectar_urgencia(mensagem: str) -> dict:
    """Detecta sinais de urgência na mensagem do cidadão."""
    mensagem_lower = mensagem.lower()

    for palavra in PALAVRAS_URGENCIA["alto"]:
        if palavra in mensagem_lower:
            return {
                "nivel": "ALTO",
                "acao_imediata": True,
                "servico": "CVV 188 ou SAMU 192",
                "mensagem": "Você está passando por algo muito difícil. "
                           "Ligue agora pro 188 (CVV) - atende 24 horas, "
                           "é de graça e é sigiloso."
            }

    for palavra in PALAVRAS_URGENCIA["medio"]:
        if palavra in mensagem_lower:
            return {
                "nivel": "MEDIO",
                "acao_imediata": False,
                "encaminhamento": "rede_protecao"
            }

    return {"nivel": "NORMAL"}

Mensagens ao Usuário (Linguagem Simples)

Situação de Violência

Você não tem culpa. Ninguém tem o direito de te machucar.

Ligue agora:
  180 - Central da Mulher (24h, gratuito, sigiloso)
  190 - Polícia

O CREAS pode te ajudar com proteção e acompanhamento.
O mais perto de você fica em: [endereço]

Situação de Rua

Você tem direitos mesmo sem endereço fixo.

Procure o Centro POP:
  [endereço mais próximo]
  Lá tem: banho, comida, lugar pra dormir e ajuda pra conseguir documentos.

Você pode se cadastrar no CadÚnico mesmo sem endereço.
  O CRAS pode te ajudar com isso.

Saúde Mental

Tudo bem não estar bem. Pedir ajuda é um ato de coragem.

CVV - 188 (24 horas, gratuito, sigiloso)
  Você pode ligar, mandar mensagem ou acessar cvv.org.br

O CAPS atende de graça e sem precisar de encaminhamento.
  O mais perto: [endereço]

Arquivos Relacionados

  • backend/app/agent/tools/rede_protecao.py - Tool de encaminhamento
  • backend/app/agent/tools/detectar_urgencia.py - Detector de urgência
  • backend/app/agent/tools/buscar_cras.py - Busca CRAS (existente)
  • backend/app/routers/nearby.py - Endpoint de busca por proximidade

Fontes de Dados

  • CRAS/CREAS: Censo SUAS (MDS) - atualização anual
  • CAPS: CNES/DataSUS - Cadastro Nacional de Estabelecimentos de Saúde
  • Conselhos Tutelares: SIPIA/CONANDA
  • Defensorias: DPU + Defensorias Estaduais

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/10/2026

A high-quality, comprehensive skill mapping the Brazilian social protection network (SUAS/SUS). It provides clear referral logic, emergency contacts, and functional Python code for implementation.

100
100
85
100
95

Metadata

Licenseunknown
Version-
Updated2/5/2026
Publishermajiayu000

Tags

security