Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add tdimino/claude-code-minoan --skill opencligit clone --depth 1 https://github.com/tdimino/claude-code-minoanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tdimino/claude-code-minoan/opencli)<a href="https://agentmods.dev/skills/tdimino/claude-code-minoan/opencli"><img src="https://agentmods.dev/badge/skills/tdimino/claude-code-minoan/opencli/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tdimino/claude-code-minoan/opencli"><img src="https://agentmods.dev/badge/skills/tdimino/claude-code-minoan/opencli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 212 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Data Exfiltration · line 236 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00094 | $0.03319 |
| Opus 5 | $0.00047 | $0.01659 |
| Sonnet 5 | $0.00019 | $0.00664 |
| Haiku 4.5 | $0.00009 | $0.00332 |
Grade A, and why
opencli scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
fetch(url) works? → Tier 1: public (YAML, browser: false) How it starts
The opening of the file, as written. The whole thing — 335 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenCLI — Universal Website & Browser CLI
Turn any website, Electron app, or local tool into a CLI command. Reuses Chrome login sessions, zero API keys needed at runtime. 80+ pre-built adapters.
Repo: jackwener/opencli (13.6K stars, Apache 2.0)
Prerequisites
npm install -g @jackwener/opencli # Install CLI
opencli doctor # Verify stack (CLI + daemon + extension)
Requirements:
- Node.js >= 20
- Chrome/Chromium running and logged into target sites
- Browser Bridge extension installed (
chrome://extensions> Load unpacked from GitHub release) - Daemon auto-spawns on
localhost:19825, auto-exits after 4h idle
Verify daemon binds 127.0.0.1 (not 0.0.0.0): lsof -i :19825 after first command
Quick Reference
opencli <site> <command> [args] [--limit N] [-f json|yaml|md|csv|table]
opencli list [-f yaml] # Discover all available commands
opencli <site> -h # Site-level help
opencli <site> <command> -h # Command-level help
Output formats: table (default), json, yaml, md, csv. Always use -f json for piping to other tools.
Exit codes: 0 success, 2 bad args, 66 empty result, 69 browser not connected, 75 timeout, 77 auth required.
Tool Routing — When to Use What
Before reaching for another tool, check if opencli has an adapter. opencli list -f yaml shows all available commands.
| Task | Prefer | Over | Why |
|---|---|---|---|
| Twitter post/read/bookmarks/follow | opencli twitter |
bird CLI | Free, 25 commands, session-based |
| Twitter deep search/research | x-search | opencli twitter search | Official API, cost-tracked, deeper |
| Reddit/HN/YouTube structured data | opencli <site> |
firecrawl/scrapling | Deterministic typed output, zero cost |
| Browser multi-step workflow | opencli operate |
agent-browser | State-based indices, && chaining |
| Screenshot-driven browser tasks | agent-browser | opencli operate | Annotated screenshots, ref-based |
| Raw CDP debugging | chrome-cdp | opencli operate | Direct protocol access |
| General web scraping (unknown sites) | firecrawl | opencli web read | Better markdown quality |
| Authenticated page to markdown | opencli web read --url URL |
firecrawl | Uses browser session, no API key |
| Anti-bot / Cloudflare sites | scrapling | opencli | Cloudflare bypass |
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 335 lines · 94 tokens per session scan A a3497fdbb429
opencli is a skill published in the GitHub repository tdimino/claude-code-minoan (41 stars, last pushed 2d ago), licensed MIT. It adds 94 tokens to every session and 3,319 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
weekly-retro
A structured weekly retrospective for a one-person business run with AI agents. It gathers evidence from code, project tools, and canonical business files, then records findings and outcomes.
idea
Use when capturing ONE new idea the user voices and wants recorded — "save this idea", "I have an idea", "log this idea", "/idea", "idea: ...". Creates a provenance-tracked folder (one folder per idea) in your ideas repo, dedups against an index, optionally mirrors to a GitHub Project view filtered by label:idea. NOT…
meeting-copilot
Use when preparing for, running, or closing a live meeting with an AI assistant dashboard. Triggers on "meeting copilot", "live copilot", "prepare for a call", "update copilot", "close the session", or requests to turn transcript chunks into meeting questions, topic maps, decisions, and follow-ups.
daily
A daily-planning workflow that reports the current department’s active work and refreshes its weekly plan. It uses the department’s defined task source and follows the project’s local instructions.
linkedin-apply-init
Initialize the LinkedIn Apply plugin — create vault candidate profile, install Playwright, and set up LinkedIn browser session. Triggers: "linkedin-apply-init" | "init linkedin apply" | "setup linkedin apply" | "linkedin apply setup".
linkedin-apply
Scrape a LinkedIn job offer and score it against your profile using Claude LLM — produces APPLY / REVIEW / SKIP decision with 4-dimension scores. Triggers: "linkedin apply" | "analyze job" | "job match" | "linkedin-apply" | "score this job" | "should i apply for this job" | "evaluate this job posting" | "is this job a…