claw-screenerStock screener combining Williams %R oversold signals with Warren Buffett-style fundamental analysis. Supports US (S&P 500) and Thai (SET) markets.
Install via ClawdBot CLI:
clawdbot install rsoutar/claw-screenerA stock screener that combines technical analysis (Williams %R oversold signals) with Warren Buffett-style fundamental analysis using SEC data. Supports US (S&P 500) and Thai (SET) markets.
Use this skill when you need to:
This skill provides the following capabilities:
Finds stocks that are both technically oversold (Williams %R < -80) and fundamentally strong (Buffett score >= threshold).
Command:
bun run src/screening.ts [options]
Options:
| Flag | Description | Default |
|------|-------------|---------|
| --market | Market: us or bk | us |
| --min-score | Minimum Buffett score (0-10) | 5 |
| --top-n | Number of results to show | 10 |
| --format | Output: text, json, telegram | text |
Examples:
bun run src/screening.ts
bun run src/screening.ts --market us --min-score 7 --top-n 5
bun run src/screening.ts --market bk
bun run src/screening.ts --format json
bun run src/screening.ts --format telegram
Fast oversold scan using Williams %R indicator only. No SEC data required. Works for both US and Thai markets.
Command:
bun run src/technicalOnly.ts [options]
Options:
| Flag | Description | Default |
|------|-------------|---------|
| --market | Market: us or bk | us |
| --threshold | Williams %R threshold | -80 |
| --top-n | Number of results to show | 20 |
| --format | Output: text, json, telegram | text |
Examples:
bun run src/technicalOnly.ts
bun run src/technicalOnly.ts --threshold -70 --top-n 50
bun run src/technicalOnly.ts --market bk
Deep analysis of a single stock using Buffett's 10 formulas.
Command:
bun run src/analyze.ts <ticker> [options]
Options:
| Flag | Description | Default |
|------|-------------|---------|
| --format | Output: text, json, telegram | text |
Examples:
bun run src/analyze.ts AAPL
bun run src/analyze.ts MSFT --format telegram
bun run src/analyze.ts GOOGL --format json
bun run src/analyze.ts PTT.BK
Screens for "compounders" using Carlson-style filters:
Command:
bun run src/compoundingMachine.ts [options]
Options:
| Flag | Description | Default |
|------|-------------|---------|
| --market | Market universe: us or bk | us |
| --tickers | Comma-separated tickers (overrides market universe) | - |
| --max-tickers | Limit universe size | all |
| --top-n | Number of passing stocks to show | 25 |
| --concurrency | Parallel fetch workers | 4 |
| --format | Output: text or json | text |
| --db-path | SQLite cache path | sec_cache.db |
| --ttl-days | Cache TTL in days | 7 |
| --min-roic | ROIC threshold (%) | 15 |
| --min-op-margin | Operating margin threshold (%) | 20 |
| --min-buyback | Required 3Y share reduction (%) | 2 |
| --show-rejected | Include failed tickers with reasons in output | off |
Examples:
bun run src/compoundingMachine.ts
bun run src/compoundingMachine.ts --tickers AAPL,MSFT,NVDA --top-n 10
bun run src/compoundingMachine.ts --format json --max-tickers 100
bun run src/compoundingMachine.ts --tickers PLTR --show-rejected
Runtime / Caching Notes:
sec_cache.db, TTL default 7 days).--max-tickers 50 or specific --tickers).Agent Guidance for User Messaging:
bun run src/compoundingMachine.ts --max-tickers 50bun run src/compoundingMachine.ts --tickers AAPL,MSFT,NVDATrack stocks you're interested in and get alerts when they become oversold or overbought.
Command:
bun run src/watchList.ts <command> [options]
Commands:
| Command | Description |
|---------|-------------|
| add | Add a stock to your watchlist |
| remove | Remove a stock from your watchlist |
| list | Show all watched stocks |
Options:
| Flag | Description | Default |
|------|-------------|---------|
| --market us\|th | Market: us (US) or th (Thai) | us |
| --notes '...' | Optional notes for the stock | - |
| --alert-threshold | Williams %R threshold for alerts | - |
Examples:
bun run src/watchList.ts add AAPL
bun run src/watchList.ts add AAPL --market us --notes 'Big tech'
bun run src/watchList.ts add PTT.BK --market th
bun run src/watchList.ts remove AAPL
bun run src/watchList.ts list
bun run src/watchList.ts list --market us
Storage: Watchlist is saved to ~/.claw-screener-watchlist.json
The fundamental analysis evaluates stocks against Warren Buffett's criteria:
| # | Formula | Target | Description |
|---|---------|--------|-------------|
| 1 | Cash Test | > Total Debt | Cash covers all debt |
| 2 | Debt-to-Equity | < 0.5 | Low leverage |
| 3 | Return on Equity | > 15% | Efficient use of capital |
| 4 | Current Ratio | > 1.5 | Short-term liquidity |
| 5 | Operating Margin | > 12% | Operational efficiency |
| 6 | Asset Turnover | > 0.5 | Asset efficiency |
| 7 | Interest Coverage | > 3x | Ability to pay interest |
| 8 | Earnings Stability | Positive | Consistent profitability |
| 9 | Free Cash Flow | > 0 | Cash generation |
| 10 | Capital Allocation | > 15% ROE | Management effectiveness |
Scoring: Each passing formula earns 1 point. Maximum score: 10/10.
Williams %R (Williams Percent Range)
Combined score = (Technical Score à 0.3) + (Fundamental Score à 0.7)
If you don't have Bun installed, run:
# macOS/Linux
curl -fsSL https://bun.sh/install | bash
# Windows (PowerShell)
iwr https://bun.sh/install -outfile "install.ps1"; ./install.ps1
bun install
This skill creates and manages the following files:
| File | Location | Purpose | TTL |
|------|----------|---------|-----|
| Watchlist | ~/.claw-screener-watchlist.json | User's stock watchlist | Permanent |
| SEC Cache | sec_cache.db | Cached SEC EDGAR financial data | 7 days (default) |
| Price Cache | price_cache.db | Cached stock price data | 1 day (default) |
--ttl-days flag with compounding machine to adjust cache TTL--max-tickers 50 or specific --tickersbun run dev # Run screening (alias for bun run src/screening.ts)
bun run screening # Run combined screening
bun run technical # Run technical-only scan
bun run analyze # Analyze a stock (requires ticker argument)
bun run compounder # Run Compounding Machine screener
bun run watchlist:add # Add stock to watchlist
bun run watchlist:remove # Remove stock from watchlist
bun run watchlist:list # List watched stocks
ð Combined Quality Screening (US (S&P 500))
Technical: Oversold signals (Williams %R < -80)
Fundamental: Warren Buffett's 10 formulas on SEC data
Minimum Buffett Score: 5/10
Results:
Total Scanned: 503
Oversold Found: 42
Quality Stocks: 8 (Buffett âĨ5/10)
Top 10 Opportunities:
1. AAPL â Combined: 85.2% | Buffett: 8/10 | WR: -82.3
2. MSFT â Combined: 79.1% | Buffett: 7/10 | WR: -85.1
ð Combined Quality Screening (US (S&P 500))
Scanned: 503 stocks
Oversold: 42
Quality (Buffett âĨ5/10): 8
ð Top 10 Quality Opportunities:
1. **AAPL** â Combined: 85% | Buffett: 8/10 | WR: -82.3
2. **MSFT** â Combined: 79% | Buffett: 7/10 | WR: -85.1
Generated Mar 1, 2026
A value investor uses the combined screening tool to identify oversold stocks with strong fundamentals in the US market, setting a minimum Buffett score of 7 to filter for high-quality opportunities. They run daily scans to find potential buys during market dips, focusing on long-term holdings based on Warren Buffett's principles.
A technical trader employs the technical-only scan to quickly spot oversold stocks using Williams %R below -80 in the Thai market, aiming for short-term bounce trades. They adjust thresholds to -70 for more signals and use JSON output for automated analysis in their trading systems.
An individual investor analyzes single stocks like AAPL or PTT.BK using the analyze tool to assess Buffett's 10 formulas, gaining insights into financial health for portfolio decisions. They output results in Telegram format for easy sharing with investment groups.
A long-term investor runs the compounding machine scan on a curated list of US stocks to find companies with high ROIC, strong margins, and buyback trends, using cached data for efficiency. They start with a small max-tickers test to avoid long wait times before full scans.
A retail investor manages a watchlist of tech stocks, adding tickers with notes and setting alert thresholds for oversold conditions to receive timely notifications. They regularly update the list and use the tool to monitor market movements without constant manual checking.
Offer premium access to advanced screening tools and real-time alerts via a monthly subscription, targeting individual investors and small funds. Revenue streams include tiered plans with features like unlimited scans, priority support, and API access for integration.
Provide basic screening tools for free to attract users, with paid upgrades for advanced analytics, detailed reports, and watchlist alerts. Monetize through in-app purchases, affiliate links to brokerages, and data licensing to financial institutions.
License the screening algorithms and data outputs to financial firms, hedge funds, and fintech companies for internal use or client-facing products. Generate revenue through annual contracts, custom development fees, and white-label solutions.
ðŽ Integration Tip
Ensure all required files like ~/.claw-screener-watchlist.json and cache databases are properly set up before running tools to avoid runtime errors.
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management, watchlists with alerts, dividend analysis, 8-dimension stock scoring, viral trend detection (Hot Scanner), and rumor/early signal detection. Use for stock analysis, portfolio tracking, earnings reactions, crypto monitoring, trending stocks, or finding rumors before they hit mainstream.
Get stock prices, quotes, fundamentals, earnings, options, dividends, and analyst ratings using Yahoo Finance. Uses yfinance library - no API key required.
Yahoo Finance (yfinance) powered stock analysis skill: quotes, fundamentals, ASCII trends, high-resolution charts (RSI/MACD/BB/VWAP/ATR), plus optional web a...
Become an autonomous prediction market trader on Polymarket with AI-powered analysis and a performance-backed token on Base. Trade real markets, build a track record, and let the buyback flywheel run.
Get cryptocurrency token price and generate candlestick charts via CoinGecko API or Hyperliquid API. Use when user asks for token price, crypto price, price chart, or cryptocurrency market data.
Trade and monitor Hyperliquid perpetual futures. Check balances, view positions with P&L, place/cancel orders, execute market trades. Use when the user asks about Hyperliquid trading, portfolio status, crypto positions, or wants to execute trades on Hyperliquid.