Agent skill

Heptabase CLI

by heptameta in heptameta/heptabase-cli-skills

Use the local heptabase CLI whenever the user mentions Heptabase or shares an app.heptabase.com URL/deep link.

MITAuto-check passedProductivity & Automation

Install Heptabase CLI

skills CLI
$ npx skills add heptameta/heptabase-cli-skills --skill heptabase-cli -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install heptameta/heptabase-cli-skills heptabase-cli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
heptabase-cli
GitHub stars
155
Token cost
~3.1k tokens
SKILL.md length
1,589 words
Files
11 (incl. references)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Use the local heptabase CLI whenever the user mentions Heptabase or shares an app.heptabase.com URL/deep link.

  • Mentions Heptabase
  • SKILL.md covers Prerequisites, Command discovery, Common recipes and Heptabase URLs (Deep links), plus 13 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Shares an app.heptabase.com URL/deep link

What it does

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.

When your agent uses it

  • Mentions Heptabase
  • Shares an app.heptabase.com URL/deep link

Example prompts

  • “/heptabase-cli”

Requirements

  • Pre-approved tools (allowed-tools): Bash(heptabase *), Bash(jq *), Bash(mktemp *)

What it can do on your machine

Read from SKILL.md and the folder at commit b5fb23f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~16k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from heptameta/heptabase-cli-skills at commit b5fb23f, republished under its MIT licence (© heptameta). 1,589 words, ~3,134 tokens.

Download SKILL.mdSave it as .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.
name
heptabase-cli
description
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.
allowed-tools
Bash(heptabase *), Bash(jq *), Bash(mktemp *)
metadata.heptabase-cli-version-range
0.7.x

Prerequisites

  • CLI installed from the desktop app. The command is heptabase on macOS/Linux; Windows installs heptabase.cmd for cmd/PowerShell and a heptabase shim for POSIX shells.
  • Check version compatibility before use with 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.

Command discovery

Run heptabase help to see all available top-level commands. This is always up to date. Each command supports --help for detailed usage:

bash
heptabase help
heptabase note --help
heptabase note create --help

Common recipes

Use 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.

  • Recent cards: heptabase card list --sort createdTime --direction descending --limit 20
  • Today's journal: heptabase journal read $(date +%Y-%m-%d)
  • Search cards by keyword: heptabase card list -q "<keyword>" --limit 20
  • Create a note from markdown: heptabase note create --content "# Title\n\nBody" (marks Created by AI by default; add --no-created-by-ai for human-owned content).
  • Create today's journal from markdown: heptabase journal create --content "Body" (marks Created by AI by default; add --no-created-by-ai for human-owned content).
  • Append markdown to a note: heptabase note append <cardId> --content "More content".
  • Edit note content with JSON save: first read 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>.
  • Work with properties: use 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.
  • Read parsed PDF content: first read 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.
  • Read transcript content: first read 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.
  • Read an attached file: first read 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.
  • Add a local image to a note: first read 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.
  • Inspect a whiteboard: heptabase whiteboard read <whiteboardId> --mode structure, then heptabase whiteboard read-layout <whiteboardId>.
  • Read chat messages: Copy a chat ID from 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>.
  • Check or view whiteboard layout: run 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.
  • Change whiteboard layout or a mind map: first read 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:

  • Journal card: https://app.heptabase.com/<workspaceId>/card/<YYYY-MM-DD> → heptabase journal read <YYYY-MM-DD>
  • Card by UUID: 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.).
  • Whiteboard: 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.

Note and journal card content editing

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.

Created by AI marking

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.

Property editing

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.

File reading

Before reading/listing files or exporting a file, you MUST read references/file-reading.md.

Image import

Before importing an image or adding it to a note, you MUST read references/image-import.md.

PDF reading

Before reading parsed PDF content, you MUST read references/pdf-reading.md.

Transcript reading

Before reading parsed media transcripts, you MUST read references/transcript-reading.md.

Show full SKILL.md (698 more words)Show less

Whiteboard work

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.

Canonical JSON 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.

All output is JSON

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.

Troubleshooting

  • Desktop app must be running. The CLI communicates with a local server inside the app. If the app is closed, all commands fail. Run heptabase start to launch and wait for readiness.
  • Codex sandbox may block the local CLI server. If Heptabase starts but Codex says the CLI server is not ready, read references/codex-sandbox.md; retry heptabase commands outside the sandbox when Codex supports escalation.
  • Mutations are serialized. Write operations run one at a time to prevent conflicts. Reads are concurrent.
  • Request body size limit. The server rejects JSON request bodies larger than 1 MB. file import uploads can be up to 2000 MB.
  • Request timeout. The server times out JSON requests that take longer than 10 seconds to send their body.

