LLM Wiki Knowledge Graph
Egonex-AI/Understand-Anything
Detects a Karpathy-pattern LLM wiki and builds an interactive knowledge graph with entities, implicit relationships and topic clusters.
How to write well-structured Basic Memory notes: frontmatter, observations with semantic categories, relations with wiki-links, and best practices for building a rich knowledge graph.
$ npx skills add basicmachines-co/basic-memory --skill memory-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install basicmachines-co/basic-memory memory-notes --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/basicmachines-co/basic-memory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/memory-notes .claude/skills/memory-notes && 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 "memory-notes" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/skills/memory-notes into .claude/skills/memory-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memory-notes", 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/basicmachines-co/basic-memory/tree/main/skills/memory-notesType 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 basicmachines-co/basic-memory --skill memory-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install basicmachines-co/basic-memory memory-notes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/basicmachines-co/basic-memory.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/memory-notes .agents/skills/memory-notes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "memory-notes" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/skills/memory-notes into .agents/skills/memory-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memory-notes", 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 basicmachines-co/basic-memory --skill memory-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install basicmachines-co/basic-memory memory-notes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/basicmachines-co/basic-memory.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/memory-notes .cursor/skills/memory-notes && 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 "memory-notes" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/skills/memory-notes into .cursor/skills/memory-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memory-notes", 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/basicmachines-co/basic-memory.git --path skills/memory-notes--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 basicmachines-co/basic-memory --skill memory-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install basicmachines-co/basic-memory memory-notes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/basicmachines-co/basic-memory.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/memory-notes .gemini/skills/memory-notes && 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 "memory-notes" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/skills/memory-notes into .gemini/skills/memory-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memory-notes", 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 basicmachines-co/basic-memory memory-notesInstalls 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 basicmachines-co/basic-memory --skill memory-notes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/basicmachines-co/basic-memory.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/memory-notes .github/skills/memory-notes && 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 "memory-notes" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/skills/memory-notes into .github/skills/memory-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memory-notes", 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 basicmachines-co/basic-memory --skill memory-notes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install basicmachines-co/basic-memory memory-notes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/basicmachines-co/basic-memory.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/memory-notes .opencode/skills/memory-notes && 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 "memory-notes" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/skills/memory-notes into .opencode/skills/memory-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memory-notes", 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.
memory-notesHow to write well-structured Basic Memory notes: frontmatter, observations with semantic categories, relations with wiki-links, and best practices for building a rich knowledge graph.
Memory Notes is an agent skill from basicmachines-co/basic-memory. How to write well-structured Basic Memory notes: frontmatter, observations with semantic categories, relations with wiki-links, and best practices for building a rich knowledge graph. Use when creating or improving notes.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Knowledge Management, covering Knowledge graphs. 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.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6982cfc. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python, markdown and yaml).
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.
Memory Notes loads about 3.5k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,144 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 basicmachines-co/basic-memory at commit 6982cfc, republished under its AGPL-3.0 licence (© basicmachines-co). 1,144 words, ~3,529 tokens.
.claude/skills/memory-notes/SKILL.md (or your agent's skills folder).Write well-structured notes that Basic Memory can parse into a searchable knowledge graph. Every note is a markdown file with three key sections: frontmatter, observations, and relations.
---
title: API Design Decisions
tags: [api, architecture, decisions]
---
# API Design Decisions
The API team evaluated multiple approaches for the public API during Q1. After
prototyping both REST and GraphQL, the team chose REST due to broader ecosystem
support and simpler caching semantics. This note captures the key decisions and
their rationale, along with open questions still to resolve.
## Observations
- [decision] Use REST over GraphQL for simplicity #api
- [requirement] Must support versioning from day one
- [risk] Rate limiting needed for public endpoints
## Relations
- implements [[API Specification]]
- depends_on [[Authentication System]]
- relates_to [[Performance Requirements]]Every note starts with YAML frontmatter:
---
title: Note Title # required — becomes the entity name in the knowledge graph
tags: [tag1, tag2] # optional — for organization and filtering
type: note # optional — defaults to "note", use custom types with schemas
permalink: custom-path # optional — auto-generated from title if omitted
---title must match the # Heading in the bodytype values (Task, Meeting, Person, etc.) work with the schema system. See the memory-schema skill for defining schemas, validating notes against them, and detecting drift.permalink is auto-generated from the title and directory. For example, title "API Design Decisions" in directory "specs" produces permalink specs/api-design-decisions and memory URL memory://specs/api-design-decisions. If no directory is specified, the permalink is just the kebab-cased title. By default permalinks stay stable across file moves (unless the project enables update_permalinks_on_move). You rarely need to set one manually.Note: When using
write_note, you don't write frontmatter yourself. Thetitle,tags,note_type, andmetadataare separate parameters — Basic Memory generates the frontmatter automatically. Yourcontentparameter is just the markdown body starting with# Heading.
Free-form markdown between the heading and the Observations section. This is the heart of the note — write generously here:
Write complete, substantive prose. Basic Memory's search retrieves relevant chunks from note bodies, so longer, richer context makes notes more discoverable and more useful when found. Don't reduce everything to bullet points — tell the story.
Observations are categorized facts — the atomic units of knowledge. Each one becomes a searchable entity in the knowledge graph.
- [category] Content of the observation #optional-tagThe category in brackets is free-form — use whatever label makes sense for the observation. There is no fixed list. The only rule is the [category] content syntax. Consistency within a project helps searchability, but invent categories freely.
A few examples to illustrate the range:
- [decision] Use PostgreSQL for primary data store
- [risk] Third-party API has no SLA guarantee
- [technique] Exponential backoff for retry logic #resilience
- [question] Should we support multi-tenancy at the DB level?
- [preference] Use Bun over Node for new projects
- [lesson] Always validate webhook signatures server-side
- [status] active
- [flavor] Ethiopian beans work best with lighter roasts[decision] Use JWT is less useful than [decision] Use JWT with 15-minute expiry for API auth.[risk] Rate limiting needed #api #security makes this findable under both topics.search_notes(entity_types=["observation"], categories=["decision"]) returns every decision observation across your knowledge base.Relations create edges in the knowledge graph, linking notes to each other. They're how you build structure beyond individual notes.
- relation_type [[Target Note Title]][[...]] identify the target note by title or permalink| Type | Purpose | Example |
|---|---|---|
implements | One thing implements another | - implements [[Auth Spec]] |
requires | Dependencies | - requires [[Database Setup]] |
relates_to | General connection | - relates_to [[Performance Notes]] |
part_of | Hierarchy/composition | - part_of [[Backend Architecture]] |
extends | Enhancement or elaboration | - extends [[Base Config]] |
pairs_with | Things that work together | - pairs_with [[Frontend Client]] |
inspired_by | Source material | - inspired_by [[CRDT Research Paper]] |
replaces | Supersedes another note | - replaces [[Old Auth Design]] |
depends_on | Runtime/build dependency | - depends_on [[MCP SDK]] |
contrasts_with | Alternative approaches | - contrasts_with [[GraphQL Approach]] |
Wiki-links anywhere in the note body — not just the Relations section — also create graph edges:
We evaluated [[GraphQL Approach]] but decided against it because
the team has more experience with REST. See [[API Specification]]
for the full contract.These create references relations automatically. Use the Relations section for explicit, typed relationships; use inline links for natural prose references.
[[Future Topic]] is valid — BM will resolve it when that note is created.build_context to traverse. build_context(url="memory://note-title") follows relations to gather connected knowledge.taught_by, blocks, tested_in — use whatever is descriptive.Every note is addressable via a memory:// URL, built from its permalink. These URLs are how you navigate the knowledge graph programmatically.
memory://api-design-decisions # by permalink (title → kebab-case)
memory://docs/authentication # by file path
memory://docs/authentication.md # with extension (also works)
memory://auth* # wildcard prefix
memory://docs/* # wildcard suffix
memory://project/*/requirements # path wildcardsIn multi-project setups, prefix with the project name:
memory://main/specs/api-design # "main" project, "specs/api-design" path
memory://research/papers/crdt # "research" projectThe first path segment is matched against known project names. If it matches, it's used as the project scope. Otherwise the URL resolves in the default project.
Memory URLs work with build_context to assemble related knowledge by traversing relations:
# Get a note and its connected context
build_context(url="memory://api-design-decisions")
# Wildcard — gather all docs
build_context(url="memory://docs/*")
# Direct read by permalink
read_note(identifier="memory://api-design-decisions")Always search Basic Memory before creating a new note. Duplicates fragment your knowledge graph — updating an existing note is almost always better than creating a second one.
A single search often misses. Try the full name, abbreviations, acronyms, and keywords:
# Searching for an entity that might already exist
search_notes(query="Kubernetes Migration")
search_notes(query="k8s migration")
search_notes(query="container migration")For people, try full name and last name. For organizations, try the full name and common abbreviations.
edit_note (append observations, add relations, find-and-replace outdated info)write_noteedit_noteWhen a note already exists, make targeted edits instead of rewriting the whole file:
# Add a new observation under the existing Observations heading
edit_note(
identifier="API Design Decisions",
operation="insert_after_section",
section="Observations",
content="- [decision] Switched to OpenAPI 3.1 for spec generation #api"
)
# Fix outdated information
edit_note(
identifier="API Design Decisions",
operation="find_replace",
find_text="- [status] draft",
content="- [status] approved"
)
# Add a new relation
edit_note(
identifier="API Design Decisions",
operation="insert_after_section",
section="Relations",
content="- depends_on [[Rate Limiter]]"
)This preserves existing content and keeps the edit history clean.
write_note(
title="API Design Decisions",
directory="architecture",
tags=["api", "architecture"],
content="""# API Design Decisions
The API team evaluated REST and GraphQL during Q1 planning. After prototyping
both approaches, we chose REST for the public API — broader ecosystem support,
simpler caching with HTTP semantics, and a lower learning curve for external
consumers. GraphQL remains an option for internal services where query
flexibility matters more.
## Observations
- [decision] Use REST for public API #api
- [requirement] Support API versioning from v1
## Relations
- implements [[API Specification]]
- relates_to [[Backend Architecture]]"""
)Basic Memory auto-generates frontmatter (including the permalink and memory URL) from the parameters. This note would get permalink architecture/api-design-decisions and be addressable at memory://architecture/api-design-decisions.
Use edit_note to update a note in place — six operations: append, prepend,
find_replace, replace_section, insert_before_section, insert_after_section.
# insert_after_section / insert_before_section — add lines at an existing heading
edit_note(
identifier="API Design Decisions",
operation="insert_after_section",
section="Observations",
content="- [decision] Use OpenAPI 3.1 for spec generation #api"
)
# append / prepend — add to the end of the note or the start of the body
# (use for time-ordered logs; neither one targets a section)
edit_note(
identifier="API Design Decisions",
operation="prepend",
content="> Updated 2026-05-28: auth approach finalized.\n"
)
# replace_section — rewrite a named section (use for living content that stays current)
edit_note(
identifier="API Design Decisions",
operation="replace_section",
section="Summary",
content="Concise, current summary of the decision and its rationale."
)
# find_replace — swap specific text
edit_note(
identifier="API Design Decisions",
operation="find_replace",
find_text="OpenAPI 3.0",
content="OpenAPI 3.1"
)When an edit is destructive (replace_section, find_replace), it's good practice to
read the note first and confirm the change before applying it.
Use move_note to reorganize notes into different directories:
move_note(
identifier="API Design Decisions",
destination_path="archive/api-design-decisions.md"
)By default the permalink stays the same after a move, so links keep resolving. Projects with update_permalinks_on_move enabled rewrite it from the new path.
Start with context. Before listing observations, explain why this note exists. Future-you (or your AI collaborator) will thank you.
Favor completeness. Write rich, substantive notes. Basic Memory's search pulls relevant chunks from note bodies, so longer notes with more context are more discoverable, not less. Use prose in the body to tell the full story — the background, the reasoning, the nuance. Then distill key facts into [category] content observations for structured queries. Both matter: prose gives meaning, observations give precision.
Build incrementally. Add to existing notes rather than creating duplicates. Use edit_note to append new observations or relations as you learn more.
Use consistent titles. Note titles are identifiers in the knowledge graph. API Design Decisions and Api Design decisions are different entities. Pick a convention and stick with it.
Link related concepts. The value of a knowledge graph compounds with connections. A note with zero relations is an island — useful, but not as powerful as a connected one.
Let the graph grow naturally. Don't try to design a perfect taxonomy upfront. Write notes as you work, add relations as connections emerge, and periodically use the memory-reflect or memory-defrag skills to consolidate.
© 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
Just SKILL.md in skills/memory-notes of basicmachines-co/basic-memory.
Open the folder on GitHubat commit 6982cfc
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in basicmachines-co/basic-memory, which our catalogue first saw on October 7, 2026.
Memory Notes 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 |
|---|---|---|---|---|---|---|
| Memory Notes this skillbasicmachines-co/basic-memory | 4.1k | 1 repos | ~3.5k | Automated safety check: Pass | AGPL-3.0 | |
| LLM Wiki Knowledge GraphEgonex-AI/Understand-Anything | 85k | 1 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Obsidian Canvas BoardsAgriciDaniel/claude-obsidian | 15k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Ontology1mancompany/OneManCompany | 438 | 2 repos | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Graphagenticnotetaking/arscontexta | 3.5k | 1 repos | ~4.9k | Automated safety check: Notes | MIT | |
| Knowledge Graphgnomeria/usbtree | 688 | — | ~1.5k | Automated safety check: Pass | MIT |
Egonex-AI/Understand-Anything
Detects a Karpathy-pattern LLM wiki and builds an interactive knowledge graph with entities, implicit relationships and topic clusters.
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
1mancompany/OneManCompany
Typed knowledge graph for structured agent memory and composable skills.
agenticnotetaking/arscontexta
Interactive knowledge graph analysis. An agent skill from agenticnotetaking/arscontexta.
gnomeria/usbtree
Set up and maintain a lightweight, file-based knowledge graph of the repo — entities, typed relations, decisions, gotchas — so agents load context fast instead of re-exploring the codebase every…
nimbalyst/nimbalyst
Write a project's knowledge pages in Nimbalyst Pages -- record what people said and decided in the page it affects, keep typed pages for the things the team tracks (its own types, such as modules…
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.
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…
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.
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.
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.
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.
Categories
How to write well-structured Basic Memory notes: frontmatter, observations with semantic categories, relations with wiki-links, and best practices for building a rich knowledge graph. Memory Notes is an agent skill from basicmachines-co/basic-memory. How to write well-structured Basic Memory notes: frontmatter, observations with semantic categories, relations with wiki-links, and best practices for building a rich knowledge graph.
Memory Notes fits situations like: improving notes; tasks that involve Knowledge graphs.
Run `npx skills add basicmachines-co/basic-memory --skill memory-notes -a claude-code`. Or copy the skill folder (skills/memory-notes in basicmachines-co/basic-memory) into .claude/skills/memory-notes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add basicmachines-co/basic-memory --skill memory-notes -a codex`. Or copy the skill folder (skills/memory-notes in basicmachines-co/basic-memory) into .agents/skills/memory-notes 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 basicmachines-co/basic-memory --skill memory-notes -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-notes, .gemini/skills/memory-notes, .github/skills/memory-notes and .opencode/skills/memory-notes in your project.
SKILL.md names no scripts, command-line tools or credentials: Memory Notes is instructions for the agent only. Our summary lists: Python 3.
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.
Memory Notes 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.
About 3.5k tokens (SKILL.md is roughly 14k 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 Memory Notes: LLM Wiki Knowledge Graph (Egonex-AI/Understand-Anything, 85k stars), Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars), Ontology (1mancompany/OneManCompany, 438 stars) and Graph (agenticnotetaking/arscontexta, 3.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
basicmachines-co (a GitHub organization) maintains it in basicmachines-co/basic-memory, which has 4,107 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 7, 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.