mcpField
O
opencli-reader

opencli-reader

github.com/himself65生産性3.5k1.1k 回インストール3 日前に更新
リポジトリ

opencli-reader について

opencli-reader は、opencli のアダプターレジストリを使って対応サイトやサービスの情報を取得する読み取り専用スキルです。コマンドの確認やアダプター要件の判定を支援し、専用スキルがあるソースではそちらを優先します。

主な機能

  1. 01読み取り専用のデータ取得
  2. 02登録コマンドの検索
  3. 03アダプター方式の確認
  4. 04JSON 出力の案内
  5. 05障害時の診断

活用シーン

  1. 01金融・ニュースソースの調査
  2. 02対応サイトの投稿の閲覧
  3. 03サイトのアダプター要件の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/himself65/finance-skills --skill opencli-reader

インストール後、Claude Code で/opencli-readerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
discovery.md
finance-sources.md

詳細

opencli Reader(汎用フォールバック、読み取り専用)

ホストが以下のシェルプローブをまだ実行していない場合(たとえば Codex)、セットアップ方法を選ぶ前に、シェルツールを使って ! ラッパー内のコマンドを実行してください。実際の出力を使用してください。シェルにアクセスできない場合は、その制限を伝えてください。

アダプターレジストリがサポートするあらゆるソース(100 以上のサイトに対応し、増加中)で使える汎用フォールバックです。このソースに対応する専用の finance-skill がない場合に限りこのスキルを使用してください。リクエストが該当する場合は、特化したスキル(twitter-reader、linkedin-reader、discord-reader、telegram-reader、yc-reader)を必ず優先してください。

このスキルは読み取り専用です。 opencli が公開する書き込みコマンド(post、like、comment、send、save、upvote、subscribe、follow、delete、reply-dm など)は実行しないでください。


ステップ 1:このスキルを使うか判断する

より具体的なスキルではリクエストに対応できない場合に限り、このスキルを使用してください。

ユーザーが尋ねている内容…代わりに使用するスキル
Twitter/Xtwitter-reader
LinkedInlinkedin-reader
Discorddiscord-reader
Telegramtelegram-reader
Y Combinatoryc-reader
opencli がサポートするその他のもの(Yahoo Finance、Bloomberg、Reuters、Reddit、HackerNews、Eastmoney、Xueqiu、Substack、arXiv など)このスキル

ソースが opencli のレジストリにもない場合は、そこで中止し、リクエストには対応していないことをユーザーに伝えてください。場当たり的なスクレイピングで代用しないでください。


ステップ 2:opencli が使える状態であることを確認する

現在の環境の状態:

!`(command -v opencli && opencli doctor 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`

NOT_INSTALLED の場合:

npm install -g @jackwener/opencli

SETUP_NEEDED の場合は、Browser Bridge のセットアップを案内してください(COOKIE、HEADER、INTERCEPT、UI のいずれかの strategy を使用するアダプターでのみ必要です。PUBLIC と LOCAL のアダプターはブラウザーなしで動作します)。

  1. GitHub Releases ページから最新の opencli-extension-v{version}.zip をダウンロードします
  2. 解凍し、Chrome で chrome://extensions を開いて、デベロッパーモードを有効にします
  3. パッケージ化されていない拡張機能を読み込むをクリックし、解凍したフォルダーを選択します
  4. Chrome で対象サイトにログインしていることを確認してから、opencli doctor を再実行します

Node.js >= 20(または Bun >= 1.0)が必要です。


ステップ 3:適切なコマンドを見つける

コマンド名やフラグを推測しないでください。レジストリには 500 以上のコマンドがあり、毎週変更されます。代わりに、次の手順を実行してください。

# Full registry (grouped by site), machine-readable JSON
opencli list -f json

# Filter to a site
opencli list | grep -i <site>

# Site-level help (all commands + flags)
opencli <site> --help

# Command-level help (positional args + flags + defaults)
opencli <site> <command> --help

各コマンドの opencli list -f json エントリーには、次の情報が含まれます。

  • site — アダプターの名前空間(例:yahoo-finance)
  • name — サブコマンド(例:quote)
  • strategy — PUBLIC / COOKIE / HEADER / INTERCEPT / UI / LOCAL。ブラウザーへのログインが必要かどうかを示します
  • description、args、columns — 正式なメタデータ

