Remnic Search
joshuaswarren/remnic
Run a deep full-text search across every Remnic memory. An agent skill from joshuaswarren/remnic.
Every Benzinga calendar, news, fundamentals, and signal endpoint as a typed command — plus an offline SQLite store, full-text search, cross-entity queries, and the first Benzinga MCP server.
$ npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mvanhorn/printing-press-library pp-benzinga --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-benzinga .claude/skills/pp-benzinga && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pp-benzinga" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzinga into .claude/skills/pp-benzinga/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-benzinga", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzingaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mvanhorn/printing-press-library pp-benzinga --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cli-skills/pp-benzinga .agents/skills/pp-benzinga && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pp-benzinga" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzinga into .agents/skills/pp-benzinga/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-benzinga", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mvanhorn/printing-press-library pp-benzinga --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cli-skills/pp-benzinga .cursor/skills/pp-benzinga && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pp-benzinga" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzinga into .cursor/skills/pp-benzinga/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-benzinga", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mvanhorn/printing-press-library.git --path cli-skills/pp-benzinga--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mvanhorn/printing-press-library pp-benzinga --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cli-skills/pp-benzinga .gemini/skills/pp-benzinga && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pp-benzinga" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzinga into .gemini/skills/pp-benzinga/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-benzinga", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mvanhorn/printing-press-library pp-benzingaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .github/skills && cp -r skills-src/cli-skills/pp-benzinga .github/skills/pp-benzinga && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pp-benzinga" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzinga into .github/skills/pp-benzinga/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-benzinga", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mvanhorn/printing-press-library pp-benzinga --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cli-skills/pp-benzinga .opencode/skills/pp-benzinga && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pp-benzinga" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-benzinga into .opencode/skills/pp-benzinga/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-benzinga", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pp-benzingaEvery Benzinga calendar, news, fundamentals, and signal endpoint as a typed command — plus an offline SQLite store, full-text search, cross-entity queries, and the first Benzinga MCP server.
Pp Benzinga is an agent skill from mvanhorn/printing-press-library. Every Benzinga calendar, news, fundamentals, and signal endpoint as a typed command — plus an offline SQLite store, full-text search, cross-entity queries, and the first Benzinga MCP server. Trigger phrases: benzinga analyst ratings for AAPL, what changed on my watchlist, why is NVDA moving, this week's earnings calendar, unusual options activity, economic calendar this week, use benzinga, run benzinga.
Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Search implementation. It works with Model Context Protocol and SQLite. The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 76de244. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
goclaudenpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BENZINGA_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pp Benzinga loads about 6k tokens when it runs. Until then it costs about 109 tokens; SKILL.md has 2,591 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mvanhorn/printing-press-library at commit 76de244, republished under its Apache-2.0 licence (© mvanhorn). 2,591 words, ~5,982 tokens.
.claude/skills/pp-benzinga/SKILL.md (or your agent's skills folder).<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/other/benzinga/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
This skill drives the benzinga-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:npx -y @mvanhorn/printing-press-library install benzinga --cli-onlybenzinga-pp-cli --version$PATH for the agent/runtime that will invoke this skill.If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.4 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:
go install github.com/mvanhorn/printing-press-library/library/other/benzinga/cmd/benzinga-pp-cli@latestIf --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Benzinga's licensed financial-data API is powerful but fragmented across ~60 endpoints and has only one complete client — a Python library with no CLI, no offline store, and no agent surface. This CLI covers the full documented REST surface as first-class commands, delta-syncs the calendar/news/signal families into a local database via the API's own updated cursors, and adds cross-entity commands the REST API cannot express in one call: watch a ticker set for overnight changes, explain why one name is moving, and rank analysts by accuracy.
Use this CLI when an agent or user needs Benzinga financial data — analyst ratings, earnings/economic/dividend calendars, breaking news, fundamentals, unusual options and other signals — as structured JSON, or when they want cross-entity views (overnight watchlist changes, a single-ticker catalyst timeline, analyst accuracy) that no single Benzinga endpoint provides. It is also the right choice for offline full-text search over synced news and calendar data.
Do not use this CLI for:
These capabilities aren't available in any other tool for this API.
watch — See everything that changed on your tickers since you last looked — new ratings, price-target moves, breaking news, and signals in one diff.
Reach for this when an agent needs a single 'what moved on my names' digest instead of fanning out across ratings, news, and signals endpoints.
benzinga-pp-cli watch AAPL,NVDA,TSLA --since 24h --agentwhy — Build one time-ordered catalyst timeline for a ticker by merging unusual options, block trades, halts, rating changes, and news.
Use when the question is 'why is X moving right now' and the answer needs options + halts + ratings + headlines stitched in order.
benzinga-pp-cli why NVDA --window 1d --agentcatalysts — One forward-dated agenda per ticker set unioning earnings, dividends, splits, IPOs, FDA dates, conference calls, guidance, and offerings.
Reach for this to get every upcoming dated event on a watchlist in one ordered list rather than querying eight calendar endpoints.
benzinga-pp-cli catalysts AAPL,LLY,MRNA --ahead 14d --agentinsider-cluster — Flag tickers where several distinct members of Congress filed purchases within a window — cluster detection beyond a single disclosure.
Use to surface conviction signals where multiple unrelated members of Congress bought the same name, not just one routine filing.
benzinga-pp-cli insider-cluster --window 30d --min 3 --agentanalyst-accuracy — Rank rating-issuing firms and analysts by Benzinga's historical accuracy, and tag today's rating changes with the issuer's hit rate.
Use when an agent must judge whether a fresh upgrade/downgrade comes from an analyst with a real track record.
benzinga-pp-cli analyst-accuracy --ticker AAPL --agentearnings-season — Compute EPS and revenue beat/miss and surprise % from the earnings calendar and link each name to its conference call and transcript.
Reach for this during earnings season to rank the week's reports by surprise magnitude with calls/transcripts attached.
benzinga-pp-cli earnings-season --from 7d --agent --select ticker,eps_surprise_pct,beatanalyst — Manage analyst
benzinga-pp-cli analyst — Returns analyst insights and research perspectives on securitiesbars — Manage bars
benzinga-pp-cli bars — Retrieves historical OHLCV (Open, High, Low, Close, Volume) price bar data for specified securities.bulls-bears-say — Manage bulls bears say
benzinga-pp-cli bulls-bears-say — Returns the latest bullish and bearish investment cases for a given stock ticker symbol.calendar — Manage calendar
benzinga-pp-cli calendar get-conference-calls — Returns Conference call data for a selected period and/or security.benzinga-pp-cli calendar get-dividends — Returns dividends data for a selected period and/or security.benzinga-pp-cli calendar get-dividends-v22 — Returns dividends data for a selected period and/or security, including both confirmed and unconfirmed dividend dates.benzinga-pp-cli calendar get-earnings — Returns earnings data for a selected period and/or security.benzinga-pp-cli calendar get-economics — Returns economic calendar data including economic indicators, releases, and reports from various countries.benzinga-pp-cli calendar get-events — Returns corporate events including investor meetings, conferences, and special announcementsbenzinga-pp-cli calendar get-fda — Returns FDA approvals, clinical trials, and PDUFA (Prescription Drug User Fee Act)benzinga-pp-cli calendar get-guidance — Returns company guidance data including forward-looking earnings and revenue projections provided by company management.benzinga-pp-cli calendar get-ipos-v2 — Returns Initial Public Offering (IPO) data including pricing information, underwriters, deal statusbenzinga-pp-cli calendar get-ipos-v21 — Returns Initial Public Offering (IPO) data including pricing information, underwriters, deal statusbenzinga-pp-cli calendar get-ma — Returns mergers and acquisitions (M&A) data including deal announcements, completionsbenzinga-pp-cli calendar get-offerings — Returns secondary offering data for public companies issuing additional shares after their IPO.benzinga-pp-cli calendar get-ratings — Returns analyst ratings data including upgrades, downgrades, initiationsbenzinga-pp-cli calendar get-ratings-analysts — Returns the full list of analysts that are providing ratingsbenzinga-pp-cli calendar get-ratings-firms — Returns the available firms providing analyst ratingsbenzinga-pp-cli calendar get-splits — Returns stock split data including split ratios, announcement dates, ex-dates, and distribution dates.calendar-removed — Manage calendar removed
benzinga-pp-cli calendar-removed — Returns calendar events that have been removed or cancelled from the specified event typesconsensus-ratings — Manage consensus ratings
benzinga-pp-cli consensus-ratings — Returns aggregated consensus analyst ratings data for a given ticker symbol.erx-gaps — Manage erx gaps
benzinga-pp-cli erx-gaps — Returns earnings reaction gap data, which tracks significant price gaps following earnings announcementsfundamentals — Manage fundamentals
benzinga-pp-cli fundamentals get-alpha-beta-v21 — Retrieve Alpha and Beta metrics for specified symbols.benzinga-pp-cli fundamentals get-asset-classification-v21 — Retrieve asset classification details for specified symbols, including sector, industrybenzinga-pp-cli fundamentals get-balance-sheet-v3 — Retrieve balance sheet data for specified symbols. Includes assets, liabilities, and equity details.benzinga-pp-cli fundamentals get-company-profile-v21 — Retrieves comprehensive company profile information including business description, industry classificationbenzinga-pp-cli fundamentals get-company-v21 — Retrieves detailed company-specific financial data including key metrics, operational statisticsbenzinga-pp-cli fundamentals get-derived-figures-and-ratios-v3 — Retrieve derived financial figures and ratios for a list of symbols.benzinga-pp-cli fundamentals get-earning-ratios-v21 — Retrieve earning ratios for a list of symbols. Includes metrics like P/E ratio, EPS, and other earnings-related ratios.benzinga-pp-cli fundamentals get-earnings-reports-v21 — Retrieves detailed earnings reports for specified securities including revenue, earnings per share (EPS), EBITDAbenzinga-pp-cli fundamentals get-income-statement-v3 — Retrieves comprehensive income statement data for specified securities.benzinga-pp-cli fundamentals get-operation-ratios-v21 — Retrieve operation ratios for a list of symbols.benzinga-pp-cli fundamentals get-share-price-ratios-v3 — Retrieve share price ratios for specified symbols.benzinga-pp-cli fundamentals get-v2 — Retrieves comprehensive financial fundamentals data for specified securities.benzinga-pp-cli fundamentals get-v21 — Retrieves enhanced financial fundamentals data for specified securities.benzinga-pp-cli fundamentals get-v3 — Retrieves the latest generation of financial fundamentals data powered by Benzinga's enhanced data pipeline.benzinga-pp-cli fundamentals get-valuation-ratios-v21 — Retrieve valuation ratios for a list of symbols.benzinga-pp-cli fundamentals list — Retrieve financial statements for specified symbols.benzinga-pp-cli fundamentals list-cashflow — Retrieve detailed cash flow statement data for specified symbols.benzinga-pp-cli fundamentals list-shareclass — Retrieve share class information for specific symbols.benzinga-pp-cli fundamentals list-shareclassprofile — Retrieve profile information for share classesgov — Manage gov
benzinga-pp-cli gov get-government-trade-reports — Returns detailed government trade disclosure reports including periodic transaction reports filed by congressionalbenzinga-pp-cli gov get-government-trades — Returns government official trades including transactions by members of the US House and Senatelogos — Manage logos
benzinga-pp-cli logos bulk-sync — Bulk logos sync.benzinga-pp-cli logos get-search — Search Logosmarket — Manage market
benzinga-pp-cli market — Retrieves market movers data based on specified filters.news — Manage news
benzinga-pp-cli news get — This REST API returns structured data for news.benzinga-pp-cli news get-channels — Returns a list of all available news channels that can be used to filter news items.news-quantified — Manage news quantified
benzinga-pp-cli news-quantified — Quantitative news analytics: sentiment, volume ratios, and per-ticker price reactions (30s–120m). Filter with --symbols, --date/--date-from/--date-to, --updated-since.news-removed — Manage news removed
benzinga-pp-cli news-removed — Returns the removed news data.quote-delayed — Manage quote delayed
benzinga-pp-cli quote-delayed get-v1 — Get delayed quotes for a list of symbols, ISINs, or CIKsbenzinga-pp-cli quote-delayed get-v2 — Get delayed quotes for a list of symbolssearch — Offline full-text search
benzinga-pp-cli search "<query>" — Search synced local data (or the logos search API in live/auto mode). Local query tokens are alphanumeric only (letters, digits, underscore); every token is required (implicit AND). FTS5 operators such as AND, OR, NOT and quoted phrases are not supported.sec — Manage sec
benzinga-pp-cli sec get-insider-transaction — Returns insider transaction data from SEC Form 4 filings.benzinga-pp-cli sec get-insider-transaction-owner — Returns information about insider transaction owners, including company officers, directors, and beneficial ownersshortinterest — Manage shortinterest
benzinga-pp-cli shortinterest — Retrieves short interest data for specified securities.signal — Manage signal
benzinga-pp-cli signal get-block-trade-v1 — Returns block trade data, which includes unusually large trades that may indicate institutional trading activitybenzinga-pp-cli signal get-halt-resume-v1 — Returns trading halt and resume information for securities, including halt reasons and expected resumption timesbenzinga-pp-cli signal get-option-activity-v1 — Returns unusual options activity data, including large or unusual options trades that may signal informed tradingtrending-tickers — Manage trending tickers
benzinga-pp-cli trending-tickers get-ticker-trend-data — Retrieve trending data for specific tickers, including rank and change.benzinga-pp-cli trending-tickers get-ticker-trend-list-data — Retrieve a list of trending tickers based on various metrics.wiims — Manage wiims (Why Is It Moving)
benzinga-pp-cli wiims — Why Is It Moving (WIIM): concise structured explanations of why a security is moving, tagged to the affected tickers. Preset over the news feed's WIIM channel (GET /api/v2/news?channels=WIIM). Filter with --tickers, --date/--date-from/--date-to, --updated-since. Add --with-points to attach each ticker's delayed-quote move (price_move: [{ticker, points, percent, last}]) via /api/v1/quoteDelayed. Requires a WIIM-entitled Benzinga Pro token (market-data tokens return nothing); the same token covers --with-points. Complements why with editorial context.When you know what you want to do but not which command does it, ask the CLI directly:
benzinga-pp-cli which "<capability in your own words>"which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.
benzinga-pp-cli earnings-season --from 7d --agent --select ticker,eps_surprise_pct,beatComputes beat/miss and surprise % offline from synced earnings rows and projects just the decision fields.
benzinga-pp-cli why NVDA --window 1d --agentStitches unusual options, halts, rating changes, and news for NVDA into one chronological catalyst timeline.
benzinga-pp-cli watch AAPL,NVDA,TSLA --since 24h --agent --select ticker,kind,headlineCross-entity diff of ratings, news, and signals on a ticker set, narrowed to the most relevant nested fields with --select.
benzinga-pp-cli calendar get-economics --country USARecent and latest macro releases for the US with actual vs consensus (country codes are 3-digit, e.g. USA).
benzinga-pp-cli analyst-accuracy --ticker AAPL --today --agentRanks the firms/analysts issuing fresh AAPL ratings by their historical accuracy.
Benzinga uses a static API token passed as a query parameter. Set BENZINGA_API_KEY in your environment (or run benzinga-pp-cli auth set-token) and every command attaches it as ?token=. Access is tier-gated per product, so a valid token can still return 403 on an endpoint your plan does not include — that is a licensing boundary, not a CLI bug.
Run benzinga-pp-cli doctor to verify setup.
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
Pipeable — JSON on stdout, errors on stderr
Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
benzinga-pp-cli calendar get-earnings --agent --select id,name,statusPreviewable — --dry-run shows the request without sending
Offline-friendly — sync/search commands can use the local SQLite store when available
Non-interactive — never prompts, every input is a flag
Read-only — do not use this CLI for create, update, delete, publish, comment, upvote, invite, order, send, or other mutating requests
Commands that read from the local store or the API wrap output in a provenance envelope:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal AND no machine-format flag (--json, --csv, --compact, --quiet, --plain, --select) is set — piped/agent consumers and explicit-format runs get pure JSON on stdout.
Agents should treat the CLI's path resolver as part of the runtime contract:
Use --home <dir> for one invocation, or set BENZINGA_HOME=<dir> to relocate all four path kinds under one root.
Use per-kind env vars only when a specific kind must diverge: BENZINGA_CONFIG_DIR, BENZINGA_DATA_DIR, BENZINGA_STATE_DIR, BENZINGA_CACHE_DIR.
Resolution order is per-kind env var, --home, BENZINGA_HOME, XDG (XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_STATE_HOME, XDG_CACHE_HOME), then platform defaults.
config contains settings like config.toml and profiles. data contains credentials.toml, data.db, cookies, and auth sidecars. state contains persisted queries, jobs, and teach.log. cache contains regenerable HTTP/cache files.
Stored secrets live in credentials.toml under the data dir. Existing legacy config.toml secrets are read for compatibility and leave config.toml on the first auth write.
Run benzinga-pp-cli doctor --fail-on warn to surface path and credential-location warnings. agent-context exposes a schema v4 paths block for agents that need the resolved dirs.
For MCP, pass relocation through the MCP host config. The MCP binary does not inherit CLI flags:
{
"mcpServers": {
"benzinga": {
"command": "benzinga-pp-mcp",
"env": {
"BENZINGA_HOME": "/srv/benzinga"
}
}
}
}Fleet precedence: an inherited per-kind env var overrides an explicit --home for that kind. Use BENZINGA_HOME or per-kind vars as durable fleet levers, and use --home only for a single invocation. Relocation is not reversible by unsetting env vars; move files manually before clearing BENZINGA_HOME, or doctor will not find credentials left under the former root.
When you (or the agent) notice something off about this CLI, record it:
benzinga-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
benzinga-pp-cli feedback --stdin < notes.txt
benzinga-pp-cli feedback list --json --limit 10Entries are stored locally as feedback.jsonl under the resolved data dir. They are never POSTed unless BENZINGA_FEEDBACK_ENDPOINT is set AND either --send is passed or BENZINGA_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
benzinga-pp-cli profile save briefing --json
benzinga-pp-cli --profile briefing calendar get-earnings
benzinga-pp-cli profile list --json
benzinga-pp-cli profile show briefing
benzinga-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Parse $ARGUMENTS:
help, or --help → show benzinga-pp-cli --help outputinstall → ends with mcp → MCP installation; otherwise → see Prerequisites above--agent)go install github.com/mvanhorn/printing-press-library/library/other/benzinga/cmd/benzinga-pp-mcp@latestclaude mcp add benzinga-pp-mcp -- benzinga-pp-mcpclaude mcp listwhich benzinga-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:benzinga-pp-cli <command> [subcommand] [args] --agentbenzinga-pp-cli <command> --help.© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in cli-skills/pp-benzinga of mvanhorn/printing-press-library.
Open the folder on GitHubat commit 76de244
Pp Benzinga next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pp Benzinga this skillmvanhorn/printing-press-library | 2.1k | — | ~6k | Automated safety check: Notes | Apache-2.0 | |
| Remnic Searchjoshuaswarren/remnic | 217 | — | ~562 | Automated safety check: Pass | MIT | |
| Sealeap Tianlu Amazon AI Readable Title Structurexjli360/sealeap-amazon-skills | 247 | — | ~841 | Automated safety check: Pass | MIT | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Engraphdevwhodevs/engraph | 171 | — | ~792 | Automated safety check: Pass | MIT | |
| Neon Postgresusenotra/notra | 256 | — | ~4.1k | Automated safety check: Notes | AGPL-3.0 |
joshuaswarren/remnic
Run a deep full-text search across every Remnic memory. An agent skill from joshuaswarren/remnic.
xjli360/sealeap-amazon-skills
Restructure product titles from keyword-stuffed strings into a semantically ordered two-part layout (brand plus core category and attributes first, then differentiating function and use-case terms)…
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
devwhodevs/engraph
Index and search document collections using hybrid semantic + graph + full-text search.
usenotra/notra
Guides and best practices for working with Lakebase Postgres, the database behind Neon.
neondatabase/agent-skills
Guides and best practices for working with Lakebase Postgres on Neon: connections, pooled vs direct, schema migrations, branching, autoscaling, scale-to-zero, instant restore, read replicas, IP…
mvanhorn/printing-press-library
Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.
mvanhorn/printing-press-library
Search, browse, and download Google Fonts from the terminal via the gfonts CLI.
mvanhorn/printing-press-library
The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.
mvanhorn/printing-press-library
Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.
mvanhorn/printing-press-library
Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...
mvanhorn/printing-press-library
macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.
Works with
Categories
Every Benzinga calendar, news, fundamentals, and signal endpoint as a typed command — plus an offline SQLite store, full-text search, cross-entity queries, and the first Benzinga MCP server. Pp Benzinga is an agent skill from mvanhorn/printing-press-library. Every Benzinga calendar, news, fundamentals, and signal endpoint as a typed command — plus an offline SQLite store, full-text search, cross-entity queries, and the first Benzinga MCP server.
Pp Benzinga fits situations like: phrases: benzinga analyst ratings for AAPL; what changed on my watchlist; why is NVDA moving; this weeks earnings calendar.
Run `npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a claude-code`. Or copy the skill folder (cli-skills/pp-benzinga in mvanhorn/printing-press-library) into .claude/skills/pp-benzinga in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a codex`. Or copy the skill folder (cli-skills/pp-benzinga in mvanhorn/printing-press-library) into .agents/skills/pp-benzinga in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-benzinga -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-benzinga, .gemini/skills/pp-benzinga, .github/skills/pp-benzinga and .opencode/skills/pp-benzinga in your project.
Going by SKILL.md and its folder, Pp Benzinga needs the command-line tools its instructions call (go, claude and npx) and credentials named BENZINGA_API_KEY. Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Read, Bash.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Pp Benzinga is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Pp Benzinga: Remnic Search (joshuaswarren/remnic, 217 stars), Sealeap Tianlu Amazon AI Readable Title Structure (xjli360/sealeap-amazon-skills, 247 stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars) and Engraph (devwhodevs/engraph, 171 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,056 GitHub stars. The repository holds 506 skills in this directory. The repository was last updated on October 9, 2026.
Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.