acquiring-skills
Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a capability you don't already have —…
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.
$ npx -y skills add letta-ai/letta-code --skill customizing-commands --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/customizing-commandsContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
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.
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:
~/.letta/mods/
Use a focused file name, e.g. `~/.letta/mods/review.ts` or `~/.letta/mods/commands.ts`.
| 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.
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`.
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,
};
},
});
}type ModCommandResult =
| { type: "prompt"; content: string; systemReminder?: boolean }
| { type: "output"; output: string; success?: boolean }
| { type: "handled" };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.
Repo: letta-ai/letta-code
Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a capability you don't already have —…
Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load only when the user asks to open…
Investigate agent behavior and audit memory structure, organization, and skills; make evidence-backed repairs.
Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle/turn events, scoped conversation…
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's…
Creates, edits, and migrates Letta Code statusline mods. Use when handling the /statusline command or continuing work started by /statusline.