Agent Skillsletta-ai/letta-code › customizing-commands

customizing-commands

GitHub

用于创建、编辑和启用 Letta Code 自定义斜杠命令。适用于用户请求添加命令快捷方式、面板行为或工作流启动器时,指导如何编写注册命令及处理结果类型。

src/skills/builtin/customizing-commands/SKILL.md letta-ai/letta-code

Trigger Scenarios

用户要求添加自定义 /command 用户请求配置斜杠命令或命令快捷方式 用户希望实现命令驱动的面板行为

Install

npx skills add letta-ai/letta-code --skill customizing-commands -g -y
More Options

Non-standard path

npx skills add https://github.com/letta-ai/letta-code/tree/main/src/skills/builtin/customizing-commands -g -y

Use without installing

npx skills use letta-ai/letta-code@customizing-commands

指定 Agent (Claude Code)

npx skills add letta-ai/letta-code --skill customizing-commands -a claude-code -g -y

安装 repo 全部 skill

npx skills add letta-ai/letta-code --all -g -y

预览 repo 内 skill

npx skills add letta-ai/letta-code --list

SKILL.md

Frontmatter
{
    "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:

~/.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 durable 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

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

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

Version History

  • b7b6330 Current 2026-07-05 20:10

Same Skill Collection

.skills/adding-models/SKILL.md
src/skills/builtin/acquiring-skills/SKILL.md
src/skills/builtin/context-doctor/SKILL.md
src/skills/builtin/converting-mcps-to-skills/SKILL.md
src/skills/builtin/creating-mods/SKILL.md
src/skills/builtin/creating-skills/SKILL.md
src/skills/builtin/customizing-statusline/SKILL.md
src/skills/builtin/dispatching-coding-agents/SKILL.md
src/skills/builtin/editing-letta-code-desktop-preferences/SKILL.md
src/skills/builtin/finding-agents/SKILL.md
src/skills/builtin/generating-mod-envs/SKILL.md
src/skills/builtin/image-generation/SKILL.md
src/skills/builtin/initializing-memory/SKILL.md
src/skills/builtin/messaging-agents/SKILL.md
src/skills/builtin/migrating-memory/SKILL.md
src/skills/builtin/modifying-the-harness/SKILL.md
src/skills/builtin/scheduling-tasks/SKILL.md
src/skills/builtin/syncing-memory-filesystem/SKILL.md

Metadata

Files
0
Version
b7b6330
Hash
16d1b5af
Indexed
2026-07-05 20:10

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 22:23
浙ICP备14020137号-1 $Гость$