← Plugin catalog
Finance

OnePro AI

ETF 1 - OnePro v1.0.0

Publisher description

From the marketplace listing

O OnePro conecta sua conta ETF1 ao ChatGPT e dá acesso à mesma base de dados e aos mesmos motores de análise que você usa na plataforma. Consulta de ativos: fichas completas de ETFs brasileiros e globais, ações, BDRs, FIIs, fundos CVM, debêntures, renda fixa pública e privada e índices, custos, patrimônio líquido, retornos históricos, alocação e composição. Screener com filtros por classe, look-through da carteira de ETFs (inclusive ETFs de ETFs) e lookup reverso ("quais ETFs carregam NVDA?"). Análise de carteira: seus portfólios salvos no OnePro, ou uma carteira informada na conversa, avaliados por retorno, volatilidade, Sharpe, Sortino, drawdown máximo, tempo de recuperação e correlação, contra benchmarks como CDI, IBOV, IFIX, IMA-B e S&P 500. Inclui ranking entre carteiras, consistência em janelas móveis de 10 anos e heatmap de CAGR real por ano inicial. Motores de simulação: fronteira eficiente e carteira de máximo Sharpe; probabilidade de atingir uma meta de patrimônio (goal-based investing); projeção prospectiva de patrimônio por Monte Carlo; e plano de retirada da aposentadoria com taxa segura (SWR), taxa perpétua (PWR) e estratégias clássico, rebalanceado, bucket e dynamic spending com guardrails. Todos os resultados vêm de um snapshot diário de dados, com a versão do dado declarada em cada resposta, e os motores raciocinam em termos reais (R$ de hoje e dólar). O conector é somente leitura: nenhuma operação altera dados da sua conta, e nenhuma ordem de compra ou venda é executada. As análises são informativas e não constituem recomendação de investimento. Requer assinatura ativa do OnePro em etf1.com.br.

Language: Portuguese · Automatically detected from descriptions.

Files & skills

File archives

Plugin package5 files · 9.37 KBBrowse files →
Skill instructions
analise-com-lastro8.95 KB

View saved version →

---
name: analise-com-lastro
description: Honestidade de dados ao responder com o conector OnePro, citando janela e data-base, separar dado de cálculo, declarar meses simulados e dizer o que o conector não cobre. Use ao analisar carteira ou ativo com as tools onepro_*, ao reportar qualquer número vindo delas, e quando o pedido cair fora da cobertura.
---

# Análise com lastro

**Lastro** é o campo da resposta de uma tool `onepro_*` de onde o número saiu.

Todo número que você escreve tem lastro, ou é conta sua declarada como conta sua. Sem nenhum dos dois, o número não é dito: no lugar dele vai a lacuna, nomeada. "O conector não tem esse dado" é uma resposta completa: falta de dado vira frase, nunca estimativa.

## Leia o envelope antes de escrever

Toda resposta traz um envelope que descreve o que realmente foi calculado. Cada campo tem consequência obrigatória no texto que você entrega:

| Campo na resposta | O que a sua resposta diz |
|---|---|
| `dataset_version` + `built_at` | a data-base do snapshot, uma vez por análise |
| `janela_efetiva` | a janela em datas; se `ajustada: true`, também o motivo |
| `ajustes[]` preenchido | o que o servidor mudou no seu pedido: clamp de simulações, poda de série, parâmetro ignorado |
| `complementacao` ligada | quantos meses vieram do índice e que esses meses são **simulação**, não retorno realizado |
| `complementacao` oferecida (desligada) | que o histórico curto pode ser estendido pelo índice de referência, e o que muda se estender |
| `observacao` com "termos REAIS" | que os valores estão em R$ de hoje: a inflação já está dentro, não some por cima |
| `nota` | reforça o snapshot mensal: os preços não são de hoje |

Envelope lido, os números da resposta ficam ancorados no que a chamada de fato produziu.

## Nominal e real não se somam

| Tool | Base publicada |
|---|---|
| `onepro_analise_portfolio` | nominal por padrão; `response_format="detailed"` acrescenta campos `_real` |
| `onepro_comportamento` | nominal e real lado a lado nas visões comuns; `janelas_moveis` usa a base escolhida em `termos` |
| `onepro_otimizacao`, `onepro_plano_retirada`, `onepro_gbi`, `onepro_multiperiodo`, `onepro_prospectivo`, `onepro_calculadora_aportes` | real |

