CommunityPesquisa e Análise de Dadosgithub.com

wbdou2006/ClaudeSkills

Pesquisa o quão distante ações ou ETFs estão de suas máximas de 52 semanas, por que caíram, os casos otimista e pessimista, e publica um relatório HTML consistente; se o usuário fornecer um e-mail, prepara uma mensagem pronta para envio.

O que é ClaudeSkills?

Esta skill automatiza a análise de drawdowns de ações e ETFs, gerando relatórios padronizados em HTML. Ela calcula a distância percentual da máxima de 52 semanas para cada ticker, pesquisa as causas da queda (drivers) e apresenta tanto o caso otimista (bull case) quanto o pessimista (bear case) de forma equilibrada, sem recomendar compra ou venda. A skill suporta a execução em paralelo com subagentes para cada ticker, verifica automaticamente a consistência dos números e fontes, e constrói um relatório HTML autocontido. Também pode gerar um arquivo de e-mail (.eml) pronto para envio, mas nunca envia e-mails diretamente – o usuário final é responsável por enviar. Uma lista de observação padrão (XLK, FTEC, QQQ, SMH, ARTY, S&P 500, Dow Jones) é usada quando nenhum ticker é especificado. A skill é ideal para desenvolvedores e investidores que desejam uma verificação rápida do mercado, análises de pullback ou relatórios de drawdown sem depender de ferramentas de e-mail ou automação externa.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wbdou2006/ClaudeSkills/tree/HEAD/stock-analysis

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Análise de ações

Esta skill produz o mesmo relatório sempre:

  • uma tabela geral
  • um painel por ticker, contendo:
    • fatos
    • um gráfico semanal em relação à máxima de 52 semanas
    • retornos
    • os drivers da queda
    • os casos otimista e pessimista
    • participações, lacunas de dados e o registro de cálculos

Os scripts fazem toda a aritmética e o HTML. Seu trabalho é a pesquisa e a verificação. Não redesenhe a página nem escreva HTML manualmente.

SKILL_DIR é a pasta que contém este arquivo. Encontre-a uma vez com dirname neste caminho de SKILL.md.

Arquivos

CaminhoPropósito
scripts/compute_drawdown.pyCSV diário → máxima e mínima de 52 semanas, % de queda, retornos, fechamentos semanais
scripts/verify.pyrederiva cada número principal dos CSVs, verifica campos e fontes, escreve verified.json, retorna 1 em qualquer problema
scripts/build_report.pyJSON do worker + verified.json → uma página HTML autocontida (usa assets/report.css)
scripts/build_email.pymesmos números verificados → drawdown_report.eml pronto para envio (HTML seguro para e-mail + texto, relatório anexado); valida o endereço
scripts/send_email.pypara o usuário executar em seu próprio computador: envia o .eml via SMTP com um prompt de confirmação e uma senha de aplicativo inserida localmente
defaults.jsona lista de observação padrão usada quando o usuário não nomeia tickers (editável pelo usuário)
references/worker_brief.mdo briefing que cada worker segue (preencha os placeholders {…})
references/schema.mdo contrato <TICKER>.json
examples/run-2026-10-16/uma execução de referência completa (FTEC, QQQ, SMH, ARTY): quatro JSONs de worker e o report.html finalizado. Use como referência de profundidade, tom e estilo de citação.

Fluxo de trabalho

1. Configuração

  1. Leia a lista de tickers da solicitação do usuário.
    • Nenhum ticker nomeado ("execute minha análise de ações", "como está o mercado vs máximas?"): leia $SKILL_DIR/defaults.json e use sua default_watchlist, nessa ordem. Diga em sua primeira linha que está usando a lista de observação padrão e liste-a.
    • Tickers nomeados: use exatamente esses; não adicione os padrões a menos que o usuário peça (por exemplo, "os de sempre mais NVDA").
    • Índices (S&P 500, Dow Jones, Nasdaq Composite…): pesquise o próprio nível do índice, usando o id de defaults.json (SPX, DJI) ou um rótulo curto como COMP como ticker nos nomes de arquivo. Informe ao worker que é um índice (veja as notas sobre índices no briefing).
  2. Crie uma pasta de trabalho: WORK_DIR=$PWD/drawdown-<YYYY-MM-DD>.
  3. Crie uma lista de tarefas com:
    • uma tarefa por ticker
    • "Verificar números"
    • "Construir e publicar relatório"

2. Distribuir

Crie um subagente por ticker, em paralelo e em segundo plano. O prompt de cada um é:

  • o texto completo de references/worker_brief.md,
  • com {TICKER}, {WORK_DIR}, {SKILL_DIR} e {TODAY} preenchidos,
  • mais quaisquer ângulos específicos do ticker que valham a pena verificar. Para um fundo de chips, por exemplo: controles de exportação, capex de hyperscalers, ciclo de memória.

