← Back to Skills Marketplace
salihgun

FinClaw

by salihgun · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
619
Downloads
2
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install finclaw
Description
AI finance assistant — real-time quotes, charts, technical analysis, portfolio tracking, price alerts, watchlists, daily briefings, macro economics, and sent...
README (SKILL.md)

FinClaw — AI Finance Assistant

Your personal finance assistant covering US stocks, BIST (Turkish market), crypto, and forex. Includes portfolio tracking, price alerts, charts, technical analysis, daily briefings, and more.

First-Time Setup

Run once after installation to create the Python venv and database:

python3 {baseDir}/scripts/setup.py

Then add to openclaw.json under skills.entries:

"finclaw": {
  "env": {
    "FINNHUB_API_KEY": "",
    "FRED_API_KEY": "",
    "ALPHA_VANTAGE_API_KEY": "",
    "EXCHANGE_RATE_API_KEY": ""
  }
}

API keys are optional — core features (prices, charts, TA, portfolio, alerts) work without any keys.

Running Scripts

All scripts use the skill's Python venv:

{baseDir}/venv/bin/python3 {baseDir}/scripts/\x3Cscript>.py [args]

Market Data

quote.py — Real-Time Quotes

Auto-detects asset type from symbol. Results cached for 60 seconds.

{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py AAPL              # US stock
{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py THYAO.IS          # BIST stock
{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py BTC               # Crypto
{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py USD/TRY           # Forex
{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py AAPL MSFT BTC     # Multiple
{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py AAPL --force      # Skip cache
{baseDir}/venv/bin/python3 {baseDir}/scripts/quote.py AAPL --json       # JSON output

Symbol detection: .IS → BIST | BTC/ETH/SOL... → Crypto | USD/TRY → Forex | else → US stock

crypto.py — Crypto Market Data

{baseDir}/venv/bin/python3 {baseDir}/scripts/crypto.py price BTC        # Binance price
{baseDir}/venv/bin/python3 {baseDir}/scripts/crypto.py top --limit 10   # Top gainers
{baseDir}/venv/bin/python3 {baseDir}/scripts/crypto.py try BTC          # Price in TRY

forex.py — Exchange Rates

{baseDir}/venv/bin/python3 {baseDir}/scripts/forex.py rate USD TRY
{baseDir}/venv/bin/python3 {baseDir}/scripts/forex.py convert USD TRY --amount 1000
{baseDir}/venv/bin/python3 {baseDir}/scripts/forex.py multi USD --targets TRY EUR GBP

chart.py — Price Charts

Generates PNG charts. Send the saved file to the user.

{baseDir}/venv/bin/python3 {baseDir}/scripts/chart.py AAPL                           # Candlestick
{baseDir}/venv/bin/python3 {baseDir}/scripts/chart.py BTC --type line --period 1y     # Line chart
{baseDir}/venv/bin/python3 {baseDir}/scripts/chart.py AAPL --sma 20 50 200           # With SMAs

Periods: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, max

technical.py — Technical Analysis

SMA, EMA, RSI, MACD, Bollinger Bands with buy/sell signals.

{baseDir}/venv/bin/python3 {baseDir}/scripts/technical.py AAPL
{baseDir}/venv/bin/python3 {baseDir}/scripts/technical.py BTC --period 1y --json

news.py — Financial News (requires FINNHUB_API_KEY)

{baseDir}/venv/bin/python3 {baseDir}/scripts/news.py company --symbol AAPL
{baseDir}/venv/bin/python3 {baseDir}/scripts/news.py market --category crypto

screener.py — Stock Screener

{baseDir}/venv/bin/python3 {baseDir}/scripts/screener.py us                    # US gainers
{baseDir}/venv/bin/python3 {baseDir}/scripts/screener.py bist --direction bottom  # BIST losers
{baseDir}/venv/bin/python3 {baseDir}/scripts/screener.py crypto --limit 15       # Crypto gainers

Portfolio & Alerts

portfolio.py — Position Management

{baseDir}/venv/bin/python3 {baseDir}/scripts/portfolio.py add --symbol AAPL --shares 10 --price 150
{baseDir}/venv/bin/python3 {baseDir}/scripts/portfolio.py sell --symbol AAPL --shares 5 --price 175
{baseDir}/venv/bin/python3 {baseDir}/scripts/portfolio.py remove --symbol AAPL
{baseDir}/venv/bin/python3 {baseDir}/scripts/portfolio.py list
{baseDir}/venv/bin/python3 {baseDir}/scripts/portfolio.py summary

Optional: --fees 1.50, --date 2024-01-15, --name "Apple Inc", --notes "Long hold"

alerts.py — Price Alerts

{baseDir}/venv/bin/python3 {baseDir}/scripts/alerts.py create --symbol AAPL --condition above --target 200
{baseDir}/venv/bin/python3 {baseDir}/scripts/alerts.py create --symbol BTC --condition below --target 60000 --note "Buy signal"
{baseDir}/venv/bin/python3 {baseDir}/scripts/alerts.py list
{baseDir}/venv/bin/python3 {baseDir}/scripts/alerts.py delete --id 3
{baseDir}/venv/bin/python3 {baseDir}/scripts/alerts.py snooze --id 3 --hours 48

Conditions: above, below, change_pct, volume_above

check_alerts.py — Alert Checker (for cron)

{baseDir}/venv/bin/python3 {baseDir}/scripts/check_alerts.py

pnl.py — Profit & Loss

{baseDir}/venv/bin/python3 {baseDir}/scripts/pnl.py                    # All positions
{baseDir}/venv/bin/python3 {baseDir}/scripts/pnl.py --symbol AAPL      # Single symbol

watchlist.py — Watchlists

{baseDir}/venv/bin/python3 {baseDir}/scripts/watchlist.py create --name "Tech"
{baseDir}/venv/bin/python3 {baseDir}/scripts/watchlist.py add --name "Tech" --symbol AAPL
{baseDir}/venv/bin/python3 {baseDir}/scripts/watchlist.py show --name "Tech" --prices
{baseDir}/venv/bin/python3 {baseDir}/scripts/watchlist.py list

Intelligence

briefing.py — Market Briefings

{baseDir}/venv/bin/python3 {baseDir}/scripts/briefing.py morning    # Full morning briefing
{baseDir}/venv/bin/python3 {baseDir}/scripts/briefing.py close      # End-of-day summary
{baseDir}/venv/bin/python3 {baseDir}/scripts/briefing.py weekend    # Weekend crypto + forex recap

macro.py — Macro Economics (requires FRED_API_KEY)

{baseDir}/venv/bin/python3 {baseDir}/scripts/macro.py dashboard
{baseDir}/venv/bin/python3 {baseDir}/scripts/macro.py indicator --name fed_rate
{baseDir}/venv/bin/python3 {baseDir}/scripts/macro.py list

earnings.py — Earnings Calendar (requires FINNHUB_API_KEY)

{baseDir}/venv/bin/python3 {baseDir}/scripts/earnings.py calendar
{baseDir}/venv/bin/python3 {baseDir}/scripts/earnings.py symbol --symbol AAPL

sentiment.py — News Sentiment (requires ALPHA_VANTAGE_API_KEY)

{baseDir}/venv/bin/python3 {baseDir}/scripts/sentiment.py --symbol AAPL
{baseDir}/venv/bin/python3 {baseDir}/scripts/sentiment.py --topics technology

research.py — Deep Research

{baseDir}/venv/bin/python3 {baseDir}/scripts/research.py AAPL

Data Sources

  • US Stocks: Finnhub (primary), yfinance (fallback) — no key needed
  • BIST: yfinance with .IS suffix — no key needed
  • Crypto: Binance API — no key needed
  • Forex: ExchangeRate-API — works without key
  • Charts/TA: matplotlib + mplfinance + pandas — local computation
  • News: Finnhub — needs FINNHUB_API_KEY
  • Macro: FRED — needs FRED_API_KEY
  • Sentiment: Alpha Vantage — needs ALPHA_VANTAGE_API_KEY
Usage Guidance
This skill looks like a real finance assistant, but there are some red flags you should check before installing: - Installation: the registry's install spec only mentions yfinance and oddly claims it "creates binaries: python3". The code requires many Python packages (pandas, matplotlib, mplfinance, finnhub-python, requests, fredapi). Expect to manually pip-install requirements.txt or ensure the environment has those packages. - API keys: API keys are optional for core price/chart features, but needed for news, FRED, AlphaVantage, and some exchange APIs. The skill reads them from ~/.openclaw/openclaw.json under skills.entries.finclaw (not from process ENV). Only add keys you are comfortable storing there. - Files & data: the skill will create a local venv and a SQLite database at the skill's data/finance.db. If you want isolation, run it in a sandbox or container. - Review setup.py and any truncated files before running the first-time setup script to confirm there are no unexpected network calls or actions during installation. - If you do not want the skill to read your openclaw.json, do not populate that file with unrelated secrets; verify its contents first. Overall: functionality appears coherent, but the incomplete install metadata and minor inconsistencies warrant manual review and cautious setup (medium confidence).
Capability Analysis
Type: OpenClaw Skill Name: finclaw Version: 1.0.0 The OpenClaw FinClaw skill bundle appears benign. It provides financial assistance features like real-time quotes, portfolio tracking, and technical analysis, relying on legitimate third-party financial APIs (Finnhub, Binance, yfinance, FRED, Alpha Vantage, ExchangeRate-API). API keys are expected to be configured by the user in `openclaw.json` and are used only with their respective, known API endpoints. Data is stored locally in an SQLite database (`data/finance.db`), and charts are generated as PNG files in `data/charts`. The `SKILL.md` and other documentation files contain standard instructions for skill setup and usage, with no evidence of prompt injection attempts, unauthorized command execution, data exfiltration to malicious endpoints, or persistence mechanisms beyond the user-initiated `check_alerts.py` cron job.
Capability Assessment
Purpose & Capability
Code and scripts match the stated purpose (quotes, charts, TA, portfolio, alerts, news, macro). Asset detection, API calls, DB schema and CLI mappings are coherent for a finance assistant.
Instruction Scope
SKILL.md stays within the finance domain (run scripts, create venv, add optional API keys to openclaw.json). It instructs reading ~/.openclaw/openclaw.json for skill config and creating a DB under the skill directory; this is expected but worth noting because it reads a user config file.
Install Mechanism
Registry install spec only declares installing the Python package 'yfinance' via a 'uv' entry and oddly lists 'creates binaries: python3'. requirements.txt lists many additional dependencies (pandas, matplotlib, mplfinance, finnhub-python, requests, fredapi) that the install spec does not install. The install metadata is incomplete / inconsistent and may leave the skill unusable or require manual pip installs.
Credentials
Registry metadata declares no required environment variables, but SKILL.md documents optional API keys (FINNHUB_API_KEY, FRED_API_KEY, ALPHA_VANTAGE_API_KEY, EXCHANGE_RATE_API_KEY). The keys are optional for core features. The skill reads ~/.openclaw/openclaw.json to obtain these values (it only returns the finclaw entry), which is proportionate but means the skill will read a user config file on disk.
Persistence & Privilege
The skill does not request elevated privileges or 'always: true'. It creates a Python venv and an SQLite DB inside the skill directory (data/finance.db) which is normal for a local assistant. Scripts run locally and do not modify other skills' configs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install finclaw
  3. After installation, invoke the skill by name or use /finclaw
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — AI finance assistant with real-time quotes, charts, technical analysis, portfolio tracking, price alerts, watchlists, daily briefings, macro economics, and sentiment analysis for US stocks, BIST, crypto, and forex.
Metadata
Slug finclaw
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is FinClaw?

AI finance assistant — real-time quotes, charts, technical analysis, portfolio tracking, price alerts, watchlists, daily briefings, macro economics, and sent... It is an AI Agent Skill for Claude Code / OpenClaw, with 619 downloads so far.

How do I install FinClaw?

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

Is FinClaw free?

Yes, FinClaw is completely free (open-source). You can download, install and use it at no cost.

Which platforms does FinClaw support?

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

Who created FinClaw?

It is built and maintained by salihgun (@salihgun); the current version is v1.0.0.

💬 Comments