Agent skill

Portfolio Health Check

by Geeksfino in Geeksfino/finskills

Diagnose risks and inefficiencies in an existing investment portfolio.

Apache-2.0Auto-check passedTesting & QA

Install Portfolio Health Check

skills CLI
$ npx skills add Geeksfino/finskills --skill portfolio-health-check -a claude-code

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

GitHub CLI
$ gh skill install Geeksfino/finskills portfolio-health-check --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/Geeksfino/finskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/US-market/portfolio-health-check .claude/skills/portfolio-health-check && 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
portfolio-health-check
GitHub stars
282
Token cost
~1.7k tokens
SKILL.md length
751 words
Files
4 (incl. references)
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

Diagnose risks and inefficiencies in an existing investment portfolio.

  • Works in 8 steps: Ingest the Portfolio → Concentration Analysis → Correlation Cluster Detection → …
  • The user asks to review
  • SKILL.md covers Workflow, Data Enhancement and Important Guidelines
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Portfolio Health Check is an agent skill from Geeksfino/finskills. Diagnose risks and inefficiencies in an existing investment portfolio. Use when the user asks to review, audit, or stress-test their current holdings, evaluate portfolio concentration, check factor exposures, assess correlation risks, identify hidden tilts, or get actionable improvement suggestions for a portfolio they already own.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/diagnostic-framework.md` and `references/output-template.md`).

It sits in Testing & QA, covering Load testing. The repository describes itself as: Financial engineering and risk/compliance skills for agents. The licence is Apache-2.0.

When your agent uses it

  • The user asks to review
  • Stress-test their current holdings
  • Evaluate portfolio concentration
  • Check factor exposures

Example prompts

  • “/portfolio-health-check”

Workflow steps

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

  1. Ingest the Portfolio
  2. Concentration Analysis
  3. Correlation Cluster Detection
  4. Factor Exposure Analysis
  5. Risk Metrics
  6. Stress Testing
  7. Liquidity Assessment
  8. Diagnosis and Recommendations

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md.

    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

Portfolio Health Check loads about 1.7k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 89 tokens; SKILL.md has 751 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.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 Geeksfino/finskills at commit 8722415, republished under its Apache-2.0 licence (© Geeksfino). 751 words, ~1,709 tokens.

Download SKILL.mdSave it as .claude/skills/portfolio-health-check/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
portfolio-health-check
description
Diagnose risks and inefficiencies in an existing investment portfolio. Use when the user asks to review, audit, or stress-test their current holdings, evaluate portfolio concentration, check factor exposures, assess correlation risks, identify hidden tilts, or get actionable improvement suggestions for a portfolio they already own.
license
Apache-2.0

Portfolio Health Check

Act as a portfolio risk diagnostician. Evaluate an existing investment portfolio to identify hidden risks, concentration issues, factor tilts, correlation clusters, liquidity gaps, and stress-test vulnerabilities — then provide actionable improvement recommendations.

Workflow

Step 1: Ingest the Portfolio

Collect the user's current holdings:

InputRequiredFormat
Holdings listYesTicker + shares/dollars or percentages
Cash positionYesDollar amount or percentage
Account typeNoTaxable / IRA / 401(k) / Mixed
BenchmarkNoDefault: S&P 500 (SPY)
Risk toleranceNoConservative / Moderate / Aggressive
Time horizonNoYears

If the user provides incomplete data, ask clarifying questions. Normalize all positions to percentages of total portfolio value.

Step 2: Concentration Analysis

Assess concentration at multiple levels. See references/diagnostic-framework.md for thresholds.

DimensionWhat to CheckRed Flag
Single-stockAny position > 10% of portfolio> 15% is severe
Top-5 concentrationCombined weight of top 5 positions> 50% is high
SectorGICS sector weights vs benchmarkAny sector > 30%
GeographyUS / International / EM split> 90% single-country
Market capLarge / Mid / Small / Micro> 85% single segment
Asset classEquity / Fixed income / Alternatives / Cash> 90% single class
StyleGrowth vs Value tilt> 75% single style
Step 3: Correlation Cluster Detection

Identify groups of holdings that move together:

  1. Estimate pairwise correlations among all equity positions
  2. Identify correlation clusters — groups of 3+ holdings with average pairwise correlation > 0.7
  3. Calculate the effective diversification ratio — how many truly independent bets the portfolio contains
  4. Flag positions that appear diversified by name/sector but are actually highly correlated
Step 4: Factor Exposure Analysis

Decompose the portfolio into factor exposures:

FactorMetricBenchmark Neutral
Market betaPortfolio beta vs S&P 5001.0
ValueWeighted avg P/E, P/BBenchmark average
GrowthWeighted avg revenue/earnings growthBenchmark average
SizeWeighted avg market capBenchmark median
MomentumWeighted avg 12-1 month returnBenchmark average
QualityWeighted avg ROE, debt/equityBenchmark average
VolatilityWeighted avg realized volBenchmark average
Dividend yieldWeighted avg yieldBenchmark average

Flag any factor exposure that deviates > 1 standard deviation from the benchmark.

Step 5: Risk Metrics

Calculate portfolio-level risk metrics:

MetricDescription
Portfolio volatilityAnnualized standard deviation
BetaSensitivity to benchmark
Tracking errorVolatility of active returns vs benchmark
Active sharePercentage of portfolio differing from benchmark
Value at Risk (95%)1-year loss at 95% confidence
Expected shortfall (CVaR)Average loss beyond VaR
Maximum drawdown estimateBased on historical allocation analysis
Sharpe ratio estimateExpected excess return / volatility
Sortino ratio estimateExcess return / downside deviation
Step 6: Stress Testing

Run the portfolio through historical stress scenarios. See references/diagnostic-framework.md for scenario details.

ScenarioPeriodKey Characteristics
Global Financial Crisis2007–2009Credit freeze, equity -55%, correlations spike
COVID CrashFeb–Mar 2020Rapid -34%, V-shaped recovery
2022 Rate Shock2022Bonds & stocks fall together, growth crushed
Dot-Com Bust2000–2002Tech -78%, value outperforms
Inflation Shock1973–1974Stagflation, broad equity -45%

For each scenario, estimate portfolio impact and recovery timeline.

Show full SKILL.md (277 more words)Show less
Step 7: Liquidity Assessment

Evaluate portfolio liquidity:

MetricWhat to Check
Days to liquidateHow long to exit each position at 20% of average daily volume
Illiquid positionsHoldings where full exit takes > 5 trading days
Bid-ask spreadsPositions with typically wide spreads
Concentration in illiquid namesPercentage of portfolio in low-volume stocks
Step 8: Diagnosis and Recommendations

Synthesize findings into a health report. Format per references/output-template.md:

  1. Health Score — 0–100 composite score across all dimensions
  2. Critical Issues — Problems requiring immediate attention
  3. Warnings — Issues to monitor or address opportunistically
  4. Strengths — What the portfolio does well
  5. Improvement Actions — Prioritized, specific recommendations with rationale
  6. Rebalancing Suggestions — Concrete trades to improve the portfolio

Data Enhancement

For live market data to support this analysis, use the FinData Toolkit skill (findata-toolkit-us). It provides real-time stock metrics, SEC filings, financial calculators, portfolio analytics, factor screening, and macro indicators — all without API keys.

Important Guidelines

  • Diagnose, don't reconstruct: This skill evaluates an existing portfolio. If the user needs a new portfolio from scratch, direct them to the Risk-Adjusted Return Optimizer.
  • Context matters: A 100% equity portfolio is fine for a 25-year-old with a 40-year horizon. Concentration that looks alarming in isolation may be appropriate in context.
  • Tax awareness: In taxable accounts, recommend improvements that consider tax implications of selling. Suggest tax-loss harvesting where applicable.
  • Behavioral sensitivity: Don't suggest massive overhauls. Investors have emotional attachment to holdings. Prioritize the highest-impact changes.
  • Benchmark appropriateness: A retiree's portfolio shouldn't be benchmarked against the S&P 500. Choose benchmarks that match the investor's goals.
  • Not personalized advice: Disclaim that this is educational analysis, not personalized investment advice. Individual circumstances require a qualified financial advisor.

© Geeksfino, Apache-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 3 other files (references) in US-market/portfolio-health-check of Geeksfino/finskills.

  • SKILL.md
  • LICENSE.txt
  • references/diagnostic-framework.md
  • references/output-template.md

Open the folder on GitHubat commit 8722415

Compare with similar skills

Portfolio Health Check 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.

Portfolio Health Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Portfolio Health Check this skillGeeksfino/finskills282—~1.7kAutomated safety check: PassApache-2.0
Writing Livekit Scenarioslivekit-examples/agent-starter-python2641 repos~2.5kAutomated safety check: PassMIT
Go Testingcxuu/golang-skills1731 repos~1.3kAutomated safety check: PassApache-2.0
Goalcraftgrp06/goalcraft102—~3.8kAutomated safety check: PassMIT
Thinking Partnermattnowdev/thinking-partner206—~4.4kAutomated safety check: PassMIT
Visionkunchenguid/vision331—~2.9kAutomated safety check: PassMIT

Similar skills

  • Writing Livekit Scenarios

    livekit-examples/agent-starter-python

    Creates and maintains the scenarios a LiveKit agent simulation runs, and wires the agent to consume them.

    264 GitHub starsUsed in 1 repo~2.5k tokens
    Testing & QAAuto-check passed
  • Go Testing

    cxuu/golang-skills

    A skill your agent uses when writing, reviewing, or improving Go test code — including table-driven tests, subtests, parallel tests, test helpers, test doubles, and assertions with cmp.Diff.

    173 GitHub starsUsed in 1 repo~1.3k tokens
    Testing & QAAuto-check passed
  • Goalcraft

    grp06/goalcraft

    Turn a rough draft, vague ambition, or messy task brief into a powerful Codex /goal objective for persistent, evidence-checked work.

    102 GitHub stars~3.8k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Thinking Partner

    mattnowdev/thinking-partner

    A deterministic thinking partner that challenges assumptions and applies mental models to sharpen decisions, solve problems, and think more clearly.

    206 GitHub stars~4.4k tokensUpdated 6 mo ago
    Testing & QAAuto-check passed
  • Vision

    kunchenguid/vision

    Draft and stress-test a VISION.md for a repository, then iterate with the author on an interactive review board until approved.

    331 GitHub stars~2.9k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Volt Load Testing

    owenHochwald/volt

    Safely exercise and evaluate HTTP APIs with the Volt CLI, including authenticated requests, JSON bodies, staged load, machine-readable results, performance baselines, and before/after comparisons.

    141 GitHub stars~1.2k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed

More from Geeksfino/finskills

All 30 skills in this repo
  • US Market Data Toolkit

    Geeksfino/finskills

    Free Python scripts that fetch US stock data, SEC filings, insider trades and macro indicators, and run financial score calculators and portfolio analytics.

    282 GitHub stars~1.2k tokensUpdated 7 mo ago
    Auto-check passed
  • Runs a forensic review of one company's financial statements covering DuPont profitability, earnings quality, financial health scores and fraud-risk signals.

    282 GitHub stars~1.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Quantitative Factor Screener

    Geeksfino/finskills

    Screens a stock universe with a six-factor model, scores value, momentum, quality, low volatility, size and growth, ranks by composite score and notes which factors suit the macro regime.

    282 GitHub stars~1.3k tokensUpdated 7 mo ago
    Auto-check passed
  • Tech Hype vs Fundamentals

    Geeksfino/finskills

    Compares leading tech stocks to separate hype-driven valuations from fundamentally justified ones and to flag undervalued names the market overlooks.

    282 GitHub stars~1.3k tokensUpdated 7 mo ago
    Auto-check passed
  • Analyze Dividend Aristocrats (25+ years of consecutive dividend increases) for income reliability and total return.

    282 GitHub stars~1.2k tokensUpdated 7 mo ago
    Auto-check passed
  • ESG Stock Screener

    Geeksfino/finskills

    Screens US stocks through an ESG lens, applies optional exclusion lists, scores the environmental, social and governance pillars and judges whether ESG quality is improving.

    282 GitHub stars~1.4k tokensUpdated 7 mo ago
    Auto-check passed

Categories

Questions about Portfolio Health Check

What does Portfolio Health Check do?

Diagnose risks and inefficiencies in an existing investment portfolio. Portfolio Health Check is an agent skill from Geeksfino/finskills. Diagnose risks and inefficiencies in an existing investment portfolio.

When should I use Portfolio Health Check?

Portfolio Health Check fits situations like: the user asks to review; stress-test their current holdings; evaluate portfolio concentration; check factor exposures.

How do I install Portfolio Health Check in Claude Code?

Run `npx skills add Geeksfino/finskills --skill portfolio-health-check -a claude-code`. Or copy the skill folder (US-market/portfolio-health-check in Geeksfino/finskills) into .claude/skills/portfolio-health-check in your project. Claude Code loads it when a task matches its description.

How do I install Portfolio Health Check in Codex?

Run `npx skills add Geeksfino/finskills --skill portfolio-health-check -a codex`. Or copy the skill folder (US-market/portfolio-health-check in Geeksfino/finskills) into .agents/skills/portfolio-health-check in your project. Codex loads it when a task matches its description.

Can I use Portfolio Health Check 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 Geeksfino/finskills --skill portfolio-health-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/portfolio-health-check, .gemini/skills/portfolio-health-check, .github/skills/portfolio-health-check and .opencode/skills/portfolio-health-check in your project.

What does Portfolio Health Check need to run?

SKILL.md names no scripts, command-line tools or credentials: Portfolio Health Check is instructions for the agent only.

Does Portfolio Health Check 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 Portfolio Health Check 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 Portfolio Health Check use?

Portfolio Health Check is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Portfolio Health Check use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.5k tokens, read only when the agent opens those files.

What are the alternatives to Portfolio Health Check?

Skills that share tags, products or a category with Portfolio Health Check: Writing Livekit Scenarios (livekit-examples/agent-starter-python, 264 stars), Go Testing (cxuu/golang-skills, 173 stars), Goalcraft (grp06/goalcraft, 102 stars) and Thinking Partner (mattnowdev/thinking-partner, 206 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Portfolio Health Check?

Geeksfino (a GitHub user) maintains it in Geeksfino/finskills, which has 282 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on March 5, 2026.

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