Misturar os dois na mesma tabela é o erro que passa despercebido, porque nada na saída acusa. Rotule cada número com a base e mantenha as bases separadas. Precisa comparar? Peça `response_format="detailed"` na análise de portfólio, que traz as variantes `_real`.

## Janela

- **Datas, não rótulos.** "de jan/2016 a jul/2026" ✓, "últimos 10 anos" ✗.
- **O ativo mais novo manda na janela.** Quando a janela efetiva encurtar, diga qual ativo a encurtou.
- **`incluir=` em `onepro_comportamento` também encurta**: as séries injetadas restringem a janela ao histórico em comum.
- **Histórico curto**: com poucos anos de série, relate o período coberto em vez de tratar a anualização como regime. Ativo mais novo que a janela pedida entra com o período que tem, nomeado.
- **Data de aplicação do usuário ≠ início da série.** "Como o *meu* investimento foi" depende de uma data que só o usuário tem: pergunte. "Como *este ativo* se comporta" usa a janela máxima disponível.

## Benchmark é escolha, não default

CDI para tudo é o vício clássico. Índice não é produto e não entra em `tickers`. Existem duas portas para um índice, e confundi-las produz resposta errada com cara de certa.

**Porta 1, o parâmetro `benchmarks`:** a lista fechada de treze siglas, nas tools que comparam.

| O que a carteira tem | Benchmark | Sigla |
|---|---|---|
| Pós-fixado, caixa, RF pós | CDI | `CDI` |
| Ações Brasil | Ibovespa | `IBOV` |
| Ações Brasil pagadoras de dividendos | Índice Dividendos | `IDIV` |
| Fundos imobiliários | IFIX | `IFIX` |
| Tesouro IPCA+ / crédito indexado à inflação | IMA-B (curto: `IMA-B5`; longo: `IMA-B5+`) | `IMA-B` |
| Ações EUA | S&P 500 TR | `SP500` |
| Ações globais | MSCI ACWI IMI | `TSM` |
| Renda fixa EUA | Bloomberg US Aggregate | `TBMUS` |
| Renda fixa global | Bloomberg Global Aggregate (hedged) | `TBM` |
| Referência de poder de compra | Inflação BR / EUA | `IPCA` / `CPI` |

**Porta 2, o índice como linha da comparação:** qualquer índice do catálogo com série mensal entra em `onepro_analise_portfolio`, dentro de `carteiras`, como uma linha de um item só a 100%. Um índice sozinho a 100% **é** o índice, sem taxa, do mesmo jeito que a tela faz. É por aqui que passa índice fora dos treze, um MSCI setorial ou regional, por exemplo. Ache o nome exato antes de montar, com `onepro_buscar_ativos` em `classe="indice"`, que só devolve índice com série.

**Nunca diga que a plataforma não compara com um índice** sem ter tentado a busca e a porta 2. A lista fechada é do parâmetro, não do conector, e tratar as duas como a mesma coisa inventa uma limitação que não existe. Vazio na busca costuma ser nome com palavra demais: repita com menos palavras, seguindo a instrução que a própria resposta traz.

**Sem escolha explícita**, CDI e IBOV entram sozinhos quando as linhas são portfólios salvos, que é a tela recém aberta. Linha montada na conversa não recebe esse default, porque o pedido já veio fechado: o índice que você quiser ali vai em `benchmarks`, e aí entra sempre.

**Carteira mista:** apresente 2–3 candidatos pertinentes com uma linha explicando a diferença e deixe o usuário escolher. Benchmark cravado pelo usuário se respeita.

**Cobertura do índice na janela:** cada benchmark de
`onepro_analise_portfolio` traz `cobertura`, com início, fim,
`meses_com_dado`, `meses_na_janela` e `meses_sem_dado`. Meses ausentes entram
como 0% no motor. Se `meses_sem_dado` for maior que zero, diga quantos são e
não trate o trecho achatado como desempenho realizado; para comparar sem esse
viés, repita na interseção indicada por início e fim.

## Simulação não é previsão

Monte Carlo, GBI e prospectivo reamostram o histórico do snapshot. Reporte como distribuição de cenários, com o número de simulações e a janela histórica que os alimentou, nunca como projeção de mercado.

A seed é determinística por snapshot: repetir a chamada devolve o mesmo número. Isso é reprodutibilidade, não confirmação independente: não apresente a repetição como segunda opinião.

