publiccom

0
0
Source

Interact with your Public.com brokerage account using the Public.com API. Able to view portfolio, get stock quotes, place trades, and get account updates. To create a Public.com account head to public.com/signup.

Install

mkdir -p .claude/skills/publiccom && curl -L -o skill.zip "https://mcp.directory/api/skills/download/7761" && unzip -o skill.zip -d .claude/skills/publiccom && rm skill.zip

Installs to .claude/skills/publiccom

About this skill

Public.com Account Manager

Disclaimer: For illustrative and informational purposes only. Not investment advice or recommendations.

We recommend running this skill in as isolated of an instance as possible. If possible, test the integration on a new Public account as well.

This skill allows users to interact with their Public.com brokerage account.

Prerequisites

The publicdotcom-py SDK is required. It will be auto-installed on first run, or you can install manually:

pip install publicdotcom-py

Configuration

This skill uses two environment variables: PUBLIC_COM_SECRET (required) and PUBLIC_COM_ACCOUNT_ID (optional). Each is resolved in the following order:

  1. Secure file~/.openclaw/workspace/.secrets/public_com_secret.txt (or public_com_account.txt)
  2. Environment variablePUBLIC_COM_SECRET / PUBLIC_COM_ACCOUNT_ID

Setting a value via openclaw config set writes to the secure file location automatically.

API Secret (Required)

If PUBLIC_COM_SECRET is not set:

  • Tell the user: "I need your Public.com API Secret. You can find this in your Public.com developer settings at https://public.com/settings/v2/api."
  • Once provided, save it: openclaw config set skills.publicdotcom.PUBLIC_COM_SECRET [VALUE]

Default Account ID (Optional)

If the user wants to set a default account for all requests:

  • Save it: openclaw config set skills.publicdotcom.PUBLIC_COM_ACCOUNT_ID [VALUE]
  • This eliminates the need to specify --account-id on each command.

Available Commands

Get Accounts

When the user asks to "get my accounts", "list accounts", or "show my Public.com accounts":

  1. Execute python3 scripts/get_accounts.py
  2. Report the account IDs and types back to the user.

Get Portfolio

When the user asks to "get my portfolio", "show my holdings", or "what's in my account":

  1. If PUBLIC_COM_ACCOUNT_ID is set, execute python3 scripts/get_portfolio.py (no arguments needed).
  2. If not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.
  3. Execute python3 scripts/get_portfolio.py --account-id [ACCOUNT_ID]
  4. Report the portfolio summary (equity, buying power, positions) back to the user.

Get Orders

When the user asks to "get my orders", "show my orders", "active orders", or "pending orders":

  1. If PUBLIC_COM_ACCOUNT_ID is set, execute python3 scripts/get_orders.py (no arguments needed).
  2. If not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.
  3. Execute python3 scripts/get_orders.py --account-id [ACCOUNT_ID]
  4. Report the active orders with their details (symbol, side, type, status, quantity, prices) back to the user.

Get History

When the user asks to "get my history", "show my transactions", "transaction history", "trade history", or wants to see past account activity:

Optional parameters:

  • --type: Filter by transaction type (TRADE, MONEY_MOVEMENT, POSITION_ADJUSTMENT)
  • --limit: Limit the number of transactions returned

Examples:

Get all transaction history:

python3 scripts/get_history.py

Get only trades:

python3 scripts/get_history.py --type TRADE

Get only money movements (deposits, withdrawals, dividends, fees):

python3 scripts/get_history.py --type MONEY_MOVEMENT

Get last 10 transactions:

python3 scripts/get_history.py --limit 10

With explicit account ID:

python3 scripts/get_history.py --account-id YOUR_ACCOUNT_ID

Workflow:

  1. If PUBLIC_COM_ACCOUNT_ID is not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.
  2. Execute: python3 scripts/get_history.py [OPTIONS]
  3. Report the transaction history grouped by type (Trades, Money Movements, Position Adjustments).
  4. Include relevant details like symbol, quantity, net amount, fees, and timestamps.

Transaction Types:

  • TRADE: Buy/sell transactions for equities, options, and crypto
  • MONEY_MOVEMENT: Deposits, withdrawals, dividends, fees, and cash adjustments
  • POSITION_ADJUSTMENT: Stock splits, mergers, and other position changes

Get Quotes

When the user asks to "get a quote", "what's the price of", "check the price", or wants stock/crypto prices:

Format: SYMBOL or SYMBOL:TYPE (TYPE defaults to EQUITY)

Examples:

Single equity quote (uses default account):

python3 scripts/get_quotes.py AAPL

Multiple equity quotes:

python3 scripts/get_quotes.py AAPL GOOGL MSFT

Mixed instrument types:

python3 scripts/get_quotes.py AAPL:EQUITY BTC:CRYPTO

Option quote:

python3 scripts/get_quotes.py AAPL260320C00280000:OPTION

With explicit account ID:

python3 scripts/get_quotes.py AAPL --account-id YOUR_ACCOUNT_ID

