← Back to Skills Marketplace
finskills

portfolio-manager

by finskills · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
80
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install finskills-portfolio-manager
Description
Monitor and rebalance a multi-asset portfolio using real-time quotes, sector allocation, and risk metrics from the Finskills API.
README (SKILL.md)

Portfolio Manager

Monitor, analyze, and optimize a multi-asset US equity portfolio using live batch quotes, market summary data, and sector performance from the Finskills API. Computes real-time P&L, risk metrics, sector concentration, and generates rebalancing recommendations aligned with your target allocation.


Setup

API Key requiredRegister at https://finskills.net to get your free key.
Header: X-API-Key: \x3Cyour_api_key>

Get your API key: Register at https://finskills.net — free tier available, Pro plan unlocks real-time quotes, history, and financials.


When to Activate This Skill

Activate when the user:

  • Provides a list of holdings (ticker + shares or $ value) and asks for portfolio analysis
  • Asks about their portfolio's performance, sector concentration, or risk metrics
  • Wants a rebalancing recommendation
  • Asks how their portfolio compares to the S&P 500 or benchmarks
  • Asks which positions are dragging or leading performance

Required Information

Before starting, collect:

  1. Holdings list: Each entry needs ticker, shares (or current_value), and optionally cost_basis
  2. Total portfolio value (or derive from positions)
  3. Target allocation (if rebalancing is requested) — e.g., "60% equities, 30% bonds, 10% cash"
  4. Benchmark — Default is S&P 500 (SPY)

Example holdings input format:

AAPL: 50 shares @ $150 cost basis
MSFT: 30 shares @ $280 cost basis
NVDA: 20 shares @ $400 cost basis
SPY:  100 shares @ $420 cost basis

Data Retrieval — Finskills API Calls

1. Batch Quotes for All Holdings

GET https://finskills.net/v1/stocks/quotes?symbols={TICKER1,TICKER2,...}

Extract for each: price, changePercent, marketCap, volume

2. Market Summary (Benchmark)

GET https://finskills.net/v1/market/summary

Extract: S&P 500, Nasdaq, Dow Jones — current level, daily change, YTD performance

3. Sector Performance

GET https://finskills.net/v1/market/sectors

Extract: All 11 GICS sector ETF performances (1D, 1W, 1M, YTD) for context

4. Company Profile (for sector classification)

For each unique ticker not already classified:

GET https://finskills.net/v1/stocks/profile/{SYMBOL}

Extract: sector, industry (to assign sector weight in portfolio)


Analysis Workflow

Step 1 — Position Valuation

For each holding:

Current Value   = shares × current_price
Daily P&L       = shares × (current_price − prev_close_price)
Daily P&L %     = current_price / prev_close_price − 1
Total P&L       = current_value − (shares × cost_basis)    [if cost basis provided]
Total P&L %     = (current_value / (shares × cost_basis)) − 1
Portfolio Weight = current_value / total_portfolio_value

Step 2 — Portfolio-Level Metrics

Performance:

Portfolio Daily Return  = Σ (weight_i × daily_return_i)
Portfolio Total Return  = (total_current_value / total_cost_basis) − 1  [if basis known]
Best Performer (1D)     = max daily_return_i
Worst Performer (1D)    = min daily_return_i

Risk Metrics (estimate from weights and sector exposure):

  • Concentration Risk: Largest single position as % of portfolio
    • 20%: High concentration ⚠️

    • 35%: Very high concentration 🚨

  • Sector Concentration: Top sector weight
    • 40%: Sector-concentrated ⚠️

  • Beta Approximation: Weight-average of individual stock betas (if available from profile data)
    • Use sector beta proxies: Tech ≈ 1.3, Utilities ≈ 0.5, Financials ≈ 1.1, Healthcare ≈ 0.7

Benchmark Comparison:

Relative Return (1D) = Portfolio Daily Return − S&P 500 Daily Return

