Agent skill

Performance Reporting

by JoelLewis in JoelLewis/finance_skills

Generate clear, accurate performance reports for investment portfolios with benchmarks, attribution, and risk dashboards.

MITAuto-check passedBusiness, Finance & HR

Install Performance Reporting

skills CLI
$ npx skills add JoelLewis/finance_skills --skill performance-reporting -a claude-code

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

GitHub CLI
$ gh skill install JoelLewis/finance_skills performance-reporting --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/JoelLewis/finance_skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/wealth-management/skills/performance-reporting .claude/skills/performance-reporting && 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
performance-reporting
GitHub stars
205
Token cost
~3.9k tokens
SKILL.md length
1,959 words
Files
2 (incl. scripts)
Skills in repo
91
Repo updated
First seen
Licence
MIT

At a glance

Generate clear, accurate performance reports for investment portfolios with benchmarks, attribution, and risk dashboards.

  • The user asks about portfolio performance reports
  • SKILL.md covers Core Concepts, Worked Examples, Common Pitfalls and Cross-References, plus 1 more section
  • Runs Python scripts from its folder; calls uv, python3 and pip
  • Return summaries

What it does

Performance Reporting is an agent skill from JoelLewis/finance_skills. Generate clear, accurate performance reports for investment portfolios with benchmarks, attribution, and risk dashboards. Use when the user asks about portfolio performance reports, return summaries, benchmark comparison, risk dashboards, goal progress tracking, or GIPS-compliant reporting. Also trigger when users mention 'quarterly report', 'how did my portfolio do', 'time-weighted vs money-weighted return', 'annualized returns', 'net-of-fee performance', 'rolling Sharpe', or ask how to present investment…

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

It sits in Business, Finance & HR. The repository describes itself as: Claude Code skill plugins for financial services — 81 skills across 7 domain plugins covering investment management, compliance, advisory practice, trading, and operations. The licence is MIT.

When your agent uses it

  • The user asks about portfolio performance reports
  • Return summaries
  • Benchmark comparison
  • Risk dashboards

Example prompts

  • “quarterly report”
  • “how did my portfolio do”
  • “time-weighted vs money-weighted return”
  • “/performance-reporting”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 5c498ea. 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:

    • uv
    • python3
    • pip

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

  • Network

    No URLs in SKILL.md. Its commands use uv and pip, which can reach the network depending on how they are called.

    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

Performance Reporting loads about 3.9k tokens when it runs. Until then it costs about 138 tokens; SKILL.md has 1,959 words of instructions outside code blocks.

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

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 JoelLewis/finance_skills at commit 5c498ea, republished under its MIT licence (© JoelLewis). 1,959 words, ~3,917 tokens.

Download SKILL.mdSave it as .claude/skills/performance-reporting/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
performance-reporting
description
Generate clear, accurate performance reports for investment portfolios with benchmarks, attribution, and risk dashboards. Use when the user asks about portfolio performance reports, return summaries, benchmark comparison, risk dashboards, goal progress tracking, or GIPS-compliant reporting. Also trigger when users mention 'quarterly report', 'how did my portfolio do', 'time-weighted vs money-weighted return', 'annualized returns', 'net-of-fee performance', 'rolling Sharpe', or ask how to present investment results to clients.

Performance Reporting — Reporting & Communication

Core Concepts

Return Reporting

Accurate and consistent return calculation is the foundation of all performance reporting.

Period returns: Report standard time periods — MTD (month-to-date), QTD (quarter-to-date), YTD (year-to-date), 1Y, 3Y, 5Y, 10Y, and since inception. Always state the exact inception date.

Cumulative vs annualized: Annualize returns only for periods greater than 1 year. Annualizing a 3-month return is misleading because it implies the rate is sustainable for a full year. For periods under 1 year, report cumulative (total) returns only.

  • Annualized return formula: (1 + cumulative_return)^(1/years) - 1
  • For multi-year periods, always present both cumulative and annualized figures so the reader can see total wealth growth and the rate of compounding.

