New to Claude Skills? Learn how to install them →

tradermonty on GitHub

Weekly Performance Digest

Free

Summarize your weekly trading performance effortlessly.

Get this skill

Free · Opens the source repo

What Weekly Performance Digest does

The Weekly Performance Digest is a Python-based tool designed for traders who want to analyze their weekly trading performance. By aggregating data from closed trades stored in the trader-memory-core, it computes key performance metrics such as win rate, expectancy, profit factor, and R-multiple. The tool also provides insights into the win/loss patterns based on various dimensions like source skill, exit reason, thesis type, sector, and mechanism. The output includes both a human-readable Markdown report and a structured JSON record, allowing for easy downstream processing.

This skill is particularly useful at the end of a trading week when traders need to review their aggregate performance. It helps in identifying which strategies or factors contributed to successful trades and which did not. By analyzing the data, traders can gain insights into their trading behavior, refine their strategies, and make informed decisions moving forward. The tool's design ensures that no API key is required, making it straightforward to set up and use.

The Weekly Performance Digest is also beneficial for month-end reviews, where multiple weekly digests can be combined for a comprehensive overview. It serves as a quick snapshot of what worked and what didn’t, grounded in actual closed trades, which is crucial for continuous improvement in trading strategies. The digest is purely descriptive; it provides the data and insights but does not make prescriptive recommendations, allowing traders to interpret the results based on their unique contexts.

When to use it

Use this tool at the end of a trading week to generate a summary of your closed trades and evaluate overall performance metrics.

When not to use it

This skill is not suitable for detailed analyses of individual trades or for generating buy/sell recommendations; it focuses solely on descriptive performance metrics.

What you can build with it

End-of-Week Review

Generate a performance report at the end of each trading week to assess overall results and strategies.

Monthly Performance Aggregation

Combine several weekly reports to create a comprehensive monthly performance summary.

Identify Winning Patterns

Analyze which trading strategies or exit reasons led to successful trades versus losses.

How to install Weekly Performance Digest

View source

1. Install with the skills CLI

npx skills add tradermonty/claude-trading-skills/weekly-performance-digest --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by tradermonty

Weekly Performance Digest

Overview

Weekly Performance Digest aggregates the trades you closed during a week into a single performance report. It reads CLOSED theses tracked by trader-memory-core (state/theses/th_*.yaml), computes headline metrics (win rate, expectancy, profit factor, R-multiple, MAE/MFE), breaks results down across several pattern dimensions (source skill, exit reason, thesis type, sector, mechanism tag, screening grade), and surfaces the week's biggest winners, losers, and lessons. Output is a JSON record plus a human-readable Markdown report. Pure calculation — no API key required.

When to Use

  • At the end of a trading week to review aggregate realized performance
  • To measure win rate and expectancy across all closed positions
  • To see which source skills, exit reasons, sectors, or mechanisms drove wins vs losses
  • To feed a month-end review (combine four weekly digests) or a postmortem
  • For a quick "what worked / what didn't" snapshot grounded in real closed trades

When Not to Use

  • For a single-trade deep review — use trade-performance-coach
  • For signal-level true/false-positive classification — use signal-postmortem
  • For buy/sell recommendations or position sizing — this skill is descriptive only

Prerequisites

  • Python 3.9+ with PyYAML (already a repo dependency)
  • A trader-memory-core state directory of thesis YAML files (state/theses/)
  • No API key required

Workflow

Step 1: Run the digest for a week

python3 skills/weekly-performance-digest/scripts/generate_weekly_digest.py \
  --state-dir state/theses \
  --from-date 2026-06-13 --to-date 2026-06-20 \
  --output-dir reports/ -v

Defaults: --state-dir state/theses, --from-date = 7 days before --to-date, --to-date = today, --output-dir reports/. With no date flags it digests the trailing 7 days.

Step 2: Read the report

The run writes reports/weekly_digest_<to-date>.json and reports/weekly_digest_<to-date>.md. Review the Markdown for the executive summary, metrics table, pattern breakdowns, and top winners/losers; consume the JSON downstream.

Step 3 (optional): Feed downstream

Combine several weekly JSON digests for a monthly review, or pass the JSON to a postmortem/coach step. The skill is descriptive — act on its findings via your normal review process.

How It Works

  • Trade selection. A trade counts in a week if its exit.actual_date falls in [from-date, to-date] and status == CLOSED.
  • Win/loss. outcome.pnl_dollars > 0 is a winner, < 0 a loser, == 0 breakeven; win_rate = winners / total_trades.
  • R-multiple. pnl_dollars / ((entry.actual_price − exit.stop_loss) × position.shares). (Stop-loss is read from exit.stop_loss, per the real thesis schema.)
  • Double-counting safeguard. A CLOSED thesis's outcome.pnl_dollars is the cumulative realized P&L across all trims plus the final leg. Headline metrics use that cumulative value over CLOSED theses only. The separate partial_trims block scans status_history[] of PARTIALLY_CLOSED theses only (still open) and is reported for information — it is never added into the headline totals/win-rate. A position trimmed in week 1 then closed in week 2 therefore shows as a partial trim in week 1 and inside week 2's CLOSED headline; that is intended, not a duplicate.

Output Format

JSON (weekly_digest_<to-date>.json)

{
  "schema_version": "1.0",
  "report_type": "weekly_performance_digest",
  "period": {"from": "2026-06-13", "to": "2026-06-20"},
  "generated_at": "2026-06-20T21:39:07Z",
  "summary": {
    "total_trades": 2, "winners": 1, "losers": 1, "breakeven": 0,
    "win_rate": 0.5, "expectancy": 25.0, "profit_factor": 2.0,
    "total_realized_pnl": 50.0, "total_realized_pnl_pct": 4.17
  },
  "metrics": {
    "avg_winner": 100.0, "avg_loser": -50.0,
    "largest_winner": 100.0, "largest_loser": -50.0,
    "avg_holding_days_winners": 9.0, "avg_holding_days_losers": 6.0,
    "r_multiple_avg": 0.25, "r_multiple_stdev": 1.06,
    "avg_mae_pct": -3.75, "avg_mfe_pct": 4.5
  },
  "pattern_analysis": {
    "by_source_skill": {"...": {"wins": 1, "losses": 0, "total": 1, "win_rate": 1.0}},
    "by_exit_reason": {}, "by_thesis_type": {}, "by_sector": {},
    "by_mechanism_tag": {}, "by_screening_grade": {}
  },
  "partial_trims": {"count": 0, "total_realized_pnl": 0.0, "trims": []},
  "lessons": {"top_wins": [], "top_losses": [], "process_improvements": []}
}

Markdown (weekly_digest_<to-date>.md)

Sections: # Weekly Performance Digest, ## Executive Summary, ## Performance Metrics, ## Pattern Analysis, ## Lessons Learned (### Top Winners / ### Top Losers / ### Process Improvements).

An empty week still produces a valid report with zeroed metrics (exit code 0).

Resources

  • scripts/generate_weekly_digest.py — digest generator (JSON + Markdown)
  • references/weekly-digest-metrics.md — metric formulas and interpretation

Key Principles

  1. Closed trades only for headline numbers — cumulative outcome.*, keyed on exit date.
  2. No double-counting — partial trims are informational and excluded from totals.
  3. Pattern attribution — every win/loss is attributed across multiple dimensions.
  4. Descriptive, not prescriptive — the digest reports; you decide.

Frequently asked questions about Weekly Performance Digest

Similar skills