Step 3 — Sector Allocation Analysis

Group holdings by sector (using profile data):

  • Compute actual sector weights
  • Compare to S&P 500 sector weights (approximate benchmarks):
    • Technology: 29%, Healthcare: 13%, Financials: 13%, Consumer Disc: 11%, Industrials: 9%, Communication: 8%, Energy: 4%, Consumer Staples: 6%, Real Estate: 3%, Materials: 2%, Utilities: 2%

Flag overweight (> +10pp vs benchmark) and underweight (\x3C -10pp vs benchmark) sectors.

Step 4 — Rebalancing Analysis (if requested)

Target deviation detection:

For each position:
  Target Weight = stated_target_%
  Current Weight = current_value / total_value
  Drift = Current Weight − Target Weight
  Rebalance Action = BUY/SELL if abs(Drift) > 5%
  Rebalance Quantity = abs(Drift × total_value) / current_price  [shares to trade]

Tax-aware note: Flag positions with > 1 year holding for LTCG treatment before suggesting sells.

Step 5 — Actionable Recommendations

Generate 3–5 specific recommendations:

  • Positions to trim (concentration/overweight sector)
  • Positions to add (underweight sectors relative to conviction)
  • Hedging suggestions (if portfolio Beta > 1.2 and market at all-time highs)
  • Cash deployment suggestions (if cash > 10% of target)

Output Format

╔══════════════════════════════════════════════════════╗
║      PORTFOLIO REPORT  —  {DATE}                    ║
╚══════════════════════════════════════════════════════╝

💼 PORTFOLIO SUMMARY
  Total Value:     ${total_value}
  Daily P&L:       ${daily_pnl}  ({daily_pnl_pct}%)
  Total Return:    ${total_pnl}  ({total_pnl_pct}%)  [vs. cost basis]
  vs. S&P 500 (1D): {+/- bps} bps

📋 HOLDINGS BREAKDOWN
  {Ticker}  {Shares}sh  ${price}  {weight}%  Day: {+/-}%  Total: {+/-}%
  ─────────────────────────────────────────────────────
  AAPL      50 sh       $189.40   18.4%      +1.2%       +26.3%
  MSFT      30 sh       $415.20   24.2%      -0.3%       +48.2%
  ...
  ─────────────────────────────────────────────────────
  TOTAL     —           —         100%       {port_day}% {port_total}%

  🏆 Best Today:  {ticker} +{%}
  📉 Worst Today: {ticker} -{%}

🏛️ SECTOR ALLOCATION
  Sector           Portfolio  S&P 500  Over/Under
  Technology         {%}       29%      {+/-pp}
  Healthcare         {%}       13%      {+/-pp}
  ...
  [⚠️ Any sectors > 40% or > +15pp vs benchmark]

⚠️ RISK FLAGS
  • Largest position: {ticker} at {%} [{normal/concentrated}]
  • Est. Portfolio Beta: {beta} [vs SPY]
  • {Any other flags}

📊 MARKET CONTEXT
  S&P 500:  {level}  {day_change}%  YTD: {ytd}%
  Nasdaq:   {level}  {day_change}%  YTD: {ytd}%
  {Leading sector today}: +{%}
  {Lagging sector today}: -{%}

🔄 REBALANCING RECOMMENDATIONS
  1. {Action}: {Ticker} — {rationale}
  2. {Action}: {Ticker} — {rationale}
  3. {Action}: Consider adding {sector} exposure (currently underweight {pp})

Limitations

  • Batch quote latency may be 1–15 minutes delayed depending on data source.
  • Beta estimates are approximated from sector proxies unless individual beta data is available.
  • Bond, international equity, and alternative assets are not currently covered.
  • This skill does not connect to brokerage accounts or execute trades.
