Sharesight Skill for OpenClaw

v1.0.0

Manage Sharesight portfolios, holdings, and custom investments via the API

1· 1.9k·4 current·4 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description describe Sharesight portfolio management and the skill only requires SHARESIGHT_CLIENT_ID and SHARESIGHT_CLIENT_SECRET (and an optional SHARESIGHT_ALLOW_WRITES). The requested env vars and the HTTP calls in the code target api.sharesight.com, which is proportionate and expected.
Instruction Scope
SKILL.md and README describe CLI commands, authentication, and safe defaults (writes disabled). The runtime instructions reference only Sharesight API endpoints and standard local config files; they do not instruct reading unrelated system files or sending data to unexpected endpoints.
Install Mechanism
No automated install spec is provided (instruction-only install), so nothing is downloaded from third-party URLs at install time. The repository includes Python package files (pyproject.toml, source), which is consistent with a CLI tool but no remote installers or opaque download URLs are used.
Credentials
Only SHARESIGHT_CLIENT_ID and SHARESIGHT_CLIENT_SECRET are required, plus an optional SHARESIGHT_ALLOW_WRITES flag. These are exactly the credentials needed for OAuth client-credentials access to Sharesight; there are no unrelated or excessive credential requests.
Persistence & Privilege
This skill does not request always:true and does not modify other skills. It persists access tokens to ~/.config/sharesight-cli/config.json (and sets file permissions to 0600) which is a normal, limited persistence for API tokens.
Assessment
This skill appears to do what it says: a local CLI and API wrapper for Sharesight. Before installing or enabling it, verify the publisher/source (no homepage was provided here). Be aware that you must supply your Sharesight Client ID and Client Secret — treat those like passwords. The tool caches access tokens under ~/.config/sharesight-cli/config.json (permissions set to 0600). Write operations are disabled by default; only set SHARESIGHT_ALLOW_WRITES=true if you trust the code and the environment. If you are concerned about trust, inspect the included Python files yourself or run the CLI in an isolated environment; if credentials are ever exposed, rotate them in the Sharesight account.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

EnvSHARESIGHT_CLIENT_ID, SHARESIGHT_CLIENT_SECRET
latestvk978fz75yjz73kf1934m7zfamh80entb
1.9kdownloads
1stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Sharesight Skill

Manage Sharesight portfolios, holdings, custom investments, prices, and coupon rates. Supports full CRUD operations.

Prerequisites

Set these environment variables:

  • SHARESIGHT_CLIENT_ID - Your Sharesight API client ID
  • SHARESIGHT_CLIENT_SECRET - Your Sharesight API client secret
  • SHARESIGHT_ALLOW_WRITES - Set to true to enable create, update, and delete operations (disabled by default for safety)

Commands

Authentication

# Authenticate (required before first use)
sharesight auth login

# Check authentication status
sharesight auth status

# Clear saved token
sharesight auth clear

Portfolios

# List all portfolios
sharesight portfolios list
sharesight portfolios list --consolidated

# Get portfolio details
sharesight portfolios get <portfolio_id>

# List holdings in a portfolio
sharesight portfolios holdings <portfolio_id>

# Get performance report
sharesight portfolios performance <portfolio_id>
sharesight portfolios performance <portfolio_id> --start-date 2024-01-01 --end-date 2024-12-31
sharesight portfolios performance <portfolio_id> --grouping market --include-sales

# Get performance chart data
sharesight portfolios chart <portfolio_id>
sharesight portfolios chart <portfolio_id> --benchmark SPY.NYSE

Holdings

# List all holdings across portfolios
sharesight holdings list

# Get holding details
sharesight holdings get <holding_id>
sharesight holdings get <holding_id> --avg-price --cost-base
sharesight holdings get <holding_id> --values-over-time true

# Update holding DRP settings
sharesight holdings update <holding_id> --enable-drp true --drp-mode up
# drp-mode options: up, down, half, down_track

