Agent skill

Letta Filesystem To Memfs

by letta-ai in letta-ai/skills

Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill.

MITAuto-check passedDocuments & Office

Install Letta Filesystem To Memfs

skills CLI
$ npx skills add letta-ai/skills --skill letta-filesystem-to-memfs -a claude-code

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

GitHub CLI
$ gh skill install letta-ai/skills letta-filesystem-to-memfs --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/letta-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/letta/letta-filesystem-to-memfs .claude/skills/letta-filesystem-to-memfs && 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
letta-filesystem-to-memfs
GitHub stars
149
Token cost
~1.3k tokens
SKILL.md length
385 words
Files
6 (incl. scripts, references)
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill.

  • Works in 5 steps: Extract PDFs/docs to markdown text. → Chunk the text into stable markdown… → Write a small pinned index under… → …
  • Replacing folders.files.upload
  • SKILL.md covers Quick workflow, Layout, Old API mapping and Heuristics, plus 2 more sections
  • Runs Python scripts from its folder; calls uv and git; reaches arxiv.org

What it does

Letta Filesystem To Memfs is an agent skill from letta-ai/skills. Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill. Use when replacing folders.files.upload, working with PDFs or document QA, or emulating openfile, grepfile, and searchfile behavior.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/design.md`, `scripts/ingest_documents.py` and `scripts/letta_fs_to_memfs.py`).

It sits in Documents & Office. It works with Letta and Git. The repository describes itself as: A shared repository for skills. Intended to be used with Letta Code, Claude Code, Codex CLI, and other agents that support skills. The licence is MIT.

When your agent uses it

  • Replacing folders.files.upload
  • Working with PDFs
  • Emulating openfile
  • Searchfile behavior

Example prompts

  • “Use the letta-filesystem-to-memfs skill to migrate deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking…”
  • “/letta-filesystem-to-memfs”

Requirements

  • Python 3

Workflow steps

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

  1. Extract PDFs/docs to markdown text.
  2. Chunk the text into stable markdown files under documents///chunks/.
  3. Write a small pinned index under system/filesystem/.md.
  4. Index only the corpus chunk files in QMD for semantic search.
  5. Review the MemFS git diff. Commit only if asked.

What it can do on your machine

Read from SKILL.md and the folder at commit 6785511. 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

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • arxiv.org

    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

Letta Filesystem To Memfs loads about 1.3k tokens when it runs, and up to ~2.1k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 385 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from letta-ai/skills at commit 6785511, republished under its MIT licence (© letta-ai). 385 words, ~1,296 tokens.

Download SKILL.mdSave it as .claude/skills/letta-filesystem-to-memfs/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
letta-filesystem-to-memfs
description
Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill. Use when replacing folders.files.upload, working with PDFs or document QA, or emulating open_file, grep_file, and search_file behavior.
license
MIT

Letta Filesystem to MemFS

Use this skill when a user wants the old Letta Filesystem behavior: upload documents, chunk them, attach them to an agent, and let the agent search/open them.

MemFS is not the same product. It is git-backed markdown memory. To mimic the old workflow, use the bundled CLI:

  1. Extract PDFs/docs to markdown text.
  2. Chunk the text into stable markdown files under documents/<corpus>/<doc>/chunks/.
  3. Write a small pinned index under system/filesystem/<corpus>.md.
  4. Index only the corpus chunk files in QMD for semantic search.
  5. Review the MemFS git diff. Commit only if asked.

Quick workflow

bash
# Set this to the skill directory shown in the skill load header.
SKILL_DIR="/path/to/letta-filesystem-to-memfs"

# From any directory. MEMORY_DIR should point at the target agent's memfs repo.
uv run --with pymupdf \
  "$SKILL_DIR/scripts/letta_fs_to_memfs.py" ingest \
  --memory-dir "$MEMORY_DIR" \
  --corpus product-docs \
  --source ./docs/ \
  --source ./guide.pdf \
  --source https://arxiv.org/pdf/2310.08560

cd "$MEMORY_DIR"
git status --short
git diff --stat

Search the chunk corpus lexically:

bash
uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" search \
  --memory-dir "$MEMORY_DIR" \
  --corpus product-docs \
  "memory hierarchy" \
  -n 5

Semantic search with QMD. The CLI creates a corpus-scoped QMD collection over chunk files only:

bash
uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" qmd setup \
  --memory-dir "$MEMORY_DIR" \
  --corpus product-docs

uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" qmd query \
  --memory-dir "$MEMORY_DIR" \
  --corpus product-docs \
  "memory hierarchy" \
  -n 5

Use qmd reindex after changing corpus files, and qmd search / qmd vsearch when you specifically want keyword-only or vector-only search.

Layout

The ingest script writes:

txt
system/filesystem/<corpus>.md
  Pinned index and operating instructions for the corpus.

documents/<corpus>/manifest.md
  Corpus manifest.

documents/<corpus>/<doc-slug>/manifest.md
  Per-document metadata and chunk table.

documents/<corpus>/<doc-slug>/chunks/chunk-0001.md
  Chunk content with frontmatter metadata.

documents/<corpus>/chunks.jsonl
  Machine-readable chunk export for custom indexing or debugging.

Old API mapping

Old FilesystemMemFS mimic
folders.create--corpus <name> creates documents/<corpus>/
folders.files.uploadletta_fs_to_memfs.py ingest --source <file-or-directory-or-url>
OCR/chunk/embed jobExtract + chunk locally; qmd setup / qmd reindex for semantic search
agents.folders.attachEnable MemFS, then review and sync repo changes when appropriate
open_fileRead chunk markdown files by path
grep_filerg or letta_fs_to_memfs.py search
search_fileletta_fs_to_memfs.py qmd query over the corpus chunk collection
Show full SKILL.md (180 more words)Show less

Heuristics

  • Use system/filesystem/<corpus>.md for the small always-visible index only.
  • Do not pin full documents into system/; it will bloat the prompt.
  • Keep chunks outside system/, usually under documents/<corpus>/....
  • Passing a directory to --source recursively ingests supported files (.pdf, .md, .txt, .json, .csv, .html, .xml).
  • Use --glob / --exclude for messy directories. Defaults exclude .git, node_modules, .venv, and __pycache__.
  • URL downloads default to --max-download-mb 100; set 0 for unlimited.
  • Re-ingesting the same document slug replaces that document's old chunk directory, so stale chunks do not survive chunk-size changes.
  • Use chunk sizes around 2,000-4,000 characters with 200-500 character overlap.
  • Use the CLI's qmd subcommands when the user needs semantic search over many chunks.
  • Preserve source URLs, checksums, page markers, chunk numbers, and corpus names in the generated files.

CLI reference

bash
uv run --with pymupdf "$SKILL_DIR/scripts/letta_fs_to_memfs.py" ingest --help
uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" search --help
uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" qmd setup --help
uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" qmd query --help

Compatibility wrappers remain for older examples:

bash
uv run --with pymupdf "$SKILL_DIR/scripts/ingest_documents.py" --memory-dir "$MEMORY_DIR" --corpus docs --source ./docs
uv run "$SKILL_DIR/scripts/search_corpus.py" --memory-dir "$MEMORY_DIR" --corpus docs --query "refund policy"

PDF notes

The ingest script uses PyMuPDF when it sees a PDF. Run it with uv run --with pymupdf ....

For scanned PDFs or complex tables, use the tools/extracting-pdf-text skill first, then ingest the extracted markdown/text file with this skill.

See references/design.md for design notes and edge cases.

© letta-ai, MIT. 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 5 other files (scripts, references) in letta/letta-filesystem-to-memfs of letta-ai/skills.

  • SKILL.md
  • LICENSE
  • references/design.md
  • scripts/ingest_documents.py
  • scripts/letta_fs_to_memfs.py
  • scripts/search_corpus.py

Open the folder on GitHubat commit 6785511

Compare with similar skills

Letta Filesystem To Memfs 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.

Letta Filesystem To Memfs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Letta Filesystem To Memfs this skillletta-ai/skills149—~1.3kAutomated safety check: PassMIT
Managing Shared Memoryletta-ai/letta-code3.6k—~1.4kAutomated safety check: PassApache-2.0
Syncing Memory Filesystemletta-ai/letta-code3.6k—~1.9kAutomated safety check: PassApache-2.0
Portaljs Add Datasetdatopian/portaljs2.4k1 repos~1.6kAutomated safety check: PassMIT
Submit Mentors To CommunityJunieXD/AutoEmailSender150—~471Automated safety check: PassGPL-3.0
Spfx Releasepnp/docker-spfx134—~572Automated safety check: NotesMIT

Similar skills

  • Managing Shared Memory

    letta-ai/letta-code

    Create and manage shared memory — git-tracked repositories hosted on Letta Cloud that are attached to one or more agents and projected into their filesystems.

    3.6k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Syncing Memory Filesystem

    letta-ai/letta-code

    Diagnose and repair MemFS repository setup, remote sync, authentication failures, optional backup remotes, or merge/rebase conflicts.

    3.6k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Portaljs Add Dataset

    datopian/portaljs

    Add a dataset (CSV, TSV, JSON, or GeoJSON) to an existing PortalJS portal.

    2.4k GitHub starsUsed in 1 repo~1.6k tokens
    Documents & OfficeAuto-check passed
  • Submit Mentors To Community

    JunieXD/AutoEmailSender

    校验、准备并通过外部 Git/gh 创建社区导师投稿 draft PR,支持查重与恢复。Use when a maintainer asks to submit, contribute, or batch-submit verified mentor/professor XLSX data to the community mentor library.

    150 GitHub stars~471 tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Spfx Release

    pnp/docker-spfx

    Automate SPFx version releases - branch, update files, commit, open PR, then tag after merge

    134 GitHub stars~572 tokensUpdated 3 mo ago
    Documents & OfficeAuto-check: notes
  • Merge Ready

    VladSez/easy-invoice-pdf

    Take a branch from "code exists (or is about to)" to "ready for Ben's final review" — multi-axis subagent review with verified findings, fixes, ci:check, checkpoint commits, and an updated PR.

    1.1k GitHub stars~1.4k tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from letta-ai/skills

All 22 skills in this repo
  • Visual Identity

    letta-ai/skills

    Build and maintain a persistent visual identity for your agent using Flux Kontext Pro.

    149 GitHub stars~2.6k tokensUpdated 9 days ago
    Auto-check passed
  • AI News

    letta-ai/skills

    Fetch and summarize recent AI news from curated RSS feeds (Hugging Face, VentureBeat, The Verge, OpenAI, Anthropic, DeepMind, etc.) and YouTube channels (Yannic Kilcher, Two Minute Papers, AI…

    149 GitHub stars~582 tokensUpdated 9 days ago
    Auto-check passed
  • Builds and debugs Letta Code channels, including first-party channel adapters and dynamic user channel plugins under ~/.letta/channels.

    149 GitHub stars~1.1k tokensUpdated 9 days ago
    Auto-check passed
  • Letta Configuration

    letta-ai/skills

    Configure LLM models and providers for Letta agents and servers.

    149 GitHub stars~1.3k tokensUpdated 9 days ago
    Auto-check: notes
  • Memfs Search

    letta-ai/skills

    Semantic search over agent memory files. An agent skill from letta-ai/skills.

    149 GitHub stars~901 tokensUpdated 9 days ago
    Auto-check passed
  • Navigates archived ChatGPT or Claude-style conversation exports and a MemFS reference archive on demand.

    149 GitHub stars~1.3k tokensUpdated 9 days ago
    Auto-check passed

Works with

Questions about Letta Filesystem To Memfs

What does Letta Filesystem To Memfs do?

Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill. Letta Filesystem To Memfs is an agent skill from letta-ai/skills. Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill.

When should I use Letta Filesystem To Memfs?

Letta Filesystem To Memfs fits situations like: replacing folders.files.upload; working with PDFs; emulating openfile; searchfile behavior.

How do I install Letta Filesystem To Memfs in Claude Code?

Run `npx skills add letta-ai/skills --skill letta-filesystem-to-memfs -a claude-code`. Or copy the skill folder (letta/letta-filesystem-to-memfs in letta-ai/skills) into .claude/skills/letta-filesystem-to-memfs in your project. Claude Code loads it when a task matches its description.

How do I install Letta Filesystem To Memfs in Codex?

Run `npx skills add letta-ai/skills --skill letta-filesystem-to-memfs -a codex`. Or copy the skill folder (letta/letta-filesystem-to-memfs in letta-ai/skills) into .agents/skills/letta-filesystem-to-memfs in your project. Codex loads it when a task matches its description.

Can I use Letta Filesystem To Memfs 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 letta-ai/skills --skill letta-filesystem-to-memfs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/letta-filesystem-to-memfs, .gemini/skills/letta-filesystem-to-memfs, .github/skills/letta-filesystem-to-memfs and .opencode/skills/letta-filesystem-to-memfs in your project.

What does Letta Filesystem To Memfs need to run?

Going by SKILL.md and its folder, Letta Filesystem To Memfs needs Python for the scripts in its folder and the command-line tools its instructions call (uv and git). Our summary lists: Python 3.

Does Letta Filesystem To Memfs access the network?

SKILL.md names 1 domain. In commands or code: arxiv.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Letta Filesystem To Memfs 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Letta Filesystem To Memfs use?

Letta Filesystem To Memfs is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Letta Filesystem To Memfs use?

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

What are the alternatives to Letta Filesystem To Memfs?

Skills that share tags, products or a category with Letta Filesystem To Memfs: Managing Shared Memory (letta-ai/letta-code, 3.6k stars), Syncing Memory Filesystem (letta-ai/letta-code, 3.6k stars), Portaljs Add Dataset (datopian/portaljs, 2.4k stars) and Submit Mentors To Community (JunieXD/AutoEmailSender, 150 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Letta Filesystem To Memfs?

letta-ai (a GitHub organization) maintains it in letta-ai/skills, which has 149 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 1, 2026.

Source: letta-ai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.