Workflow:

  1. If PUBLIC_COM_ACCOUNT_ID is not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.
  2. Parse the user's request for symbol(s) and type(s).
  3. Execute: python3 scripts/get_quotes.py [SYMBOLS...] [--account-id ACCOUNT_ID]
  4. Report the quote information (last price, bid, ask, volume, etc.) back to the user.

Get Instruments

When the user asks to "list instruments", "what can I trade", "show available stocks", or wants to see tradeable instruments:

Optional parameters:

  • --type: Instrument types to filter (EQUITY, OPTION, CRYPTO). Defaults to EQUITY.
  • --trading: Trading status filter (BUY_AND_SELL, BUY_ONLY, SELL_ONLY, NOT_TRADABLE)
  • --search: Search by symbol or name
  • --limit: Limit number of results

Examples:

List all equities (default):

python3 scripts/get_instruments.py

List equities and crypto:

python3 scripts/get_instruments.py --type EQUITY CRYPTO

List only tradeable instruments:

python3 scripts/get_instruments.py --type EQUITY --trading BUY_AND_SELL

Search for specific instruments:

python3 scripts/get_instruments.py --search AAPL

Limit results:

python3 scripts/get_instruments.py --limit 50

Workflow:

  1. Parse the user's request for any filters (type, trading status, search term).
  2. Execute: python3 scripts/get_instruments.py [OPTIONS]
  3. Report the available instruments with their trading status back to the user.

Get Instrument

When the user asks to "get instrument details", "show instrument info", "what are the details for AAPL", or wants to see details for a specific instrument:

Required parameters:

  • --symbol: The ticker symbol (e.g., AAPL, BTC)

Optional parameters:

  • --type: Instrument type (EQUITY, OPTION, CRYPTO). Defaults to EQUITY.

Examples:

Get equity instrument details:

python3 scripts/get_instrument.py --symbol AAPL

Get crypto instrument details:

python3 scripts/get_instrument.py --symbol BTC --type CRYPTO

Workflow:

  1. Parse the user's request for the symbol and optional type.
  2. Execute: python3 scripts/get_instrument.py --symbol [SYMBOL] [--type TYPE]
  3. Report the instrument details (trading status, fractional trading, option trading) back to the user.

Get Option Expirations

This skill CAN list all available option expiration dates for any symbol.

When the user asks to "get option expirations", "list expirations", "show expiration dates", "when do options expire", or wants to know what option expiration dates are available for a stock:

  1. Execute python3 scripts/get_option_expirations.py [SYMBOL]
  2. Report the available expiration dates to the user.

Common user phrasings:

  • "get option expirations for AAPL"
  • "what are the option expiration dates for Google"
  • "when do TSLA options expire"
  • "show me expiration dates for SPY options"
  • "list available expirations for MSFT"
  • "can you get the options expirations for Apple"
  • "what options dates are available for NVDA"

Required parameters:

  • symbol: The underlying symbol (e.g., AAPL, GOOGL, TSLA, SPY). Convert company names to ticker symbols.

Examples:

python3 scripts/get_option_expirations.py AAPL
python3 scripts/get_option_expirations.py GOOGL
python3 scripts/get_option_expirations.py TSLA
python3 scripts/get_option_expirations.py SPY

Common company name to symbol mappings:

  • Apple = AAPL
  • Google/Alphabet = GOOGL
  • Tesla = TSLA
  • Microsoft = MSFT
  • Amazon = AMZN
  • Nvidia = NVDA
  • Meta/Facebook = META

Workflow:

  1. Extract the symbol from the user's request. Convert company names to ticker symbols.
  2. Execute: python3 scripts/get_option_expirations.py [SYMBOL]
  3. Report the available expiration dates to the user.
  4. If they want to see the option chain next, use the expiration date with get_option_chain.py.

Get Option Greeks

When the user asks for "option greeks", "delta", "gamma", "theta", "vega", or wants to analyze options:

Required parameters:

  • One or more OSI option symbols (e.g., AAPL260116C00270000)

OSI Symbol Format:

AAPL260116C00270000
^^^^------^--------
|   |     |  Strike price ($270.00)
|   |     Call (C) or Put (P)
|   Expiration (Jan 16, 2026 = 260116)
Underlying symbol

Examples:

Single option:

python3 scripts/get_option_greeks.py AAPL260116C00270000

Multiple options (e.g., call and put at same strike):

python3 scripts/get_option_greeks.py AAPL260116C00270000 AAPL260116P00270000

Workflow:

  1. Help the user construct the OSI symbol if they provide expiration, strike, and call/put separately.
  2. Execute: python3 scripts/get_option_greeks.py [OSI_SYMBOLS...]
  3. Report the greeks (Delta, Gamma, Theta, Vega, Rho, IV) back to the user with explanations if needed.

Get Option Chain

When the user asks for "option chain", "options for AAPL", "show me calls and puts", or wants


Content truncated.

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

9521,094

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

846846

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

571699

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

548492

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

673466

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

514280

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.