Gross vs net of fees: Always specify whether returns are gross or net of management fees, advisory fees, and transaction costs. Net-of-fee returns are what the investor actually experiences and should be the primary presentation. If showing gross returns, also show the fee drag.

GIPS (Global Investment Performance Standards): For institutional reporting, follow GIPS requirements — composite construction, full disclosure, verified calculations, and standardized presentation. Even for non-GIPS reports, the principles of fair representation and full disclosure apply.

Time-weighted vs money-weighted returns:

  • Time-weighted return (TWR) removes the impact of cash flows — use for evaluating the investment manager's skill.
  • Money-weighted return (MWR / IRR) reflects the investor's actual experience including timing of contributions and withdrawals — use for evaluating the investor's outcome.
Calculation Engines

scripts/performance_reporting.py implements the return calculations behind these reports:

  • Modified Dietz (ModifiedDietz): approximates TWR by weighting each external cash flow by the fraction of the period it was invested: R = (V_end - V_start - sum(CF)) / (V_start + sum(w_i * CF_i)), with w_i = (D - d_i)/D. A GIPS-acceptable approximation when daily valuations are unavailable.
  • True TWR (TimeWeightedReturn): chain-links sub-period returns, prod(1 + r_t) - 1, with an annualization helper that refuses periods under 1 year.
  • IRR / MWR (MoneyWeightedReturn): solves NPV(rate) = 0 numerically using Brent's root-finding method (scipy.optimize.brentq) over a bracketing interval, returning the annual money-weighted return.
  • GIPS composites (CompositeReturn): asset-weighted composite return using beginning-of-period values as weights, plus equal-weighted return and the asset-weighted internal dispersion GIPS requires for composites with 6+ portfolios.
  • Standard periods (PeriodReturns): MTD/QTD/YTD-style trailing windows (1M through 10Y) and inception-to-date from a daily return series, annualizing only periods of 1 year or more.
Benchmark Comparison

A return number in isolation is meaningless. Context requires a benchmark.

Appropriate benchmark selection: The benchmark must match the portfolio's investment style, geography, capitalization, and asset class mix. A US large-cap equity portfolio should be compared to the S&P 500 or Russell 1000, not the MSCI Emerging Markets Index.

  • For multi-asset portfolios, use a blended benchmark (e.g., 60% S&P 500 / 40% Bloomberg Aggregate).
  • The benchmark should be investable — the investor could have held it as a passive alternative.
  • Document the benchmark rationale and keep it consistent over time to avoid cherry-picking.

Active return (alpha): Portfolio return minus benchmark return. Positive alpha indicates outperformance; negative alpha indicates underperformance.

Tracking error and information ratio: For definitions and computation, see performance-metrics. In reports, present these alongside active return so the reader can judge how consistently outperformance was achieved.

Risk Dashboard

Complement return reporting with risk metrics to give a complete picture. For definitions and computation of these metrics (volatility, VaR, drawdown, etc.), see historical-risk.

Current snapshot metrics:

  • Annualized volatility
  • Maximum drawdown and current drawdown
  • Value at Risk (VaR) at 95% and 99% confidence levels
  • Beta relative to the benchmark

Rolling metrics: Show how risk evolves over time, not just a point-in-time estimate.

  • 12-month rolling Sharpe ratio
  • 12-month rolling volatility
  • 36-month rolling beta
  • Rolling drawdown chart

Risk exposure breakdown:

  • Sector concentration and weights vs benchmark
  • Factor exposures (value, growth, momentum, quality, size)
  • Geographic allocation
  • Duration and credit quality (for fixed income)
Attribution Summary

Explain why the portfolio outperformed or underperformed.

Brinson attribution (allocation, selection, interaction) and factor decomposition: For methodology and formulas, see performance-attribution. In a report, summarize each effect in one plain-language sentence (e.g., "sector weighting added 0.2%, stock selection added 0.4%").

Top/bottom contributors (holdings-level):

  • List the 5-10 holdings that contributed most positively and most negatively to portfolio returns.
  • Show both the return of the holding and its contribution to total portfolio return (weight x return).
  • Provide brief commentary on why each top/bottom contributor performed as it did.