Usage Guidance
This skill appears coherent and low-risk as shipped (instruction-only, needs only a Finskills API key). Before installing or using it: 1) Verify finskills.net (and any linked GitHub repo) are trustworthy and review their privacy/billing terms — confirm whether sending holdings or any personal data is logged or stored by their API. 2) Create an API key with minimal scope and monitor usage/billing (Pro plan may incur charges or higher rate limits). 3) Avoid pasting sensitive personal identifiers in holdings input (the skill only needs tickers, counts, and optional cost basis). 4) Note the README mentions downloading a zip from ClawHub — if you later install that package, review the code before running it because installable code could introduce new risks. 5) If you do not want the agent to call the skill autonomously, adjust agent skill-invocation settings or require explicit user consent before the skill runs.
Capability Analysis
Type: OpenClaw Skill Name: finskills-portfolio-manager Version: 1.0.2 The Portfolio Manager skill bundle is a legitimate tool designed to analyze equity portfolios using the Finskills API (finskills.net). The instructions in SKILL.md and README.md are consistent with the stated purpose, focusing on fetching market data, calculating P&L, and providing rebalancing recommendations. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description (portfolio monitoring & rebalancing) align with required env var (FINSKILLS_API_KEY) and the listed API endpoints. Nothing in the metadata asks for unrelated cloud keys, binaries, or system paths.
Instruction Scope
SKILL.md gives precise API calls to finskills.net and local computations for valuation, risk, and rebalancing. It does not instruct reading arbitrary files, scanning the system, or sending user environment data beyond using the API key. Note: the workflow requires the agent to receive the user's holdings (tickers, shares, cost basis) as input — those holdings would be processed locally but tickers are used to query the external Finskills endpoints. Confirm you are comfortable that ticker lists (and any cost-basis or holding size you provide) will be handled as external input to the skill's runtime.
Install Mechanism
No install spec and no bundled code — instruction-only. This is lower risk because nothing is downloaded or written to disk by the skill itself.
Credentials
Only a single API key (FINSKILLS_API_KEY) is required, which is proportionate to the declared external API usage. The SKILL.md and README consistently reference this key and do not attempt to access other environment variables or system credentials.
Persistence & Privilege
always is false and there are no requested config paths or system modifications. The skill can be invoked autonomously by the agent (platform default), which is expected for a skill of this type.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install finskills-portfolio-manager
  3. After installation, invoke the skill by name or use /finskills-portfolio-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
- Added OpenClaw-compatible metadata: explicitly declares the required environment variable FINSKILLS_API_KEY. - Set the homepage field as metadata for easier discovery. - No changes to feature set, analysis, or portfolio report logic. - Version incremented to 1.0.3 for metadata and compatibility update.
v1.0.1
- Added standardized YAML front matter with metadata (name, version, description, author, homepage, and credentials) for improved skill discovery and setup. - No changes to core functionality or workflow—all analysis, requirements, and API call instructions remain the same. - Updated setup instructions to highlight credential requirements in the new format. - Version alignment for publication; no file or code changes detected.
v1.0.0
Initial release of Portfolio Manager skill. - Analyze and monitor multi-asset US equity portfolios using real-time Finskills API data. - Calculate position and portfolio P&L, risk metrics, and sector concentration. - Generate actionable rebalancing recommendations aligned with user’s target allocation. - Compare portfolio performance and sector exposure to the S&P 500 and market benchmarks. - Summarize holdings, returns, risks, and recommendations in a structured, easy-to-read report.
Metadata
Slug finskills-portfolio-manager
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is portfolio-manager?

Monitor and rebalance a multi-asset portfolio using real-time quotes, sector allocation, and risk metrics from the Finskills API. It is an AI Agent Skill for Claude Code / OpenClaw, with 80 downloads so far.

How do I install portfolio-manager?

Run "/install finskills-portfolio-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is portfolio-manager free?

Yes, portfolio-manager is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does portfolio-manager support?

portfolio-manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created portfolio-manager?

It is built and maintained by finskills (@finskills); the current version is v1.0.2.

💬 Comments