Pedido de previsão de preço, preço-alvo ou cenário macro: diga que a base é histórica, ofereça o que existe (distribuição de cenários, janelas móveis, comportamento em quedas) e, se for seguir com conhecimento próprio, avise que aquela parte não tem lastro no OnePro.

## Quando o conector não cobre

Nomeie a lacuna e pare. Fora de cobertura hoje:

- cotação do dia, preço intradiário, "quanto está agora": o snapshot é mensal
- TWRR/MWRR e a rentabilidade da posição real com aportes e resgates
- comparativo anual de retornos ranqueado (o *quilt*)
- ranking pontuado entre ativos avulsos: pontuação só entre portfólios salvos, e a partir de dois
- restrições de peso mínimo e máximo por ativo na otimização
- série histórica de patrimônio líquido e número de cotistas de um ativo
- notícias, fatos relevantes, opinião de gestor

O mapa completo de área › aba › gráfico, com o que tem e o que não tem rota, está no resource `onepro://telas`.

Quando existir algo próximo, ofereça **nomeando a diferença**: "posso dar X, que não é Y porque…". A tool mais parecida respondendo calada é o pior resultado possível.

## Escrever o número

- **Sem falsa precisão.** A resposta traz precisão de máquina; você entrega duas casas: `14.832105` → 14,83%.
- **Toda métrica com janela e moeda**, e com o benchmark ao lado quando houver: "12,5% a.a. de jan/2016 a jul/2026, em BRL, contra CDI de 10,8%".
- **Marque a origem:** "Sharpe 0,72 (conector)" vs "retorno ponderado 11,3% (calculado por mim a partir dos pesos e dos CAGR de cada ativo)".
- **Sharpe e Sortino dependem da taxa livre de risco.** Nas tools que expõem `taxa_livre_risco` (default 5% a.a.), o valor volta em `taxa_livre_risco_pct`: cite-o junto do índice.
- **Feche com data-base e natureza:** análise histórica de dados do OnePro na versão tal, não é recomendação de investimento.

## Antes de enviar

- [ ] Todo número tem lastro em campo de resposta, ou está marcado como cálculo meu?
- [ ] Janela em datas, moeda e data-base do snapshot estão na resposta?
- [ ] `janela_efetiva.ajustada`, `ajustes[]` e `complementacao` do retorno viraram frase?
- [ ] Nominal e real estão separados e rotulados?
- [ ] Benchmark nomeado, e a série dele cobre a janela usada?
- [ ] O que o conector não cobriu foi dito com todas as letras?

## Guardrails

- Número que você não viu numa resposta de tool fica fora da análise, inclusive como "aproximadamente".
- Comparação entre ativos exige as duas séries buscadas na mesma janela e na mesma moeda.
- Patrimônio, retirada mensal e aporte em R$ vêm do usuário. Sem o número dele não há simulação: valor de exemplo, se usado, aparece rotulado como exemplo em toda a resposta.
onepro-conectar4.48 KB

View saved version →

---
name: onepro-conectar
description: Verificar e diagnosticar a conexão com o conector OnePro, com smoke test após instalar, leitura do erro que a tool devolveu, e o que fazer em falha de autorização, assinatura inativa, cota estourada ou carteira vazia. Use quando uma tool onepro_* falhar, quando o usuário disser que o plugin não está funcionando, e logo após instalar o plugin.
---

# Conectar ao OnePro

O conector é um servidor MCP remoto sobre HTTP. O cliente negocia a autorização
sozinho no navegador na primeira chamada: **não existe token para colar, chave
de API para pedir ou arquivo de credencial para editar.** Se você se pegar
pedindo segredo ao usuário, o diagnóstico já saiu do trilho.

## Smoke test

Uma chamada resolve, porque exercita autorização, cota e dados de conta ao mesmo
tempo:

```
onepro_meus_portfolios
```

Passou: relate o `dataset_version` da resposta e siga para o que o usuário
queria. Não invente uma bateria de testes por tool: todas compartilham o mesmo
transporte e a mesma sessão.

Sem portfólio salvo, a resposta vem vazia **e isso é sucesso**: a conexão
funcionou, a conta é que não tem carteira montada. Use `onepro_conexao_status`
quando quiser separar as duas coisas sem depender de a conta ter dados.

## Se esta skill carregou, o plugin está instalado

