npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

markdown-memory

v0.6.0

Published

Cross-platform Markdown-based memory/skill system for Claude Code & Antigravity IDE

Readme

mm — markdown memory & workflow system

A file-based memory and prompt bridge that connects claude.ai (where you think) ↔ Claude Code (where you build) ↔ Obsidian (shared long-term memory).

License: MIT Version Type: Agent Skills Platform: Windows


What is this?

When you build with Claude, your work is split across two places: you sketch ideas and plan in claude.ai, then do the real work in Claude Code in your terminal. Those two sides don't share memory, and context evaporates between sessions, between chats, and whenever the context window compacts.

mm closes that gap. It's a set of Claude Agent Skills plus a small PowerShell installer that gives you:

  • One shared memory for every project, stored as plain markdown in an Obsidian vault (passport, handoff, session history).
  • A prompt bridge so an idea worked out in claude.ai becomes a clean, self-contained task you paste into Claude Code.
  • A simple lifecycle — start a project, resume it, save a session, hand off to a new chat — with no copy-pasting your whole history every time.

Everything is markdown and files. No database, no cloud, no lock-in.


How it works

mm spans three environments that share state through files, not magic:

flowchart LR
    A["claude.ai<br/>(ideas, planning)<br/>mm-web-bridge skill"]
    B["Claude Code / PowerShell<br/>(real work)<br/>10 mm-* skills"]
    C["Obsidian vault<br/>(shared memory)<br/>passport · handoff · sessions"]

    A -- "self-contained prompt<br/>(copy-paste)" --> B
    B -- "writes notes" --> C
    C -- "passport + handoff<br/>loaded into Project Knowledge" --> A
    C -- "read on resume" --> B
  • claude.ai side is a single skill (mm-web-bridge): it challenges your idea, checks fast-moving tech against the live web, and composes the prompt you'll run in Claude Code.
  • Claude Code side is 10 mm-* skills that do the work and keep the vault up to date.
  • Obsidian is just the folder where the markdown lives. Obsidian indexes it for you; mm reads and writes the files directly.

Quick start

Prerequisites

  • Claude Code CLI
  • Windows + PowerShell (primary platform — see Cross-platform below)
  • An Obsidian vault (any folder works; Obsidian itself is optional but recommended)

Install (Claude Code side)

# 0. (first time only) launch Claude Code once so ~/.claude/skills exists
# 1. Clone
git clone https://github.com/mworldorg/markdown-memory.git
cd markdown-memory

# 2. Register the skills (junctions into ~/.claude/skills + sets MM_REPO_ROOT)
#    If PowerShell blocks the script, run instead:
#    powershell -ExecutionPolicy Bypass -File scripts/register-skills.ps1
powershell scripts/register-skills.ps1

# 3. RESTART Claude Code (skills load at session start), then personalize:
/mm setup

# 4. Create your first project's passport (run inside the project folder):
/mm new

Connect the claude.ai side

  1. Create a Project in claude.ai for your work.
  2. Add your project's passport.md and handoff.md to Project Knowledge.
  3. Load the mm-web-bridge skill into that Project (claude.ai → Customize → Skills → Upload a skill). After /mm setup, upload your personalized copy from claude-ai-skills/_generated/mm-web-bridge/ — the committed claude-ai-skills/mm-web-bridge/ is a template with placeholder persona.
  4. First message in a new chat:

    "Read handoff.md and passport.md, tell me where we are and suggest the next step."

The loop

/mm resume   →   discuss in claude.ai   →   paste prompt into Claude Code   →   /mm save   →   /mm next

Skills

Ten skills on the Claude Code side, plus one on the claude.ai side — and vendored external skills (see Integrations).