Known limitations

  • Auto-enabling local server/CLI install not supported. If the local CLI server is disabled or CLI wiring is missing, the skill cannot repair it by itself; ask the user to enable Local CLI Server and CLI install from desktop settings first.
  • File export is local-file-only. 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.
  • Only image import is supported. 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.
  • Whiteboard scope is intentionally bounded. The CLI cannot delete a whiteboard or underlying Card, move content across spaces, create arbitrary shapes, or perform one semantic whole-board auto-layout command. remove-objects removes canvas placements, not source Cards.
  • No CLI undo command or Agent history. Whiteboard mutations use the app's normal domain actions, but the CLI does not expose Agent chat undo, tool-call persistence, or the Agent screenshot checklist. Read first and verify the result yourself.
  • Whiteboard content is local. Whiteboard reads use content available in the running desktop app and do not run backend-only PDF, web, or YouTube enrichment. Use dedicated PDF and media commands for full source content. Full web card content is not available through the CLI; use the source URL in the whiteboard output.
  • Screenshots are schematic. They support spatial review but do not replace semantic reads or deterministic lint.
  • Property filtering not supported yet. You can read tag property schemas, read property values, and set one property value on a card, but you can't query cards by property value.

Warnings

  • Use the CLI as the only data access path. Never directly read, write, or modify Heptabase app data through local database files, app storage, cache files, internal endpoints, or any other non-CLI mechanism. If the CLI does not support the requested operation, stop and report that it is not supported.

© heptameta, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/heptabase-cli of heptameta/heptabase-cli-skills.

  • SKILL.md
  • references/card-content-schema.md
  • references/codex-sandbox.md
  • references/created-by-ai.md
  • references/file-reading.md
  • references/image-import.md
  • references/mind-maps.md
  • references/pdf-reading.md
  • references/property-values.md
  • references/transcript-reading.md
  • references/whiteboard.md

Open the folder on GitHubat commit b5fb23f

Compare with similar skills

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.

Heptabase CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Heptabase CLI this skillheptameta/heptabase-cli-skills155—~3.1kAutomated safety check: PassMIT
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0
Agent Browserquran/quran.com-frontend-next1.9k40 repos~3.3kAutomated safety check: PassNone
Web Access via Browser CDPeze-is/web-access9.1k4 repos~2.2kAutomated safety check: PassMIT
Dev Browser AutomationMemTensor/MemOS12k3 repos~1.7kAutomated safety check: PassApache-2.0
Electron App Automationvercel-labs/agent-browser44k5 repos~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Agent Browser

    quran/quran.com-frontend-next

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    1.9k GitHub starsUsed in 40 repos~3.3k tokens
    Productivity & AutomationAuto-check passed
  • 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.

    9.1k GitHub starsUsed in 4 repos~2.2k tokens
    Productivity & AutomationAuto-check passed
  • Dev Browser Automation

    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.

    12k GitHub starsUsed in 3 repos~1.7k tokens
    Productivity & AutomationAuto-check passed
  • Electron App Automation

    vercel-labs/agent-browser

    Official

    Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.

    44k GitHub starsUsed in 5 repos~1.7k tokens
    Productivity & AutomationAuto-check passed
  • Next Dev Loop

    vercel/next.js

    Official

    Verify Next.js runtime behavior after editing app code. An agent skill from vercel/next.js.

    143k GitHub starsUsed in 9 repos~2.3k tokens
    Productivity & AutomationAuto-check passed

More from heptameta/heptabase-cli-skills

  • Maintain Skills

    heptameta/heptabase-cli-skills

    Maintain Agent Skills in a Heptabase repository across Claude Code, Codex, and Cursor.

    155 GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed
  • Release

    heptameta/heptabase-cli-skills

    Release a new version of heptabase-cli-skills, the public Agent Skills plugin package for the Heptabase CLI.

    155 GitHub stars~1.6k tokensUpdated 3 days ago
    Auto-check passed
  • Public Repo Guard

    heptameta/heptabase-cli-skills

    This repo (heptabase-cli-skills) is PUBLIC — everything committed is visible to the world and permanent in git history.

    155 GitHub stars~1.2k tokensUpdated 3 days ago
    Auto-check: warnings

Questions about Heptabase CLI

What does Heptabase CLI do?

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.

When should I use Heptabase CLI?

Heptabase CLI fits situations like: mentions Heptabase; shares an app.heptabase.com URL/deep link.

How do I install Heptabase CLI in Claude Code?

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.

How do I install Heptabase CLI in Codex?

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.

Can I use Heptabase CLI in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Heptabase CLI need to run?

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 *).

Does Heptabase CLI access the network?

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.

Is Heptabase CLI safe to install?

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.

What licence does Heptabase CLI use?

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.

How many tokens does Heptabase CLI use?

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.

What are the alternatives to Heptabase CLI?

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.

Who maintains Heptabase CLI?

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.