Agent Browser CLI
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
Pushes glanceable info such as todos, calendar, weather and AI status to an M5Paper e-ink desk card through a local daemon, picking slots and widget types.
$ npx skills add op7418/ai-desk-card --skill card-widget -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install op7418/ai-desk-card card-widget --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/op7418/ai-desk-card.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/card-widget .claude/skills/card-widget && 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 "card-widget" agent skill from https://github.com/op7418/ai-desk-card/tree/main/plugin/skills/card-widget into .claude/skills/card-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "card-widget", 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/op7418/ai-desk-card/tree/main/plugin/skills/card-widgetType 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 op7418/ai-desk-card --skill card-widget -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install op7418/ai-desk-card card-widget --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/op7418/ai-desk-card.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugin/skills/card-widget .agents/skills/card-widget && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "card-widget" agent skill from https://github.com/op7418/ai-desk-card/tree/main/plugin/skills/card-widget into .agents/skills/card-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "card-widget", 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 op7418/ai-desk-card --skill card-widget -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install op7418/ai-desk-card card-widget --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/op7418/ai-desk-card.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugin/skills/card-widget .cursor/skills/card-widget && 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 "card-widget" agent skill from https://github.com/op7418/ai-desk-card/tree/main/plugin/skills/card-widget into .cursor/skills/card-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "card-widget", 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/op7418/ai-desk-card.git --path plugin/skills/card-widget--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 op7418/ai-desk-card --skill card-widget -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install op7418/ai-desk-card card-widget --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/op7418/ai-desk-card.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugin/skills/card-widget .gemini/skills/card-widget && 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 "card-widget" agent skill from https://github.com/op7418/ai-desk-card/tree/main/plugin/skills/card-widget into .gemini/skills/card-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "card-widget", 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 op7418/ai-desk-card card-widgetInstalls 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 op7418/ai-desk-card --skill card-widget -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/op7418/ai-desk-card.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugin/skills/card-widget .github/skills/card-widget && 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 "card-widget" agent skill from https://github.com/op7418/ai-desk-card/tree/main/plugin/skills/card-widget into .github/skills/card-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "card-widget", 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 op7418/ai-desk-card --skill card-widget -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install op7418/ai-desk-card card-widget --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/op7418/ai-desk-card.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugin/skills/card-widget .opencode/skills/card-widget && 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 "card-widget" agent skill from https://github.com/op7418/ai-desk-card/tree/main/plugin/skills/card-widget into .opencode/skills/card-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "card-widget", 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.
card-widgetPushes glanceable info such as todos, calendar, weather and AI status to an M5Paper e-ink desk card through a local daemon, picking slots and widget types.
The card is a 540 × 960 e-ink panel placed beside the monitor. The agent picks from 16 widget types, fills in data that matches each widget's JSON schema, and posts one to four widgets to a local daemon, by default at 127.0.0.1:9877, which renders a single frame. Traffic stays on loopback, so individual widget writes do not trigger approval prompts in the agent.
The screen has four slots. The two top slots are 270 px wide and suit glance widgets such as weather, inbox, ai-status or git-status. The middle slot is the largest and takes the headline widget (calendar, focus or next-meeting), and the bottom slot holds list-style widgets like todo, deadlines, pr-queue or messages. If you have no preference, the default puts weather top-left and ai-status top-right.
Update frequency matters on e-ink. Changing one widget's content is fine, but streaming per keystroke is ruled out because every push refreshes the panel and wears it over time. ai-status gets one push at the start and one at the end, and live timers at most every 30 seconds. The daemon picks Wi-Fi, USB or BLE at startup: a single-widget update takes about 0.2 s over Wi-Fi but much longer on USB, where a full frame takes about 32 s, so the skill suggests /card-wifi-setup. Two Python scripts fetch notifications and todo reminders.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit dc3b498. 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:
BashReadWriteFrom allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
curlbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
M5Paper Card Widgets loads about 3k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 1,020 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: Bash, Read, WriteAutomated 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); the scripts in this folder are not scanned.
Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 1,020 words (~2,961 tokens).
“The card is a 540 × 960 e-ink panel sitting next to the user's monitor. You push 1-4 widgets and the daemon renders a single frame; transfer time depends on the transport.”
SKILL.md and 22 other files (scripts) in plugin/skills/card-widget of op7418/ai-desk-card.
Open the folder on GitHubat commit dc3b498
M5Paper Card Widgets 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 |
|---|---|---|---|---|---|---|
| M5Paper Card Widgets this skillop7418/ai-desk-card | 151 | — | ~3k | Automated safety check: Notes | Custom licence | |
| Agent Browser CLIvercel-labs/agent-browser | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 | |
| Agent Browserquran/quran.com-frontend-next | 1.9k | 40 repos | ~3.3k | Automated safety check: Pass | None | |
| Web Access via Browser CDPeze-is/web-access | 9.1k | 4 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Dev Browser AutomationMemTensor/MemOS | 12k | 3 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Agent ReachPanniantong/Agent-Reach | 94k | — | ~1.4k | Automated safety check: Pass | MIT |
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
quran/quran.com-frontend-next
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
eze-is/web-access
Routes every web task, from searching to logged-in browsing, through a tiered choice of search, fetch, curl or a real Chrome or Edge session driven over CDP.
MemTensor/MemOS
Automates a real browser through short TypeScript scripts that keep page state between runs, for navigating, filling forms, taking screenshots and extracting data.
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
telegramdesktop/tdesktop
Resolve, start or resume, implement, review, test, and publish exactly one existing ai-tdesktop task by short slug or full dated id, including rare blocked retries and split-required results.
op7418/ai-desk-card
Drives an M5Paper e-ink desk display from an agent: probes device state, guides first-time setup, and pushes widgets such as calendar, todos and weather.
op7418/ai-desk-card
Walks a user through first-time setup of an AI Desk Card e-ink device, probing daemon, USB, BLE, Wi-Fi and firmware state and fixing whatever is missing.
op7418/ai-desk-card
Walks a user through putting an AI Desk Card e-ink device on home Wi-Fi so frames arrive in about 0.2 seconds instead of the 32 seconds USB takes.
Categories
Pushes glanceable info such as todos, calendar, weather and AI status to an M5Paper e-ink desk card through a local daemon, picking slots and widget types. The card is a 540 × 960 e-ink panel placed beside the monitor.1:9877, which renders a single frame.
M5Paper Card Widgets fits situations like: showing today's calendar, next meeting or todos on a desk e-ink display; putting AI task status, git status or a PR queue on a secondary screen; choosing which four widgets and slots the card should show.
Run `npx skills add op7418/ai-desk-card --skill card-widget -a claude-code`. Or copy the skill folder (plugin/skills/card-widget in op7418/ai-desk-card) into .claude/skills/card-widget in your project. Claude Code loads it when a task matches its description.
Run `npx skills add op7418/ai-desk-card --skill card-widget -a codex`. Or copy the skill folder (plugin/skills/card-widget in op7418/ai-desk-card) into .agents/skills/card-widget 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 op7418/ai-desk-card --skill card-widget -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/card-widget, .gemini/skills/card-widget, .github/skills/card-widget and .opencode/skills/card-widget in your project.
Going by SKILL.md and its folder, M5Paper Card Widgets needs Python for the scripts in its folder and the command-line tools its instructions call (curl and bash). Our summary lists: An M5Paper ai-desk-card with its local daemon running; Python for the bundled fetch scripts. Its frontmatter pre-approves these tools: Bash, Read, Write.
SKILL.md contains no URLs. Its commands use curl, 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
M5Paper Card Widgets has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.
About 3k tokens (SKILL.md is roughly 12k 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 M5Paper Card Widgets: Agent Browser CLI (vercel-labs/agent-browser, 44k stars), Agent Browser (quran/quran.com-frontend-next, 1.9k stars), Web Access via Browser CDP (eze-is/web-access, 9.1k stars) and Dev Browser Automation (MemTensor/MemOS, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
op7418 (a GitHub user) maintains it in op7418/ai-desk-card, which has 151 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on May 22, 2026.
Source: op7418/ai-desk-card on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.