# Delete a holding
sharesight holdings delete <holding_id>

Custom Investments

# List custom investments
sharesight investments list
sharesight investments list --portfolio-id <portfolio_id>

# Get custom investment details
sharesight investments get <investment_id>

# Create a custom investment
sharesight investments create --code TEST --name "Test Investment" --country AU --type ORDINARY
# type options: ORDINARY, TERM_DEPOSIT, FIXED_INTEREST, PROPERTY, ORDINARY_UNLISTED, OTHER

# Update a custom investment
sharesight investments update <investment_id> --name "New Name"

# Delete a custom investment
sharesight investments delete <investment_id>

Prices (Custom Investment Prices)

# List prices for a custom investment
sharesight prices list <instrument_id>
sharesight prices list <instrument_id> --start-date 2024-01-01 --end-date 2024-12-31

# Create a price
sharesight prices create <instrument_id> --price 100.50 --date 2024-01-15

# Update a price
sharesight prices update <price_id> --price 101.00

# Delete a price
sharesight prices delete <price_id>

Coupon Rates (Fixed Interest)

# List coupon rates for a fixed interest investment
sharesight coupon-rates list <instrument_id>
sharesight coupon-rates list <instrument_id> --start-date 2024-01-01

# Create a coupon rate
sharesight coupon-rates create <instrument_id> --rate 5.5 --date 2024-01-01

# Update a coupon rate
sharesight coupon-rates update <coupon_rate_id> --rate 5.75

# Delete a coupon rate
sharesight coupon-rates delete <coupon_rate_id>

Reference Data

# List country codes
sharesight countries
sharesight countries --supported

Output Format

All commands output JSON. Example portfolio list response:

{
  "portfolios": [
    {
      "id": 12345,
      "name": "My Portfolio",
      "currency_code": "AUD",
      "country_code": "AU"
    }
  ]
}

Date Format

All dates use YYYY-MM-DD format (e.g., 2024-01-15).

Grouping Options

Performance reports support these grouping options:

  • country - Group by country
  • currency - Group by currency
  • market - Group by market (default)
  • portfolio - Group by portfolio
  • sector_classification - Group by sector
  • industry_classification - Group by industry
  • investment_type - Group by investment type
  • ungrouped - No grouping

Write Protection

Write operations (create, update, delete) are disabled by default for safety. To enable them:

export SHARESIGHT_ALLOW_WRITES=true

Without this, write commands will fail with:

{"error": "Write operations are disabled by default. Set SHARESIGHT_ALLOW_WRITES=true to enable create, update, and delete operations.", "hint": "export SHARESIGHT_ALLOW_WRITES=true"}

Common Workflows

View Portfolio Performance

# Get current year performance
sharesight portfolios performance 12345 --start-date 2024-01-01

# Compare against S&P 500
sharesight portfolios chart 12345 --benchmark SPY.NYSE

Analyze Holdings

# List all holdings with cost information
sharesight holdings get 67890 --avg-price --cost-base

Track Custom Investments

# Create a custom investment for tracking unlisted assets
sharesight investments create --code REALESTATE --name "Property Investment" --country AU --type PROPERTY

# Add price history for the investment
sharesight prices create 123456 --price 500000.00 --date 2024-01-01
sharesight prices create 123456 --price 520000.00 --date 2024-06-01

Manage Fixed Interest Investments

# Create a term deposit
sharesight investments create --code TD001 --name "Term Deposit ANZ" --country AU --type TERM_DEPOSIT

# Set the coupon rate
sharesight coupon-rates create 123456 --rate 4.5 --date 2024-01-01

# Update rate when it changes
sharesight coupon-rates update 789 --rate 4.75

Configure Dividend Reinvestment

# Enable DRP and round up purchases
sharesight holdings update 67890 --enable-drp true --drp-mode up

# Disable DRP
sharesight holdings update 67890 --enable-drp false

Comments

Loading comments...