Automatic tax tracking for all trades. An agent skill from Signal-Execution-Labs/forex-trading-ai-agent.

MITAuto-check passedBusiness, Finance & HR

Install Tax Tracker

skills CLI
$ npx skills add Signal-Execution-Labs/forex-trading-ai-agent --skill tax-tracker -a claude-code

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

GitHub CLI
$ gh skill install Signal-Execution-Labs/forex-trading-ai-agent tax-tracker --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/Signal-Execution-Labs/forex-trading-ai-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/tax-tracker .claude/skills/tax-tracker && 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
tax-tracker
GitHub stars
162
Token cost
~2.5k tokens
SKILL.md length
142 words
Files
2 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Automatic tax tracking for all trades. An agent skill from Signal-Execution-Labs/forex-trading-ai-agent.

  • Works in 4 steps: Januar: Sync all previous year trades → Februar: Generate preliminary report → März-Mai: Submit to tax advisor /… → …
  • Business, Finance & HR work in your project
  • SKILL.md covers Overview, 🤖 AUTO-PILOT MODE, Tax Rules (Germany) and Commands, plus 1 more section
  • Runs Python scripts from its folder; calls python3

What it does

Tax Tracker is an agent skill from Signal-Execution-Labs/forex-trading-ai-agent. Automatic tax tracking for all trades. Calculate capital gains, generate tax reports, and optimize tax liability.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/tax_report.py`).

It sits in Business, Finance & HR. The repository describes itself as: About AI quantitative trading platform for crypto, stocks, and forex with backtesting, live trading, market data, and multi-agent research.vibe-trading…. The licence is MIT.

When your agent uses it

  • Business, Finance & HR work in your project

Example prompts

  • “/tax-tracker”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Januar: Sync all previous year trades
  2. Februar: Generate preliminary report
  3. März-Mai: Submit to tax advisor / Finanzamt
  4. Laufend: Track new trades, optimize

What it can do on your machine

Read from SKILL.md and the folder at commit b8a6047. 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 1 file in scripts/ (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

Tax Tracker loads about 2.5k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 142 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from Signal-Execution-Labs/forex-trading-ai-agent at commit b8a6047, republished under its MIT licence (© Signal-Execution-Labs). 142 words, ~2,465 tokens.

Download SKILL.mdSave it as .claude/skills/tax-tracker/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
tax-tracker
description
Automatic tax tracking for all trades. Calculate capital gains, generate tax reports, and optimize tax liability.

Tax Tracker

Vollautomatisches Steuer-Tracking für alle Trading-Aktivitäten.

Overview

  • Trade Import - Automatischer Import von allen Exchanges
  • Gain Calculation - FIFO, LIFO, HIFO Methoden
  • Tax Optimization - Tax-Loss Harvesting Vorschläge
  • Report Generation - Steuerberichte für DE/AT/CH

🤖 AUTO-PILOT MODE

python
# ~/.kit/config/tax-tracker.json
{
  "auto_pilot": {
    "enabled": true,
    "sync_interval_hours": 24,
    "methods": {
      "crypto": "FIFO",
      "stocks": "FIFO"
    },
    "tax_loss_harvesting": {
      "enabled": true,
      "threshold_eur": 500,
      "require_approval": true
    },
    "reports": {
      "auto_generate": true,
      "schedule": "monthly",
      "formats": ["pdf", "csv"]
    },
    "notifications": {
      "tax_deadline_reminder": true,
      "large_gain_alert": 1000
    }
  },
  "jurisdiction": "DE",
  "tax_year": 2026
}

Tax Rules (Germany)

AssetHaltefristSteuersatz
Crypto1 Jahr steuerfreibis 45% + Soli
AktienKeine25% Abgeltungssteuer
ETFsKeine25% + Teilfreistellung

Commands

Import All Trades
bash
python3 -c "
import ccxt
import json
import os
from datetime import datetime

exchanges_config = json.load(open(os.path.expanduser('~/.kit/exchanges.json')))
all_trades = []

for name, cfg in exchanges_config.items():
    try:
        exchange = getattr(ccxt, name)(cfg)
        # Fetch all trades (may need pagination)
        trades = exchange.fetch_my_trades('BTC/USDT', limit=100)
        for t in trades:
            all_trades.append({
                'exchange': name,
                'symbol': t['symbol'],
                'side': t['side'],
                'amount': t['amount'],
                'price': t['price'],
                'cost': t['cost'],
                'fee': t['fee']['cost'] if t['fee'] else 0,
                'timestamp': t['timestamp'],
                'date': datetime.fromtimestamp(t['timestamp']/1000).isoformat()
            })
        print(f'✅ {name}: {len(trades)} trades imported')
    except Exception as e:
        print(f'⚠️ {name}: {e}')

print(f'\\n📊 Total: {len(all_trades)} trades')
# Save: json.dump(all_trades, open('trades_2026.json', 'w'), indent=2)
"
Calculate Capital Gains (FIFO)
bash
python3 -c "
from collections import defaultdict
from datetime import datetime, timedelta

# Example trades
trades = [
    {'side': 'buy', 'amount': 1.0, 'price': 40000, 'date': '2025-01-15', 'asset': 'BTC'},
    {'side': 'buy', 'amount': 0.5, 'price': 45000, 'date': '2025-06-01', 'asset': 'BTC'},
    {'side': 'sell', 'amount': 0.8, 'price': 50000, 'date': '2026-02-01', 'asset': 'BTC'},
]

# FIFO calculation
holdings = defaultdict(list)  # asset -> [(amount, price, date)]
gains = []

for trade in sorted(trades, key=lambda x: x['date']):
    asset = trade['asset']
    
    if trade['side'] == 'buy':
        holdings[asset].append({
            'amount': trade['amount'],
            'price': trade['price'],
            'date': datetime.fromisoformat(trade['date'])
        })
    
    elif trade['side'] == 'sell':
        sell_amount = trade['amount']
        sell_price = trade['price']
        sell_date = datetime.fromisoformat(trade['date'])
        
        while sell_amount > 0 and holdings[asset]:
            lot = holdings[asset][0]
            
            # Calculate how much from this lot
            used = min(lot['amount'], sell_amount)
            
            # Calculate gain
            proceeds = used * sell_price
            cost_basis = used * lot['price']
            gain = proceeds - cost_basis
            
            # Check holding period (Germany: 1 year = tax free for crypto)
            holding_days = (sell_date - lot['date']).days
            tax_free = holding_days >= 365
            
            gains.append({
                'asset': asset,
                'amount': used,
                'proceeds': proceeds,
                'cost_basis': cost_basis,
                'gain': gain,
                'holding_days': holding_days,
                'tax_free': tax_free
            })
            
            # Update lot
            lot['amount'] -= used
            sell_amount -= used
            
            if lot['amount'] <= 0:
                holdings[asset].pop(0)

print('🧾 CAPITAL GAINS REPORT (FIFO)')
print('=' * 60)

total_gain = 0
taxable_gain = 0

for g in gains:
    status = '🟢 Steuerfrei' if g['tax_free'] else '🔴 Steuerpflichtig'
    print(f\"{g['asset']}: {g['amount']:.4f} | Gewinn: €{g['gain']:,.2f} | {g['holding_days']}d | {status}\")
    total_gain += g['gain']
    if not g['tax_free']:
        taxable_gain += g['gain']

print()
print(f'Gesamt-Gewinn: €{total_gain:,.2f}')
print(f'Steuerpflichtiger Gewinn: €{taxable_gain:,.2f}')
print(f'Geschätzte Steuer (42%): €{taxable_gain * 0.42:,.2f}')
"
Tax-Loss Harvesting Opportunities
bash
python3 -c "
import ccxt

# Current holdings with cost basis
holdings = [
    {'asset': 'BTC', 'amount': 0.5, 'cost_basis': 50000, 'buy_date': '2025-08-01'},
    {'asset': 'ETH', 'amount': 2.0, 'cost_basis': 3000, 'buy_date': '2025-09-15'},
    {'asset': 'SOL', 'amount': 20, 'cost_basis': 150, 'buy_date': '2025-10-01'},
]

exchange = ccxt.binance()

print('🧾 TAX-LOSS HARVESTING OPPORTUNITIES')
print('=' * 60)

total_unrealized_loss = 0

for h in holdings:
    try:
        ticker = exchange.fetch_ticker(f\"{h['asset']}/USDT\")
        current_price = ticker['last']
        current_value = h['amount'] * current_price
        cost = h['amount'] * h['cost_basis']
        unrealized = current_value - cost
        
        if unrealized < 0:
            total_unrealized_loss += abs(unrealized)
            print(f\"🔴 {h['asset']}: Unrealized Loss €{unrealized:,.2f}\")
            print(f\"   Sell now to realize loss for tax offset\")
            print(f\"   Can rebuy after 30 days (wash sale rule)\")
            print()
    except:
        pass

print(f'Total harvestable losses: €{total_unrealized_loss:,.2f}')
print(f'Potential tax savings (42%): €{total_unrealized_loss * 0.42:,.2f}')
"
Generate Annual Tax Report
bash
python3 -c "
from datetime import datetime
import json

# Mock data - load from trades file
report = {
    'year': 2026,
    'jurisdiction': 'DE',
    'summary': {
        'total_proceeds': 125000,
        'total_cost_basis': 100000,
        'total_gains': 25000,
        'tax_free_gains': 15000,
        'taxable_gains': 10000,
        'total_fees': 500,
        'estimated_tax': 4200
    },
    'by_asset': {
        'BTC': {'gains': 18000, 'taxable': 8000},
        'ETH': {'gains': 5000, 'taxable': 2000},
        'SOL': {'gains': 2000, 'taxable': 0}
    }
}

print('🧾 ANNUAL TAX REPORT 2026')
print('=' * 60)
print(f\"Jurisdiction: {report['jurisdiction']}\")
print()
print('SUMMARY')
print('-' * 60)
print(f\"Total Proceeds:     €{report['summary']['total_proceeds']:>12,.2f}\")
print(f\"Total Cost Basis:   €{report['summary']['total_cost_basis']:>12,.2f}\")
print(f\"Total Gains:        €{report['summary']['total_gains']:>12,.2f}\")
print(f\"  - Tax Free:       €{report['summary']['tax_free_gains']:>12,.2f}\")
print(f\"  - Taxable:        €{report['summary']['taxable_gains']:>12,.2f}\")
print(f\"Trading Fees:       €{report['summary']['total_fees']:>12,.2f}\")
print()
print(f\"Estimated Tax:      €{report['summary']['estimated_tax']:>12,.2f}\")
print()
print('BY ASSET')
print('-' * 60)
for asset, data in report['by_asset'].items():
    print(f\"{asset:6} | Gains: €{data['gains']:>10,.2f} | Taxable: €{data['taxable']:>10,.2f}\")
"
Auto-Pilot: Scheduled Tax Sync
bash
python3 -c "
import json
import os
from datetime import datetime

config_path = os.path.expanduser('~/.kit/config/tax-tracker.json')

# Auto-pilot logic
def run_auto_pilot():
    config = json.load(open(config_path)) if os.path.exists(config_path) else {}
    auto = config.get('auto_pilot', {})
    
    if not auto.get('enabled'):
        print('⚠️ Auto-pilot disabled')
        return
    
    print('🤖 TAX TRACKER AUTO-PILOT')
    print('=' * 50)
    print(f'Running at: {datetime.now().isoformat()}')
    print()
    
    # 1. Sync trades from all exchanges
    print('📥 Syncing trades from exchanges...')
    # sync_all_trades()
    
    # 2. Calculate current tax position
    print('📊 Calculating tax position...')
    # calculate_gains()
    
    # 3. Check for tax-loss harvesting
    if auto.get('tax_loss_harvesting', {}).get('enabled'):
        print('🔍 Checking tax-loss harvesting opportunities...')
        # find_harvest_opportunities()
    
    # 4. Generate report if scheduled
    if auto.get('reports', {}).get('auto_generate'):
        print('📄 Generating tax report...')
        # generate_report()
    
    print()
    print('✅ Auto-pilot cycle complete')

run_auto_pilot()
"

Workflow

Year-End Tax Workflow
  1. Januar: Sync all previous year trades
  2. Februar: Generate preliminary report
  3. März-Mai: Submit to tax advisor / Finanzamt
  4. Laufend: Track new trades, optimize
Supported Formats
FormatUse Case
CSVImport to tax software
PDFArchive / Advisor
JSONK.I.T. internal
XLSXManual review
German Tax Calendar
DeadlineAction
31. JuliSteuererklärung ohne Steuerberater
28/29. FebSteuererklärung mit Steuerberater
LaufendVorauszahlungen (15.3, 15.6, 15.9, 15.12)

© Signal-Execution-Labs, MIT. 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 1 other file (scripts) in skills/tax-tracker of Signal-Execution-Labs/forex-trading-ai-agent.

  • SKILL.md
  • scripts/tax_report.py

Open the folder on GitHubat commit b8a6047

Compare with similar skills

Tax Tracker 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.

Tax Tracker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tax Tracker this skillSignal-Execution-Labs/forex-trading-ai-agent162—~2.5kAutomated safety check: PassMIT
Technical Analysttradermonty/claude-trading-skills3k4 repos~4.6kAutomated safety check: PassMIT
Theme Detectortradermonty/claude-trading-skills3k2 repos~4.9kAutomated safety check: PassMIT
Creating Financial ModelsChen-zexi/open-ptc-agent7293 repos~1.3kAutomated safety check: PassMIT
Stock APIzhangxiangliang/stock-api2k—~507Automated safety check: PassMIT
Itr Walakaranb192/itr-wala871—~3.6kAutomated safety check: PassMIT

Similar skills

  • Technical Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing weekly price charts for stocks, stock indices, cryptocurrencies, or forex pairs.

    3k GitHub starsUsed in 4 repos~4.6k tokens
    Business, Finance & HRAuto-check passed
  • Theme Detector

    tradermonty/claude-trading-skills

    Detect and analyze trending market themes across sectors. An agent skill from tradermonty/claude-trading-skills.

    3k GitHub starsUsed in 2 repos~4.9k tokens
    Business, Finance & HRAuto-check passed
  • Creating Financial Models

    Chen-zexi/open-ptc-agent

    This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions

    729 GitHub starsUsed in 3 repos~1.3k tokens
    Business, Finance & HRAuto-check passed
  • Stock API

    zhangxiangliang/stock-api

    Fetch real-time stock quotes, K-line (candlestick) history, and search symbols for China A-shares, Hong Kong, and US markets.

    2k GitHub stars~507 tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Itr Wala

    karanb192/itr-wala

    File Indian income tax returns (ITR) for FY 2025-26 / AY 2026-27.

    871 GitHub stars~3.6k tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed
  • Tushare Data

    zillionare/zillionare

    面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。

    322 GitHub starsUsed in 2 repos~2.3k tokens
    Business, Finance & HRAuto-check passed

More from Signal-Execution-Labs/forex-trading-ai-agent

All 11 skills in this repo
  • Rebalancer

    Signal-Execution-Labs/forex-trading-ai-agent

    Automatic portfolio rebalancing to maintain target allocations.

    162 GitHub stars~2.2k tokensUpdated 27 days ago
    Auto-check passed
  • Alert System

    Signal-Execution-Labs/forex-trading-ai-agent

    Set price alerts, volume alerts, indicator alerts (RSI/MACD), and news alerts for crypto trading.

    162 GitHub stars~1.6k tokensUpdated 27 days ago
    Auto-check passed
  • Auto Trader

    Signal-Execution-Labs/forex-trading-ai-agent

    Automated trading with strategy execution, risk management, position sizing, and stop-loss/take-profit.

    162 GitHub stars~2.1k tokensUpdated 27 days ago
    Auto-check passed
  • Backtester

    Signal-Execution-Labs/forex-trading-ai-agent

    Backtest trading strategies with historical data. An agent skill from Signal-Execution-Labs/forex-trading-ai-agent.

    162 GitHub stars~2.7k tokensUpdated 27 days ago
    Auto-check passed
  • Defi Connector

    Signal-Execution-Labs/forex-trading-ai-agent

    Connect to DeFi protocols for staking, lending, yield farming, and liquidity provision.

    162 GitHub stars~2.4k tokensUpdated 27 days ago
    Auto-check passed
  • Dividend Manager

    Signal-Execution-Labs/forex-trading-ai-agent

    Track dividends, manage DRIP (reinvestment), forecast income, and optimize dividend portfolio.

    162 GitHub stars~2.1k tokensUpdated 27 days ago
    Auto-check passed

Questions about Tax Tracker

What does Tax Tracker do?

Automatic tax tracking for all trades. An agent skill from Signal-Execution-Labs/forex-trading-ai-agent. Tax Tracker is an agent skill from Signal-Execution-Labs/forex-trading-ai-agent. Automatic tax tracking for all trades.

When should I use Tax Tracker?

Tax Tracker fits situations like: business, Finance & HR work in your project.

How do I install Tax Tracker in Claude Code?

Run `npx skills add Signal-Execution-Labs/forex-trading-ai-agent --skill tax-tracker -a claude-code`. Or copy the skill folder (skills/tax-tracker in Signal-Execution-Labs/forex-trading-ai-agent) into .claude/skills/tax-tracker in your project. Claude Code loads it when a task matches its description.

How do I install Tax Tracker in Codex?

Run `npx skills add Signal-Execution-Labs/forex-trading-ai-agent --skill tax-tracker -a codex`. Or copy the skill folder (skills/tax-tracker in Signal-Execution-Labs/forex-trading-ai-agent) into .agents/skills/tax-tracker in your project. Codex loads it when a task matches its description.

Can I use Tax Tracker 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 Signal-Execution-Labs/forex-trading-ai-agent --skill tax-tracker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tax-tracker, .gemini/skills/tax-tracker, .github/skills/tax-tracker and .opencode/skills/tax-tracker in your project.

What does Tax Tracker need to run?

Going by SKILL.md and its folder, Tax Tracker needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Tax Tracker 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 Tax Tracker 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Tax Tracker use?

Tax Tracker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tax Tracker use?

About 2.5k tokens (SKILL.md is roughly 9.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 Tax Tracker?

Skills that share tags, products or a category with Tax Tracker: Technical Analyst (tradermonty/claude-trading-skills, 3k stars), Theme Detector (tradermonty/claude-trading-skills, 3k stars), Creating Financial Models (Chen-zexi/open-ptc-agent, 729 stars) and Stock API (zhangxiangliang/stock-api, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tax Tracker?

Signal-Execution-Labs (a GitHub organization) maintains it in Signal-Execution-Labs/forex-trading-ai-agent, which has 162 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 14, 2026.

Source: Signal-Execution-Labs/forex-trading-ai-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.