Agent skill

Memory Comark

by basicmachines-co in basicmachines-co/basic-memory

Write Basic Memory notes that render as charts, tables, boards, and live dashboards with ::bm- Comark components.

AGPL-3.0Auto-check passedKnowledge Management

Install Memory Comark

skills CLI
$ npx skills add basicmachines-co/basic-memory --skill memory-comark -a claude-code

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

GitHub CLI
$ gh skill install basicmachines-co/basic-memory memory-comark --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/basicmachines-co/basic-memory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/memory-comark .claude/skills/memory-comark && 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
memory-comark
GitHub stars
4.1k
Token cost
~2.1k tokens
SKILL.md length
1,075 words
Files
2 (incl. references)
Skills in repo
49
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Write Basic Memory notes that render as charts, tables, boards, and live dashboards with ::bm- Comark components.

  • Works in 5 steps: Does a figure beat a sentence here? If… → Is the component name and every prop in… → Is data in the body as Markdown rows or… → …
  • A note would read better as a figure
  • SKILL.md covers Pick a component, Write a component, Live views over the knowledge… and Edit a note that already has…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Memory Comark is an agent skill from basicmachines-co/basic-memory. Write Basic Memory notes that render as charts, tables, boards, and live dashboards with ::bm- Comark components. Use when a note would read better as a figure, checklist, kanban board, or a live view over the knowledge base (counts, rankings, recent activity, search results), or when editing a note that already contains ::bm- directives.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/components.md`).

It sits in Knowledge Management, covering Sprint planning and agile and Knowledge bases. The repository describes itself as: AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN. The licence is AGPL-3.0.

When your agent uses it

  • A note would read better as a figure
  • A live view over the knowledge base (counts
  • Recent activity
  • Search results)

Example prompts

  • “/memory-comark”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Does a figure beat a sentence here? If not, write the sentence.
  2. Is the component name and every prop in the reference?
  3. Is data in the body as Markdown rows or a table, with no " inside values?
  4. For a live view: does the pipeline give the shape this component needs, and
  5. Is there prose around the figure saying what it shows and whether a count is

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

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

    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

Memory Comark loads about 2.1k tokens when it runs, and up to ~9.9k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 1,075 words of instructions outside code blocks.

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

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 basicmachines-co/basic-memory at commit 0b44139, republished under its AGPL-3.0 licence (© basicmachines-co). 1,075 words, ~2,071 tokens.

Download SKILL.mdSave it as .claude/skills/memory-comark/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
memory-comark
description
Write Basic Memory notes that render as charts, tables, boards, and live dashboards with `::bm-*` Comark components. Use when a note would read better as a figure, checklist, kanban board, or a live view over the knowledge base (counts, rankings, recent activity, search results), or when editing a note that already contains `::bm-*` directives.

Memory Comark

Basic Memory notes can carry small, safe components written as Comark block directives (::bm-bars{...} … ::). Basic Memory Cloud draws them in Notes, the Wiki, and shared pages. Everywhere else (a local editor, GitHub, an agent's raw read) the same Markdown still reads as an ordinary list, table, or paragraph, so a component never hides content.

Use a component when its shape says more than a sentence or a list would. Keep prose primary: one figure per idea, at most two per section, with a sentence between them that says what the figure shows.

The full vocabulary, every prop, and every data grammar are in references/components.md. Read it before using a component you have not used before.

Pick a component

Most notes need only these. The reference has the rest (39 in total).

You want to showUse
One or a few headline numbersbm-stat
A comparison of a few valuesbm-bars
A short ranked listbm-rank
A small data tablebm-table
Progress toward a wholebm-meter
A trend without axesbm-spark
Steps that drop offbm-funnel
A task listbm-check
Work in lanes (now, next, later)bm-kanban
Events in orderbm-timeline
A framed claim or summarybm-frame
A short path (a → b → c)bm-flow
A real graph, sequence, or state machinea fenced ```mermaid block (not a component)