Goal Progress Tracking

For goal-based investors, frame performance in terms of progress toward their specific objectives.

On-track assessment: Is the portfolio on track, behind, or ahead relative to the financial plan?

Probability of success: Use Monte Carlo simulation to estimate the probability of reaching the goal given current assets, savings rate, time horizon, and expected return/risk assumptions. Express as a percentage (e.g., "82% probability of funding retirement at age 65").

Projected vs required return: Compare the return needed to reach the goal with the expected return of the current portfolio. If the required return exceeds what is reasonable, flag this as a planning gap.

Milestone tracking: Express progress as percentage of goal funded. For example: "Retirement goal: $2,000,000. Current portfolio: $850,000. 42.5% funded with 15 years remaining."

Visualization Best Practices

Charts communicate faster than tables. Choose the right chart for the message.

Growth of $10,000 chart: Shows cumulative wealth growth of portfolio vs benchmark over time. Intuitive for all audiences. Use log scale for long time periods to avoid visual distortion from compounding.

Rolling return chart: Shows trailing 12-month or 36-month returns over time. Reveals consistency and regime changes. More informative than a single annualized number.

Drawdown chart: Shows peak-to-trough declines over time. Viscerally communicates risk in a way that volatility numbers cannot.

Asset allocation pie/bar chart: Current allocation vs target/benchmark. Use a grouped bar chart to show both side by side.

Risk-return scatter plot: Plot portfolio and benchmark (and possibly peer group) on an annualized return vs annualized volatility plane. Positions in the upper-left (high return, low risk) are desirable.

Report Frequency and Structure
  • Monthly brief: 1-page summary — headline return, benchmark comparison, major attribution drivers, any notable events.
  • Quarterly detailed: 3-5 pages — full return table, attribution, risk dashboard, goal progress, market commentary, and outlook.
  • Annual comprehensive: 8-15 pages — everything in the quarterly report plus year-in-review, tax reporting summary, planning updates, and IPS review.
Plain Language Communication

The most important reporting skill is translating numbers into meaning.

  • Do not just state "the portfolio returned 8.1% YTD." Add context: "The portfolio returned 8.1% YTD, outperforming its benchmark by 0.6 percentage points, driven primarily by strong stock selection in the technology sector."
  • Explain whether performance is good or bad relative to expectations and the plan.
  • Use analogies and comparisons the audience understands.
  • Define technical terms on first use or include a glossary.
  • Lead with the conclusion, then provide supporting detail for those who want to dig deeper.

Worked Examples

Show full SKILL.md (855 more words)Show less
Example 1: Quarterly Performance Report Summary

Given: A balanced portfolio (60% equity / 40% fixed income) returned 3.2% in Q3 (benchmark: 2.8%). YTD the portfolio returned 8.1% vs 7.5% for the benchmark. The portfolio Sharpe ratio is 0.85 over the trailing 12 months. Equity selection in technology (+0.3%) and an underweight in energy (-0.1%) were the main attribution drivers.

Analysis:

Headline: The portfolio outperformed its benchmark by 0.4 percentage points in Q3 and 0.6 percentage points YTD, driven by strong stock selection in technology.

Return summary table:

PeriodPortfolioBenchmarkActive Return
Q3+3.2%+2.8%+0.4%
YTD+8.1%+7.5%+0.6%

Attribution highlights:

  • Technology stock selection contributed +0.3% — the largest single driver of outperformance.
  • Underweight energy allocation detracted -0.1% as energy prices rallied in the quarter.
  • Net active return of +0.4% demonstrates disciplined bottom-up security selection.

Risk context:

  • Trailing 12-month Sharpe ratio of 0.85 indicates the portfolio is generating meaningful risk-adjusted excess return.
  • Portfolio volatility remains in line with the benchmark, so outperformance is not coming from taking additional risk.

Plain-language summary for the client: "Your portfolio gained 3.2% this quarter, beating the benchmark by about half a percent. Year-to-date, you are ahead of the benchmark by a similar margin. The main driver was our technology stock picks, which outperformed the broader tech sector. We remain on track relative to your long-term financial plan."

