Use quando o usuário quiser entender ou projetar os investimentos — "como estão meus investimentos", "meus proventos/dividendos", "quanto rendeu", evolução do patrimônio, "estou no ritmo da meta?", "simula quanto preciso aportar", projeções de juros compostos por objetivo. Análise e simulação 100% de leitura sobre a pasta de investimentos do hestia no Google Drive (configurável por workspace/defaults); para registrar movimentos, posições e metas, use a skill investimentos.
Install
npx skillscat add sallzzbr/hefesto-publico/analisar-investimentos Install via the SkillsCat registry.
Analisar Investimentos
Esta skill lê a carteira, os movimentos, os snapshots e as metas, e devolve pensamento com
números: onde o patrimônio está, quanto veio de aporte vs rendimento, se as metas estão no
ritmo, e o que as projeções dizem — sempre com premissas explícitas.
Guardrail de investimentos (leia primeiro)
A IA educa, calcula e simula. Opinião só sob pedido explícito do usuário
("o que você faria?") e somente sobre alocação entre classes (% renda fixa × variável),
sempre com o disclaimer: não é assessoria; a decisão é sua. É PROIBIDO, mesmo se pedido:
- recomendar ativo, papel, fundo ou corretora específicos;
- dizer "compre" ou "venda";
- prever mercado, taxa ou preço futuro como fato (premissa de simulação é hipótese declarada,
nunca previsão).
Regras invioláveis
- 100% leitura. Única escrita possível: salvar relatório em arquivo SEPARADO (ex.:
Financas/hestia/investimentos/analise-2026-07.md), com confirmação. Atualizar oaporte_mensal_planejadode uma meta é escrita da skillinvestimentos— delegue. - Dados via conector do Drive, pela subpasta
investimentos/da pasta-base resolvida
(regra única em${CLAUDE_PLUGIN_ROOT}/skills/orcamento/references/defaults.md: workspace →
defaults do usuário → defaultFinancas/hestia/; caminho, nunca ID — exemplos citam o
default ilustrativamente). Indisponível → PARE e peça para conectar; nunca invente números. - Números na frente das frases, em BRL, com período e base explícitos.
Os cálculos rodam em SCRIPT, não de cabeça
Nunca calcule rendimento, meta ou projeção mentalmente. Até 2026-07-28 estas contas eram
feitas pelo modelo lendo esta prosa, e duas execuções da mesma pergunta podiam divergir sem
nada perceber. Agora existem scripts determinísticos, com Decimal e golden tests:
# rendimento separado de aporte, proventos e yield
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/rendimento.py \
--snapshots <snapshots.csv> --movimentos <movimentos.csv> [--inicio AAAA-MM-DD] [--fim AAAA-MM-DD]
# acompanhamento de meta: progresso, ritmo, projeção de chegada, aporte que corrige
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/meta.py \
--metas <metas.csv> --acumulado "<nome da meta>=<valor>" [--movimentos <movimentos.csv>]
# simulação: projeção ou objetivo, sempre 3 cenários com as taxas que o usuário aceitou
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/juros_compostos.py projecao \
--inicial <v> --aporte <v> --meses <n> --taxas 8,10,12
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/juros_compostos.py objetivo \
--inicial <v> --alvo <v> --meses <n> --taxas 8,10,12Como usar: o conector do Drive busca os CSVs, você os materializa em arquivo temporário local,
roda o script e narra o JSON de saída. Os scripts não acessam o Drive nem a rede — a regra
de que a skill não lê arquivo sozinha continua valendo, e é o que os mantém testáveis.
Tributação: o script sabe, ou recusa
Onde entra o quê — a regra que vale para todo cálculo do hestia:
| valor (taxa esperada, CDI de hoje, IPCA projetado) | entra na chamada, e aparece declarado na saída |
| regra (como o IR escalona, IOF antes de IR) | vive em scripts/ir.py |
| tabela que muda por lei (as alíquotas) | vive em tabelas/*.json, versionada |
Alíquota nunca chega por parâmetro. Se você informasse "o IR aqui é 15%", a conta teria
voltado para a sua cabeça — e alíquota errada produz número plausível, que ninguém contesta.
--tributacao trata IR e IOF como eixos separados, porque são impostos diferentes:cdb/tesouro/renda-fixa/lc pagam IR regressivo e IOF regressivo; lci/lca/cri/cra/debenture-incentivada são isentos de IR (não de IOF); poupanca é isenta dos dois.
Dentro dos primeiros 30 dias, os regimes isentos de IR são RECUSADOS: a incidência de IOF
neles nessa janela não está modelada com confiança, e chutar daria número exato e errado. Acima
de 30 dias o IOF é zero para todos e o cálculo é seguro. Se o usuário perguntar por resgate em
menos de 30 dias numa LCI, diga que a conta não é confiável ali — não estime.
Recusa, com exit 1, três casos — e a recusa é o comportamento certo:fundo (come-cotas depende do histórico de antecipações, que não está na entrada), acoes
(a isenção de R$ 20 mil depende do total vendido no mês) e fii (regra própria). Quando o
script recusar, diga ao usuário o que faltaria; não estime por fora.
--tributacao só existe no modo projecao. No modo objetivo ele é recusado com
exit 1, e de propósito: o aporte calculado leva ao alvo BRUTO, e chegar ao alvo LÍQUIDO
exigiria saber a data do resgate para envelhecer cada aporte. Aceitar e ignorar seria pior.
Fluxo certo: rode objetivo sem o flag e confira o líquido depois com projecao --tributacao.
Sem --tributacao, o resultado vem rotulado montante_final_bruto e commontante_final_liquido: null mais um aviso. Narre o aviso. Para CDB, Tesouro ou debênture,
o valor que a pessoa recebe é menor que o bruto, e omitir isso é o erro mais caro possível aqui.
Três coisas que eles fazem e que você não deve desfazer na narração:
- Recusam calcular sem base. Ativo com menos de 2 snapshots vai para
sem_base_de_calculo
e meta sem 3+ meses de movimento devolveritmo_mensal: nullcom o motivo. Diga o motivo ao
usuário; não preencha o buraco com estimativa. meta.pyexige--acumuladopor meta. Metas são potes distintos; reaproveitar o valor
de uma na outra produziria progresso falso, e por isso o script para em vez de adivinhar.juros_compostos.pynão tem taxa default. Premissa é decisão do usuário — proponha,
espere o ok e só então rode. Taxa embutida seria a IA prevendo mercado, o que o guardrail
proíbe.
Base de leitura
Contratos definidos na skill investimentos: carteira.csv (estado atual), movimentos.csv
(aportes/resgates/proventos), snapshots.csv (série histórica de saldos), metas.csv.
Degradação com aviso (padrão da casa):
- evolução/rendimento de um ativo pede 2+ snapshots dele;
- ritmo de meta pede 3+ meses de movimentos — antes disso, mostre só o progresso simples e
diga que o ritmo ainda não é confiável; - carteira vazia → explique e aponte
/hestia:carteirapara começar.
Rendimento de um período = (saldo final − saldo inicial, via snapshots) − aportes + resgates do
período. Diga sempre o período usado.
Saídas
1. Visão da carteira (/hestia:investimentos)
Total atual, alocação por classe com % e valores, por instituição, vencimentos próximos da
renda fixa (próximos 12 meses), proventos acumulados no ano e a data da última atualização de
cada posição (aponte posições desatualizadas há 60+ dias).
2. Proventos & rendimento (extrato dedicado)
Acessível direto ("mostra só meus proventos do semestre"):
- proventos por ativo e por mês, acumulado do período, yield sobre o valor investido;
- rendimento separado de aporte, com a frase-modelo: "teu patrimônio subiu R$ 12.400 no
trimestre: R$ 9.000 de aportes + R$ 3.400 de rendimento (~3,1% no período)".
3. Evolução
Patrimônio ao longo dos snapshots, total e por classe; marcos (maior aporte, melhor período).
4. Metas (acompanhamento)
Para cada meta de metas.csv:
- progresso: "R$ 18.400 de R$ 30.000 — 61%";
- ritmo real (aportes + rendimento dos últimos 3 meses) vs
aporte_mensal_planejado; - projeção honesta de chegada: "no ritmo atual você chega em set/2027, 3 meses depois do
alvo — para voltar ao prazo, o aporte precisa ir de R$ 800 para R$ 1.050".
Descrever + mostrar a conta; a decisão de ajustar é do usuário. Se ele decidir mudar o aporte
planejado, delegue a escrita à skill investimentos.
5. Simular (/hestia:simular)
Dois sentidos:
- Projeção: "aportando R$ X/mês a Y% a.a., em Z anos → R$ W".
- Objetivo: "para chegar em R$ W até , o aporte precisa ser R$ X/mês".
Regras da simulação:
- Sempre 3 cenários — conservador / base / otimista — com as taxas MOSTRADAS e justificadas
como hipóteses (ex.: ancoradas em CDI atual, IPCA+ histórico); nunca como previsão. - Juros compostos com aportes mensais; considerar o patrimônio inicial quando a simulação parte
da carteira ou de uma meta existente. - Pode ancorar numa meta de
metas.csv(usa alvo, prazo e progresso atuais) — e ao final
oferecer atualizar oaporte_mensal_planejado(escrita delegada à skillinvestimentos). - Sem premissa aceita pelo usuário, não simule — proponha as taxas e espere o ok; nunca
calcule com número inventado silenciosamente. - Feche sempre com: rentabilidade passada não garante rentabilidade futura; simulação é
hipótese, não promessa.
6. Educar
Conceitos explicados no contexto da carteira real: IR regressivo pela idade de cada aporte,
bruto × líquido, liquidez × vencimento, marcação a mercado, o que é "102% CDI" em termos de
rendimento corrente. Educação usa os números do usuário, não genéricos.
7. Opinião sob pedido
Só quando o usuário perguntar explicitamente ("o que você acha?", "o que você faria?"):
comente a alocação entre classes com os números da carteira ("hoje você está 78% em renda
fixa e 22% em bolsa; concentração de 40% num único emissor é o ponto que mais chama atenção") e
feche com o disclaimer: isto não é assessoria de investimento; a decisão é sua. Dentro dos
limites do guardrail — nunca ativo específico, nunca compre/venda.
Fecho padrão
Toda análise termina com 2–3 frases de observação (não ordem), e o lembrete curto de que nada
aqui é recomendação de ativo.