Agent skill

Brokerage Screenshot Trade Extractor

by guilhermecgs in guilhermecgs/ir

Reads screenshots of brokerage or portfolio transaction tables, checks the rows for duplicates and prints lines you can paste into your operations file by hand.

MPL-2.0Auto-check passedBusiness, Finance & HR

SKILL.md written in Portuguese; this summary is our English description.

Install Brokerage Screenshot Trade Extractor

skills CLI
$ npx skills add guilhermecgs/ir --skill extrai-movimentacoes-print -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install guilhermecgs/ir extrai-movimentacoes-print --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/guilhermecgs/ir.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/extrai-movimentacoes-print .claude/skills/extrai-movimentacoes-print && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
extrai-movimentacoes-print
GitHub stars
179
Token cost
~1.2k tokens
SKILL.md length
511 words
Files
3
Skills in repo
1
Repo updated
First seen
Licence
MPL-2.0

At a glance

Reads screenshots of brokerage or portfolio transaction tables, checks the rows for duplicates and prints lines you can paste into your operations file by hand.

  • Works in 4 steps: Sincronizar a cópia canônica do arquivo… → Ler cada printscreen → Rodar a classificação determinística → …
  • Capturing recent buys and sells from a broker screenshot into your trade history file
  • SKILL.md covers Quando usar, Passo a passo and Fora de escopo
  • Runs Python scripts from its folder; calls python3

What it does

Built for the ir project, a Brazilian income-tax calculator for stock trades, this skill converts screenshots of a movements table from any broker or portfolio site into lines for the project's operations file. It first downloads the latest operations file from Dropbox, then reads each image and extracts ticker, movement type, quantity, date, unit price and, when visible, the total value.

Movement types such as Compra, Venda, Desdobramento, Bonificação, Subscrição and Conversão are kept exactly as shown on screen. The bundled Python script movimentacoes_print.py normalizes dates to a two-digit year, which the project needs so that pandas infers the date type correctly, and the description says it also validates the format and flags duplicates against the current file.

The skill is strictly read-only with respect to export_operacoes.txt and any variant of it: it never writes, edits or deletes them, and you insert the prepared lines yourself. The instructions are in Portuguese.

When your agent uses it

  • Capturing recent buys and sells from a broker screenshot into your trade history file
  • Checking whether a batch of screenshot rows is already in the operations file
  • Collecting corporate-action rows such as splits and bonus shares from several screenshots at once

Example prompts

  • “Extract the movements from /home/me/prints/extrato1.png and extrato2.png and tell me which are already in the file.”
  • “Here is a screenshot from my broker's portfolio page; give me lines ready to paste.”
  • “Validate the rows in prints/bbas3.png against my current operations file.”

Requirements

  • The ir project checkout with Python 3
  • Dropbox access configured in the project for downloading the operations file
  • Screenshot image files saved locally

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Sincronizar a cópia canônica do arquivo de operações
  2. Ler cada printscreen
  3. Rodar a classificação determinística
  4. Apresentar o resultado ao usuário em dois blocos

What it can do on your machine

Read from SKILL.md and the folder at commit 2c015d0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Brokerage Screenshot Trade Extractor loads about 1.2k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 511 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from guilhermecgs/ir at commit 2c015d0, republished under its MPL-2.0 licence (© guilhermecgs). 511 words, ~1,219 tokens.

Download SKILL.mdSave it as .claude/skills/extrai-movimentacoes-print/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
extrai-movimentacoes-print
description
Extrai movimentacoes de negociacao (compra/venda e outros tipos) a partir de printscreens de sites de corretora/carteira, valida formato, detecta duplicidade contra o arquivo de operacoes atual, e apresenta linhas prontas para colar manualmente em export_operacoes.txt. Use quando o usuario fornecer um ou mais paths de imagem de extrato/movimentacoes e pedir para extrair/conferir essas movimentacoes.

Extrai movimentações via printscreen

Converte printscreens de extrato de movimentações (qualquer site — investidor10, portal da B3, corretora, etc.) em linhas prontas para colar manualmente no arquivo de operações do projeto ir. Nunca escreve no arquivo sozinha — a inserção final é sempre manual.

REGRA ABSOLUTA — SOMENTE LEITURA: esta skill NUNCA, em hipótese nenhuma, escreve, edita, sobrescreve ou apaga qualquer arquivo de operações (export_operacoes.txt, export_operacoes_egs.txt ou qualquer variante). Todo acesso a esse arquivo é read-only, mesmo durante sincronização com o Dropbox. A inserção das linhas "prontas" é sempre manual, feita pelo usuário fora desta skill.

Quando usar

O usuário fornece um ou mais paths de imagem (printscreens já salvos localmente) mostrando uma tabela de movimentações e pede para extrair, conferir ou validar essas movimentações.

