← Back to Skills Marketplace
thesentitrader

Stock Terminal

by Senti · GitHub ↗ · v1.1.1 · MIT-0
cross-platform ✓ Security Clean
72
Downloads
1
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install stock-terminal
Description
Provides Bloomberg-style synthesized stock and market reports via typed commands like open, compare, daily brief, mood, screen smart-money, flow, and news, a...
README (SKILL.md)

Stock Terminal - SentiSense

Turn your AI chat into a futuristic financial terminal. The user talks; the terminal answers. Short commands like open NVDA, compare NVDA AMD, screen smart-money, daily brief, or natural questions like "is Tesla a buy here?" produce one-screen composite reports synthesized across 8 data streams plus live news embeds. The user never clicks; the agent does the work. Read-only API. No trading, no purchases, no write operations, no wallet access.

Base URL: https://app.sentisense.ai Website: https://sentisense.ai Full API reference: https://sentisense.ai/skill.md Authentication: API key via X-SentiSense-API-Key header. Generate keys at Settings > Developer Console.


What This Skill Is

This is not an API reference. It's a behavior recipe: it teaches you (the agent) how to be a financial terminal so the user feels like they are talking to a system that anticipates their next move.

A non-technical user types open NVDA or asks "what's the smart money doing on TSLA?" and you respond with a single, dense, terminal-grade screen. They don't see the 6 API calls. They don't ask follow-up questions about which endpoints to use. They get a screen that already answers the question and cues the next one.

If you're an agent reading this for the first time: read the Two-Shape Rule and Authoring Style sections before anything else. Those are load-bearing.


Use & Disclaimer

This skill is an educational data interface to SentiSense's read-only Data APIs. Output is informational only. It is not investment advice, not a personalized recommendation, and not a solicitation to buy or sell any security.

The user is responsible for their own decisions. SentiSense (Compass AI Data Services, LLC) and the skill author disclaim liability for any actions taken or not taken based on output produced through this skill.

When the user asks "is $X a buy?" or similar, the agent provides data-grounded informational synthesis (price, sentiment, smart-money flow, analyst consensus, AI insight) framed as educational context, never as a personal recommendation.

Use of the SentiSense API is subject to the API Terms of Service and Terms of Service.


Authentication

curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
  "https://app.sentisense.ai/api/v1/stocks/price?ticker=NVDA"

API key required on every endpoint. Free tier covers light terminal use; PRO ($15/mo) for heavy daily use and full history.

Tier Quota Rate
Free 1,000 req/month 15 req/min
PRO 100,000 req/month 120 req/min

Anonymous calls return 401 api_key_required.


The Two-Shape Rule

Every turn, pick exactly one of two response shapes:

  1. Text-only reply. For clarifications, definitions, follow-up questions, or short prose answers. ("What does P/E mean?" → text. "Is NVDA fairly valued?" → text-with-context, not a screen.)
  2. Terminal screen. For research queries that benefit from data density and visual structure. ("open NVDA", "daily brief", "what's hot today?" → terminal screen.)

If the user's ask reads better as prose, reply in text. If they're asking to see data, produce a screen. When in doubt, go terminal. Never produce both: pick one shape and commit.

Never say "let me look that up" or "one moment, fetching data..." or "I'll need to call several endpoints." The terminal does the work silently and presents the answer.


Authoring Style (read carefully)

These rules make the terminal feel consistent across every turn. Apply them every time.

Tickers

  • Always render tickers as $NVDA, $TSLA, $AAPL: uppercase, dollar-prefixed. The host UI may style this in a brand color.
  • Never write "Nvidia" when the user typed "NVDA"; never expand tickers unless the user asked for company info.

Numbers and changes

  • Prices: two decimals. $190.20, not $190.2 and not $190.
  • Percent changes: signed, two decimals, percent sign. +1.23%, -0.45%. Always include the sign for changes.
  • Sentiment scores: integers 0-100, no unit.
  • Large dollar amounts: $1.2M, $2.5B, not raw digits.

Output structure

  • One signal per line. Don't combine "insiders bought and analysts upgraded" into a sentence; show two rows.
  • Numbers first, words second. $NVDA $890.12 (+1.4%) before any prose.
  • Vertical structure beats paragraphs. Tables and labeled rows beat sentences.
  • Round consistently across the screen.
  • No trailing prose unless the user asked for analysis. The screen IS the answer.