If nothing fits, write prose or a plain Markdown table. Never invent a component: an unknown name such as ::bm-pie is not drawn and shows as raw text.

Write a component

Every component opens with ::bm-name{attributes} on its own line and closes with :: on its own line.

markdown
The queue rewrite more than doubled steady-state throughput.

::bm-bars{title="Throughput" caption="Before and after the queue rewrite"}
- Before: 42/s
- **After: 96/s**
::

Rules that matter:

  • Data goes in the body as Markdown, not in an attribute: - label: value rows, a table for grids. Bold marks the current or chosen row, italic recedes, — note adds a side note.
  • Attribute values are double-quoted and cannot contain ". There is no escape. Inside a query, quote phrases with single quotes: query="search 'queue rewrite'".
  • Task state stays in Markdown. Use - [ ] and - [x] inside bm-check and bm-kanban; people can tick boxes from the rendered note.
  • Never put HTML, scripts, styles, or classes in a note, and never wrap a component in a code fence (a fenced block stays literal code).
  • Use only registered props. An unknown attribute makes the directive unparseable, and it shows as raw text.

A checklist and a board:

markdown
::bm-check{title="Launch"}
- [x] Freeze the schema
- [ ] Write the migration note — due Friday
::

::bm-kanban{title="Roadmap"}
### Now
- **Billing page**
- [ ] Usage emails

### Next
- *Partner portal*
::

Live views over the knowledge base

A component with a query attribute shows current data from the project it lives in. Prefer a live view to a hand-copied number when the note describes its own knowledge base, because copied counts go stale.

markdown
::bm-stat{label="Open decisions" query="notes | where type == decision and status == open | count"}
::

::bm-bars{title="Open decisions by owner" query="notes | where type == decision and status != done | group owner | sort count desc"}
::

::bm-table{title="Due soon" query="notes | where tags contains infra and due < 2026-10-15 | fields title, owner, due | sort due"}
::

::bm-timeline{title="Recent edits" query="activity 7d"}
::

::bm-rank{title="Related notes" query="search 'checksum conflict' | limit 5"}
::

A pipeline reads left to right: a source (notes, search 'phrase', activity 7d|30d), then optional stages in order: where, group, count or sum field, fields, sort, limit (1–50). The reference lists every operator and which components accept which shapes.

Shapes that work:

  • Charts, ranks, and bars need a number per row: add group field, count, or sum field, or use a search source.
  • Sparks, KPIs, and plots need several rows (group, daily, or search), not a single count.
  • bm-table takes fields; bm-timeline takes activity without daily; bm-activity takes activity 30d | daily.

Semantics to state honestly in the surrounding prose:

  • notes views are exact counts over indexed frontmatter. Search views are ranked and bounded; call them matches, never "all".
  • != keeps notes that lack the field. group puts notes without the field in a none group.
  • Frontmatter numbers are stored as text; comparisons and sums treat decimal text as numbers and ignore everything else.
Show full SKILL.md (491 more words)Show less
Check the rendered result before you quote it

In Basic Memory Cloud, read_note(view="text") returns the note as a reader sees it: every component as plain Markdown, with live queries run now. Read it back after writing a live view and confirm the view has rows before you state a number in prose. A query over a field no note has renders an empty view.

Elsewhere, only the browser runs the query, so run the equivalent read yourself (for example search_notes with metadata filters; see the memory-metadata-search skill).

A live chart's body is its snapshot: the rows readers see when live data cannot load. A new live view can leave the body empty; people fill it with Freeze snapshot in the editor. If you add snapshot rows yourself, label them as a snapshot in prose and keep them in the chart's row grammar.

Edit a note that already has components

  • Change one component with edit_note (find_replace on its directive line or rows). Do not rewrite the whole note to change one value.
  • The rich editor normalizes formatting when a person edits the note: attribute order changes and YAML blocks come back as JSON. Values survive; do not fight the formatting.
  • Keep the closing :: lines. An unclosed component swallows the rest of the note into its body.

