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…
Use the local heptabase CLI whenever the user mentions Heptabase or shares an app.heptabase.com URL/deep link.
$ npx skills add heptameta/heptabase-cli-skills --skill heptabase-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install heptameta/heptabase-cli-skills heptabase-cli --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/heptameta/heptabase-cli-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/heptabase-cli .claude/skills/heptabase-cli && 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 "heptabase-cli" agent skill from https://github.com/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cli into .claude/skills/heptabase-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "heptabase-cli", 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/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cliType 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 heptameta/heptabase-cli-skills --skill heptabase-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install heptameta/heptabase-cli-skills heptabase-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heptameta/heptabase-cli-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/heptabase-cli .agents/skills/heptabase-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "heptabase-cli" agent skill from https://github.com/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cli into .agents/skills/heptabase-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "heptabase-cli", 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 heptameta/heptabase-cli-skills --skill heptabase-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install heptameta/heptabase-cli-skills heptabase-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heptameta/heptabase-cli-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/heptabase-cli .cursor/skills/heptabase-cli && 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 "heptabase-cli" agent skill from https://github.com/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cli into .cursor/skills/heptabase-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "heptabase-cli", 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/heptameta/heptabase-cli-skills.git --path skills/heptabase-cli--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 heptameta/heptabase-cli-skills --skill heptabase-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install heptameta/heptabase-cli-skills heptabase-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heptameta/heptabase-cli-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/heptabase-cli .gemini/skills/heptabase-cli && 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 "heptabase-cli" agent skill from https://github.com/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cli into .gemini/skills/heptabase-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "heptabase-cli", 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 heptameta/heptabase-cli-skills heptabase-cliInstalls 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 heptameta/heptabase-cli-skills --skill heptabase-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/heptameta/heptabase-cli-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/heptabase-cli .github/skills/heptabase-cli && 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 "heptabase-cli" agent skill from https://github.com/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cli into .github/skills/heptabase-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "heptabase-cli", 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 heptameta/heptabase-cli-skills --skill heptabase-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install heptameta/heptabase-cli-skills heptabase-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heptameta/heptabase-cli-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/heptabase-cli .opencode/skills/heptabase-cli && 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 "heptabase-cli" agent skill from https://github.com/heptameta/heptabase-cli-skills/tree/main/skills/heptabase-cli into .opencode/skills/heptabase-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "heptabase-cli", 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.
heptabase-cliUse the local heptabase CLI whenever the user mentions Heptabase or shares an app.heptabase.com URL/deep link.
Heptabase CLI is an agent skill from heptameta/heptabase-cli-skills. Use the local heptabase CLI whenever the user mentions Heptabase or shares an app.heptabase.com URL/deep link. Read and edit notes, journals, tags, and properties; read chats, messages, and files; import local images into notes; and work with whiteboard structure and layout through the running desktop app, including sections, connections, mind maps, lint, and schematic screenshots. Also browse AI Tutor goals, courses, and lessons. Do not open Heptabase links in an agent browser unless the user asks.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/card-content-schema.md`, `references/codex-sandbox.md` and `references/created-by-ai.md`).
It sits in Productivity & Automation, covering Browser automation. The repository describes itself as: Agent skills for Heptabase CLI. The licence is MIT.
Read from SKILL.md and the folder at commit b5fb23f. 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:
Bash(heptabase *)Bash(jq *)Bash(mktemp *)From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Heptabase CLI loads about 3.1k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 1,589 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 found no risky patterns in SKILL.md.
Automated 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 heptameta/heptabase-cli-skills at commit b5fb23f, republished under its MIT licence (© heptameta). 1,589 words, ~3,134 tokens.
.claude/skills/heptabase-cli/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.heptabase on macOS/Linux; Windows installs heptabase.cmd for cmd/PowerShell and a heptabase shim for POSIX shells.heptabase --version. If the installed CLI version is outside this skill's compatibility range (0.7.x), you MUST stop and ask the user to update either the Heptabase desktop app or this skill package before continuing.Run heptabase help to see all available top-level commands. This is always up to date. Each command supports --help for detailed usage:
heptabase help
heptabase note --help
heptabase note create --helpUse these as quick recipes for frequent requests. For less common flags or if a command fails, run heptabase help or <command> --help to discover the correct syntax.
heptabase card list --sort createdTime --direction descending --limit 20heptabase journal read $(date +%Y-%m-%d)heptabase card list -q "<keyword>" --limit 20heptabase note create --content "# Title\n\nBody" (marks Created by AI by default; add --no-created-by-ai for human-owned content).heptabase journal create --content "Body" (marks Created by AI by default; add --no-created-by-ai for human-owned content).heptabase note append <cardId> --content "More content".references/card-content-schema.md, then use heptabase note read <cardId>, modify the returned ProseMirror JSON, and save with heptabase note save <cardId> --content-md5 <contentMd5> --content-file <path>.heptabase tag cards <tagId> --include-properties to list tagged cards with values, or heptabase card properties <cardIdOrDate> to inspect one card. Before writing, read references/property-values.md, inspect definitions with heptabase tag properties <tagId>, then use heptabase card set-property <cardIdOrDate> --property-id <propertyId> --value "Published" for strings/options or --json-value ... for typed JSON values.references/pdf-reading.md, then use heptabase pdf metadata <pdfCardId> to discover totalPages, and read a page range with heptabase pdf read <pdfCardId> --start-page N --end-page N.references/transcript-reading.md, then use heptabase audio metadata <audioCardId> or heptabase video metadata <videoCardId> to discover transcriptStatus and durationSeconds, and read overlapping transcript entries in a time range with heptabase audio read <audioCardId> --start-seconds 0 --end-seconds 300 or heptabase video read <videoCardId> --start-seconds 0 --end-seconds 300.references/file-reading.md. If needed, find its ID with heptabase file list --card-id <cardId>, then run mktemp -d and heptabase file export <fileId> --output-dir <scratchDir>. Read the returned path with your native file-reading tool.references/image-import.md, then run heptabase file import <path> and add an image node through note read and note save: set fileId, and set originalWidth and originalHeight to the returned width and height.heptabase whiteboard read <whiteboardId> --mode structure, then heptabase whiteboard read-layout <whiteboardId>.whiteboard read output, then use heptabase object read chat <chatId> --offset <n> --limit <n> to paginate non-removed messages with their displayed author, timestamp, quoted content, and message content. For a whiteboard chat-messages element, use heptabase object read chatMessagesElement <elementId> --offset <n> --limit <n>.heptabase whiteboard lint <whiteboardId>. For visual review, first read references/whiteboard.md, then use heptabase whiteboard screenshot <whiteboardId> --output <existingDirectory>/whiteboard.png and inspect the returned local path.references/whiteboard.md; for mind maps, also read references/mind-maps.md. Commands with nested or batch input use --input <path|-> and canonical JSON.When the user shares a Heptabase URL (aka. deep link), use the CLI to read it — do NOT open it in a browser if the user does not explicitly ask you to (the app requires authentication and browsers used by agents are typically not logged in).
URL patterns and how to handle them:
https://app.heptabase.com/<workspaceId>/card/<YYYY-MM-DD> → heptabase journal read <YYYY-MM-DD>https://app.heptabase.com/<workspaceId>/card/<uuid> → first run heptabase card properties <uuid> to discover the card type, then read its content with the matching command (heptabase note read <uuid>, heptabase pdf metadata <uuid>, etc.).https://app.heptabase.com/<workspaceId>/whiteboard/<uuid> → run heptabase whiteboard read <uuid> --mode structure and heptabase whiteboard read-layout <uuid>. Read references/whiteboard.md before any layout mutation or visual judgment.The <workspaceId> segment in the URL is not needed by the CLI — extract only the card/whiteboard ID.
Use create / append with Markdown for ordinary writing. Before calling heptabase note save / heptabase journal save with ProseMirror JSON, you MUST read references/card-content-schema.md. Also read it before generating Markdown that uses Heptabase-specific extensions such as card mentions, whiteboard mentions, dates, videos, math, or toggle/todo lists.
note create and journal create mark content as Created by AI by default. Before deciding whether to pass --no-created-by-ai, you MUST read references/created-by-ai.md.
Before setting a property value, you MUST read references/property-values.md and inspect the target property with heptabase card properties <cardIdOrDate> and/or heptabase tag properties <tagId>. Property formats vary by type, and relation writes replace the full relation value. For relation properties, use heptabase tag properties <sourceTagId> to get the property definition's relationTargetTagId, then list valid related cards before writing.
Before reading/listing files or exporting a file, you MUST read references/file-reading.md.
Before importing an image or adding it to a note, you MUST read references/image-import.md.
Before reading parsed PDF content, you MUST read references/pdf-reading.md.
Before reading parsed media transcripts, you MUST read references/transcript-reading.md.
Before deliberate placement, movement, arrangement, resizing, sectioning, connection work, removal, or visual verification, you MUST read references/whiteboard.md. It defines exact placement references, selection and destination shapes, read-before-write rules, and the verification loop.
For mind-map creation or structural edits, also read references/mind-maps.md. Read the current mind map again before updating it so stable structural node IDs are current.
The existing whiteboard cards, add-card, and remove-card commands are narrow legacy commands. Prefer whiteboard read, read-layout, and the canonical --input commands for structured whiteboard work.
The canonical mutation commands cover whiteboard hierarchy and shortcuts; object placement and cross-whiteboard moves; move, arrange, align, resize, color, and removal; Sections and connections; and mind-map creation and updates. Run heptabase whiteboard --help for the current list and read the linked references for nested input.
Commands with nested or batch data accept --input <path|->; - reads JSON from stdin. Build JSON with jq or write it to a temporary file. Do not interpolate untrusted text into hand-built shell JSON.
Inspect every mutation result. A handled top-level status: "failed" is printed and exits with status 1. A successful top-level result exits with 0 even when item results contain failureReasonCode fields, so check them before reporting full success.
Every command prints JSON to stdout. You can parse it with jq or pipe it to other tools. whiteboard screenshot writes the PNG to --output and prints metadata only; it never prints image bytes.
heptabase start to launch and wait for readiness.references/codex-sandbox.md; retry heptabase commands outside the sandbox when Codex supports escalation.file import uploads can be up to 2000 MB.heptabase file export works only when the file metadata and raw file are already available locally in the desktop app. It does not download missing files from cloud storage.heptabase file import imports images (not HEIC, HEIF, or TIFF) for use in notes. It cannot import PDFs, audio, video, or other files, it does not create cards, and it cannot call media-processing APIs.remove-objects removes canvas placements, not source Cards.© heptameta, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (references) in skills/heptabase-cli of heptameta/heptabase-cli-skills.
Open the folder on GitHubat commit b5fb23f
Heptabase CLI 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 |
|---|---|---|---|---|---|---|
| Heptabase CLI this skillheptameta/heptabase-cli-skills | 155 | — | ~3.1k | Automated safety check: Pass | MIT | |
| 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 | |
| Electron App Automationvercel-labs/agent-browser | 44k | 5 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 |
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.
vercel-labs/agent-browser
Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.
vercel/next.js
Verify Next.js runtime behavior after editing app code. An agent skill from vercel/next.js.
heptameta/heptabase-cli-skills
Maintain Agent Skills in a Heptabase repository across Claude Code, Codex, and Cursor.
heptameta/heptabase-cli-skills
Release a new version of heptabase-cli-skills, the public Agent Skills plugin package for the Heptabase CLI.
heptameta/heptabase-cli-skills
This repo (heptabase-cli-skills) is PUBLIC — everything committed is visible to the world and permanent in git history.
Categories
Use the local heptabase CLI whenever the user mentions Heptabase or shares an app.heptabase.com URL/deep link. Heptabase CLI is an agent skill from heptameta/heptabase-cli-skills.com URL/deep link.
Heptabase CLI fits situations like: mentions Heptabase; shares an app.heptabase.com URL/deep link.
Run `npx skills add heptameta/heptabase-cli-skills --skill heptabase-cli -a claude-code`. Or copy the skill folder (skills/heptabase-cli in heptameta/heptabase-cli-skills) into .claude/skills/heptabase-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add heptameta/heptabase-cli-skills --skill heptabase-cli -a codex`. Or copy the skill folder (skills/heptabase-cli in heptameta/heptabase-cli-skills) into .agents/skills/heptabase-cli 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 heptameta/heptabase-cli-skills --skill heptabase-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/heptabase-cli, .gemini/skills/heptabase-cli, .github/skills/heptabase-cli and .opencode/skills/heptabase-cli in your project.
SKILL.md names no scripts, command-line tools or credentials: Heptabase CLI is instructions for the agent only. Its frontmatter pre-approves these tools: Bash(heptabase *), Bash(jq *), Bash(mktemp *).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Heptabase CLI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Heptabase CLI: 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.
heptameta (a GitHub organization) maintains it in heptameta/heptabase-cli-skills, which has 155 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.
Source: heptameta/heptabase-cli-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.