customizing-commands
Enables agents to create and manage custom slash commands in Letta Code mods using TypeScript.
Identity proven by GitHub's verified organisation badge (letta-ai)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- Apache-2.0 (permissive)
- Pin
- c1033d9pinned Oct 9, 2026
- Context cost
- about 840 tokenswhen the skill loads
- GitHub stars
- 3,549on letta-ai/letta-code
- Scripts
- None found
What it does
“Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom /command, slash command, command shortcut, scoped conversation-backed command, or command-driven panel behavior.”
Generated summary from the skill's own text
Enables agents to create and manage custom slash commands in Letta Code mods using TypeScript. Commands can send prompts to the agent, display local output, or trigger panel-based UI, with options for background execution and scoped conversation management.
When to use it
- User needs a custom slash command to prompt the agent
- Workflow requires a reusable agent command shortcut
- Command should show transient progress or results in a panel
- Background command execution needed while agent is busy
When not to
- Agent should autonomously call capability without user slash command
- Building broader mod features beyond command registration
- Command implementation requires Letta Code app internals
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add letta-ai/letta-code --skill customizing-commandsInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install letta-ai/letta-code customizing-commands@c1033d9f7e8863a869cd2031805cfd2c66c165b9Installs the commit we checked (c1033d9).
Copy by hand
Download the folder at c1033d9 and put it in .claude/skills/customizing-commands for Claude Code and in .agents/skills/customizing-commands for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "customizing-commands" by Letta. Source, pinned to commit c1033d9f7e8863a869cd2031805cfd2c66c165b9: https://github.com/letta-ai/letta-code/tree/c1033d9f7e8863a869cd2031805cfd2c66c165b9/src/skills/builtin/customizing-commands 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/customizing-commands/ for Claude Code and .agents/skills/customizing-commands/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/letta/customizing-commands
SKILL.md at the pin
---
name: customizing-commands
description: Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom /command, slash command, command shortcut, scoped conversation-backed command, or command-driven panel behavior.
---
# Customizing Commands
Use this as the command-specific entrypoint for local mod slash commands. For broader mod work, recipes live in `../creating-mods/references/commands.md`, `../creating-mods/references/architecture.md`, `../creating-mods/references/ui.md`, and `../creating-mods/references/plan-mode.md`.
Mod files live in:
```text
~/.letta/mods/
```
Use a focused file name, e.g. `~/.letta/mods/review.ts` or `~/.letta/mods/commands.ts`.
## First decide whether a command is right
| User wants | Build |
| --- | --- |
| `/foo` sends a prompt or shows local output | Mod command |
| `/foo` starts a reusable agent workflow | Skill + thin mod command |
| Agent/model should autonomously call the capability | Mod tool, not a command |
| Command shows transient progress/results | Mod command + panel |
| Command needs model output while the main agent is busy | `runWhenBusy: true` command + forked `ctx.conversation` |
If the command is a reusable workflow like `/goal`, put the workflow instructions in a skill and keep the mod command as a small launcher/prompt.
## Workflow
1. Inspect `~/.letta/mods/` for related command files.
2. Preserve unrelated mod code; create a focused new file if merging is messy.
3. Register with `letta.commands.register()` and guard with `letta.capabilities.commands`.
4. Return the unregister function, or a disposer that calls it plus any timer/panel cleanup.
5. Tell the user the exact file path changed and to run `/reload`.
## Default prompt command
```ts
export default function activate(letta) {
if (!letta.capabilities.commands) return;
return letta.commands.register({
id: "review",
description: "Review current git changes",
args: "[focus]",
run(ctx) {
const focus = ctx.args.trim();
return {
type: "prompt",
content: focus
? `Review current git changes. Focus on ${focus}.`
: "Review current git changes. Focus on correctness issues.",
systemReminder: true,
};
},
});
}
```
## Command result types
```ts
type ModCommandResult =
| { type: "prompt"; content: string; systemReminder?: boolean }
| { type: "output"; output: string; success?: boolean }
| { type: "handled" };
```
- `prompt`: sends content to the agent. Use for normal slash shortcuts.
- `output`: prints local text and does not contact the agent.
- `handled`: command handled its own side effects/UI; common for panel commands.
## Rules
- Command IDs omit the slash: `id: "review"`, not `"/review"`.
- Use lowercase slugs with letters, numbers, and hyphens.
- Do not register built-in command IDs.
- `runWhenBusy: true` commands must not return `prompt` while the main agent is busy; use scoped conversation helpers/panels and return `handled`.
- `showInTranscript: false` commands should usually return `handled`, not `prompt`.
- Do not import Letta Code app internals.
- Do not do surprising side effects on startup; mods activate on app start and `/reload`.
## More recipes
- Simple output command, panel command, busy-safe conversation command: `../creating-mods/references/commands.md`
- Complex command architecture, state, cleanup: `../creating-mods/references/architecture.md`
- Panel/status UI patterns: `../creating-mods/references/ui.md`
- Worked plan-mode command/tool composition: `../creating-mods/references/plan-mode.md`
From letta-ai/letta-code at c1033d9, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at c1033d9Files
- SKILL.md3.6 KB · e09575b71ed1
1 file, 3.6 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at c1033d9More from Letta
acquiring-skills
Enables the agent to discover and install skills from multiple registries including Hermes Skills Hub, ClawHub, GitHub, and community repositories.
Agents not labelled yet · about 3.1K tokens · pinned 6 days ago
browser-use
Control a real browser using Chrome DevTools Protocol over WebSocket to navigate pages, interact with UI, fill forms, scrape sites, and capture screenshots or…
Claude Code, Codex, Cursor +4 · about 3.2K tokens · pinned 6 days ago
Context Doctor
Context Doctor investigates and repairs an agent's context including memory, system prompt, and skills by analyzing observed behavior as evidence.
Claude Code, Codex, Cursor +3 · about 1K tokens · pinned 6 days ago
creating-mods
This skill creates and edits mod files that extend local Letta instances with tools, slash commands, event handlers, custom model providers, permissions, and…
Claude Code, Codex, Cursor +4 · about 2.4K tokens · pinned 6 days ago
creating-skills
This skill guides developers in creating modular packages that extend Letta Code agent capabilities with specialized knowledge, workflows, tool integrations…
Contains scripts
Claude Code, Codex, Cursor +3 · about 4.5K tokens · pinned 6 days ago
curating-memory-palace
This skill lets the agent maintain a Memory Palace, a structured dashboard view that shows the user what the agent is working on, what it could do next, and…
Agents not labelled yet · about 3.1K tokens · pinned 6 days ago
Related in AI and agents
agent-builder
Agent Builder orchestrates the creation, modification, testing, and publishing of n8n Agents.
by n8nOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.3K tokens · pinned 6 days ago
intent-recognition
Classifies automation requests by determining which primitive owns the top-level control flow (workflow, agent, needs clarification, or out-of-scope) and…
by n8nOfficial publisher
Claude Code, Codex, Cursor +4 · about 6.9K tokens · pinned 6 days ago
planned-task-runtime
This skill manages follow-up interactions with a background task execution system, handling task completion synthesis, failure replanning, workflow building…
by n8nOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.2K tokens · pinned 6 days ago
skill-creator
This skill guides agents through creating new skills that extend Gemini CLI with specialized knowledge, workflows, and tool integrations.
by GoogleOfficial publisher
Contains scripts
Gemini CLI · about 5K tokens · pinned 6 days ago
-21risk-automation
This skill automates 21risk operations by connecting to the 21risk toolkit through Composio's Rube MCP server.
by ComposioOfficial publisher
Claude Code, Codex, Cursor +3 · about 690 tokens · pinned 6 days ago
-2chat-automation
This skill automates 2chat tasks by integrating with Composio's 2chat toolkit through Rube MCP.
by ComposioOfficial publisher
Agents not labelled yet · about 680 tokens · pinned 6 days ago
Open roles at Letta
4 open roles on the jobs board
- Research Engineer / Scientist, Post-Training
San Francisco, California, United States (On-site)
- Research Engineer / Scientist, Self-Improvement
San Francisco, California, United States (On-site)
- Software Engineer, Agent Harness
San Francisco, California, United States (On-site)
- Research Engineer / Scientist, Memory
San Francisco, California, United States (On-site)