Open your project folder
Create a folder, copy your exports into it and choose it as the chat's working folder. Keep the originals elsewhere.
Crypto tracking software, in this guide, means a small script and a table you own. A table of dated rows is enough for a personal record of holdings, so you start with exports from 2 places and end with holdings and fees per asset. Keep the originals.
Create a folder, copy your exports into it and choose it as the chat's working folder. Keep the originals elsewhere.
Switch to Plan only and describe the table you want. The agent lists the steps and runs nothing.
Switch to Ask first, read each diff, accept it, then let Shell run your tracker script and report the exit code.
Open the output CSV and compare the totals with each exchange statement before you rely on any number.
transactions.csvheader readtotals.pysavedyour tracker scriptexit 0totals.csv2 assetsdate,asset,amount,price_usd,fee_usd
2026-01-05,COINA,10.5,2.00,0.10
2026-01-19,COINA,5,2.40,0.05
2026-02-02,COINB,0.25,40.00,0.20
2026-02-16,COINA,8,1.90,0.08
2026-03-02,COINB,0.10,44.50,0.09
2026-03-16,COINA,12.25,2.10,0.12
2026-04-01,COINB,0.30,39.00,0.25
2026-04-15,COINA,6,2.30,0.06
2026-05-01,COINB,0.15,41.00,0.12Each row is one purchase: date, asset, amount, price, fee. All values are made up. A simple portfolio tracker app can start from these five columns of plain text, and COINA and COINB are not real coins.
Average cost is the total you spent on a coin, fees included, divided by the units you bought, and it is how you track DCA average cost for regular fixed-amount buys. Ask the agent for a script that groups the rows by asset, and it reads the file with read_file, saves the script with write_file and uses decimal arithmetic for money. In Ask first mode you read the diff before the file is saved. Shell then runs your tracker script and shows the real exit code. Open the result. Check 1 coin by hand, because a separate calculation confirms the script's figure.
The same table works for BTC: put BTC in the asset column and you have a BTC portfolio tracker in miniature. The agent adds a step where http_get fetches one public price page, which needs no key at all, and the script writes the fetch time next to each value. Prices are snapshots. They differ between sources. Write down which price source you used, since a different one gives different totals. Run the script, open the output CSV, and compare the total with the statement from your exchange before you trust it.