| Skill | What it does | |---|---| | mm | Dispatcher — short aliases for everything below | | mm setup | One-time personalization after cloning | | mm-init-project | Create a project passport + structure in the vault | | mm-resume | Load passport + dashboard + last session on start | | mm-projects | One-screen overview of all projects (read-only) | | mm-bridge | Wrap a task into a prompt framework for Claude Code | | mm-handoff | Generate the cross-chat handoff summary | | mm-save-session | Capture decisions and progress into the vault | | mm-instructions | Manage project instructions | | mm-doctor | Health checks, version sync, consistency with passport | | mm-web-bridge (claude.ai) | Idea partner + prompt composer in the browser | | ecc-security-review (vendored — ECC, MIT) | Security checklist: secrets, input validation, SQLi, auth, XSS/CSRF, rate limiting | | ecc-search-first (vendored — ECC, MIT) | Research before coding: search existing tools/libs/MCP/skills, then adopt / extend / build |


Integrations

mm cooperates with several external tools and bodies of work. Where it builds on someone else's project, that project keeps its own license and attribution.

  • GSD — phase-based planning framework. mm reads GSD state (.planning/ / .gsd/) and cooperates with it; it never writes there. (deepest integration)
  • Karpathy guidelines — four meta-principles (think before coding, simplicity first, surgical changes, goal-driven) applied across both the Claude Code and claude.ai sides. MIT. (external Claude Code plugin — install separately, see Optional plugins below)
  • context-mode — in-session context optimization and continuity. See Memory layers for how it relates to mm. Elastic License 2.0 (source-available). (external Claude Code plugin — install separately, see Optional plugins below)
  • prompt-frameworks — CRISPE / XML / PERSONA / HYPOTHESIS templates used by mm-bridge. Inspired by awesome-claude-prompts, MIT.
  • claude-code-telegram — optional Telegram bridge, off by default. MIT.
  • ECC — everything-claude-code — two skills vendored per-piece into vendor/: ecc-security-review (markdown security checklist; renamed to avoid clashing with the built-in /security-review) and ecc-search-first (research-before-coding workflow). The rest of ECC (AgentShield, plugin, hooks, ~246 skills) is not included. MIT © Affaan Mustafa. (per-skill vendoring mechanism — see vendor/README.md)

Two memory layers

mm and context-mode solve different problems and don't overlap:

  • context-mode keeps a single session alive — it survives auto-compaction and --resume by rebuilding your working state inside Claude Code.
  • mm keeps long-term project history — decisions, handoffs, and session notes that persist across sessions and across chats, in the Obsidian vault.

If you use both, context-mode already handles compaction; mm doesn't try to.

Optional plugins

Karpathy guidelines and context-mode are external Claude Code plugins (not bundled in this repo). mm cooperates with them but works without them. To install:

# Karpathy coding guidelines (think-before-coding, simplicity, surgical, goal-driven)
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills

# context-mode (in-session context optimization + continuity across compaction)
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

Cross-platform

mm is cross-platform! It is fully supported on Windows, macOS, and Linux:

  • Windows: Use powershell scripts/register-skills.ps1 for PowerShell or python3 scripts/register-skills.py.
  • macOS / Linux: Use python3 scripts/register-skills.py (which sets up symlinks in ~/.claude/skills and exports MM_REPO_ROOT in your shell profile like .zshrc or .bashrc).

For the optional Telegram bridge:

  • Windows: Use powershell scripts/install-tg-bridge.ps1.
  • macOS / Linux: Use python3 scripts/install-tg-bridge.py.

Conventions

  • Personal data never lands in committed files. Your name and paths live in a gitignored mm-config.local.json written by /mm setup. The committed config stays a generic template.
  • Single source of truth for versionsconfig.version. Per-skill version: fields are intentionally granular.
  • Skills preview before they write, and never write into GSD's .planning/ / .gsd/.

Documentation

  • passport.md — the per-project source of truth (architecture, conventions, constraints)
  • docs/ — deeper guides (Telegram bridge, config loading, etc.)

Contributing

Issues and PRs welcome. New skills go in skills/your-skill/SKILL.md with YAML frontmatter; claude.ai skills go in claude-ai-skills/ (they are not junctioned into Claude Code).

License

MIT — see LICENSE. Integrated projects retain their own licenses (see Integrations).