Self Configuration
letta-ai/letta-code
Inspect or modify Letta Code's own memory, model, context window, system prompt, compaction, permissions, toolsets, mods, skills, channels, schedules, agent secrets, and local runtime settings.
Configures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts.
$ npx skills add letta-ai/skills --skill self-configuration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install letta-ai/skills self-configuration --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/letta-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/letta/self-configuration .claude/skills/self-configuration && 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 "self-configuration" agent skill from https://github.com/letta-ai/skills/tree/main/letta/self-configuration into .claude/skills/self-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-configuration", 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/letta-ai/skills/tree/main/letta/self-configurationType 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 letta-ai/skills --skill self-configuration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install letta-ai/skills self-configuration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/letta/self-configuration .agents/skills/self-configuration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "self-configuration" agent skill from https://github.com/letta-ai/skills/tree/main/letta/self-configuration into .agents/skills/self-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-configuration", 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 letta-ai/skills --skill self-configuration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install letta-ai/skills self-configuration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/letta/self-configuration .cursor/skills/self-configuration && 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 "self-configuration" agent skill from https://github.com/letta-ai/skills/tree/main/letta/self-configuration into .cursor/skills/self-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-configuration", 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/letta-ai/skills.git --path letta/self-configuration--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 letta-ai/skills --skill self-configuration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install letta-ai/skills self-configuration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/letta/self-configuration .gemini/skills/self-configuration && 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 "self-configuration" agent skill from https://github.com/letta-ai/skills/tree/main/letta/self-configuration into .gemini/skills/self-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-configuration", 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 letta-ai/skills self-configurationInstalls 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 letta-ai/skills --skill self-configuration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/letta/self-configuration .github/skills/self-configuration && 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 "self-configuration" agent skill from https://github.com/letta-ai/skills/tree/main/letta/self-configuration into .github/skills/self-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-configuration", 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 letta-ai/skills --skill self-configuration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install letta-ai/skills self-configuration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/letta/self-configuration .opencode/skills/self-configuration && 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 "self-configuration" agent skill from https://github.com/letta-ai/skills/tree/main/letta/self-configuration into .opencode/skills/self-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-configuration", 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.
self-configurationConfigures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts.
Self Configuration is an agent skill from letta-ai/skills. Configures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts. Use when an agent or user asks to self-modify, tune summarization/compaction, change identity/system instructions, adjust model settings, or test conversation-scoped overrides.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `references/api-patch-examples.md`, `references/compaction-prompt-patterns.md` and `references/model-settings.md`).
It sits in AI & LLM Engineering, covering Prompt engineering and Summarization. It works with Letta. 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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6785511. 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.
Ships 2 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
curljqnpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
LETTA_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Self Configuration loads about 2.4k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 786 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); the scripts in this folder are not scanned.
The full file from letta-ai/skills at commit 6785511, republished under its MIT licence (© letta-ai). 786 words, ~2,381 tokens.
.claude/skills/self-configuration/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Use the Letta API when an agent needs to change its own persistent defaults or the current conversation's temporary runtime settings.
Ask before changing persistent agent defaults unless the user explicitly requested the change. Persistent changes include agent model, system prompt, context window, model settings, and compaction settings. Prefer conversation-scoped changes for experiments.
BASE_URL="${LETTA_BASE_URL:-https://api.letta.com}"
: "${LETTA_API_KEY:?Set LETTA_API_KEY}"
: "${AGENT_ID:?Set AGENT_ID}"Use AGENT_ID for yourself. Use CONVERSATION_ID for the current thread when it is available.
curl -sS "$BASE_URL/v1/agents/$AGENT_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" | \
jq '{id, model, context_window_limit, llm_config, model_settings, compaction_settings, system_chars: (.system | length)}'| Target | Endpoint | Persistence | Use for |
|---|---|---|---|
| Agent | PATCH /v1/agents/$AGENT_ID | Persistent across conversations | model defaults, context window, system prompt, compaction settings |
| Conversation | PATCH /v1/conversations/$CONVERSATION_ID | Current conversation only | temporary model/context/reasoning experiments |
context_window_limit is top-level. Do not put it inside model_settings.
curl -sS -X PATCH "$BASE_URL/v1/agents/$AGENT_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"context_window_limit": 64000}'Conversation-scoped:
: "${CONVERSATION_ID:?Set CONVERSATION_ID}"
curl -sS -X PATCH "$BASE_URL/v1/conversations/$CONVERSATION_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"context_window_limit": 64000}'model_settings is usually treated as a replacement object, not a deep merge. Read the current agent first and include any existing settings you want to keep. Provider-specific examples live in references/model-settings.md.
curl -sS -X PATCH "$BASE_URL/v1/agents/$AGENT_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.2",
"context_window_limit": 272000,
"model_settings": {
"provider_type": "openai",
"parallel_tool_calls": true,
"reasoning": { "reasoning_effort": "medium" },
"max_output_tokens": 128000
}
}': "${CONVERSATION_ID:?Set CONVERSATION_ID}"
curl -sS -X PATCH "$BASE_URL/v1/conversations/$CONVERSATION_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.2",
"context_window_limit": 64000,
"model_settings": {
"provider_type": "openai",
"parallel_tool_calls": true,
"reasoning": { "reasoning_effort": "low" }
}
}'A successful PATCH means the API accepted the configuration shape. It does not always prove the selected model handle can generate at runtime for the current server, provider, account, or routing configuration. The first actual model call may still fail with a resolver/provider error.
For model experiments, prefer this bounded recipe:
This keeps failed model-handle experiments from damaging the agent's persistent continuity or requiring the user to repair global defaults.
Only use system when the user explicitly asks to change the persistent system prompt. It is a full replacement, not an append.
curl -sS "$BASE_URL/v1/agents/$AGENT_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" | jq -r '.system'Then send the complete replacement prompt:
curl -sS -X PATCH "$BASE_URL/v1/agents/$AGENT_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"system": "<FULL replacement system prompt. Preserve important existing instructions.>"}'Use scripts/update-agent-settings.ts when you want a dry-runable patch that can optionally merge existing model_settings or compaction_settings before updating.
npx tsx <SKILL_DIR>/scripts/update-agent-settings.ts \
--target agent \
--context-window-limit 64000 \
--dry-runExamples and all flags are in references/api-patch-examples.md.
Compaction runs when message history grows too large for the context window. Letta replaces older messages with a summary while keeping recent messages in context. The summary appears before the remaining recent messages, so a custom compaction prompt should preserve enough background for the later messages to make sense.
Customize compaction when the default summary loses important continuity, tone, relationship context, implementation details, or user feedback.
| Field | Use |
|---|---|
mode | sliding_window, all, self_compact_sliding_window, or self_compact_all. |
prompt | Custom summarization prompt. |
model | Optional cheaper/faster summarizer model. |
model_settings | Optional summarizer model settings. |
prompt_acknowledgement | Optional boolean for summarizers that add acknowledgements/meta-commentary. |
clip_chars | Max summary length in characters. Default is 50000. |
sliding_window_percentage | Fraction of messages to summarize in sliding-window modes. Docs default: 0.3. |
sliding_window by default. It summarizes older messages with a separate summarizer call and keeps recent messages intact.self_compact_sliding_window when the agent's own persona/system prompt is important for summary quality or prompt-cache reuse.all only when maximum space reduction matters more than preserving recent raw messages.self_compact_all for all-message compaction with the agent system prompt included.Every custom compaction prompt should:
For complete prompt templates, read references/compaction-prompt-patterns.md.
npx tsx <SKILL_DIR>/scripts/update-compaction-prompt.ts \
--prompt-file /tmp/compaction-prompt.txt \
--mode self_compact_sliding_window \
--clip-chars 50000 \
--dry-runThe script preserves existing compaction_settings fields unless flags override them. It uses LETTA_API_KEY, AGENT_ID, and LETTA_BASE_URL unless corresponding flags are provided.
TypeScript and Python examples live in references/api-patch-examples.md.
curl -sS "$BASE_URL/v1/agents/$AGENT_ID" \
-H "Authorization: Bearer $LETTA_API_KEY" | \
jq '{id, model, context_window_limit, llm_config_context_window: .llm_config.context_window, model_settings, compaction_settings, system_chars: (.system | length)}'model_settings and compaction_settings fields unless intentionally changing them.400, first check model handle validity, provider type, and whether settings are in the expected shape.© 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
SKILL.md and 6 other files (scripts, references) in letta/self-configuration of letta-ai/skills.
Open the folder on GitHubat commit 6785511
Self Configuration 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 |
|---|---|---|---|---|---|---|
| Self Configuration this skillletta-ai/skills | 149 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Self Configurationletta-ai/letta-code | 3.6k | — | ~7k | Automated safety check: Pass | MIT | |
| Contextpilot SavingsEfficientContext/ContextPilot | 141 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Prompt Improverseverity1/claude-code-prompt-improver | 1.9k | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Context Compressionguanyang/open-agent-hub | 977 | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Prompt Engineering Patternsynulihao/AgentSkillOS | 618 | 14 repos | ~1.7k | Automated safety check: Pass | None |
letta-ai/letta-code
Inspect or modify Letta Code's own memory, model, context window, system prompt, compaction, permissions, toolsets, mods, skills, channels, schedules, agent secrets, and local runtime settings.
EfficientContext/ContextPilot
A skill your agent uses when a user asks how many tokens (or how much context/cost) ContextPilot has saved, or wants a ContextPilot savings status/summary inside Hermes Agent — e.g.
severity1/claude-code-prompt-improver
This skill enriches vague prompts with targeted research and clarification before execution.
guanyang/open-agent-hub
This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve…
ynulihao/AgentSkillOS
Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability in production.
Piebald-AI/tweakcc
Create and register new patches for tweakcc. An agent skill from Piebald-AI/tweakcc.
letta-ai/skills
Build and maintain a persistent visual identity for your agent using Flux Kontext Pro.
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…
letta-ai/skills
Builds and debugs Letta Code channels, including first-party channel adapters and dynamic user channel plugins under ~/.letta/channels.
letta-ai/skills
Configure LLM models and providers for Letta agents and servers.
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.
letta-ai/skills
Semantic search over agent memory files. An agent skill from letta-ai/skills.
Works with
Categories
Configures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts. Self Configuration is an agent skill from letta-ai/skills. Configures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts.
Self Configuration fits situations like: user asks to self-modify; tune summarization/compaction; change identity/system instructions; adjust model settings.
Run `npx skills add letta-ai/skills --skill self-configuration -a claude-code`. Or copy the skill folder (letta/self-configuration in letta-ai/skills) into .claude/skills/self-configuration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add letta-ai/skills --skill self-configuration -a codex`. Or copy the skill folder (letta/self-configuration in letta-ai/skills) into .agents/skills/self-configuration 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 letta-ai/skills --skill self-configuration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/self-configuration, .gemini/skills/self-configuration, .github/skills/self-configuration and .opencode/skills/self-configuration in your project.
Going by SKILL.md and its folder, Self Configuration needs TypeScript for the scripts in its folder, the command-line tools its instructions call (curl, jq and npx) and credentials named LETTA_API_KEY. Our summary lists: Python 3; Node.js; A credential in LETTA_API_KEY.
SKILL.md contains no URLs. Its commands use curl and npx, 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Self Configuration is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.5k 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 3.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Self Configuration: Self Configuration (letta-ai/letta-code, 3.6k stars), Contextpilot Savings (EfficientContext/ContextPilot, 141 stars), Prompt Improver (severity1/claude-code-prompt-improver, 1.9k stars) and Context Compression (guanyang/open-agent-hub, 977 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.