When a component shows an error

A broken component renders a coded problem and a fix inside its own frame; the rest of the note still renders. In Basic Memory Cloud, write_note and edit_note list these problems under Component problems in their result (they never block the write), so fix them right away with edit_note. comark(7) in the manual (memory://man/comark(7)) is a quick reference to the syntax and codes. The codes you will meet most:

CodeMeaningFix
query-measureThe chart has no number per rowAdd group, count, or sum, or use search
query-seriesA trend from one valueUse group, daily, or search with limit ≥ 2
query-escaped-quote\" inside a queryUse single quotes inside the query
query-field / query-operatorBad field name or operatorFields are [A-Za-z0-9_-] with dotted paths; ops are == != < <= > >= contains
query-stage-orderStages out of orderwhere, group, count/sum, fields, sort, limit
chart-body-emptyNo rows in the bodyAdd - label: value rows
chart-body-numberA row without a numberEvery row needs a numeric value

An unknown component or attribute is not drawn at all and shows as raw text; check names and props against the reference.

Checklist

  1. Does a figure beat a sentence here? If not, write the sentence.
  2. Is the component name and every prop in the reference?
  3. Is data in the body as Markdown rows or a table, with no " inside values?
  4. For a live view: does the pipeline give the shape this component needs, and did you check the numbers with a read of your own?
  5. Is there prose around the figure saying what it shows and whether a count is exact or a ranking?

© basicmachines-co, AGPL-3.0. 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 1 other file (references) in skills/memory-comark of basicmachines-co/basic-memory.

  • SKILL.md
  • references/components.md

Open the folder on GitHubat commit 0b44139

Compare with similar skills

Memory Comark 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.

Memory Comark compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memory Comark this skillbasicmachines-co/basic-memory4.1k—~2.1kAutomated safety check: PassAGPL-3.0
Knowledge Searchdataelement/bisheng12k—~1.1kAutomated safety check: PassApache-2.0
Capture Conversationoutline/outline41k—~474Automated safety check: PassCustom licence
Find And Citeoutline/outline41k—~537Automated safety check: PassCustom licence
Xhs Virtual Productchenjin-cmd/xhs-virtual-product729—~862Automated safety check: PassMIT
OpenkbVectifyAI/OpenKB4.8k1 repos~2kAutomated safety check: WarnApache-2.0

Similar skills

  • Knowledge Search

    dataelement/bisheng

    Search the user's knowledge bases and knowledge spaces (企业知识库检索).

    12k GitHub stars~1.1k tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Capture Conversation

    outline/outline

    Save the current conversation, a decision, or a set of notes as a document in an Outline collection; use when the user wants to keep what was discussed in their knowledge base.

    41k GitHub stars~474 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Find And Cite

    outline/outline

    Answer questions from the Outline knowledge base with quotes and links to the source documents; use when the user asks what the team knows, documented, or decided about a topic.

    41k GitHub stars~537 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Xhs Virtual Product

    chenjin-cmd/xhs-virtual-product

    This skill helps plan, select, produce, and market Xiaohongshu (RED) virtual/digital products — templates, knowledge bases, test tools, study materials.

    729 GitHub stars~862 tokensUpdated 10 days ago
    Knowledge ManagementAuto-check passed
  • Openkb

    VectifyAI/OpenKB

    A skill your agent uses when the user asks about content in their OpenKB knowledge base — research topics, concepts compiled from their documents, cross-document synthesis — or mentions openkb, an…

    4.8k GitHub starsUsed in 1 repo~2k tokens
    Knowledge ManagementAuto-check: warnings
  • Learn From Materials

    dmoshehun-prog/learn-from-materials

    Turns books, PDFs, slides and web pages into a source-grounded knowledge base and an interactive learning page in English or Chinese, with quizzes, relationship maps and reusable methodology notes.

    947 GitHub stars~7.9k tokensUpdated 4 days ago
    Knowledge ManagementAuto-check passed

More from basicmachines-co/basic-memory

All 50 skills in this repo
  • cmux Settings Editor

    basicmachines-co/basic-memory

    Views, sets, unsets and validates cmux settings in ~/.config/cmux/cmux.json with a helper script that checks keys against the schema.

    4.1k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • cmux Window and Pane Control

    basicmachines-co/basic-memory

    End-user control of cmux topology and routing (windows, workspaces, panes/surfaces, focus, moves, reorder, identify, trigger flash). Use when automation needs…

    4.1k GitHub starsUsed in 2 repos~842 tokens
    Auto-check passed
  • Cmux Markdown Viewer Panel

    basicmachines-co/basic-memory

    Opens markdown files in a formatted cmux panel beside the terminal that re-renders on every change, handy for plans and task lists.

    4.1k GitHub starsUsed in 2 repos~527 tokens
    Auto-check passed
  • cmux Workspace Scoping

    basicmachines-co/basic-memory

    Keeps agent actions scoped to the cmux workspace and terminal that invoked it, and lays out pane and surface commands that avoid disrupting the user's own focus.

    4.1k GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed
  • Basic Memory Repo Images

    basicmachines-co/basic-memory

    Produces PR, changelog and two-week retro images for the Basic Memory repository from evidence in PR bodies, saved to fixed paths under docs/assets/infographics.

    4.1k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Logfire Instrumentation

    basicmachines-co/basic-memory

    Adds Pydantic Logfire tracing, logging and metrics to Python, JavaScript or TypeScript and Rust projects, with the correct setup order and library extras.

    4.1k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Questions about Memory Comark

What does Memory Comark do?

Write Basic Memory notes that render as charts, tables, boards, and live dashboards with ::bm- Comark components. Memory Comark is an agent skill from basicmachines-co/basic-memory. Write Basic Memory notes that render as charts, tables, boards, and live dashboards with ::bm- Comark components.

When should I use Memory Comark?

Memory Comark fits situations like: A note would read better as a figure; A live view over the knowledge base (counts; recent activity; search results).

How do I install Memory Comark in Claude Code?

Run `npx skills add basicmachines-co/basic-memory --skill memory-comark -a claude-code`. Or copy the skill folder (skills/memory-comark in basicmachines-co/basic-memory) into .claude/skills/memory-comark in your project. Claude Code loads it when a task matches its description.

How do I install Memory Comark in Codex?

Run `npx skills add basicmachines-co/basic-memory --skill memory-comark -a codex`. Or copy the skill folder (skills/memory-comark in basicmachines-co/basic-memory) into .agents/skills/memory-comark in your project. Codex loads it when a task matches its description.

Can I use Memory Comark 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 basicmachines-co/basic-memory --skill memory-comark -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memory-comark, .gemini/skills/memory-comark, .github/skills/memory-comark and .opencode/skills/memory-comark in your project.

What does Memory Comark need to run?

SKILL.md names no scripts, command-line tools or credentials: Memory Comark is instructions for the agent only.

Does Memory Comark 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 Memory Comark 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 Memory Comark use?

Memory Comark is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memory Comark use?

About 2.1k tokens (SKILL.md is roughly 8.3k 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 7.9k tokens, read only when the agent opens those files.

What are the alternatives to Memory Comark?

Skills that share tags, products or a category with Memory Comark: Knowledge Search (dataelement/bisheng, 12k stars), Capture Conversation (outline/outline, 41k stars), Find And Cite (outline/outline, 41k stars) and Xhs Virtual Product (chenjin-cmd/xhs-virtual-product, 729 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memory Comark?

basicmachines-co (a GitHub organization) maintains it in basicmachines-co/basic-memory, which has 4,132 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 11, 2026.

Source: basicmachines-co/basic-memory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.