Skip to content
Agent Memory
Skill

/letta-guide

Read the official Letta documentation (docs.letta.com) through its cached, ETag-checked fetch route. Load before ANY docs.letta.com retrieval — answering how Letta works, what Letta (or you) can do, and looking up Letta API, Agent SDK, or Letta Code reference.

From plugin
letta-code
3.8k26 skills8 hooks

Claude Code

$ npx -y skills add letta-ai/letta-code --skill letta-guide --agent claude-code

SKILL.md

letta-guide.SKILL.md
name: letta-guide
description: Read the official Letta documentation (docs.letta.com) through its cached, ETag-checked fetch route. Load before ANY docs.letta.com retrieval — answering how Letta works, what Letta (or you) can do, and looking up Letta API, Agent SDK, or Letta Code reference.

Letta Guide

Do not use fetch_webpage or web_search on docs.letta.com; this skill's helper is the docs route.

You are running inside Letta, but your training data about Letta's commands, flags, settings, UI, pricing, and providers is out of date. Users lose trust fastest when an agent confidently invents product details. This skill defines how to read the Letta docs correctly — both when answering questions about Letta and when looking up API, Agent SDK, or Letta Code reference during development. Guessing a docs URL and fetching it with `fetch_webpage` misses pages that exist under a different path and can serve stale content; the helper below fetches the live index first, so you pick a URL that exists.

Source route (in order)

1. **Self-inspection first for questions about THIS agent.** "What model are you using?", "what tools do you have?", "what's in your memory?" are questions about the running session, not the docs. Load the `self-configuration` skill for model or settings questions and use its backend-aware active configuration report. Use the system prompt, agent info, tool schemas, and MemFS for the other live facts. Do not infer active state from recent/default preference lists, and do not fetch docs for these. 2. **Fetch the docs index directly.** For product questions, run:

   node <SKILL_DIR>/scripts/fetch-letta-docs.mjs

The helper retrieves `https://docs.letta.com/llms.txt` from the docs host, verifies its ETag against the body, and prints the paths to a current local copy and heading outline. Read the outline, then read the relevant index lines and their applicability labels to pick a page matching the user's backend and interface (see below). 3. **Fetch the specific page directly.** Pass the exact canonical URL from the index back to the same helper, for example:

   node <SKILL_DIR>/scripts/fetch-letta-docs.mjs \
     --docs-url "https://docs.letta.com/configuration/models/index.md"

Read the returned docs path, including its frontmatter, before applying its instructions or running the helper for another URL. The helper uses native HTTPS with a curl fallback; do not use `fetch_webpage` for the normal docs route because its upstream content cache may be stale. Cite the public doc URL so the user can go deeper. 4. **If direct retrieval fails**, use `fetch_webpage` only as a fallback with a fresh query parameter on the same official docs URL. Disclose that the fallback may be stale. If that also fails, say the docs are unreachable, give your best answer, and clearly mark it as possibly out of date with a link to https://docs.letta.com. Never silently fall back to memory.

Match documentation to the user's setup

Read each page's `applies_to` frontmatter before using its instructions:

applies_to:
  backends: [cloud, local]
  interfaces: [web, desktop, cli, sdk]
  • **Backends describe agent state, not the computer running tools.** `cloud`

means Letta Cloud; `local` means a user-managed backend.

  • **Interfaces** refer to the user's current interface: chat.letta.com (`web`,

cloud-only), CLI, Desktop, or SDK.

  • Do NOT use context from files marked `status: legacy` unless providing

historical context.

Inspect or change your model from the CLI

  • `letta model list [--byok | --hosted]` lists available models.
  • `letta model set [model_handle] [--reasoning <reasoning-option>] [--default]` overrides the current conversation's model or reasoning; `--default` overrides the agent's default instead.
  • `letta model get [--default]` gets the current model configuration; `--default` gets the agent's default configuration.

Hard rules

  • **Never invent CLI commands, flags, slash commands, settings keys, config

file shapes, or UI paths.** If something is not in the fetched docs and you cannot verify it locally (`letta --help`, `/help`, reading the actual config file), say you are not sure or that it does not exist — do not guess a plausible-sounding name.

  • **Distinguish surfaces.** The CLI, the desktop app, the web app

(chat.letta.com), and the API/SDK have different affordances. Answer for the surface the user is actually on; say when a feature lives on a different surface.

  • **Always fetch, never recall**, for anything volatile: pricing, rate

limits, data policies, the provider/model catalog, channel setup steps, and integration instructions.

  • **If the feature genuinely doesn't exist**, say so and point the user to

https://github.com/letta-ai/letta-code/issues to request it.

Support escalation

When the docs don't resolve the user's problem — setup issues you can't debug, account/billing questions, suspected bugs, or anything needing a human — point them to the right channel:

  • **Discord** (https://discord.gg/letta): the primary support community,

very active — best for setup help, troubleshooting, and quick questions. It's also where users can chat with **Ezra**, Letta's support agent.

  • **GitHub issues** (https://github.com/letta-ai/letta-code/issues): bug

reports and feature requests.

If the user reports errors, timeouts, or things suddenly not working, check **https://status.letta.com** for an active incident before debugging — and have the user check it too.

Offer these proactively when you've hit the end of what the docs cover, rather than leaving the user stuck.

Caching

The helper owns the cache. It uses the first writable temporary directory from `TMPDIR`, `TEMP`, `TMP`, `/private/tmp`, or `/tmp`, and accepts `--cache-dir` when an explicit location is needed. Every invocation checks the live ETag and reuses the lo

Read more
@letta-ai
Ships withletta-code

Letta Code is a stateful agent harness for creating agents that are more like people than tools. Letta Code agents have memory, identity, and a sense of experience over time.

Stars on GitHub

Momentum

stars in total
3.8k
Star history of letta-ai/letta-code on GitHub, a chart by star-history.com

Other skills on letta-code.

acquiring-skills

acquiring-skills

Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a…

@letta-ai@letta-aiInstall Skill
browser-use

browser-use

Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load…

@letta-ai@letta-aiInstall Skill
context-doctor

context-doctor

Investigate and repair an agent's context — memory, system prompt, and skills — using observed behavior as evidence. Use when the…

@letta-ai@letta-aiInstall Skill
creating-mods

creating-mods

Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle/turn…

@letta-ai@letta-aiInstall Skill
creating-skills

creating-skills

Guide for creating effective skills. Use when creating a new skill or updating an existing one that extends Letta Code's…

@letta-ai@letta-aiInstall Skill
customizing-commands

customizing-commands

Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom /command, slash…

@letta-ai@letta-aiInstall Skill

More skills from other plugins.

agent-cost-report

agent-cost-report

Believable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude…

@thedotmack@thedotmackInstall Skill
bot-handoff

bot-handoff

Keep a durable record of work passed between Bots in the shared Hindsight memory bank. Use when handing work to another Bot, when…

@vectorize-io@vectorize-ioInstall Skill
mempalace

mempalace

Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…

mempalace11d60k
@mempalace@mempalaceInstall Skill
mempalace

mempalace

Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…

mempalace11d60k
@milla-jovovich@milla-jovovichInstall Skill

Questions about letta-guide.

Which coding agents can use letta-guide?
letta-guide installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.