banini-tracker skill

Reads a Taiwanese trader's Facebook posts, derives a contrarian stock signal and pushes summaries to chat apps.

  • 385 ★ on the repository
  • Last commit
  • AGPL-3.0
Skill

Broad access

Why this level

  • Apify, language model and bot tokens are stored in `.env` or the service database.
  • The scraper collects one person's posts, which may breach Facebook terms and data protection rules.
  • Signals are easy to mistake for advice, while the project is declared entertainment.
All reasons and checks

cablate/banini-tracker

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/banini-tracker

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Apify, language model and bot tokens are stored in `.env` or the service database.
  • The scraper collects one person's posts, which may breach Facebook terms and data protection rules.
  • Signals are easy to mistake for advice, while the project is declared entertainment.

This is third-party code. Review the repository files before installing.

What it does

banini-tracker pulls public Facebook posts of the trader 巴逆逆 (8zz) and works out which instruments she mentions: stocks, ETFs, commodities. A contrarian reading follows: a stop-loss is read as a possible rebound, a purchase as a possible drop. Chains such as "oil got cheaper, so manufacturers gain" are derived from the text as well. The `skill/SKILL.md` file goes into `.claude/skills/`, and then Claude Code analyses the posts itself with no separate language model. Every prediction is recorded and the price is checked for five trading days. Summaries go to Telegram, Discord and LINE. For continuous work there is a scheduled service with a web settings page.

Who it is for. Readers who follow the Taiwan market and want to automate the review of one public source, with predictions checked against price, as entertainment.

Good fit when

  • You want a morning summary of the blogger's fresh posts with tickers marked.
  • Claude Code reviews the feed and writes the report itself with no separate model key.
  • Alerts about new posts must land in a Telegram channel or a Discord chat.
  • You want to check on a ready dataset how often the contrarian signal matched the price.

Not a fit when

  • You look for a tool for real investment decisions: the project is declared entertainment.
  • You care about markets outside Taiwan: the code maps names to Taiwan tickers.
  • You do not want to collect a specific person's public posts.
  • You are not ready to pay for a Facebook scraper and hand tokens to third-party services.

Example request

Fetch the blogger's three latest posts, work out the contrarian signal for each stock and prepare a report for Telegram.

Limitations

The project is declared entertainment and gives no investment advice. Posts are fetched by the paid Apify service, which the README estimates at about 1.35 dollars a month for 270 posts. A continuous service needs tokens for Apify, a language model and at least one notification channel (Telegram, Discord, LINE). The AGPL-3.0 licence requires naming the author and publishing the source for network deployments.

How to disable. Stop the service by stopping the container or the `npx` process, delete `SKILL.md` from `.claude/skills/` and revoke the Apify, Telegram bot and other channel tokens.

FAQ

How do I connect banini-tracker to Claude Code?

Copy `skill/SKILL.md` into `.claude/skills/`. Claude reads the posts retrieved by `fetch` and acts as the analysis engine, so no LLM key is needed.

How do I run the continuous service?

Use `npx @cablate/banini-tracker serve`, Docker or the Zeabur template. The service opens a settings page on port 3000 and runs on a schedule.

What must be configured?

An Apify token for collecting posts and an LLM key for the service. At least one data pair for Telegram, Discord or LINE is needed for notifications. Everything else is optional.

How are predictions checked?

Each entry is matched to a stock code and the price on the post date, then the high and low are recorded for five trading days. The contrarian signal counts as correct when the price moved the right way by more than 1 percent.

Can I see results without running the service?

Yes. The `data/banini-public.db` file holds 345 predictions without the original posts and opens in any SQLite client.

Discussion

No questions or reviews yet.

Skills

A set of skills for individual investors and traders: market review, stock screening, technical analysis, trade planning, journaling and post-trade review

SkillBroad access3.8KRepository stars

A skill and CLI that test a trade log with statistics, scan investment group chats for scam signs and scaffold a trading bot

SkillBroad access1.2KRepository stars

InvestSkill gives an assistant 34 ready frameworks for analysing US stocks, from company valuation to portfolio risk

SkillExtended access283Repository stars

A skill that starts a local news dashboard across 12 industries: Claude Code reads 100-plus sources and writes daily digests.

SkillExtended access500Repository stars

Skills and an MCP server for options traders: quotes, technical analysis, Greeks, spreads, scanners and Interactive Brokers portfolio

MCP serverBroad access410Repository stars

A skill connects agents to FinLab data and its Python engine for stock research and local historical strategy backtesting.

SkillBroad access427Repository stars

README in short

The README covers four ways to run the project, the job schedule, environment variables and prediction tracking. A separate section describes a backtest over 2,249 posts that yielded 345 predictions across 70 instruments.

README badge

Original SKILL.md

---
name: banini-tracker
description: |
  巴逆逆反指標分析。觸發時機:使用者要求追蹤巴逆逆、分析反指標、抓取社群貼文並推送 Telegram 時。
  能力範圍:透過 CLI 抓取 Facebook 貼文、反指標邏輯分析、連鎖效應推導、Telegram 推送。
  目標:由 Claude 作為分析引擎,產出直白中文的反指標分析報告。
---

# banini-tracker — 巴逆逆反指標分析

追蹤「股海冥燈」巴逆逆(8zz)的 Facebook 貼文,由你(Claude)進行反指標分析,推送結果到 Telegram。

## 前置條件

```bash
# 首次使用:初始化設定
npx @cablate/banini-tracker init --apify-token <TOKEN> --tg-bot-token <TOKEN> --tg-channel-id <ID>

# 確認設定
npx @cablate/banini-tracker config
```

## 工作流程

### Step 1:抓取貼文

```bash
npx @cablate/banini-tracker fetch -s fb -n 3 --mark-seen
```

輸出是 JSON 陣列,每篇貼文包含:
- `id` / `source`
- `text`(貼文內容)
- `ocrText`(圖片 OCR 文字,可能包含下單截圖)
- `timestamp` / `url` / `likeCount`
- `mediaType` / `mediaUrl`

`--mark-seen` 會自動記錄已讀,下次不重複抓。

### Step 2:你來分析

讀取 Step 1 的 JSON 後,進行反指標分析。分析要點:

**核心邏輯**(方向完全相反,不要搞混):
| 她的狀態 | 反指標解讀 |

Report a problem