Passo a passo

1. Sincronizar a cópia canônica do arquivo de operações

Antes de checar duplicidade, baixe a versão mais recente do arquivo de operações do Dropbox (mesma função usada pelo resto do projeto):

bash
python3 -c "from src.dropbox_files import download_dropbox_file; download_dropbox_file()"

Isso atualiza o arquivo local em OPERATIONS_FILEPATH (export_operacoes.txt, na raiz do projeto — ver src/dropbox_files.py). Use esse caminho — não uma cópia antiga — nos passos seguintes.

2. Ler cada printscreen

Para cada imagem fornecida, use a ferramenta de leitura de imagem para identificar todas as linhas de movimentação visíveis na tabela. Para cada linha, extraia:

  • ticker (código de negociação, ex: ITRI11, BBAS3)
  • tipo (rótulo literal como aparece na tela: Compra, Venda, Desdobramento, Bonificação, Subscrição, Conversão, etc. — não traduza nem normalize, use exatamente o que está escrito)
  • qtd (quantidade, numérico)
  • data (formato DD/MM/AAAA ou DD/MM/AA, como aparece na tela — o script normaliza a saída sempre para DD/MM/AA (ano com 2 dígitos), igual ao restante do arquivo de operações; nunca gere linha com ano de 4 dígitos, isso quebra a inferência de tipo de data no pandas)
  • preco (preço unitário, numérico)
  • valor (valor total da operação, se visível — numérico; omita a chave se não estiver visível)

Um print pode conter várias linhas — extraia todas. Vários prints no mesmo lote são normais — junte todas as linhas extraídas de todos os prints numa única lista, na ordem em que aparecem.

Monte essa lista como um array JSON e escreva num arquivo temporário, por exemplo /tmp/candidatos_movimentacoes.json:

json
[
  {"ticker": "BBAS3", "tipo": "Compra", "qtd": 1500, "data": "16/05/2025", "preco": 25.70, "valor": 38550},
  {"ticker": "ITRI11", "tipo": "Desdobramento", "qtd": 100, "data": "20/05/2025", "preco": 0, "valor": 0}
]
Show full SKILL.md (156 more words)Show less
3. Rodar a classificação determinística

O script é auto-contido dentro desta skill (não depende de src/):

bash
python3 .claude/skills/extrai-movimentacoes-print/movimentacoes_print.py /tmp/candidatos_movimentacoes.json export_operacoes.txt

O segundo argumento é o mesmo arquivo baixado no passo 1 (OPERATIONS_FILEPATH, export_operacoes.txt na raiz do projeto). Se não tiver certeza do caminho, confirme com:

bash
python3 -c "from src.dropbox_files import OPERATIONS_FILEPATH; print(OPERATIONS_FILEPATH)"

A saída é um JSON com um item por candidato, cada um com:

  • categoria: "pronto" ou "observacao"
  • linha_txt: a linha formatada (só quando categoria == "pronto")
  • motivo: por que caiu em observação (só quando categoria == "observacao")
4. Apresentar o resultado ao usuário em dois blocos

Nunca escreva no arquivo de operações. Apresente sempre neste formato:

## PRONTO PARA COPIAR

<uma linha por item com categoria "pronto", usando o valor de linha_txt,
 em bloco de código para facilitar copiar>

## OBSERVAÇÕES

- <ticker> (<tipo>, <data>): <motivo>
- ... (uma linha por item com categoria "observacao")

Se não houver nenhum item em "pronto", diga isso explicitamente (não omita a seção). Se não houver nenhuma observação, também diga isso explicitamente.

Fora de escopo

Não faça login em nenhum site, não acesse a internet para buscar dados, não escreva em export_operacoes.txt. Esta skill só processa imagens já fornecidas pelo usuário e o arquivo de operações já sincronizado do Dropbox.

© guilhermecgs, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in .claude/skills/extrai-movimentacoes-print of guilhermecgs/ir.

  • SKILL.md
  • movimentacoes_print.py
  • test_movimentacoes_print.py

Open the folder on GitHubat commit 2c015d0

Compare with similar skills

Brokerage Screenshot Trade Extractor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Brokerage Screenshot Trade Extractor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Brokerage Screenshot Trade Extractor this skillguilhermecgs/ir179—~1.2kAutomated safety check: PassMPL-2.0
VAT CalculationSerein-81/financial_rag148—~894Automated safety check: NotesNone
Bio Proteomics Data ImportGPTomics/bioSkills1.2k1 repos~4.5kAutomated safety check: PassMIT
PDF Processinganthropics/skills180k47 repos~2kAutomated safety check: PassProprietary
Chanlun Pattern RecognitionHKUDS/Vibe-Trading35k—~658Automated safety check: PassMIT
Elliott Wave Signal EngineHKUDS/Vibe-Trading35k—~482Automated safety check: PassMIT