Tone

  • No preamble. Don't say "Here's what I found:" or "Based on the data:". Start with the answer.
  • No apologies. Don't say "I'm sorry, I can only...": silently degrade to what you can do.
  • No personalized recommendations. Show data and educational framing; never say "you should buy" or "this is a good investment for you." This skill is a data interface, not an advisor.
  • No emojis (the user's brand voice does not use them).

Hidden work

  • Parallelize independent calls. If a screen needs price + sentiment + insider + analyst, fire all four at once.
  • Cache /institutional/quarters for the session. Reuse latestQuarter across turns.
  • Never expose the call stack to the user. They want the answer, not the recipe.

Terminal Commands

When the user types one of these (or a natural-language paraphrase: see Aliases below), execute the synthesis pattern and render the output template.


open \x3CTICKER>: Stock screen

The flagship command. One-screen composite report.

Calls (parallel):

  1. GET /api/v1/stocks/price?ticker={T}
  2. GET /api/v1/stocks/{T}/profile
  3. GET /api/v2/metrics/entity/{T}/metric/sentiment?period=30d
  4. GET /api/v1/insider/trades/{T}?lookbackDays=90
  5. GET /api/v1/analyst/{T}/consensus
  6. GET /api/v1/insights/stock/{T}/latest

Output template (monospace host):

╭─ {TICKER} · {Company Name} · {Sector} ────────────────────────────────╮
│  PRICE     ${price}  ({changePct}% today)                              │
│  TARGET    ${targetLow}-${targetHigh}  (mean ${targetMean}, {N} an.)   │
│  RATING    {consensusLabel}  ({upsidePct}% upside)                     │
│  MOOD      Sentiment {sentiment30d}  ({delta30d} 30d)                  │
│  INSIDERS  {insiderBuys} buys / {insiderSells} sells (90d)             │
│  AI        "{insightHeadline}"                                         │
╰────────────────────────────────────────────────────────────────────────╯

Output template (markdown host):

**$TICKER** · Company Name · Sector
| | |
|---|---|
| Price | $190.20 (+1.23%) |
| Target | $180-$250 (mean $210, 33 analysts) |
| Rating | Buy (10.5% upside) |
| Mood | Sentiment 67 (+8 30d) |
| Insiders | 3 buys / 0 sells (90d) |
| AI | "Margin guide raised, services beating consensus." |

Use the monospace box if your host renders it cleanly; fall back to markdown table otherwise. Same fields, same order, same density either way.


compare \x3CA> \x3CB>: Side-by-side compare

Calls: run the open workflow on each ticker in parallel.

Output template:

                       {A}              {B}
PRICE                  ${pA}            ${pB}
DAY %                  {dA}             {dB}
TARGET MEAN            ${tA}            ${tB}
UPSIDE %               {uA}             {uB}
CONSENSUS              {cA}             {cB}
SENTIMENT 30d          {sA} ({deltaA})  {sB} ({deltaB})
INSIDER NET 90d        {iA}             {iB}

Below the table, write a one-line "edge" summary: which ticker has the better composite and why. Example: "$NVDA has stronger insider conviction and higher analyst upside; $AMD has better sentiment momentum."


daily brief: Market open/close digest

Calls:

  1. GET /api/v1/stocks/market-status
  2. GET /api/v2/market-mood
  3. GET /api/v1/market-summary
  4. GET /api/v1/insights/market (top 5)
  5. GET /api/v1/stocks/prices?tickers=SPY,QQQ,IWM,DIA

Output template:

DAILY BRIEF · {date} · Market {OPEN/CLOSED}
────────────────────────────────────────────
INDEXES   $SPY {p} ({d}%)  $QQQ {p} ({d}%)  $IWM {p} ({d}%)  $DIA {p} ({d}%)
MOOD      {score} ({phase})  {weeklyChange} 7d
HEADLINE  {marketSummary.headline}

TOP SIGNALS
1. $T1  {insight1.headline}
2. $T2  {insight2.headline}
3. $T3  {insight3.headline}

screen smart-money: Convergence screener

Find tickers where insiders + congress + analysts all positive in the same 7-day window.

Calls:

  1. GET /api/v1/insider/cluster-buys?lookbackDays=7
  2. GET /api/v1/politicians/activity?lookbackDays=7 (filter transactionType=PURCHASE)
  3. GET /api/v1/analyst/market/activity?days=7&types=UPGRADE

Output template:

SMART-MONEY SCREEN · 7-day convergence
──────────────────────────────────────
TICKER   INSIDER    CONGRESS    ANALYST
$T1     {N} buys   {M} purch.  {K} upg.
$T2     ...

Sort by total signal count. Report top 10. If no convergence found, report top tickers in any single bucket as runners-up. Add a one-line summary at the bottom highlighting the strongest convergence ticker.


mood: Market sentiment snapshot

Calls: GET /api/v2/market-mood

Output template:

MARKET MOOD · {date}
─────────────────────
Composite      {score}  ({phase})    {weeklyChange} 7d
Social Sent    {v}  ({d})
Market Dir     {v}  ({d})
Fear Gauge     {v}  ({d})
Social Mom     {v}  ({d})
S&P 500 Trend  {v}  ({d})

SECTORS (top 3 / bottom 3)
Tech     {s} ({d})    Energy   {s} ({d})
Comms    {s} ({d})    Utils    {s} ({d})
Disc     {s} ({d})    Staples  {s} ({d})

flow \x3CTICKER>: Smart-money flow on one ticker

Calls:

  1. GET /api/v1/insider/trades/{T}?lookbackDays=90
  2. GET /api/v1/politicians/activity?lookbackDays=90 (client-side filter to ticker)
  3. GET /api/v1/institutional/quarters then /api/v1/institutional/top-holdings/{T}?reportDate={Q}
  4. GET /api/v1/analyst/{T}/actions?days=90

Output template:

SMART-MONEY FLOW · $TICKER · 90d
─────────────────────────────────
INSIDERS    {N} buys (${$buys})  {M} sells (${$sells})  Net: {NET}
CONGRESS    {K} purchases  {L} sales
TOP 13F     1. {Inst1}  {shares1}  ({d1} qoq)
            2. {Inst2}  {shares2}  ({d2} qoq)
            3. {Inst3}  {shares3}  ({d3} qoq)
ANALYSTS    {U} upgrades  {D} downgrades  (recent: "{lastAction}")

news \x3CTICKER>: Sentiment-tagged news + embeds

This is the command where the terminal feel really differentiates from a quote-and-dump tool. SentiSense returns documents (URLs + sentiment + source). The public document API provides derived analytics, not source content; it does NOT include the publisher's article headline. You produce the headline yourself using the Headline Resolution pattern below. Any retrieval from source URLs is your agent application's independent action, subject to the source platform's terms.

Calls:

  1. GET /api/v1/documents/ticker/{T}?limit=8 for the document feed
  2. GET /api/v2/metrics/entity/{T}/metric/sentiment?period=7d for context

Output template:

NEWS · $TICKER · 7d sentiment {score} ({delta})
─────────────────────────────────────────────────
1. [{sentiment}]  {resolvedHeadline}
   {source} · {time}
   {url}
2. ...

For Reddit/X URLs, render an embed card instead of a plain link (see Social Embeds below).


stories: Pre-clustered story feed

A curated alternative to raw news: SentiSense clusters related documents into named stories with our own AI-generated cluster titles and summaries. These titles are OUR content and are safe to display verbatim (no publisher copyright concern).

Calls:

  1. GET /api/v1/documents/stories?limit=10

Output template:

TODAY'S STORIES · {date}
────────────────────────
1. {cluster.title}                                           [{sentiment}]
   {cluster.summarizedContent}
   Tickers: $T1 $T2 $T3   ·   {documentCount} sources
2. ...

For per-ticker stories: GET /api/v1/documents/stories?ticker={T}&limit=5.


help or unrecognized input

Print the command list. Don't say "I don't understand": show what you can do.

COMMANDS
  open \x3CTICKER>          stock screen
  compare \x3CA> \x3CB>        side-by-side
  daily brief            market digest
  screen smart-money     convergence screener
  flow \x3CTICKER>          smart-money flow
  mood                   market sentiment
  news \x3CTICKER>          recent news with embeds
  stories                pre-clustered story feed

OR ASK NATURALLY
  "is NVDA a buy here?"  "what's hot today?"
  "compare TSLA and RIVN" "WTF is going on with AAPL"

Natural Language Aliases

The user will rarely type the exact command syntax. Recognize the intent and run the closest workflow. Never ask "did you mean open NVDA?": just run it.

User says Run
"show me $TICKER", "tell me about $TICKER", "what's $TICKER doing" open
"is $TICKER a buy", "should I look at $TICKER", "$TICKER thoughts" open + add a one-line educational framing summary at the bottom (data context, not a recommendation)
"what's hot today", "market today", "what's moving" daily brief
"smart money", "what are insiders buying", "what's the smart money doing" screen smart-money
"compare $A and $B", "$A vs $B" compare
"what's the market mood", "fear/greed", "is the market scared" mood
"WTF $TICKER", "why is $TICKER moving", "what's happening with $TICKER" flow + news (compose into one screen)
"news on $TICKER", "what's the news", "any headlines on $TICKER" news
"what's the story today", "what stories are happening" stories
"before earnings on $TICKER", "$TICKER earnings preview" flow + analyst estimates (use the pre-earnings synthesis below)

When the user asks something that doesn't map cleanly, default to open if a ticker is present, daily brief if not, and help only if neither.


Headline Resolution Pattern

The SentiSense public document API returns { url, source, sentiment, timestamp, summary? } for each document. By API design it does not include the publisher's article headline. The API provides derived analytics, not source content. If your application needs to display titles, resolve them yourself from the url field. Any content retrieval from source URLs is your agent application's independent action, subject to the source platform's terms.

Use this two-phase pattern, in order:

Phase 1: oEmbed for social URLs (fastest path)

If the URL is from a major social platform, fetch the platform's oEmbed endpoint. These are free, public, no-auth, and return rich pre-rendered content.

Domain oEmbed endpoint
reddit.com, *.reddit.com https://www.reddit.com/oembed?url={ENCODED_URL}
x.com, twitter.com https://publish.twitter.com/oembed?url={ENCODED_URL}&omit_script=true&dnt=true
youtube.com, youtu.be https://www.youtube.com/oembed?url={ENCODED_URL}&format=json

The response includes title, author_name, and (for Reddit/X) an html field with a pre-styled embed. If the host UI supports inline HTML, use the html block. Otherwise extract the title.

Phase 2: Fetch + parse \x3Ctitle> for general URLs

For non-social URLs, if your tool surface includes a URL fetcher (e.g. WebFetch, Browse, fetch_url), call it on the URL and extract the \x3Ctitle> tag.

Optimization: only the first ~16KB of the page is needed (the \x3Ctitle> is in \x3Chead>, near the top). Don't read the full document.

Pseudo-pattern:

title = fetch(url, range=0-16384).extract("\x3Ctitle>")
if title and len(title) > 3:
  return title

Phase 3: URL slug fallback (zero-cost)

If you cannot fetch the URL (no fetch tool available, or fetch failed), derive a humanized title from the URL slug:

url:    https://www.reuters.com/technology/nvidia-q1-revenue-beats-2026-04-30/
slug:   nvidia-q1-revenue-beats
title:  "Nvidia Q1 Revenue Beats" (replace - with space, title-case, strip dates/hashes)
output: "Nvidia Q1 Revenue Beats: reuters.com"

Degrade gracefully so the news view never shows naked URLs.

Caching

If your environment supports session memory, cache resolved titles for 30 minutes keyed by URL. The same article often appears across multiple news queries.


Social Embeds

When rendering Reddit, X/Twitter, or YouTube URLs in the news view, the host UI may support rich embeds. Three rendering tiers, in order of preference:

  1. Native embed. If the host supports embedded iframes or widgets (e.g. a webview agent), inject the oEmbed html block directly. You get the platform's native look-and-feel.
  2. Card render. If the host supports markdown blockquotes or callout boxes, render as a quote card:
    > **Reddit · r/wallstreetbets** · 4h ago
    > "{post title or excerpt}"
    > {url}
    
  3. Plain link. Worst case, the standard news line format with the resolved title.

Never strip the url even when embedding: users want the option to click through.


Composition Templates

For complex queries the user may ask, you may need to compose multiple commands into one screen. Three reusable shapes:

Earnings preview

When the user asks "before earnings on $X" or "$X earnings preview":

EARNINGS PREVIEW · $TICKER · ER {date} ({daysOut}d out)
────────────────────────────────────────────────────────
SETUP       Sentiment {s30d} ({d30d} 30d) ·  Insiders {netInsider}
CONSENSUS   EPS ${epsConsensus} (revised from ${epsPrior})  ·  Rev ${revC}
ESTIMATES   Range ${epsLow}-${epsHigh}, {N} analysts
ACTIONS     {U} upgrades, {D} downgrades (30d)
            Recent: "{lastAction}"
THESIS      {one-line synthesis: bullish/bearish/mixed}

Calls: /profile, /analyst/{T}/estimates, /analyst/{T}/actions?days=30, sentiment 30d, insider 60d.

Sector deep-dive

When the user asks "what's happening in tech today" or "energy sector":

SECTOR · Technology · {date}
─────────────────────────────
MOOD       {sectorScore} ({phase})    {weeklyChange} 7d
TOP MOVERS $T1 +X%   $T2 +X%   $T3 +X%
LAGGARDS   $T4 -X%   $T5 -X%
DRIVERS    "{topInsight1}"
           "{topInsight2}"

Calls: /market-mood (filter to sector), /insights/market (filter by sector tag), /stocks/popular (filter by sector if available).

Watchlist brief

When the user provides multiple tickers (e.g. "watch NVDA AMD INTC"):

WATCHLIST · {date}
───────────────────
$NVDA   {price} {chgPct}   Mood {s}    {smartMoneyFlag}
$AMD    {price} {chgPct}   Mood {s}    {smartMoneyFlag}
$INTC   {price} {chgPct}   Mood {s}    {smartMoneyFlag}

The smartMoneyFlag is if any of (insider cluster buy, congress purchase, recent upgrade) hit in 7d; for the inverse; blank if neutral.


Synthesis Rules (recap)

The "terminal feel" comes from being predictable. Every screen follows these rules.

  1. Vertical structure. Tables and labeled rows beat paragraphs.
  2. Fixed widths. When showing comparisons, align columns so the user can scan top-to-bottom.
  3. Numbers first, words second. Lead each line with the value.
  4. One signal per line. Don't combine.
  5. Round consistently. Two decimals for prices, integer percent for changes, integer for sentiment scores.
  6. $TICKER always. Uppercase, dollar-prefixed.
  7. Sign every change. +1.23%, -0.45%, never bare numbers.
  8. No prose unless asked. The screen IS the answer.
  9. Parallelize calls. open fires 6 calls at once; don't await sequentially.
  10. Cache the quarter. /institutional/quarters rarely changes.

Anti-Patterns (Don't Do These)

These are the failure modes the skill is designed to steer around.

  • Don't narrate the work. "Let me look that up..." or "I'll need to call several endpoints..." is anti-pattern. The terminal does the work silently.
  • Don't apologize. "I'm sorry, I can only show preview data" is anti-pattern. Silently render what you have; flag (preview) in the corner if the user is on Free.
  • Don't issue personal recommendations. "$NVDA is a strong buy" or "you should sell $TSLA" is anti-pattern. This skill is a data interface, not an advisor. Show data and educational framing; let the user draw conclusions.
  • Don't ask follow-up clarifying questions for unambiguous asks. "Did you want price or sentiment for $NVDA?" is anti-pattern. Run the full open screen: it shows both.
  • Don't pretty-print one number. A user asking "$NVDA price" gets a one-line answer ($NVDA $890.12 (+1.4%)). They don't get a 30-line open screen for a price quote.
  • Don't hand-craft headlines. If the document API didn't return one, use the Headline Resolution pattern. Don't invent.
  • Don't hallucinate endpoints. No /api/v1/options/flow, /api/v1/dark-pool, /api/v1/earnings, /api/v1/alerts, /api/v1/chat, /api/v1/congress (use /politicians).
  • Don't show the API key in user-facing output. Ever.
  • Don't push PRO unless the user is hitting the wall. Free tier delivers great terminal experience. Mention PRO when a (preview) truncation is meaningfully limiting the answer.

Endpoint Quick Reference

For full schemas: https://sentisense.ai/skill.md.

PRICE         GET /api/v1/stocks/price?ticker={T}
              GET /api/v1/stocks/prices?tickers=A,B,C
              GET /api/v1/stocks/chart?ticker={T}&timeframe=1M|3M|6M|1Y
              GET /api/v1/stocks/{T}/profile
              GET /api/v1/stocks/market-status

SENTIMENT     GET /api/v2/metrics/entity/{T}/metric/sentiment?period=7d|30d|90d
              GET /api/v2/market-mood

DOCUMENTS     GET /api/v1/documents/ticker/{T}?limit=N    (no titles)
              GET /api/v1/documents/stories?limit=N       (cluster.title is OURS, safe)
              GET /api/v1/documents/stories?ticker={T}&limit=N

INSIDER       GET /api/v1/insider/cluster-buys?lookbackDays=N
              GET /api/v1/insider/trades/{T}?lookbackDays=N

CONGRESS      GET /api/v1/politicians/activity?lookbackDays=N
              GET /api/v1/politicians/member/{slug}/trades

INSTITUTIONAL GET /api/v1/institutional/quarters    (always FIRST)
              GET /api/v1/institutional/top-holdings/{T}?reportDate={Q}

ANALYST       GET /api/v1/analyst/{T}/consensus
              GET /api/v1/analyst/{T}/actions?days=N
              GET /api/v1/analyst/{T}/estimates
              GET /api/v1/analyst/market/activity?days=N&types=UPGRADE,DOWNGRADE

INSIGHTS      GET /api/v1/insights/stock/{T}/latest    (quota-counted)
              GET /api/v1/insights/stock/{T}/types
              GET /api/v1/insights/market

MARKET        GET /api/v1/market-summary

Wrap unwrap: most preview-gated endpoints return { isPreview, previewReason, data }. Iterate data.


Tier Summary

Command Free PRO
open Full screen, AI insight quota-counted Unlimited
compare Two tickers anytime Unlimited
daily brief Once per day comfortably (5 calls) Unlimited refreshes
screen smart-money Top items per bucket Full ranked lists
flow Preview slice Full holder list, full history
mood Full data, no quota cost Same
news 8 most recent Full feed
stories 10 most recent Full feed

PRO at $15/month: https://sentisense.ai/pricing

Usage Guidance
This skill looks safe for read-only stock research if you trust SentiSense and are comfortable using an API key. Before installing, confirm the service is legitimate, protect the API key, and remember that outputs are informational market summaries rather than investment advice.
Capability Analysis
Type: OpenClaw Skill Name: stock-terminal Version: 1.1.1 The stock-terminal skill is a financial data interface for the SentiSense API, designed to turn an AI agent into a read-only financial terminal. The SKILL.md file provides detailed behavioral instructions, formatting rules, and API endpoint mappings for stock prices, sentiment, and insider trading data. While it includes a 'Headline Resolution Pattern' that instructs the agent to fetch external URLs to resolve news titles (a potential SSRF risk if the agent's environment is not secured), this is a standard functional requirement for news aggregation and lacks evidence of malicious intent. The skill also includes security-positive instructions, such as explicitly forbidding the display of the API key in user-facing output.
Capability Tags
cryptorequires-walletcan-make-purchasesrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The stated purpose is coherent with the visible instructions: it provides synthesized market reports and explicitly says it is read-only with no trading, purchases, writes, or wallet access. Because the outputs are financial in nature, users should still treat them as informational rather than advice.
Instruction Scope
The skill tells the agent to behave like a terminal and make data calls silently, including parallel calls. That is purpose-aligned for this type of tool, but it can consume API quota and send ticker/query context to SentiSense without a separate confirmation for each call.
Install Mechanism
There is no install script or executable code. The registry summary says no required environment variables, while SKILL.md declares SENTISENSE_API_KEY and describes API-key authentication; this looks like a metadata gap rather than hidden behavior because the key requirement is disclosed in the skill text.
Credentials
No local binaries, local file access, shell execution, or write operations are shown. External network/API use is proportionate to the stock-terminal purpose.
Persistence & Privilege
The skill uses a service API key and mentions session caching for an institutional-quarter value. No persistent background process, local credential harvesting, or durable memory store is shown.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install stock-terminal
  3. After installation, invoke the skill by name or use /stock-terminal
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.1
Add Use & Disclaimer section (educational data interface, not advice). Reframe headline-resolution language as 'agent application's independent action, subject to source platform terms'. Replace 'legal violation' anti-pattern phrasing with 'data interface, not an advisor' framing.
v1.1.0
Major rewrite: adds Two-Shape Rule (text vs terminal screen), Authoring Style guide ($TICKER, +/-X.XX% formats), Headline Resolution (oEmbed for Reddit/X/YouTube + first-16KB title fetch + URL slug fallback), Social Embeds, Composition Templates (earnings preview, sector deep-dive, watchlist), Natural Language Aliases, Anti-Patterns. New /stories command for pre-clustered story feed.
v1.0.0
Initial release: 7 terminal-style commands (open, compare, daily brief, screen smart-money, flow, mood, news)
Metadata
Slug stock-terminal
Version 1.1.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Stock Terminal?

Provides Bloomberg-style synthesized stock and market reports via typed commands like open, compare, daily brief, mood, screen smart-money, flow, and news, a... It is an AI Agent Skill for Claude Code / OpenClaw, with 72 downloads so far.

How do I install Stock Terminal?

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

Is Stock Terminal free?

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

Which platforms does Stock Terminal support?

Stock Terminal is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Stock Terminal?

It is built and maintained by Senti (@thesentitrader); the current version is v1.1.1.

💬 Comments