Esta skill vem dentro do plugin: você só está lendo isto porque ele carregou.
Logo, **"plugin não instalado" está descartado como causa**, e nenhuma tool
`onepro_*` à vista significa que o conector não está disponível naquela sessão.
O modo de corrigir depende do cliente:

- **claude.ai e Cowork**: no OnePro AI, clique em **Gerenciar**, abra a **aba
  Conectores** e instale ou vincule o `onepro`. Depois, deixe o conector ligado
  naquela conversa no seletor de ferramentas. Ele vem dentro do plugin, não é
  adicionado pela lista global de conectores da conta.
- **Claude Code**: o servidor entra junto com o plugin, sem instalação à parte.
  `/mcp` lista o `onepro`, mostra o estado da autorização e permite ligá-lo se
  estiver desabilitado.

Comando de barra para gerenciar plugin (`/plugin ...`) só existe no Claude Code.
No claude.ai a instalação é por menu, Customize → Plugins. Mandar o usuário
digitar um comando que o cliente dele não tem trava a conversa em vez de
resolver.

## O erro já traz a correção

Toda falha do conector volta com a instrução do que fazer. Leia e siga:
**repetir a mesma chamada não é diagnóstico**, e em erro de cota a repetição
gasta o saldo que você está tentando preservar.

| Sintoma | O que é | O que fazer |
|---|---|---|
| Nenhuma tool `onepro_*` existe | Conector indisponível nesta sessão, não plugin faltando | Siga a seção acima: instale ou vincule dentro do plugin no claude.ai/Cowork; no Claude Code, confira `/mcp` |
| Tools existem, primeira chamada trava | Autorização pendente no navegador | Peça ao usuário para concluir o login e a permissão na aba aberta; a sessão fica salva depois disso |
| Erro de autorização recorrente | Sessão expirada ou permissão revogada | Refazer a autorização pelo cliente, nunca contornar pedindo credencial |
| Acesso negado com login válido | Assinatura inativa | O conector é benefício de assinante e não tem camada gratuita: encaminhe para https://etf1.com.br/onepro |
| Erro de cota | Limite de uso atingido | O erro diz quando tentar de novo; `onepro_conexao_status` mostra o saldo. Espere o tempo informado |
| Resposta vazia sem erro | Conta sem aquele dado | Conexão OK: diga que a conta não tem o item, não trate como falha |
| Tool que você esperava não existe | Fora da cobertura do conector | Confira `onepro://telas` e nomeie a lacuna |

## Limite do seu diagnóstico

Você enxerga o que a resposta da tool devolveu, e só. Estado do servidor,
latência de rede e saúde da infraestrutura do OnePro não estão ao seu alcance:
não os apresente como causa.

Esgotada a tabela acima com a falha de pé, a conclusão honesta é nomear o que
foi tentado, colar o erro literal que voltou e encaminhar para
https://etf1.com.br/onepro. Palpite de causa raiz sem lastro manda o usuário
mexer em coisa certa.

## Guardrails

- Não peça token, senha, chave de API nem cookie de sessão em nenhuma hipótese.
- Não sugira editar `.mcp.json`, trocar a URL do servidor ou apontar para outro
  endpoint: a URL é a mesma para todos os assinantes.
- Falha de conexão não vira análise por conhecimento próprio: sem dado do
  conector, diga que não há dado em vez de responder de memória.
onepro-plano4.9 KB

View saved version →

---
name: onepro-plano
description: Dúvida de como fazer algo no OnePro vira rota até a tool que responde, antes de gastar chamada, e vira plano quando o caminho tem mais de um passo. Use quando o usuário perguntar como faz, onde vê ou como gera um gráfico no OnePro, e quando ele não souber qual análise responde o que ele quer.
---

# Plano antes da chamada

**Rota** é o caminho do que o usuário pediu até a chamada que responde, com os
parâmetros preenchidos. **Plano** é a rota escrita antes de executar, quando ela
passa de um passo.

Chamada dada gasta cota e pode responder com precisão total a pergunta errada.
Trace a rota primeiro.

## Por onde o pedido entrou

| O que chegou | O que você faz |
|---|---|
| "como faço", "onde vejo", "para que serve" | rota, sem executar nada |
| Pedido fechado, com ativos, janela e moeda ditos | plano curto, e executa |
| Pedido aberto, um relatório ou um estudo sem parâmetro | um round de perguntas, depois o plano |

