{
  "schemaVersion": "1.0",
  "item": {
    "slug": "claw-skill-public-dot-com",
    "name": "public-dot-com",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/tarricsookdeo/claw-skill-public-dot-com",
    "canonicalUrl": "https://clawhub.ai/tarricsookdeo/claw-skill-public-dot-com",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/claw-skill-public-dot-com",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=claw-skill-public-dot-com",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "options-automation-library.md",
      "requirements.txt",
      "scripts/cancel_order.py",
      "scripts/config.py",
      "scripts/get_accounts.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/claw-skill-public-dot-com"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/claw-skill-public-dot-com",
    "agentPageUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com/agent",
    "manifestUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Public.com Account Manager",
        "body": "Disclaimer: For illustrative and informational purposes only. Not investment advice or recommendations.\nWe recommend running this skill in as isolated of an instance as possible. If possible, test the integration on a new Public account as well.\n\nThis skill allows users to interact with their Public.com brokerage account."
      },
      {
        "title": "Prerequisites",
        "body": "Python 3.8+ and pip — Required in your OpenClaw environment.\nPublic.com account — Create one at https://public.com/signup\nPublic.com API key — Get one at https://public.com/settings/v2/api\n\nThe publicdotcom-py SDK is required. It will be auto-installed on first run, or you can install manually:\n\npip install publicdotcom-py"
      },
      {
        "title": "Configuration",
        "body": "This skill uses two environment variables: PUBLIC_COM_SECRET (required) and PUBLIC_COM_ACCOUNT_ID (optional). Each is resolved in the following order:\n\nSecure file — ~/.openclaw/workspace/.secrets/public_com_secret.txt (or public_com_account.txt)\nEnvironment variable — PUBLIC_COM_SECRET / PUBLIC_COM_ACCOUNT_ID\n\nSetting a value via openclaw config set writes to the secure file location automatically."
      },
      {
        "title": "API Secret (Required)",
        "body": "If PUBLIC_COM_SECRET is not set:\n\nTell 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.\"\nOnce provided, save it: openclaw config set skills.publicdotcom.PUBLIC_COM_SECRET [VALUE]"
      },
      {
        "title": "Default Account ID (Optional)",
        "body": "If the user wants to set a default account for all requests:\n\nSave it: openclaw config set skills.publicdotcom.PUBLIC_COM_ACCOUNT_ID [VALUE]\nThis eliminates the need to specify --account-id on each command."
      },
      {
        "title": "Get Accounts",
        "body": "When the user asks to \"get my accounts\", \"list accounts\", or \"show my Public.com accounts\":\n\nExecute python3 scripts/get_accounts.py\nReport the account IDs and types back to the user."
      },
      {
        "title": "Get Portfolio",
        "body": "When the user asks to \"get my portfolio\", \"show my holdings\", or \"what's in my account\":\n\nIf PUBLIC_COM_ACCOUNT_ID is set, execute python3 scripts/get_portfolio.py (no arguments needed).\nIf not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.\nExecute python3 scripts/get_portfolio.py --account-id [ACCOUNT_ID]\nReport the portfolio summary (equity, buying power, positions) back to the user."
      },
      {
        "title": "Get Orders",
        "body": "When the user asks to \"get my orders\", \"show my orders\", \"active orders\", or \"pending orders\":\n\nIf PUBLIC_COM_ACCOUNT_ID is set, execute python3 scripts/get_orders.py (no arguments needed).\nIf not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.\nExecute python3 scripts/get_orders.py --account-id [ACCOUNT_ID]\nReport the active orders with their details (symbol, side, type, status, quantity, prices) back to the user."
      },
      {
        "title": "Get History",
        "body": "When the user asks to \"get my history\", \"show my transactions\", \"transaction history\", \"trade history\", or wants to see past account activity:\n\nOptional parameters:\n\n--type: Filter by transaction type (TRADE, MONEY_MOVEMENT, POSITION_ADJUSTMENT)\n--limit: Limit the number of transactions returned\n\nExamples:\n\nGet all transaction history:\n\npython3 scripts/get_history.py\n\nGet only trades:\n\npython3 scripts/get_history.py --type TRADE\n\nGet only money movements (deposits, withdrawals, dividends, fees):\n\npython3 scripts/get_history.py --type MONEY_MOVEMENT\n\nGet last 10 transactions:\n\npython3 scripts/get_history.py --limit 10\n\nWith explicit account ID:\n\npython3 scripts/get_history.py --account-id YOUR_ACCOUNT_ID\n\nWorkflow:\n\nIf 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.\nExecute: python3 scripts/get_history.py [OPTIONS]\nReport the transaction history grouped by type (Trades, Money Movements, Position Adjustments).\nInclude relevant details like symbol, quantity, net amount, fees, and timestamps.\n\nTransaction Types:\n\nTRADE: Buy/sell transactions for equities, options, and crypto\nMONEY_MOVEMENT: Deposits, withdrawals, dividends, fees, and cash adjustments\nPOSITION_ADJUSTMENT: Stock splits, mergers, and other position changes"
      },
      {
        "title": "Get Quotes",
        "body": "When the user asks to \"get a quote\", \"what's the price of\", \"check the price\", or wants stock/crypto prices:\n\nFormat: SYMBOL or SYMBOL:TYPE (TYPE defaults to EQUITY)\n\nExamples:\n\nSingle equity quote (uses default account):\n\npython3 scripts/get_quotes.py AAPL\n\nMultiple equity quotes:\n\npython3 scripts/get_quotes.py AAPL GOOGL MSFT\n\nMixed instrument types:\n\npython3 scripts/get_quotes.py AAPL:EQUITY BTC:CRYPTO\n\nOption quote:\n\npython3 scripts/get_quotes.py AAPL260320C00280000:OPTION\n\nWith explicit account ID:\n\npython3 scripts/get_quotes.py AAPL --account-id YOUR_ACCOUNT_ID\n\nWorkflow:\n\nIf 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.\nParse the user's request for symbol(s) and type(s).\nExecute: python3 scripts/get_quotes.py [SYMBOLS...] [--account-id ACCOUNT_ID]\nReport the quote information (last price, bid, ask, volume, etc.) back to the user."
      },
      {
        "title": "Get Instruments",
        "body": "When the user asks to \"list instruments\", \"what can I trade\", \"show available stocks\", or wants to see tradeable instruments:\n\nOptional parameters:\n\n--type: Instrument types to filter (EQUITY, OPTION, CRYPTO). Defaults to EQUITY.\n--trading: Trading status filter (BUY_AND_SELL, BUY_ONLY, SELL_ONLY, NOT_TRADABLE)\n--search: Search by symbol or name\n--limit: Limit number of results\n\nExamples:\n\nList all equities (default):\n\npython3 scripts/get_instruments.py\n\nList equities and crypto:\n\npython3 scripts/get_instruments.py --type EQUITY CRYPTO\n\nList only tradeable instruments:\n\npython3 scripts/get_instruments.py --type EQUITY --trading BUY_AND_SELL\n\nSearch for specific instruments:\n\npython3 scripts/get_instruments.py --search AAPL\n\nLimit results:\n\npython3 scripts/get_instruments.py --limit 50\n\nWorkflow:\n\nParse the user's request for any filters (type, trading status, search term).\nExecute: python3 scripts/get_instruments.py [OPTIONS]\nReport the available instruments with their trading status back to the user."
      },
      {
        "title": "Get Instrument",
        "body": "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:\n\nRequired parameters:\n\n--symbol: The ticker symbol (e.g., AAPL, BTC)\n\nOptional parameters:\n\n--type: Instrument type (EQUITY, OPTION, CRYPTO). Defaults to EQUITY.\n\nExamples:\n\nGet equity instrument details:\n\npython3 scripts/get_instrument.py --symbol AAPL\n\nGet crypto instrument details:\n\npython3 scripts/get_instrument.py --symbol BTC --type CRYPTO\n\nWorkflow:\n\nParse the user's request for the symbol and optional type.\nExecute: python3 scripts/get_instrument.py --symbol [SYMBOL] [--type TYPE]\nReport the instrument details (trading status, fractional trading, option trading) back to the user."
      },
      {
        "title": "Get Option Expirations",
        "body": "This skill CAN list all available option expiration dates for any symbol.\n\nWhen 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:\n\nExecute python3 scripts/get_option_expirations.py [SYMBOL]\nReport the available expiration dates to the user.\n\nCommon user phrasings:\n\n\"get option expirations for AAPL\"\n\"what are the option expiration dates for Google\"\n\"when do TSLA options expire\"\n\"show me expiration dates for SPY options\"\n\"list available expirations for MSFT\"\n\"can you get the options expirations for Apple\"\n\"what options dates are available for NVDA\"\n\nRequired parameters:\n\nsymbol: The underlying symbol (e.g., AAPL, GOOGL, TSLA, SPY). Convert company names to ticker symbols.\n\nExamples:\n\npython3 scripts/get_option_expirations.py AAPL\npython3 scripts/get_option_expirations.py GOOGL\npython3 scripts/get_option_expirations.py TSLA\npython3 scripts/get_option_expirations.py SPY\n\nCommon company name to symbol mappings:\n\nApple = AAPL\nGoogle/Alphabet = GOOGL\nTesla = TSLA\nMicrosoft = MSFT\nAmazon = AMZN\nNvidia = NVDA\nMeta/Facebook = META\n\nWorkflow:\n\nExtract the symbol from the user's request. Convert company names to ticker symbols.\nExecute: python3 scripts/get_option_expirations.py [SYMBOL]\nReport the available expiration dates to the user.\nIf they want to see the option chain next, use the expiration date with get_option_chain.py."
      },
      {
        "title": "Get Option Greeks",
        "body": "When the user asks for \"option greeks\", \"delta\", \"gamma\", \"theta\", \"vega\", or wants to analyze options:\n\nRequired parameters:\n\nOne or more OSI option symbols (e.g., AAPL260116C00270000)\n\nOSI Symbol Format:\n\nAAPL260116C00270000\n^^^^------^--------\n|   |     |  Strike price ($270.00)\n|   |     Call (C) or Put (P)\n|   Expiration (Jan 16, 2026 = 260116)\nUnderlying symbol\n\nExamples:\n\nSingle option:\n\npython3 scripts/get_option_greeks.py AAPL260116C00270000\n\nMultiple options (e.g., call and put at same strike):\n\npython3 scripts/get_option_greeks.py AAPL260116C00270000 AAPL260116P00270000\n\nWorkflow:\n\nHelp the user construct the OSI symbol if they provide expiration, strike, and call/put separately.\nExecute: python3 scripts/get_option_greeks.py [OSI_SYMBOLS...]\nReport the greeks (Delta, Gamma, Theta, Vega, Rho, IV) back to the user with explanations if needed."
      },
      {
        "title": "Get Option Chain",
        "body": "When the user asks for \"option chain\", \"options for AAPL\", \"show me calls and puts\", or wants to see available options:\n\nRequired parameters:\n\nsymbol: The underlying symbol (e.g., AAPL)\n\nOptional parameters:\n\n--expiration: Expiration date (YYYY-MM-DD). If not provided, uses the nearest expiration.\n--list-expirations: List available expiration dates instead of fetching the chain.\n\nExamples:\n\nList available expirations:\n\npython3 scripts/get_option_chain.py AAPL --list-expirations\n\nGet option chain for nearest expiration:\n\npython3 scripts/get_option_chain.py AAPL\n\nGet option chain for specific expiration:\n\npython3 scripts/get_option_chain.py AAPL --expiration 2026-03-20\n\nWorkflow:\n\nIf the user doesn't specify an expiration, first run with --list-expirations to show available dates.\nExecute: python3 scripts/get_option_chain.py [SYMBOL] [--expiration DATE]\nReport the calls and puts with strike prices, bid/ask, last price, volume, and open interest."
      },
      {
        "title": "Set Default Account",
        "body": "When the user asks to \"set my default account\" or \"use account X as default\":\n\nSave it: openclaw config set skills.publicdotcom.PUBLIC_COM_ACCOUNT_ID [ACCOUNT_ID]\nConfirm to the user that future requests will use this account by default."
      },
      {
        "title": "Preflight Calculation",
        "body": "When the user asks to \"estimate order cost\", \"preflight an order\", \"what would it cost to buy\", \"check buying power impact\", or wants to see the estimated cost and account impact before placing an order:\n\nRequired parameters:\n\n--symbol: The ticker symbol (e.g., AAPL, BTC, or option symbol like NVDA260213P00177500)\n--type: EQUITY, OPTION, or CRYPTO\n--side: BUY or SELL\n--order-type: LIMIT, MARKET, STOP, or STOP_LIMIT\n--quantity OR --amount: Number of shares/contracts OR notional dollar amount\n\nConditional parameters:\n\n--limit-price: Required for LIMIT and STOP_LIMIT orders\n--stop-price: Required for STOP and STOP_LIMIT orders\n--session: CORE (default) or EXTENDED for equity orders\n--open-close: OPEN or CLOSE for options orders (OPEN to open a new position, CLOSE to close existing)\n--time-in-force: DAY (default) or GTC (Good Till Cancelled)\n\nExamples:\n\nEquity limit buy preflight:\n\npython3 scripts/preflight.py --symbol AAPL --type EQUITY --side BUY --order-type LIMIT --quantity 10 --limit-price 227.50\n\nEquity market sell preflight:\n\npython3 scripts/preflight.py --symbol AAPL --type EQUITY --side SELL --order-type MARKET --quantity 10\n\nCrypto buy by amount preflight:\n\npython3 scripts/preflight.py --symbol BTC --type CRYPTO --side BUY --order-type MARKET --amount 100\n\nOption contract buy preflight (opening a new position):\n\npython3 scripts/preflight.py --symbol NVDA260213P00177500 --type OPTION --side BUY --order-type LIMIT --quantity 1 --limit-price 4.00 --open-close OPEN\n\nOption contract sell preflight (closing a position):\n\npython3 scripts/preflight.py --symbol NVDA260213P00177500 --type OPTION --side SELL --order-type LIMIT --quantity 1 --limit-price 5.00 --open-close CLOSE\n\nWorkflow:\n\nGather the order parameters from the user (symbol, type, side, order type, quantity/amount, prices if needed).\nExecute: python3 scripts/preflight.py [OPTIONS]\nReport the estimated cost, buying power impact, and any fees to the user.\nIf the user wants to proceed, use the place_order.py script with the same parameters."
      },
      {
        "title": "Place Order",
        "body": "When the user asks to \"buy\", \"sell\", \"place an order\", or \"trade\":\n\nRequired parameters:\n\n--symbol: The ticker symbol (e.g., AAPL, BTC)\n--type: EQUITY, OPTION, or CRYPTO\n--side: BUY or SELL\n--order-type: LIMIT, MARKET, STOP, or STOP_LIMIT\n--quantity OR --amount: Number of shares OR notional dollar amount\n\nConditional parameters:\n\n--limit-price: Required for LIMIT and STOP_LIMIT orders\n--stop-price: Required for STOP and STOP_LIMIT orders\n--session: CORE (default) or EXTENDED for equity orders\n--open-close: OPEN or CLOSE for options orders\n--time-in-force: DAY (default) or GTC (Good Till Cancelled)\n\nExamples:\n\nBuy 10 shares of AAPL at limit price $227.50:\n\npython3 scripts/place_order.py --symbol AAPL --type EQUITY --side BUY --order-type LIMIT --quantity 10 --limit-price 227.50\n\nSell $500 worth of AAPL at market price:\n\npython3 scripts/place_order.py --symbol AAPL --type EQUITY --side SELL --order-type MARKET --amount 500\n\nBuy crypto with extended hours:\n\npython3 scripts/place_order.py --symbol BTC --type CRYPTO --side BUY --order-type MARKET --amount 100\n\nBuy with Good Till Cancelled (GTC) order:\n\npython3 scripts/place_order.py --symbol AAPL --type EQUITY --side BUY --order-type LIMIT --quantity 10 --limit-price 220.00 --time-in-force GTC\n\nWorkflow:\n\nGather all required information from the user (symbol, side, order type, quantity/amount, prices if needed).\nConfirm the order details with the user before executing.\nExecute: python3 scripts/place_order.py [OPTIONS]\nReport the order ID and confirmation back to the user.\nRemind user that order placement is asynchronous - they can check status later."
      },
      {
        "title": "Cancel Order",
        "body": "When the user asks to \"cancel order\", \"cancel my order\", or wants to cancel a specific order:\n\nRequired parameters:\n\n--order-id: The order ID to cancel\n\nExample:\n\npython3 scripts/cancel_order.py --order-id 345d3e58-5ba3-401a-ac89-1b756332cc94\n\nWith explicit account ID:\n\npython3 scripts/cancel_order.py --order-id 345d3e58-5ba3-401a-ac89-1b756332cc94 --account-id YOUR_ACCOUNT_ID\n\nWorkflow:\n\nIf the user doesn't provide an order ID, first run get_orders.py to show them their active orders.\nConfirm with the user which order they want to cancel.\nExecute: python3 scripts/cancel_order.py --order-id [ORDER_ID]\nInform the user that cancellation is asynchronous - they should check order status to confirm."
      },
      {
        "title": "Options Strategy Guidance",
        "body": "When the user asks about options strategies, how to automate a strategy, which strategy to use for a given scenario, or wants help constructing multi-leg options trades:\n\nRead the file options-automation-library.md (located in the same directory as this skill) for detailed strategy context.\nThis library contains 35+ options strategies organized by category:\n\nSingle-leg strategies: Long Call, Long Put, Covered Call, Cash-Secured Put\nVertical spreads: Bull Call, Bear Call, Bull Put, Bear Put\nCalendar & diagonal spreads: Long Calendar, Diagonal Spread\nStraddles & strangles: Long/Short Straddle, Long/Short Strangle\nComplex spreads: Iron Condor, Iron Butterfly, Broken-Wing Butterfly, Jade Lizard, Christmas Tree\nSynthetic positions: Synthetic Long/Short, Synthetic Covered Call, Conversion/Reversal\nIncome strategies: Wheel, Poor Man's Covered Call, Ratio Spreads\nAdvanced/quant strategies: Box Spread, Risk Reversal, Hedged Iron Fly, Vol Arb, Calendar Strangles\nEvent-driven workflows: Earnings IV Crush, Pre-Market IV Expansion, Post-Earnings Drift, Macro/OPEX Gamma\n\n\nEach strategy includes: description, use case with event examples, where the strategy breaks, API workflow steps, and code examples using the Public.com SDK.\nUse the shared SDK helpers (Setup, Market Data, Preflight, Multi-leg order helpers) from the library when constructing code examples.\nWhen recommending a strategy, always include the \"Where This Strategy Breaks\" context so the user understands the risks.\nFor executable trades, map the library's code patterns to the actual scripts available in this skill (e.g., get_option_chain.py, get_option_expirations.py, preflight.py, place_order.py)."
      }
    ],
    "body": "Public.com Account Manager\n\nDisclaimer: For illustrative and informational purposes only. Not investment advice or recommendations.\n\nWe recommend running this skill in as isolated of an instance as possible. If possible, test the integration on a new Public account as well.\n\nThis skill allows users to interact with their Public.com brokerage account.\n\nPrerequisites\nPython 3.8+ and pip — Required in your OpenClaw environment.\nPublic.com account — Create one at https://public.com/signup\nPublic.com API key — Get one at https://public.com/settings/v2/api\n\nThe publicdotcom-py SDK is required. It will be auto-installed on first run, or you can install manually:\n\npip install publicdotcom-py\n\nConfiguration\n\nThis skill uses two environment variables: PUBLIC_COM_SECRET (required) and PUBLIC_COM_ACCOUNT_ID (optional). Each is resolved in the following order:\n\nSecure file — ~/.openclaw/workspace/.secrets/public_com_secret.txt (or public_com_account.txt)\nEnvironment variable — PUBLIC_COM_SECRET / PUBLIC_COM_ACCOUNT_ID\n\nSetting a value via openclaw config set writes to the secure file location automatically.\n\nAPI Secret (Required)\n\nIf PUBLIC_COM_SECRET is not set:\n\nTell 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.\"\nOnce provided, save it: openclaw config set skills.publicdotcom.PUBLIC_COM_SECRET [VALUE]\nDefault Account ID (Optional)\n\nIf the user wants to set a default account for all requests:\n\nSave it: openclaw config set skills.publicdotcom.PUBLIC_COM_ACCOUNT_ID [VALUE]\nThis eliminates the need to specify --account-id on each command.\nAvailable Commands\nGet Accounts\n\nWhen the user asks to \"get my accounts\", \"list accounts\", or \"show my Public.com accounts\":\n\nExecute python3 scripts/get_accounts.py\nReport the account IDs and types back to the user.\nGet Portfolio\n\nWhen the user asks to \"get my portfolio\", \"show my holdings\", or \"what's in my account\":\n\nIf PUBLIC_COM_ACCOUNT_ID is set, execute python3 scripts/get_portfolio.py (no arguments needed).\nIf not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.\nExecute python3 scripts/get_portfolio.py --account-id [ACCOUNT_ID]\nReport the portfolio summary (equity, buying power, positions) back to the user.\nGet Orders\n\nWhen the user asks to \"get my orders\", \"show my orders\", \"active orders\", or \"pending orders\":\n\nIf PUBLIC_COM_ACCOUNT_ID is set, execute python3 scripts/get_orders.py (no arguments needed).\nIf not set and you don't know the user's account ID, first run get_accounts.py to retrieve it.\nExecute python3 scripts/get_orders.py --account-id [ACCOUNT_ID]\nReport the active orders with their details (symbol, side, type, status, quantity, prices) back to the user.\nGet History\n\nWhen the user asks to \"get my history\", \"show my transactions\", \"transaction history\", \"trade history\", or wants to see past account activity:\n\nOptional parameters:\n\n--type: Filter by transaction type (TRADE, MONEY_MOVEMENT, POSITION_ADJUSTMENT)\n--limit: Limit the number of transactions returned\n\nExamples:\n\nGet all transaction history:\n\npython3 scripts/get_history.py\n\n\nGet only trades:\n\npython3 scripts/get_history.py --type TRADE\n\n\nGet only money movements (deposits, withdrawals, dividends, fees):\n\npython3 scripts/get_history.py --type MONEY_MOVEMENT\n\n\nGet last 10 transactions:\n\npython3 scripts/get_history.py --limit 10\n\n\nWith explicit account ID:\n\npython3 scripts/get_history.py --account-id YOUR_ACCOUNT_ID\n\n\nWorkflow:\n\nIf 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.\nExecute: python3 scripts/get_history.py [OPTIONS]\nReport the transaction history grouped by type (Trades, Money Movements, Position Adjustments).\nInclude relevant details like symbol, quantity, net amount, fees, and timestamps.\n\nTransaction Types:\n\nTRADE: Buy/sell transactions for equities, options, and crypto\nMONEY_MOVEMENT: Deposits, withdrawals, dividends, fees, and cash adjustments\nPOSITION_ADJUSTMENT: Stock splits, mergers, and other position changes\nGet Quotes\n\nWhen the user asks to \"get a quote\", \"what's the price of\", \"check the price\", or wants stock/crypto prices:\n\nFormat: SYMBOL or SYMBOL:TYPE (TYPE defaults to EQUITY)\n\nExamples:\n\nSingle equity quote (uses default account):\n\npython3 scripts/get_quotes.py AAPL\n\n\nMultiple equity quotes:\n\npython3 scripts/get_quotes.py AAPL GOOGL MSFT\n\n\nMixed instrument types:\n\npython3 scripts/get_quotes.py AAPL:EQUITY BTC:CRYPTO\n\n\nOption quote:\n\npython3 scripts/get_quotes.py AAPL260320C00280000:OPTION\n\n\nWith explicit account ID:\n\npython3 scripts/get_quotes.py AAPL --account-id YOUR_ACCOUNT_ID\n\n\nWorkflow:\n\nIf 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.\nParse the user's request for symbol(s) and type(s).\nExecute: python3 scripts/get_quotes.py [SYMBOLS...] [--account-id ACCOUNT_ID]\nReport the quote information (last price, bid, ask, volume, etc.) back to the user.\nGet Instruments\n\nWhen the user asks to \"list instruments\", \"what can I trade\", \"show available stocks\", or wants to see tradeable instruments:\n\nOptional parameters:\n\n--type: Instrument types to filter (EQUITY, OPTION, CRYPTO). Defaults to EQUITY.\n--trading: Trading status filter (BUY_AND_SELL, BUY_ONLY, SELL_ONLY, NOT_TRADABLE)\n--search: Search by symbol or name\n--limit: Limit number of results\n\nExamples:\n\nList all equities (default):\n\npython3 scripts/get_instruments.py\n\n\nList equities and crypto:\n\npython3 scripts/get_instruments.py --type EQUITY CRYPTO\n\n\nList only tradeable instruments:\n\npython3 scripts/get_instruments.py --type EQUITY --trading BUY_AND_SELL\n\n\nSearch for specific instruments:\n\npython3 scripts/get_instruments.py --search AAPL\n\n\nLimit results:\n\npython3 scripts/get_instruments.py --limit 50\n\n\nWorkflow:\n\nParse the user's request for any filters (type, trading status, search term).\nExecute: python3 scripts/get_instruments.py [OPTIONS]\nReport the available instruments with their trading status back to the user.\nGet Instrument\n\nWhen 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:\n\nRequired parameters:\n\n--symbol: The ticker symbol (e.g., AAPL, BTC)\n\nOptional parameters:\n\n--type: Instrument type (EQUITY, OPTION, CRYPTO). Defaults to EQUITY.\n\nExamples:\n\nGet equity instrument details:\n\npython3 scripts/get_instrument.py --symbol AAPL\n\n\nGet crypto instrument details:\n\npython3 scripts/get_instrument.py --symbol BTC --type CRYPTO\n\n\nWorkflow:\n\nParse the user's request for the symbol and optional type.\nExecute: python3 scripts/get_instrument.py --symbol [SYMBOL] [--type TYPE]\nReport the instrument details (trading status, fractional trading, option trading) back to the user.\nGet Option Expirations\n\nThis skill CAN list all available option expiration dates for any symbol.\n\nWhen 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:\n\nExecute python3 scripts/get_option_expirations.py [SYMBOL]\nReport the available expiration dates to the user.\n\nCommon user phrasings:\n\n\"get option expirations for AAPL\"\n\"what are the option expiration dates for Google\"\n\"when do TSLA options expire\"\n\"show me expiration dates for SPY options\"\n\"list available expirations for MSFT\"\n\"can you get the options expirations for Apple\"\n\"what options dates are available for NVDA\"\n\nRequired parameters:\n\nsymbol: The underlying symbol (e.g., AAPL, GOOGL, TSLA, SPY). Convert company names to ticker symbols.\n\nExamples:\n\npython3 scripts/get_option_expirations.py AAPL\npython3 scripts/get_option_expirations.py GOOGL\npython3 scripts/get_option_expirations.py TSLA\npython3 scripts/get_option_expirations.py SPY\n\n\nCommon company name to symbol mappings:\n\nApple = AAPL\nGoogle/Alphabet = GOOGL\nTesla = TSLA\nMicrosoft = MSFT\nAmazon = AMZN\nNvidia = NVDA\nMeta/Facebook = META\n\nWorkflow:\n\nExtract the symbol from the user's request. Convert company names to ticker symbols.\nExecute: python3 scripts/get_option_expirations.py [SYMBOL]\nReport the available expiration dates to the user.\nIf they want to see the option chain next, use the expiration date with get_option_chain.py.\nGet Option Greeks\n\nWhen the user asks for \"option greeks\", \"delta\", \"gamma\", \"theta\", \"vega\", or wants to analyze options:\n\nRequired parameters:\n\nOne or more OSI option symbols (e.g., AAPL260116C00270000)\n\nOSI Symbol Format:\n\nAAPL260116C00270000\n^^^^------^--------\n|   |     |  Strike price ($270.00)\n|   |     Call (C) or Put (P)\n|   Expiration (Jan 16, 2026 = 260116)\nUnderlying symbol\n\n\nExamples:\n\nSingle option:\n\npython3 scripts/get_option_greeks.py AAPL260116C00270000\n\n\nMultiple options (e.g., call and put at same strike):\n\npython3 scripts/get_option_greeks.py AAPL260116C00270000 AAPL260116P00270000\n\n\nWorkflow:\n\nHelp the user construct the OSI symbol if they provide expiration, strike, and call/put separately.\nExecute: python3 scripts/get_option_greeks.py [OSI_SYMBOLS...]\nReport the greeks (Delta, Gamma, Theta, Vega, Rho, IV) back to the user with explanations if needed.\nGet Option Chain\n\nWhen the user asks for \"option chain\", \"options for AAPL\", \"show me calls and puts\", or wants to see available options:\n\nRequired parameters:\n\nsymbol: The underlying symbol (e.g., AAPL)\n\nOptional parameters:\n\n--expiration: Expiration date (YYYY-MM-DD). If not provided, uses the nearest expiration.\n--list-expirations: List available expiration dates instead of fetching the chain.\n\nExamples:\n\nList available expirations:\n\npython3 scripts/get_option_chain.py AAPL --list-expirations\n\n\nGet option chain for nearest expiration:\n\npython3 scripts/get_option_chain.py AAPL\n\n\nGet option chain for specific expiration:\n\npython3 scripts/get_option_chain.py AAPL --expiration 2026-03-20\n\n\nWorkflow:\n\nIf the user doesn't specify an expiration, first run with --list-expirations to show available dates.\nExecute: python3 scripts/get_option_chain.py [SYMBOL] [--expiration DATE]\nReport the calls and puts with strike prices, bid/ask, last price, volume, and open interest.\nSet Default Account\n\nWhen the user asks to \"set my default account\" or \"use account X as default\":\n\nSave it: openclaw config set skills.publicdotcom.PUBLIC_COM_ACCOUNT_ID [ACCOUNT_ID]\nConfirm to the user that future requests will use this account by default.\nPreflight Calculation\n\nWhen the user asks to \"estimate order cost\", \"preflight an order\", \"what would it cost to buy\", \"check buying power impact\", or wants to see the estimated cost and account impact before placing an order:\n\nRequired parameters:\n\n--symbol: The ticker symbol (e.g., AAPL, BTC, or option symbol like NVDA260213P00177500)\n--type: EQUITY, OPTION, or CRYPTO\n--side: BUY or SELL\n--order-type: LIMIT, MARKET, STOP, or STOP_LIMIT\n--quantity OR --amount: Number of shares/contracts OR notional dollar amount\n\nConditional parameters:\n\n--limit-price: Required for LIMIT and STOP_LIMIT orders\n--stop-price: Required for STOP and STOP_LIMIT orders\n--session: CORE (default) or EXTENDED for equity orders\n--open-close: OPEN or CLOSE for options orders (OPEN to open a new position, CLOSE to close existing)\n--time-in-force: DAY (default) or GTC (Good Till Cancelled)\n\nExamples:\n\nEquity limit buy preflight:\n\npython3 scripts/preflight.py --symbol AAPL --type EQUITY --side BUY --order-type LIMIT --quantity 10 --limit-price 227.50\n\n\nEquity market sell preflight:\n\npython3 scripts/preflight.py --symbol AAPL --type EQUITY --side SELL --order-type MARKET --quantity 10\n\n\nCrypto buy by amount preflight:\n\npython3 scripts/preflight.py --symbol BTC --type CRYPTO --side BUY --order-type MARKET --amount 100\n\n\nOption contract buy preflight (opening a new position):\n\npython3 scripts/preflight.py --symbol NVDA260213P00177500 --type OPTION --side BUY --order-type LIMIT --quantity 1 --limit-price 4.00 --open-close OPEN\n\n\nOption contract sell preflight (closing a position):\n\npython3 scripts/preflight.py --symbol NVDA260213P00177500 --type OPTION --side SELL --order-type LIMIT --quantity 1 --limit-price 5.00 --open-close CLOSE\n\n\nWorkflow:\n\nGather the order parameters from the user (symbol, type, side, order type, quantity/amount, prices if needed).\nExecute: python3 scripts/preflight.py [OPTIONS]\nReport the estimated cost, buying power impact, and any fees to the user.\nIf the user wants to proceed, use the place_order.py script with the same parameters.\nPlace Order\n\nWhen the user asks to \"buy\", \"sell\", \"place an order\", or \"trade\":\n\nRequired parameters:\n\n--symbol: The ticker symbol (e.g., AAPL, BTC)\n--type: EQUITY, OPTION, or CRYPTO\n--side: BUY or SELL\n--order-type: LIMIT, MARKET, STOP, or STOP_LIMIT\n--quantity OR --amount: Number of shares OR notional dollar amount\n\nConditional parameters:\n\n--limit-price: Required for LIMIT and STOP_LIMIT orders\n--stop-price: Required for STOP and STOP_LIMIT orders\n--session: CORE (default) or EXTENDED for equity orders\n--open-close: OPEN or CLOSE for options orders\n--time-in-force: DAY (default) or GTC (Good Till Cancelled)\n\nExamples:\n\nBuy 10 shares of AAPL at limit price $227.50:\n\npython3 scripts/place_order.py --symbol AAPL --type EQUITY --side BUY --order-type LIMIT --quantity 10 --limit-price 227.50\n\n\nSell $500 worth of AAPL at market price:\n\npython3 scripts/place_order.py --symbol AAPL --type EQUITY --side SELL --order-type MARKET --amount 500\n\n\nBuy crypto with extended hours:\n\npython3 scripts/place_order.py --symbol BTC --type CRYPTO --side BUY --order-type MARKET --amount 100\n\n\nBuy with Good Till Cancelled (GTC) order:\n\npython3 scripts/place_order.py --symbol AAPL --type EQUITY --side BUY --order-type LIMIT --quantity 10 --limit-price 220.00 --time-in-force GTC\n\n\nWorkflow:\n\nGather all required information from the user (symbol, side, order type, quantity/amount, prices if needed).\nConfirm the order details with the user before executing.\nExecute: python3 scripts/place_order.py [OPTIONS]\nReport the order ID and confirmation back to the user.\nRemind user that order placement is asynchronous - they can check status later.\nCancel Order\n\nWhen the user asks to \"cancel order\", \"cancel my order\", or wants to cancel a specific order:\n\nRequired parameters:\n\n--order-id: The order ID to cancel\n\nExample:\n\npython3 scripts/cancel_order.py --order-id 345d3e58-5ba3-401a-ac89-1b756332cc94\n\n\nWith explicit account ID:\n\npython3 scripts/cancel_order.py --order-id 345d3e58-5ba3-401a-ac89-1b756332cc94 --account-id YOUR_ACCOUNT_ID\n\n\nWorkflow:\n\nIf the user doesn't provide an order ID, first run get_orders.py to show them their active orders.\nConfirm with the user which order they want to cancel.\nExecute: python3 scripts/cancel_order.py --order-id [ORDER_ID]\nInform the user that cancellation is asynchronous - they should check order status to confirm.\nOptions Strategy Guidance\n\nWhen the user asks about options strategies, how to automate a strategy, which strategy to use for a given scenario, or wants help constructing multi-leg options trades:\n\nRead the file options-automation-library.md (located in the same directory as this skill) for detailed strategy context.\nThis library contains 35+ options strategies organized by category:\nSingle-leg strategies: Long Call, Long Put, Covered Call, Cash-Secured Put\nVertical spreads: Bull Call, Bear Call, Bull Put, Bear Put\nCalendar & diagonal spreads: Long Calendar, Diagonal Spread\nStraddles & strangles: Long/Short Straddle, Long/Short Strangle\nComplex spreads: Iron Condor, Iron Butterfly, Broken-Wing Butterfly, Jade Lizard, Christmas Tree\nSynthetic positions: Synthetic Long/Short, Synthetic Covered Call, Conversion/Reversal\nIncome strategies: Wheel, Poor Man's Covered Call, Ratio Spreads\nAdvanced/quant strategies: Box Spread, Risk Reversal, Hedged Iron Fly, Vol Arb, Calendar Strangles\nEvent-driven workflows: Earnings IV Crush, Pre-Market IV Expansion, Post-Earnings Drift, Macro/OPEX Gamma\nEach strategy includes: description, use case with event examples, where the strategy breaks, API workflow steps, and code examples using the Public.com SDK.\nUse the shared SDK helpers (Setup, Market Data, Preflight, Multi-leg order helpers) from the library when constructing code examples.\nWhen recommending a strategy, always include the \"Where This Strategy Breaks\" context so the user understands the risks.\nFor executable trades, map the library's code patterns to the actual scripts available in this skill (e.g., get_option_chain.py, get_option_expirations.py, preflight.py, place_order.py)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tarricsookdeo/claw-skill-public-dot-com",
    "publisherUrl": "https://clawhub.ai/tarricsookdeo/claw-skill-public-dot-com",
    "owner": "tarricsookdeo",
    "version": "0.1.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com",
    "downloadUrl": "https://openagent3.xyz/downloads/claw-skill-public-dot-com",
    "agentUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com/agent",
    "manifestUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/claw-skill-public-dot-com/agent.md"
  }
}