Similar skills

  • VAT Calculation

    Serein-81/financial_rag

    Calculates value-added tax from a tax-inclusive sales amount, VAT rate and input tax using a calculator tool, with risk checks and filing suggestions.

    148 GitHub stars~894 tokensUpdated 4 mo ago
    Business, Finance & HRAuto-check: notes
  • Bio Proteomics Data Import

    GPTomics/bioSkills

    Loads mass-spectrometry data into Python/R and strips the search engine's bookkeeping before any number is trusted -- removes decoys (REV/Reverse), contaminants (CON/Potential contaminant)…

    1.2k GitHub starsUsed in 1 repo~4.5k tokens
    Business, Finance & HRAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 47 repos~2k tokens
    Documents & OfficeAuto-check passed
  • Chanlun Pattern Recognition

    HKUDS/Vibe-Trading

    Detects Chan theory price structures (fractals, strokes, pivots) and first, second and third buy and sell points from OHLCV bars using the czsc library, in Chinese.

    35k GitHub stars~658 tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Elliott Wave Signal Engine

    HKUDS/Vibe-Trading

    Detects Elliott Wave structures in price data with a Zigzag swing finder and Fibonacci checks, and turns completed waves into long, short or flat signals.

    35k GitHub stars~482 tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Insurance Operations Analysis

    zj-unicom-ai/UniEmployee

    Analyzes insurance operating data such as premium, loss ratio, renewal rate and expense ratio by branch, product and channel, flags anomalies and builds an HTML dashboard.

    360 GitHub stars~646 tokensUpdated 3 days ago
    Business, Finance & HRAuto-check passed

Questions about Brokerage Screenshot Trade Extractor

What does Brokerage Screenshot Trade Extractor do?

Reads screenshots of brokerage or portfolio transaction tables, checks the rows for duplicates and prints lines you can paste into your operations file by hand. Built for the ir project, a Brazilian income-tax calculator for stock trades, this skill converts screenshots of a movements table from any broker or portfolio site into lines for the project's operations file. It first downloads the latest operations file from Dropbox, then reads each image and extracts ticker, movement type, quantity, date, unit price and, when visible, the total value.

When should I use Brokerage Screenshot Trade Extractor?

Brokerage Screenshot Trade Extractor fits situations like: capturing recent buys and sells from a broker screenshot into your trade history file; checking whether a batch of screenshot rows is already in the operations file; collecting corporate-action rows such as splits and bonus shares from several screenshots at once.

How do I install Brokerage Screenshot Trade Extractor in Claude Code?

Run `npx skills add guilhermecgs/ir --skill extrai-movimentacoes-print -a claude-code`. Or copy the skill folder (.claude/skills/extrai-movimentacoes-print in guilhermecgs/ir) into .claude/skills/extrai-movimentacoes-print in your project. Claude Code loads it when a task matches its description.

How do I install Brokerage Screenshot Trade Extractor in Codex?

Run `npx skills add guilhermecgs/ir --skill extrai-movimentacoes-print -a codex`. Or copy the skill folder (.claude/skills/extrai-movimentacoes-print in guilhermecgs/ir) into .agents/skills/extrai-movimentacoes-print in your project. Codex loads it when a task matches its description.

Can I use Brokerage Screenshot Trade Extractor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add guilhermecgs/ir --skill extrai-movimentacoes-print -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/extrai-movimentacoes-print, .gemini/skills/extrai-movimentacoes-print, .github/skills/extrai-movimentacoes-print and .opencode/skills/extrai-movimentacoes-print in your project.

What does Brokerage Screenshot Trade Extractor need to run?

Going by SKILL.md and its folder, Brokerage Screenshot Trade Extractor needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: The ir project checkout with Python 3; Dropbox access configured in the project for downloading the operations file; Screenshot image files saved locally.

Does Brokerage Screenshot Trade Extractor access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Brokerage Screenshot Trade Extractor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Brokerage Screenshot Trade Extractor use?

Brokerage Screenshot Trade Extractor is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Brokerage Screenshot Trade Extractor use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Brokerage Screenshot Trade Extractor?

Skills that share tags, products or a category with Brokerage Screenshot Trade Extractor: VAT Calculation (Serein-81/financial_rag, 148 stars), Bio Proteomics Data Import (GPTomics/bioSkills, 1.2k stars), PDF Processing (anthropics/skills, 180k stars) and Chanlun Pattern Recognition (HKUDS/Vibe-Trading, 35k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Brokerage Screenshot Trade Extractor?

guilhermecgs (a GitHub user) maintains it in guilhermecgs/ir, which has 179 GitHub stars. The repository was last updated on July 10, 2026.

Source: guilhermecgs/ir on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.