情報源としては opencli list -f json を使用してください。記憶を頼りにサイトの一覧を計画へ貼り付けないでください。アダプターは毎週追加されています。

よく使われる金融/調査ソースの早見表

以下の表は主なものを抜粋したもので、網羅的ではありません。必ず opencli <site> --help で確認してください。

ソースサイトスラッグよく使われるコマンド
Yahoo Financeyahoo-financequote
Bloombergbloombergmarkets、economics、industries、tech、politics、opinions、news、businessweek、feeds、main
Reutersreuterssearch
Eastmoney(东方财富)eastmoneyquote、rank、kline、sectors、etf、holders、money-flow、northbound、longhu、kuaixun、convertible、index-board、announcement、hot-rank
Xueqiu(雪球)xueqiustock、hot-stock、hot、feed、comments、watchlist、search、groups、fund-snapshot、fund-holdings、earnings-date、kline
Sinafinancesinafinance(--help を参照)
TDX / THStdx、ths(--help を参照)
Barchart(オプション)barchartquote、options、flow、greeks
Redditreddithot、popular、frontpage、search、subreddit、read、user、user-posts、user-comments、saved
HackerNewshackernewstop、best、new、ask、show、jobs、user、search
Substacksubstackfeed、publication、search
Mediummedium(--help を参照)
arXivarxiv(--help を参照)
Google Scholargoogle-scholar(--help を参照)
Weiboweibo(--help を参照)
Bilibilibilibilihot、video など
Xiaohongshu(小红书)xiaohongshu(--help を参照)
Rednote(小红书の海外版)rednote(--help を参照。xiaohongshu のミラーです)
Zhihuzhihu(--help を参照)
Baidu Scholarbaidu-scholar(--help を参照)
Wanfangwanfang(--help を参照)
36kr36kr(--help を参照)
Jikejike(--help を参照)
Blueskybluesky(--help を参照)
Apple Podcastsapple-podcasts(--help を参照)
Xiaoyuzhou(ポッドキャスト)xiaoyuzhou(--help を参照)
Spotifyspotify(--help を参照)
YouTubeyoutube(--help を参照)
Weixin Official Accountweixin(--help を参照。drafts は読み取り、create-draft は書き込みです)
Toutiaotoutiaoarticles
政府の政策/法律gov-policy、gov-law(--help を参照)
Web ダウンロード/リーダーwebread、download

一覧にないものについては、opencli list -f json を実行して絞り込んでください。


ステップ 4:実行前にアダプターの戦略を確認する

opencli list -f json(または opencli <site> <command> --help)を実行し、strategy フィールドを確認してください。

戦略意味前提条件
PUBLICHTTP のみ。ブラウザーは不要ですなし
LOCALローカルのエンドポイントと通信しますローカルサービスが実行中であること
COOKIE / HEADERサイトへの Chrome ログイン状態を再利用しますChrome でサイトにログイン済みで、Browser Bridge 拡張機能が読み込まれていること
INTERCEPT自動化ウィンドウを開いて署名付きリクエストを取得しますCOOKIE と同じです。数秒かかる場合があるため、しばらくお待ちください
UIDOM を全面的に操作しますCOOKIE と同じです。最も時間がかかり、結果はサイトの現在のレイアウトに左右されます

ユーザーがログインしておらず、アダプターの戦略が PUBLIC/LOCAL 以外の場合は、再試行する前に Chrome でサイトにログインする必要があることを伝えてください。


ステップ 5:コマンドを実行する

一般的な形式
opencli <site> <command> [positional-args] [flags] -f json
共通フラグ
フラグ効果
-f json構造化 JSON。エージェントでの処理では常にこちらを優先してください
-f yaml / -f csv / -f md / -f table / -f plainその他の形式
-v詳細なログ出力(OPENCLI_VERBOSE=1 も設定します)
--liveコマンドの実行後も自動化ウィンドウを開いたままにします(ブラウザーを使用するアダプターのみ)
--focus自動化ウィンドウを前面に表示して開きます(ブラウザーを使用するアダプターのみ)