Example 2: Goal Progress — Retirement Funding

Given: A client has a retirement goal of $2,000,000 in today's dollars. Current portfolio value is $850,000. Time horizon is 15 years. Current annual contribution is $30,000 (increasing 3% per year). Portfolio expected return is 7% nominal, expected volatility is 12%. Inflation assumption is 2.5%.

Analysis:

Current status:

  • Goal: $2,000,000 (in today's dollars)
  • Current assets: $850,000
  • Funded ratio: 42.5%
  • Time remaining: 15 years

Projection (deterministic):

  • Future value of current assets at 4.5% real return over 15 years: $850,000 x (1.045)^15 = approximately $1,636,000
  • Future value of contributions ($30,000/yr escalating 3%/yr) at 4.5% real: approximately $620,000
  • Projected total (real): approximately $2,256,000
  • Deterministic assessment: On track — projected to exceed goal by ~$256,000

Projection (Monte Carlo, 10,000 simulations):

  • Median outcome: $2,180,000
  • 25th percentile: $1,650,000
  • 10th percentile: $1,320,000
  • Probability of reaching $2,000,000 goal: 68%

Interpretation: While the deterministic projection shows the client is on track, the Monte Carlo analysis reveals a 68% probability of success — reasonable but not highly confident. The gap between the deterministic and probabilistic views is driven by sequence-of-returns risk and volatility drag.

Recommendations to improve probability of success:

  • Increase annual contributions by $5,000 (raises probability to ~78%).
  • Consider modest reduction in spending goal or flexible retirement date.
  • Maintain current allocation — reducing risk at this stage would lower expected return and reduce success probability.

Client-facing summary: "You have $850,000 saved toward your $2,000,000 retirement goal, which is 42.5% of the way there with 15 years to go. Based on our projections, you have roughly a 68% chance of reaching your goal with your current savings plan. This is a reasonable position, but we can improve your odds by increasing your annual contribution or building in some flexibility on your retirement date."

Common Pitfalls

  • Cherry-picking favorable time periods to present performance in the best light. Always show standard periods and since-inception returns.
  • Not showing risk alongside returns. A 15% return with 30% volatility is a very different story than 15% with 10% volatility.
  • Using inappropriate benchmarks to flatter performance. Comparing a growth equity fund to a value index during growth-favoring markets is dishonest.
  • Too much jargon for non-technical audiences. Sharpe ratios and tracking error mean nothing to most clients without explanation.
  • Not providing context for numbers. Is 8% good or bad? It depends on the benchmark, the risk taken, the market environment, and the goal.
  • Showing short-period returns annualized. A 5% return in one month is not "60% annualized" — this is misleading and should never be presented.
  • Presenting only time-weighted returns when the client's cash flow timing significantly impacted their actual experience. Show money-weighted returns alongside TWR when there are large or ill-timed flows.
  • Survivorship bias in composite reporting: excluding terminated accounts or poor-performing strategies from historical track records.
  • Ignoring taxes: for taxable investors, after-tax returns are what actually matters.

Cross-References

  • statistics-fundamentals (core plugin): return distributions, confidence intervals for projections
  • time-value-of-money (core plugin): future value projections, annualization math
  • performance-metrics (wealth-management plugin): Sharpe, Sortino, Information Ratio calculation details
  • historical-risk (wealth-management plugin): volatility, drawdown, VaR computation for risk dashboards
  • asset-allocation (wealth-management plugin): benchmark construction for multi-asset portfolios
  • quantitative-valuation (wealth-management plugin): forward-looking return assumptions for goal projections
  • finance-psychology (wealth-management plugin): framing effects in how performance is presented to clients
  • client-review-prep (advisory-practice plugin): performance data is assembled into the client review meeting package

Running the script

Run with uv run scripts/performance_reporting.py (the PEP 723 header resolves numpy/scipy automatically) or with python3 scripts/performance_reporting.py after pip install numpy scipy. A bare run prints five demos: a Modified Dietz return, chain-linked TWR, an IRR solved via Brent's method, a GIPS composite summary, and a standard-period return table. Use --verify to assert the demo outputs match expected values (exit code 0 on PASS) and --help for an overview of the classes. The file is primarily meant to be imported as a module (e.g., from performance_reporting import ModifiedDietz, MoneyWeightedReturn).

© JoelLewis, 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 plugins/wealth-management/skills/performance-reporting of JoelLewis/finance_skills.

  • SKILL.md
  • scripts/performance_reporting.py

Open the folder on GitHubat commit 5c498ea

Compare with similar skills

Performance Reporting 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.

Performance Reporting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Performance Reporting this skillJoelLewis/finance_skills205—~3.9kAutomated safety check: PassMIT
Technical Analysttradermonty/claude-trading-skills3k5 repos~4.6kAutomated safety check: PassMIT
Creating Financial ModelsChen-zexi/open-ptc-agent7294 repos~1.3kAutomated safety check: PassMIT
Stock APIzhangxiangliang/stock-api2k—~507Automated safety check: PassMIT
Theme Detectortradermonty/claude-trading-skills3k2 repos~4.9kAutomated 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 5 repos~4.6k 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 4 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 today
    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
  • Itr Wala

    karanb192/itr-wala

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

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

    zillionare/zillionare

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

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

More from JoelLewis/finance_skills

All 91 skills in this repo
  • Equities

    JoelLewis/finance_skills

    Analyze equity securities, factor models, and equity portfolio construction.

    205 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Asset Allocation

    JoelLewis/finance_skills

    Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks.

    205 GitHub stars~2.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Bet Sizing

    JoelLewis/finance_skills

    Determine how much capital to allocate to individual positions within a portfolio.

    205 GitHub stars~2.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Commodities

    JoelLewis/finance_skills

    Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals.

    205 GitHub stars~1.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Currencies And Fx

    JoelLewis/finance_skills

    Analyze currency markets, exchange rate mechanics, and FX risk management for international portfolios.

    205 GitHub stars~1.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Debt Management

    JoelLewis/finance_skills

    Provide frameworks for managing and paying off personal debt effectively.

    205 GitHub stars~2.5k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Performance Reporting

What does Performance Reporting do?

Generate clear, accurate performance reports for investment portfolios with benchmarks, attribution, and risk dashboards. Performance Reporting is an agent skill from JoelLewis/finance_skills. Generate clear, accurate performance reports for investment portfolios with benchmarks, attribution, and risk dashboards.

When should I use Performance Reporting?

Performance Reporting fits situations like: the user asks about portfolio performance reports; return summaries; benchmark comparison; risk dashboards.

How do I install Performance Reporting in Claude Code?

Run `npx skills add JoelLewis/finance_skills --skill performance-reporting -a claude-code`. Or copy the skill folder (plugins/wealth-management/skills/performance-reporting in JoelLewis/finance_skills) into .claude/skills/performance-reporting in your project. Claude Code loads it when a task matches its description.

How do I install Performance Reporting in Codex?

Run `npx skills add JoelLewis/finance_skills --skill performance-reporting -a codex`. Or copy the skill folder (plugins/wealth-management/skills/performance-reporting in JoelLewis/finance_skills) into .agents/skills/performance-reporting in your project. Codex loads it when a task matches its description.

Can I use Performance Reporting 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 JoelLewis/finance_skills --skill performance-reporting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/performance-reporting, .gemini/skills/performance-reporting, .github/skills/performance-reporting and .opencode/skills/performance-reporting in your project.

What does Performance Reporting need to run?

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

Does Performance Reporting access the network?

SKILL.md contains no URLs. Its commands use uv and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Performance Reporting 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 Performance Reporting use?

Performance Reporting 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 Performance Reporting use?

About 3.9k tokens (SKILL.md is roughly 16k 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 Performance Reporting?

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

Who maintains Performance Reporting?

JoelLewis (a GitHub user) maintains it in JoelLewis/finance_skills, which has 205 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on July 18, 2026.

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