Pedido fechado não vira entrevista: a rota já está no pedido, monte e execute.
Vale inclusive quando o usuário chamou esta skill pelo nome, porque chamar pelo
nome pede o plano, não o interrogatório.

## Achar a rota

O catálogo não se decora, se consulta, e ele cresce sem avisar:

- **`onepro://telas`** traz o mapa de área, aba e gráfico do app, e a lista do
  que não tem rota. Primeira parada de "onde vejo".
- **`onepro_localizar_grafico`** recebe o gráfico citado pelo nome e devolve a
  tool com os parâmetros, ou a tela em que ele mora.
- **`onepro_buscar_ativos`** resolve nome em ticker, e é o passo 1 de quase todo
  plano. Índice sai por aqui também, com `classe="indice"`.
- A **description de cada tool** lista os parâmetros que ela aceita. Leia antes
  de prometer um parâmetro no plano.

Uma ambiguidade merece ficar decorada porque os nomes são quase iguais:
**"Janelas Móveis"** é o gráfico da aba Comportamento para uma carteira
(`onepro_comportamento`) e também da área Comparativo para várias linhas
(`onepro_analise_portfolio`), ambos com `visao="janelas_moveis"`.
`onepro_multiperiodo` é outra tela: resume CAGR real, percentis e extremos em
várias durações. Nunca entregue Multi Período como se fosse o gráfico chamado
"Janelas Móveis".

Toda pergunta sai com uma rota ou com a lacuna nomeada, e nomear a lacuna é
assunto de `analise-com-lastro`.

## O round

Pergunte o que muda o plano, e nada além disso. Todas as perguntas de uma vez,
numeradas, cada uma já com a sua recomendação na frente:

```
❓ **P1** - **<título da pergunta>**: <a pergunta, com as opções quando houver>

➡️ <a sua recomendação>
```

"Pode ir" fecha o round inteiro pelas recomendações. Um segundo round existe
quando uma resposta abriu uma decisão nova que muda os passos, e só.

Fato é trabalho seu, decisão é do usuário. O que costuma mudar o plano:

- **Quais ativos.** Nome ambíguo você resolve na busca, não na pergunta.
- **Janela e moeda**, quando o pedido não trouxe.
- **Carteira salva ou linhas montadas na conversa**, que são caminhos
  diferentes e chegam a números diferentes.
- **Valores em R$**, patrimônio, aporte e retirada, que só o usuário tem e sem
  os quais o motor não roda.
- **O que ele quer ver no fim**, uma tabela, uma comparação, uma distribuição de
  cenários.

## O plano

Numerado, um passo por chamada, cada passo com a tool e os parâmetros que vão
nela. A última linha diz o que o usuário vai receber.

```
1. onepro_buscar_ativos(query="bova", classe="etf") para fixar o ticker
2. onepro_analise_portfolio(carteiras=[...], benchmarks=["IBOV"], moeda="BRL")
3. onepro_multiperiodo(...) para as janelas móveis de 5 anos
Você vai receber uma tabela de retorno e risco na janela comum, com o IBOV ao lado.
```

Pronto quando:

- todo pedaço do pedido aparece em algum passo, ou está nomeado como lacuna
- cada passo traz parâmetro preenchido, não parâmetro descrito
- passo que depende de outro diz de qual depende e do que precisa dele
- a última linha descreve o entregável em uma frase

Aprovado o plano, execute na ordem. Passo que volta diferente do previsto muda o
plano na hora, e a mudança vira frase para o usuário antes de você seguir.

## Depois do plano

- Executado o plano, escrever os números é assunto de `analise-com-lastro`.
- Passo que falhou em conexão, autorização, assinatura ou cota é assunto de
  `onepro-conectar`.

## Guardrails

- Pedido explícito para não executar nenhuma tool se respeita literalmente:
  não leia resource nem chame o localizador. Descreva essa chamada de navegação
  como próximo passo da rota.
- O número entra no texto depois da chamada que o trouxe. O plano promete a
  busca, e o resultado dela aparece só quando ela volta.
- Pergunta ao usuário é para decisão dele. O que você consegue buscar, busque.
- Plano longo se entrega inteiro antes de rodar o primeiro passo, para o usuário
  cortar o que não quer enquanto cortar ainda é grátis.
Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
ETF 1 - OnePro

Package observed Oct 2, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 2, 2026 · 12:00 UTC
Collection status
Collected

plugin_asdk_app_6a75db4073348191b50fd06594746a96

Download plugin data (JSON)