コマンド固有のフラグ(--limit、--filter、--type など)は共通フラグではありません。必ず opencli <site> <command> --help で確認してください。

例
# Yahoo Finance quote (PUBLIC)
opencli yahoo-finance quote AAPL -f json

# Reddit hot posts in a subreddit (COOKIE or PUBLIC depending on subreddit)
opencli reddit subreddit wallstreetbets --limit 20 -f json
opencli reddit search "SPY options" --limit 15 -f json

# HackerNews top (PUBLIC)
opencli hackernews top --limit 20 -f json

# Eastmoney hot rank (PUBLIC)
opencli eastmoney hot-rank -f json

# Xueqiu hot stocks (PUBLIC or COOKIE)
opencli xueqiu hot-stock -f json
opencli xueqiu stock SH600519 -f json

# Bloomberg markets headlines (COOKIE)
opencli bloomberg markets -f json

# arXiv paper search (PUBLIC)
opencli arxiv search "volatility surface" --limit 10 -f json

# Substack feed
opencli substack feed --limit 20 -f json

# Web page → readable markdown (PUBLIC)
opencli web read "https://example.com/article" -f json
主なルール
  1. このセッションで実行していないコマンドを組み立てる前に、必ず opencli <site> <command> --help を使用してください。フラグ名を推測しないでください。
  2. プログラムによる処理には -f json を使用してください。
  3. まず小さな --limit(10~20)を指定し、データの形式を確認してから、さらに取得してください。
  4. ブラウザー経由のアダプターを実行する前に、strategy を確認してください。ユーザーがログインしていない場合、COOKIE / UI アダプターは失敗します。
  5. 読み取り専用です。書き込みコマンドはスキップしてください。 アダプター間でよく使われる書き込みコマンド名は、post、reply、comment、like、unlike、upvote、save、subscribe、unsubscribe、follow、unfollow、block、unblock、delete、bookmark、unbookmark、send、create-draft、reply-dm、accept です。コマンドが読み取りか書き込みか判断できない場合は、opencli list -f json の description を確認してください。変更を加えるコマンドだと思われる場合は、スキップしてください。

ステップ 6:失敗への対処

コマンドが空の結果を返すか、エラーになる場合、サイトのセレクターや API が変更された可能性があります。opencli には、自己修復のループが組み込まれています。

# Re-run with diagnostic context
OPENCLI_DIAGNOSTIC=1 opencli <site> <command> <args>

これにより、失敗したアダプターのソースパスを特定する構造化された RepairContext が出力されます。対応方法は次のとおりです。

  1. ユーザーが opencli-autofix スキルをインストールしている場合は、そのスキルを実行するよう伝えてください。
  2. インストールしていない場合は、RepairContext の出力を添えて https://github.com/jackwener/opencli/issues にイシューを登録するよう提案してください。
  3. 独自のスクレイピングに黙って切り替えないでください。上流レジストリにバグがあることが隠れてしまいます。

対象サイトのレート制限によって空の結果が返されることもあります。その場合は、しばらく待ってから再試行してください。


ステップ 7:結果の提示

  1. 生の JSON をそのまま出力するのではなく、ユーザーの実際の質問に合わせてデータを要約してください。
  2. 出典を明記してください。可能な場合は、各項目にサイト名と URL を記載します。
  3. 市場データでは、価格、変化率、出来高、時価総額を示し、異常値があれば明記してください。
  4. ニュースや投稿では、見出し、タイムスタンプ、重要な引用を取り上げてください。
  5. 調査(arXiv、Scholar)では、タイトル、著者、概要、リンクを含めてください。
  6. ブラウザーセッションは非公開情報として扱ってください。CDP エンドポイント、Cookie、認証トークンを決して出力しないでください。

参考ファイル

  • references/discovery.md — opencli list、opencli <site> --help の使い方と、レジストリエントリーの JSON スキーマ
  • references/finance-sources.md — 金融関連アダプター(Yahoo Finance、Bloomberg、Eastmoney、Xueqiu、Barchart、Reuters、Reddit、HackerNews)の詳細と、読み取りコマンド/書き込みコマンドの一覧

特定のサイトについて具体例が必要な場合や、専用リーダーで扱われていない機能をユーザーが求めている場合は、これらの参考ファイルを読んでください。

コメント