sábado, 11 de julho de 2026

Roteiro de automação com Skills no VS Code + Claude Code

Neste post, vou mostrar o passo a passo de uma automação completa feita com o auxílio do Claude Code, rodando no VS Code, para o reaproveitamento das teses jurídicas contidas em peças processuais da Promotoria de Justiça. 

1. Inicialmente, abrimos um chat e discutimos nossa necessidade com o Claude. Ali amadurecemos nossas ideias e analisamos as alternativas possíveis para chegarmos ao melhor resultado. É a fase de planejamento, muito importante.



2. Queremos uma automação que permita extrair as teses de nossas peças processuais e generalizá-las, preservando os argumentos jurídicos e a jurisprudência nelas contidas. Vamos gerar uma base de conhecimento em arquivos Markdown estruturados que será consultada pelo agente para, no futuro, auxiliar na elaboração de outras peças processuais.

3. No nosso chat do Claude, definimos o fluxo de trabalho, o tipo de peça processual que será analisado pelo agente, o formato de saída e de que forma os scripts entrarão em ação.

4. A conversa no chat termina com o pedido explícito do prompt que vai organizar a pasta de trabalho, criar o ambiente virtual Python, instalar as bibliotecas necessárias, gerar os scripts de automação e estabelecer o roteiro no formato de Skill. Esse processo de gerar a estrutura inicial de pastas, ambiente e arquivos a partir de uma especificação é o que se chama de scaffold do projeto. Isso tudo será gerado na pasta do projeto aberta no VS Code.

5. Então, abrimos o VS Code, selecionamos a pasta do projeto, e executamos o Claude Code (extensão da própria Anthropic) com o prompt obtido no passo anterior.

6. Toda a estrutura de pastas, o ambiente virtual e os scripts são criados. O arquivo SKILL.md é gravado na pasta correta. Depois disso, conferimos objetivamente se ele corresponde ao fluxo planejado.



7. Com tudo isso pronto, carregamos as peças na pasta definida como entrada e, no chat do Claude Code, solicitamos explicitamente o processamento (ou invocamos a Skill diretamente, ex.: /extrair-teses).

8. Se tudo correr como planejado, as teses devem aparecer generalizadas, sem referência ao caso concreto, porém com a jurisprudência contida na peça original, prontas para reaproveitamento por uma futura skill dedicada à elaboração, por exemplo, de contrarrazões.




quinta-feira, 21 de maio de 2026

A IA na Promotoria: um singelo pensamento após a participação numa POC (prova de conceito)

Quando migramos do processo em papel para o digital, mudamos apenas o suporte. Todos os termos (certidões, vistas, ciências, "carimbos") foram mantidos. O novo processo era mais do mesmo, porém digitalizado. De início, o consumo de papel até aumentou, porque simplesmente resistíamos a ler telas de computador.

Foram necessários mais de 10 anos para percebermos que o processo digital pode ser diferente. Os atos processuais clássicos finalmente cederam lugar aos "eventos". E está tudo bem.

Tenho a impressão de que o mesmo acontece hoje com a IA. Tudo o que fazemos é submeter o processo e um prompt a uma API.

Seria muito mais produtivo repensar nossos fluxos de trabalho e adaptá-los a essa nova tecnologia. Superar a cultura institucional e o nosso imenso apego ao formalismo é essencial para, efetivamente, extrairmos valor da IA generativa e aumentarmos nossa produtividade.

quarta-feira, 29 de abril de 2026

Aplicações desktop com padrão MVC

Visão geral

Uma boa estratégia para o desenvolvimento de aplicações desktop modernas é o uso do padrão MVC (Model-View-Controller), que permite que o projeto escale sem maior dificuldade.

Model: camada de dados

O arquivo database.py concentra toda a inteligência da persistência dos dados.

O sqlite3 pode ser uma boa alternativa para o gerenciamento de um banco local.

Uma classe Database única pode concentrar os métodos para realizar todas as operações de CRUD.

O uso de sys e os para identificar o caminho (path) do banco de dados garante a portabilidade entre diferentes sistemas operacionais.

Controller: lógica da aplicação

Os arquivos de controle atuam como intermediários, importando o Model para processar as regras de negócio.

Cada tabela do banco possui seu próprio arquivo "py" controlador (exemplo: viagem-controler.py, despesa-controler.py etc)

Para as importações entre pastas, recomenda-se o uso do sys.path.insert para garantir o caminho da pasta src (fonte).

View: interface do usuário

A interface de apresentação pode ser construída com PySide6.

Um arquivo main_window.py deve gerenciar as transições entre janelas, sendo estas associadas a outros arquivos "py" (exemplo: viagem_window.py, config_dialog.py etc).

O design visual fica separado em arquivos "ui" dentro da pasta Forms.

Obs.: a View nunca deve acessar o Banco de Dados diretamente (ela apenas exibe o que o Controller envia).

Conclusão

O padrão MVC permite que cada componente tenha uma responsabilidade única na aplicação. Isso facilita o trabalho em equipe, a realização de testes e a manutenção futura do software.