Skip to content

docs(skills): add memory-comark for ::bm-* components in notes - #1715

Merged
phernandez merged 2 commits into
mainfrom
memory-comark-skill
Oct 10, 2026
Merged

phernandez merged 2 commits into
mainfrom
memory-comark-skill

Conversation

@phernandez

Copy link
Copy Markdown
Member

Why

Basic Memory Cloud renders ::bm-* Comark components in notes: charts, tables, checklists, kanban boards, and live views over the knowledge base. No skill, man page, or tool description taught agents the vocabulary. Agents that write notes over MCP therefore invented component names (shown as raw text), escaped quotes inside queries, and stated live counts they could not see rendered.

What changed

  • New skills/memory-comark/SKILL.md — the authoring guide:
    • a chooser for the dozen components most notes need
    • directive and body rules
    • live query pipelines and the result shape each component accepts
    • how to verify numbers the agent cannot see rendered
    • how to edit an existing component with edit_note
    • the coded errors a broken component shows
  • New skills/memory-comark/references/components.md — the full 39-component vocabulary, props, and grammars. It is adapted from the Basic Memory Cloud reference and updated for the current editor.
  • skills/README.md and skills/CLAUDE.md now list the skill.

The Cloud repository keeps an implementer-facing copy with its source paths. Both references are meant to change together.

Testing

  • just check in skills/ validates all 16 skills.
  • All 25 Markdown examples in the skill and reference parse under Basic Memory Cloud's strict Comark profile.
  • I tested behavior claims against the parser and the running app: an unknown attribute renders as raw text, an unclosed directive swallows the following content, and task toggles save.

🤖 Generated with Claude Code

Agents had no way to learn the Comark component vocabulary: no skill, man
page, or tool description covered it, so they invented component names,
escaped quotes inside queries, and stated live counts they never checked.

memory-comark is the authoring guide: a short chooser for the components
most notes need, the directive and body rules, live query pipelines and the
shapes each component accepts, how to verify numbers the agent cannot see
rendered, how to edit an existing component with edit_note, and the coded
errors a broken component shows. references/components.md carries the full
vocabulary and grammars, adapted from the Basic Memory Cloud reference and
updated for the current editor (snapshot and source row toggles, inline
query validation, live result presentation).

Every Markdown example in the skill parses under the strict profile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T17:40:58.817976Z 8f1a6ea New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bc9d5404dc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread skills/memory-comark/SKILL.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea
Signed-off-by: phernandez <paul@basicmachines.co>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8f1a6ea3a8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +634 to +636
```markdown
::bm-diff{title="Files" kind="unified" footer="shipped|103 kb" palette="duo"}
```diff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use a longer outer fence for the nested diff example

The outer markdown fence uses three backticks while the example contains a three-backtick diff fence. In CommonMark, the bare fence on line 643 closes the outer block, so the fence on line 645 opens a new, unterminated code block and causes the remainder of the reference to render as code. Use at least four backticks for the outer example fence.

Useful? React with 👍 / 👎.

- `>` separates nodes in a flow row.
- `|` separates the fixed fields of a compact diff row.

Prefer the YAML property block when a label contains `:`, `;`, or `,`, because the structured form preserves punctuation that the delimited grammar would split.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Direct punctuation-heavy labels to Markdown bodies

Putting a legacy delimited string in a YAML property block does not stop the chart grammar from splitting its :, ;, or , characters. Only the later typed-array forms for bars, bullets, and matrices preserve such punctuation, so following this advice for a funnel, stack, slope, or another legacy-only chart still corrupts the label. Recommend the Markdown body form here, and reserve structured arrays for the three components that support them.

Useful? React with 👍 / 👎.

@phernandez
phernandez merged commit 872f574 into main Oct 10, 2026
26 checks passed
@phernandez
phernandez deleted the memory-comark-skill branch October 10, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant