Darwin Skill Optimizer
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
Create an immutable Codex handoff in Basic Memory and return an exact bm-orient resume command.
$ npx skills add basicmachines-co/basic-memory --skill bm-checkpoint -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install basicmachines-co/basic-memory bm-checkpoint --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/plugins/codex/skills/bm-checkpoint .claude/skills/bm-checkpoint && 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 "bm-checkpoint" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/plugins/codex/skills/bm-checkpoint into .claude/skills/bm-checkpoint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bm-checkpoint", 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/plugins/codex/skills/bm-checkpointType 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 bm-checkpoint -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install basicmachines-co/basic-memory bm-checkpoint --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/plugins/codex/skills/bm-checkpoint .agents/skills/bm-checkpoint && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bm-checkpoint" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/plugins/codex/skills/bm-checkpoint into .agents/skills/bm-checkpoint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bm-checkpoint", 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 bm-checkpoint -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install basicmachines-co/basic-memory bm-checkpoint --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/plugins/codex/skills/bm-checkpoint .cursor/skills/bm-checkpoint && 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 "bm-checkpoint" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/plugins/codex/skills/bm-checkpoint into .cursor/skills/bm-checkpoint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bm-checkpoint", 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 plugins/codex/skills/bm-checkpoint--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 bm-checkpoint -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install basicmachines-co/basic-memory bm-checkpoint --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/plugins/codex/skills/bm-checkpoint .gemini/skills/bm-checkpoint && 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 "bm-checkpoint" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/plugins/codex/skills/bm-checkpoint into .gemini/skills/bm-checkpoint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bm-checkpoint", 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 bm-checkpointInstalls 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 bm-checkpoint -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/plugins/codex/skills/bm-checkpoint .github/skills/bm-checkpoint && 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 "bm-checkpoint" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/plugins/codex/skills/bm-checkpoint into .github/skills/bm-checkpoint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bm-checkpoint", 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 bm-checkpoint -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 bm-checkpoint --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/plugins/codex/skills/bm-checkpoint .opencode/skills/bm-checkpoint && 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 "bm-checkpoint" agent skill from https://github.com/basicmachines-co/basic-memory/tree/main/plugins/codex/skills/bm-checkpoint into .opencode/skills/bm-checkpoint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bm-checkpoint", 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.
bm-checkpointCreate an immutable Codex handoff in Basic Memory and return an exact bm-orient resume command.
Bm Checkpoint is an agent skill from basicmachines-co/basic-memory. Create an immutable Codex handoff in Basic Memory and return an exact bm-orient resume command.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including assets (for example `agents/openai.yaml`).
It sits in Agent Workflows. It works with Git. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cb7407f. 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.
Shell commands in SKILL.md call:
gitcodexFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Bm Checkpoint loads about 2.5k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 1,334 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 cb7407f, republished under its AGPL-3.0 licence (© basicmachines-co). 1,334 words, ~2,525 tokens.
.claude/skills/bm-checkpoint/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Create a durable, immutable handoff note for current Codex work. Use this when the user asks to checkpoint, wrap up, hand off, remember the work state, or when the post-compaction SessionStart context requests the deliberate handoff.
Read ~/.codex/basic-memory.json, then the nearest project
.codex/basic-memory.json; project keys override user keys:
primaryProject, default omittedcaptureFolder, default codex/<git top-level directory name>placementConventions, optionalsessionProfile, default generalrepository, required when sessionProfile is codingApply the bm-writing skill before drafting the note.
Gather repo evidence:
git status --shortsession_id, agent, codex_turn_id, trigger, and model
values from the checkpoint request, when presentUse direct, read-only evidence for repository and pull-request state. Do not
claim a test passed unless you ran it or the user supplied the result.
Treat host-provided session metadata as opaque identity data. Preserve exact
non-empty values; never infer or rewrite them. For older requests supplying only
codex_session_id, use that exact value as session_id with agent: codex.
Do not emit the legacy field on new checkpoints.
A checkpoint is a durable handoff, not a status dump or commit-by-commit changelog. Tell the story for a human or agent returning later. Treat it as a snapshot plus pointers to authoritative artifacts, not a replacement for tasks, decisions, plans, issues, pull requests, commits, diffs, checked-in docs, or source files.
Every invocation creates a new checkpoint. Never edit, replace, or append to an earlier checkpoint, even when the topic is unchanged.
Use the title:
Codex checkpoint - <UTC YYYY-MM-DDTHH-MM-SSZ> - <short topic>
The UTC timestamp is part of the immutable checkpoint identity and avoids
filename-unsafe colons. If write_note reports a title collision, retry with
the smallest available numeric suffix such as - 2. Never resolve a collision
by modifying the existing note.
Call write_note with project=<configured primaryProject>,
overwrite=False, and output_format="json" on every attempt. When
primaryProject is omitted, leave the project argument unset so Basic Memory
uses its default project. The frontmatter project field is descriptive
metadata and does not replace the tool's project argument. The explicit
non-overwrite flag must win even when the user's
write_note_overwrite_default setting is true. Only accept a successful result
with action: created; treat action: conflict or NOTE_ALREADY_EXISTS as the
title collision above, and stop on any other action or error.
Write a note to Basic Memory. For the general profile:
title: the timestamped checkpoint title abovedirectory: configured captureFoldertags: ["codex", "checkpoint"]type: codex_sessionstatus: openproject: <primaryProject if known>cwd: <current cwd>started: <current timestamp>username: <current username>hostname: <current hostname>capture: deliberateagent: codexsession_id: <host-provided Codex session id>, when suppliedcodex_turn_id: <host-provided Codex turn id>, when suppliedtrigger: <host-provided checkpoint trigger>, when suppliedmodel: <host-provided model slug>, when suppliedFor the coding profile, write type: coding_session and use the same common
frontmatter plus these schema-required fields:
repository: <confirmed stable repository identifier>repo_root: <git rev-parse --show-toplevel>cwd: <current cwd>branch: <git rev-parse --abbrev-ref HEAD>git_sha: <git rev-parse HEAD>When the current branch has a pull request, also add the typed optional fields
pull_request_number, pull_request_title, pull_request_url,
pull_request_state, pull_request_base, and pull_request_head. Resolve the
pull request with a read-only GitHub query; omit those fields when no PR exists.
Write the number as a quoted string, for example pull_request_number: "123",
so exact metadata queries behave consistently across storage backends.
Never infer or copy repository/PR identity only from conversation text. Stop if
the required coding fields cannot be proven.
When session_id is available, pair it with agent: codex for same-chat identity:
primaryProject for both
codex_session and coding_session notes with
metadata_filters={"agent": "codex", "session_id": "<exact host-provided id>"}.
Also search legacy notes with
metadata_filters={"codex_session_id": "<exact host-provided id>"}.started timestamp. Read it directly from
primaryProject. Confirm the exact agent/session_id pair, or the exact
legacy codex_session_id when shared identity is absent. Reject conflicting
agent/session fields; a bare session ID is never cross-agent identity.- continues [[Exact previous checkpoint title]] under ## Relations.Do not edit the previous immutable checkpoint to add a forward edge; Basic Memory backlinks make the chain navigable in both directions. If there is no verified earlier match, omit the lineage relation. Never infer same-chat lineage from repository, branch, topic, timestamps alone, or lifecycle envelope notes.
Begin the body with # <exact note title>.
Use these sections, omitting optional ones that add no value:
## Summary: one concrete sentence that does not merely repeat the title## Story: original objective -> latest user intent -> approach -> current
state and impact in substantive prose## Working State: separate durable state from machine-local or fragile state## Changed Files, when paths are useful for resuming## Verification, for checks actually run and their outcomes## References, for verified repository, commit, pull-request, issue, spec,
or documentation links## Observations## Relations, when the thread has an obvious graph targetPrefer repository-relative paths in the body. Required absolute repo_root and
cwd frontmatter remain machine-local evidence. Label dirty or untracked files,
ignored files, active processes, dev servers, temporary directories, and local
tool caches as machine-local or fragile when they matter to resumption. Do not
present them as durable project state.
Make the note pointer-first:
For GitHub-backed repository work, resolve the canonical repository URL with a
read-only GitHub query. Render the current repository, current pushed commit,
pull request, and any materially relevant GitHub issues or commits as Markdown
links under ## References and where they appear in prose. Use the canonical
URL returned by GitHub for pull requests and issues. Before linking a commit,
verify that GitHub can resolve that SHA in the confirmed repository. If a commit
is local or unpushed, keep the SHA as code, label it local or unpushed, and do
not construct a GitHub link that may not exist. Do not turn an ambiguous bare
issue number or SHA into a link without proving its repository.
Use observations to distill durable facts for structured recall rather than duplicating every narrative sentence:
[result] for concrete outcomes[decision] for each decision made or preserved[blocker] for each unresolved blocker[next_step] for the one primary next action; include exactly one[verification] or [changed_file] only when the item is itself important
project memory, not merely supporting detailDo not create separate Decisions, Blockers, or Next Action sections with plain bullets. Omit empty categories instead of writing placeholder text such as "None."
Relations are not observations. Put them under ## Relations using Basic
Memory relation syntax, for example - relates_to [[Exact existing note title]].
Never write [relates_to] or a bare memory:// URL as an observation. Only add
a relation when its target is an existing checkpoint, task, decision, spec,
issue, or PR note. The verified same-chat continues edge is the checkpoint
lineage relation; do not add a second generic relation to that same target.
Reply with:
$bm-orient "<exact returned resume identifier>"Choose the first non-empty returned value in this order: permalink,
file_path, then title. Use the returned value verbatim; never construct or
guess a permalink or file path.
© 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
SKILL.md and 2 other files (assets) in plugins/codex/skills/bm-checkpoint of basicmachines-co/basic-memory.
Open the folder on GitHubat commit cb7407f
Bm Checkpoint 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 |
|---|---|---|---|---|---|---|
| Bm Checkpoint this skillbasicmachines-co/basic-memory | 4.1k | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Darwin Skill Optimizeralchaincyf/darwin-skill | 6.2k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| CodeGraph Agent Evalcolbymchenry/codegraph | 73k | — | ~950 | Automated safety check: Pass | MIT | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Beads Task Memorygastownhall/beads | 28k | — | ~1.2k | Automated safety check: Pass | MIT |
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
colbymchenry/codegraph
Benchmarks how much CodeGraph helps a coding agent on a real repository, comparing runs with and without it for a chosen local or published version.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
gastownhall/beads
Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.
slopus/happy
Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.
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.
Works with
Categories
Create an immutable Codex handoff in Basic Memory and return an exact bm-orient resume command. Bm Checkpoint is an agent skill from basicmachines-co/basic-memory. Create an immutable Codex handoff in Basic Memory and return an exact bm-orient resume command.
Bm Checkpoint fits situations like: agent Workflows work in your project.
Run `npx skills add basicmachines-co/basic-memory --skill bm-checkpoint -a claude-code`. Or copy the skill folder (plugins/codex/skills/bm-checkpoint in basicmachines-co/basic-memory) into .claude/skills/bm-checkpoint in your project. Claude Code loads it when a task matches its description.
Run `npx skills add basicmachines-co/basic-memory --skill bm-checkpoint -a codex`. Or copy the skill folder (plugins/codex/skills/bm-checkpoint in basicmachines-co/basic-memory) into .agents/skills/bm-checkpoint 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 bm-checkpoint -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bm-checkpoint, .gemini/skills/bm-checkpoint, .github/skills/bm-checkpoint and .opencode/skills/bm-checkpoint in your project.
Going by SKILL.md and its folder, Bm Checkpoint needs the command-line tools its instructions call (git and codex).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
Bm Checkpoint 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 2.5k tokens (SKILL.md is roughly 10k 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 Bm Checkpoint: Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars), CodeGraph Agent Eval (colbymchenry/codegraph, 73k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and O2 Review Loop (openobserve/openobserve, 22k 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,115 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.