Quando o usuário nomeia apenas um ou dois tickers e não pediu subagentes, você pode fazer a pesquisa você mesmo seguindo o mesmo briefing.

3. Aguardar

Quando um worker terminar, marque sua tarefa como concluída e publique uma linha: o ticker, sua % de queda e a data de sua máxima. Não leia as transcrições dos workers.

4. Verificar

Execute:

python3 $SKILL_DIR/scripts/verify.py --dir $WORK_DIR --tickers <T...>

Se relatar MISMATCH, MISSING ou NO SOURCE/TS, corrija o problema antes de construir:

  • Erros aritméticos ou de cópia manual: execute compute_drawdown.py novamente e corrija o JSON de <T>_metrics.json.
  • Pesquisa faltando: envie o worker de volta com SendMessage.

UNCITED e NO CROSS-CHECK são avisos. Mencione-os em sua resposta se permanecerem.

5. Construir

Execute:

python3 $SKILL_DIR/scripts/build_report.py --dir $WORK_DIR --tickers <T...> \
  --out $WORK_DIR/drawdown_report.html --title "<nome de 2 a 4 palavras>" --eyebrow "<ex. Revisão de drawdown de ETFs>"

Escolhendo o título: escolha um nome curto e específico, como "Drawdowns de ETFs de Tecnologia" ou "Quedas de Ações de Chips". Use o mesmo título para execuções repetidas na mesma cesta.

6. Publicar

Publique o HTML com a ferramenta Artifact, usando icon: "chart" e uma descrição de uma frase que nomeie os tickers e a data de referência.

  • Execução repetida na mesma cesta: se o usuário quiser manter o link antigo, republique no URL desse artifact.
  • Não edite o HTML gerado. Alterações no relatório pertencem a build_report.py ou assets/report.css.

7. E-mail (apenas quando o usuário forneceu um endereço)

Pule esta etapa a menos que a mensagem do usuário inclua um endereço de e-mail, por exemplo, "…e envie por e-mail para [email protected]". Se ele disser "envie por e-mail para mim" sem um endereço, peça um; nunca adivinhe ou reuse um endereço de outro lugar.

Sem conectores. Não use Gmail, Outlook ou qualquer outro conector de e-mail ou automação de navegador, e nunca peça ou manipule uma senha de e-mail. O envio acontece do lado do usuário: você prepara uma mensagem pronta para envio, o usuário a envia.

  1. Construa o e-mail.
    python3 $SKILL_DIR/scripts/build_email.py --dir $WORK_DIR --tickers <T...> --to <endereço...> \
      --report $WORK_DIR/drawdown_report.html --artifact-url <link publicado> --title "<mesmo título>"
    
    O código de saída 2 significa que o endereço é inválido: peça ao usuário para corrigi-lo. O script escreve drawdown_report.eml (HTML + texto simples, relatório anexado, destinatários e assunto preenchidos), além de email_body.html, email_body.txt e email.json.
  2. Entregue-o. Envie drawdown_report.eml com SendUserFile (exiba attach).
  3. Diga ao usuário como enviá-lo, em duas ou três linhas:
    • Abra o .eml no Outlook (abre como rascunho) ou Apple Mail (Message → Send Again), verifique e pressione Enviar.
    • Ou, no Terminal do próprio computador: python3 send_email.py drawdown_report.eml --from <seu e-mail>. O script mostra os destinatários, pede confirmação e solicita uma senha de aplicativo. Envie scripts/send_email.py também se ele pedir.
  4. Privacidade do link. O artifact é privado para o usuário. Se o destinatário for outra pessoa, informe que dependerá do relatório anexado, a menos que o usuário compartilhe a página.

8. Responder

Mantenha a resposta curta:

  1. Uma frase dizendo o que é a página.
  2. Uma tabela markdown ordenada por queda, com colunas: ticker, último fechamento, máxima de 52 semanas (data), queda.
  3. Dois ou três tópicos com as principais conclusões entre os tickers.
  4. Uma nota curta "Lacunas de dados" cobrindo as falhas de ferramenta que afetaram a execução.
  5. Se um e-mail foi solicitado: uma linha dizendo que o .eml está pronto para envio e como.

Não recapitule as etapas.

Inegociáveis

  1. Cada número vem de uma chamada de ferramenta, com sua fonte e seu timestamp.
  2. "Sem dados" é melhor que um palpite.
  3. Toda a matemática é feita nos scripts.
  4. Ferramentas somente leitura. Nunca toque em ferramentas de ordem, alerta ou lista de observação. Nunca envie e-mail você mesmo; a etapa 7 apenas prepara uma mensagem para o usuário enviar.
  5. Nenhuma recomendação de compra ou venda. Apresente ambos os casos de forma justa.

Habilidades Relacionadas