Agent skill

Lettabot

by letta-ai in letta-ai/lettabot

Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal.

Apache-2.0Auto-check passedProductivity & Automation

Install Lettabot

skills CLI
$ npx skills add letta-ai/lettabot --skill lettabot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install letta-ai/lettabot lettabot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lettabot
GitHub stars
327
Token cost
~3.4k tokens
SKILL.md length
1,064 words
Files
300 (incl. scripts, assets)
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal.

  • Works in 4 steps: Tell the agent to stop the server → Run lettabot server yourself in a terminal → Scan the QR code when it appears → …
  • Productivity & Automation work in your project
  • SKILL.md covers Quick Setup (Agent-Friendly), Interactive Setup, Environment Variables and Channel-Specific Setup, plus 9 more sections
  • Calls npm, git and docker; reaches api.letta.com and api.telegram.org; needs LETTA_API_KEY and TELEGRAM_BOT_TOKEN

What it does

Lettabot is an agent skill from letta-ai/lettabot. Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal. Supports both interactive wizard and non-interactive (agent-friendly) configuration.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 303 other files, including scripts and assets (for example `.github/dependabot.yml`, `.github/workflows/letta.yml` and `.github/workflows/release.yml`).

It sits in Productivity & Automation. It works with Telegram, Slack, WhatsApp and Discord. The repository describes itself as: Archived - has been replaced by Letta Code channels/schedules! The licence is Apache-2.0.

When your agent uses it

  • Productivity & Automation work in your project

Example prompts

  • “/lettabot”

Requirements

  • Node.js
  • Docker
  • A credential in LETTA_API_KEY
  • A credential in TELEGRAM_BOT_TOKEN

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Tell the agent to stop the server
  2. Run lettabot server yourself in a terminal
  3. Scan the QR code when it appears
  4. After pairing, the agent can manage the server normally

What it can do on your machine

Read from SKILL.md and the folder at commit 99c3b5d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • git
    • docker
    • npx
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.letta.com
    • api.telegram.org

    Also links to:

    • github.com
    • t.me
    • api.slack.com
    • clawdhub.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LETTA_API_KEY
    • TELEGRAM_BOT_TOKEN
    • SLACK_BOT_TOKEN
    • SLACK_APP_TOKEN
    • DISCORD_BOT_TOKEN
    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Lettabot loads about 3.4k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 1,064 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from letta-ai/lettabot at commit 99c3b5d, republished under its Apache-2.0 licence (© letta-ai). 1,064 words, ~3,423 tokens.

Download SKILL.mdSave it as .claude/skills/lettabot/SKILL.md (or your agent's skills folder). This skill also uses 299 other files; get the full folder from GitHub.
name
lettabot
description
Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal. Supports both interactive wizard and non-interactive (agent-friendly) configuration.

LettaBot Setup

Multi-channel AI assistant with persistent memory across Telegram, Slack, Discord, WhatsApp, and Signal.

Quick Setup (Agent-Friendly)

For non-interactive setup (ideal for coding agents):

bash
# 1. Clone and install
git clone https://github.com/letta-ai/lettabot.git
cd lettabot
npm install
npm run build
npm link

# 2. Configure required variables
export LETTA_API_KEY="letta_..."        # From app.letta.com

# 3. Configure channel (example: Telegram)
export TELEGRAM_BOT_TOKEN="123456:ABC-DEF..."  # From @BotFather

# 4. Run non-interactive setup
lettabot onboard --non-interactive

# 5. Start the bot
lettabot server

Safe defaults used if not set:

  • LETTA_BASE_URL: https://api.letta.com
  • LETTA_AGENT_NAME: "lettabot"
  • Model: selected during lettabot onboard or changed with lettabot model set <handle>
  • *_DM_POLICY: "pairing" (requires approval before messaging)
  • WHATSAPP_SELF_CHAT_MODE: true (only "Message Yourself" chat)
  • SIGNAL_SELF_CHAT_MODE: true (only "Note to Self")

The setup will show which defaults are being used and validate safety-critical settings.

Interactive Setup

For human-friendly setup with wizard:

bash
lettabot onboard

The wizard will guide you through:

  • Letta API authentication (OAuth or API key)
  • Agent selection/creation
  • Channel configuration (Telegram, Slack, Discord, WhatsApp, Signal)

Environment Variables

Authentication
VariableDescriptionDefault
LETTA_API_KEYAPI key from app.letta.comRequired (unless using a Docker server)
LETTA_BASE_URLAPI endpointhttps://api.letta.com
Agent Selection
VariableDescriptionDefault
LETTA_AGENT_IDUse existing agent (skip agent creation)Creates new agent
LETTA_AGENT_NAMEName for new agent"lettabot"
LETTA_MODELRemoved - model is set on the agent server-side. Use lettabot model set <handle>.-
Telegram
VariableDescriptionRequiredDefault
TELEGRAM_BOT_TOKENBot token from @BotFather✅-
TELEGRAM_DM_POLICYAccess control: pairing | allowlist | open❌pairing
TELEGRAM_ALLOWED_USERSComma-separated user IDs (if dmPolicy=allowlist)❌-
Slack (Socket Mode)
VariableDescriptionRequiredDefault
SLACK_BOT_TOKENBot User OAuth Token (xoxb-...)✅-
SLACK_APP_TOKENApp-Level Token (xapp-...) for Socket Mode✅-
SLACK_APP_NAMECustom app name❌LETTA_AGENT_NAME or "LettaBot"
SLACK_DM_POLICYAccess control: pairing | allowlist | open❌pairing
SLACK_ALLOWED_USERSComma-separated Slack user IDs (if dmPolicy=allowlist)❌-

Setup Slack app: See Slack Setup Wizard or run lettabot onboard for guided setup.

Discord
VariableDescriptionRequiredDefault
DISCORD_BOT_TOKENBot token from discord.com/developers/applications✅-
DISCORD_DM_POLICYAccess control: pairing | allowlist | open❌pairing
DISCORD_ALLOWED_USERSComma-separated Discord user IDs (if dmPolicy=allowlist)❌-

Setup Discord bot: See docs/discord-setup.md

WhatsApp
VariableDescriptionRequiredDefault
WHATSAPP_ENABLEDEnable WhatsApp: true | false✅-
WHATSAPP_SELF_CHAT_MODESelf-chat mode: true (personal) | false (dedicated)✅true (safe)
WHATSAPP_DM_POLICYAccess control: pairing | allowlist | open❌pairing
WHATSAPP_ALLOWED_USERSComma-separated phone numbers with + (if dmPolicy=allowlist)❌-

CRITICAL - Read Before Enabling:

  • WHATSAPP_SELF_CHAT_MODE=true (personal number): Only responds to "Message Yourself" chat ✅ SAFE
  • WHATSAPP_SELF_CHAT_MODE=false (dedicated bot number): Responds to ALL incoming messages ⚠️ USE WITH CAUTION
  • Default is true for safety - bot will NOT message your contacts unless you explicitly set to false

First-Time Setup - QR Code Warning:

  • QR code prints to console when lettabot server runs for the first time
  • DO NOT background the server until after QR code is scanned
  • AI agents using Letta Code or similar: Output may be truncated! If QR code is not visible:
    1. Tell the agent to stop the server
    2. Run lettabot server yourself in a terminal
    3. Scan the QR code when it appears
    4. After pairing, the agent can manage the server normally
  • Alternative: Instruct agent "Run lettabot server in FOREGROUND and do NOT background it"
  • After initial pairing completes, server can be backgrounded in future runs
Signal
VariableDescriptionRequiredDefault
SIGNAL_PHONE_NUMBERYour phone number (with +)✅-
SIGNAL_DM_POLICYAccess control: pairing | allowlist | open❌pairing
SIGNAL_ALLOWED_USERSComma-separated phone numbers with + (if dmPolicy=allowlist)❌-

Setup: Requires Signal CLI - see signal-cli documentation.

Channel-Specific Setup

Telegram Bot Setup
  1. Message @BotFather on Telegram
  2. Send /newbot and follow prompts
  3. Copy the token (format: 123456:ABC-DEF...)
  4. Set TELEGRAM_BOT_TOKEN environment variable
Slack App Setup (Interactive)

For Socket Mode (required for real-time messages):

bash
lettabot onboard
# Select "Slack" → "Guided setup"

This uses a manifest to pre-configure:

  • Socket Mode
  • 5 bot scopes (app_mentions:read, chat:write, im:*)
  • 2 event subscriptions (app_mention, message.im)
Slack App Setup (Manual)
  1. Go to api.slack.com/apps
  2. Create app from manifest (see src/setup/slack-wizard.ts for manifest YAML)
  3. Install to workspace → copy Bot Token (xoxb-...)
  4. Enable Socket Mode → generate App Token (xapp-...)
  5. Set both tokens in environment

Access Control

Each channel supports three DM policies:

  • pairing (recommended): Users get a code, you approve via CLI (lettabot pairing approve <channel> <code>) or API (POST /api/v1/pairing/<channel>/approve)
  • allowlist: Only specified user IDs can message
  • open: Anyone can message (not recommended)
Show full SKILL.md (446 more words)Show less

Conversation Routing

By default, all channels share one conversation. You can switch to per-channel conversation histories.

Single-agent config (top-level):

yaml
conversations:
  mode: shared        # "shared" (default) or "per-channel"
  heartbeat: last-active  # "dedicated" | "last-active" | "<channel>"

Multi-agent config (per agent):

yaml
agents:
  - name: MyAgent
    conversations:
      mode: per-channel
      heartbeat: dedicated

Notes:

  • per-channel means one conversation per channel adapter (telegram/slack/discord/etc), not per chat/user.
  • Agent memory remains shared across channels; only the conversation history is separated.
  • heartbeat controls which conversation background triggers use: a dedicated stream, the last active channel, or an explicit channel name.

Group Settings (Optional)

Group settings apply to Telegram, Slack, Discord, WhatsApp, and Signal.

YAML fields (per channel under channels.<name>):

  • groupDebounceSec: Debounce seconds for group batching (default: 5)
  • groups: Map of group IDs to config (use * as the default)
    • mode: open | listen | mention-only | disabled
    • allowedUsers: Restrict who can trigger the bot in that group
    • receiveBotMessages: Allow bot/bot messages (default: false)
  • mentionPatterns: Extra regex patterns for mention detection (Telegram/WhatsApp/Signal)
  • instantGroups: Group IDs that bypass batching (legacy)
  • groupPollIntervalMin: Deprecated (minutes)
  • listeningGroups: Deprecated (use groups.<id>.mode: listen)

Environment variables (non-interactive onboarding):
Only legacy group options are supported here; prefer editing lettabot.yaml for groups config.

  • <CHANNEL>_GROUP_DEBOUNCE_SEC (seconds, e.g. 5)
  • <CHANNEL>_GROUP_POLL_INTERVAL_MIN (deprecated, use _GROUP_DEBOUNCE_SEC instead)
  • <CHANNEL>_INSTANT_GROUPS (comma-separated, legacy)
  • <CHANNEL>_LISTENING_GROUPS (comma-separated, legacy)

Example:

yaml
channels:
  slack:
    enabled: true
    botToken: xoxb-...
    appToken: xapp-...
    groupDebounceSec: 5
    mentionPatterns: ["@mybot", "hey bot"]
    groups:
      "*": { mode: mention-only }
      "C0987654321": { mode: listen }
      "C0123456789": { mode: open, allowedUsers: ["U123"] }

Configuration File

After onboarding, config is saved to ~/.lettabot/config.yaml:

yaml
server:
  baseUrl: https://api.letta.com
  apiKey: letta_...
  agentId: agent-...

conversations:
  mode: shared
  heartbeat: last-active

channels:
  telegram:
    enabled: true
    botToken: 123456:ABC-DEF...
    dmPolicy: pairing
  
  slack:
    enabled: true
    botToken: xoxb-...
    appToken: xapp-...
    dmPolicy: pairing

Edit this file directly or re-run lettabot onboard to reconfigure.

Commands

bash
# Setup
lettabot onboard                    # Interactive wizard
lettabot onboard --non-interactive  # Env-based setup (agent-friendly)

# Run
lettabot server                     # Start bot server

# Manage
lettabot pairing list               # List pending pairing requests
lettabot pairing approve <channel> <code>  # Approve user
lettabot skills                     # Enable/disable skills

# Scheduling
lettabot cron list                  # List scheduled tasks
lettabot cron add "Daily standup at 9am" "0 9 * * *"  # Add cron job

Troubleshooting

"Module not found" errors

Make sure you've run npm run build after installing or pulling updates.

Telegram bot not responding
  1. Check token is correct: curl https://api.telegram.org/bot<TOKEN>/getMe
  2. Ensure bot is started: lettabot server should show "Connected to Telegram"
  3. Check access control: User may need pairing approval
Slack not receiving messages
  1. Verify Socket Mode is enabled in Slack app settings
  2. Check both tokens are set: SLACK_BOT_TOKEN and SLACK_APP_TOKEN
  3. Ensure event subscriptions are configured (app_mention, message.im)
WhatsApp QR code not appearing
  1. Make sure Signal Desktop is closed (conflicts with baileys)
  2. Delete ~/.wwebjs_auth if previously used different library
  3. Check no other WhatsApp Web sessions are active

Example: Agent Setup Flow

For coding agents helping users set up LettaBot:

bash
# 1. Clone and build
git clone https://github.com/letta-ai/lettabot.git
cd lettabot
npm install && npm run build && npm link

# 2. Get Letta API key
# Guide user to app.letta.com → API Keys → Create Key

# 3. Get Telegram bot token
# Guide user to @BotFather → /newbot → follow prompts

# 4. Set environment variables
export LETTA_API_KEY="letta_..."
export TELEGRAM_BOT_TOKEN="123456:ABC-DEF..."
# Defaults will be used for LETTA_BASE_URL, agent name, and DM policy

# 5. Run non-interactive setup
lettabot onboard --non-interactive

# 6. Instruct user to start server
# DON'T start server automatically - user must see output
echo "Setup complete! Run 'lettabot server' to start the bot."

For WhatsApp (QR code required on first run):

bash
export LETTA_API_KEY="letta_..."
export WHATSAPP_ENABLED="true"
export WHATSAPP_SELF_CHAT_MODE="true"  # REQUIRED: true=personal number, false=dedicated bot
lettabot onboard --non-interactive

# CRITICAL: Do NOT auto-start the server!
# Tell user: "WhatsApp setup complete. Please run 'lettabot server' in your terminal."
# User must see QR code in console output to scan it.
# After first pairing, server can be managed normally.

Agent Instructions: If an AI agent is helping with setup and WhatsApp is configured:

  1. Complete lettabot onboard --non-interactive
  2. DO NOT run lettabot server automatically
  3. Tell user: "Setup complete! Please run lettabot server in a terminal to see the WhatsApp QR code"
  4. Wait for user confirmation that QR was scanned
  5. After confirmation, server can be managed normally

The agent can verify success by checking:

  • lettabot server output shows "Connected to Telegram" (or other channel)
  • Config file exists at ~/.lettabot/config.yaml
  • User can message bot on configured channel(s)

Docker Server Letta

To use a Letta Docker server:

bash
# Run Letta Docker
docker run -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
  -p 8283:8283 \
  -e OPENAI_API_KEY="your_openai_api_key" \
  letta/letta:latest

# Configure LettaBot
export LETTA_BASE_URL="http://localhost:8283"
export LETTA_API_KEY="sk-..."  # From Letta admin panel

lettabot onboard --non-interactive

Skills Integration

LettaBot supports loading skills from:

  • Clawdhub (clawdhub.com)
  • skills.sh repositories
  • Local .skills/ directory
bash
# Install skill from Clawdhub
npx molthub@latest install sonoscli

# Connect to LettaBot
lettabot skills
# Space to toggle, Enter to confirm

# Skills will be available to agent

© letta-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 299 other files (scripts, assets) in the repository root of letta-ai/lettabot.

  • SKILL.md
  • .dockerignore
  • .env.example
  • .github/dependabot.yml
  • .github/workflows/letta.yml
  • .github/workflows/release.yml
  • .github/workflows/test.yml
  • .gitignore
  • .nvmrc
  • .skills
  • Dockerfile
  • LICENSE
  • README.md
  • TESTING.md
  • assets/preview.jpg
  • bluesky-jetstream.json
  • docs/README.md
  • … and 283 more

Open the folder on GitHubat commit 99c3b5d

Compare with similar skills

Lettabot 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.

Lettabot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lettabot this skillletta-ai/lettabot327—~3.4kAutomated safety check: PassApache-2.0
Traul Message Searchdandaka/traul112—~3.9kAutomated safety check: NotesAGPL-3.0
Creating Letta Code Channelsletta-ai/skills149—~1.1kAutomated safety check: PassMIT
Wire First NanoClaw Agentnanocoai/nanoclaw31k—~2.5kAutomated safety check: NotesMIT
Add Channel Connect Buttonnovuhq/novu40k—~1.6kAutomated safety check: PassCustom licence
Channel Debug Corevercel-labs/vercel-openclaw-archived117—~2kAutomated safety check: NotesMIT

Similar skills

  • Drives the traul CLI to sync, search and monitor messages from Slack, Telegram, Discord, Linear, Gmail, WhatsApp, Claude Code sessions and Markdown files.

    112 GitHub stars~3.9k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check: notes
  • Builds and debugs Letta Code channels, including first-party channel adapters and dynamic user channel plugins under ~/.letta/channels.

    149 GitHub stars~1.1k tokensUpdated 9 days ago
    Writing & ContentAuto-check passed
  • Wire First NanoClaw Agent

    nanocoai/nanoclaw

    Connects the first NanoClaw agent to a chat channel and proves delivery by having it send the operator a welcome direct message.

    31k GitHub stars~2.5k tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes
  • Build a new channel Connect button (e.g. An agent skill from novuhq/novu.

    40k GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Channel Debug Core

    vercel-labs/vercel-openclaw-archived

    Official

    Channel webhook triage for vercel-openclaw Slack/Telegram/Discord/WhatsApp issues: prove deployment state, collect admin readiness endpoints, build evidence-first handoff before fixes.

    117 GitHub stars~2k tokensUpdated 4 mo ago
    Backend & APIsAuto-check: notes
  • Frontmcp Channels

    agentfront/frontmcp

    A skill your agent uses when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges.

    146 GitHub stars~3.7k tokensUpdated today
    Backend & APIsAuto-check passed

More from letta-ai/lettabot

  • Linear

    letta-ai/lettabot

    Manage Linear issues via GraphQL API. An agent skill from letta-ai/lettabot.

    327 GitHub stars~583 tokensUpdated 4 mo ago
    Auto-check passed
  • Scheduling

    letta-ai/lettabot

    Create scheduled tasks and one-off reminders. An agent skill from letta-ai/lettabot.

    327 GitHub stars~852 tokensUpdated 4 mo ago
    Auto-check passed
  • Voice Memo

    letta-ai/lettabot

    Reply with voice memos using text-to-speech. An agent skill from letta-ai/lettabot.

    327 GitHub stars~487 tokensUpdated 4 mo ago
    Auto-check passed
  • Bluesky

    letta-ai/lettabot

    Post, reply, like, and repost on Bluesky using the lettabot-bluesky CLI.

    327 GitHub stars~954 tokensUpdated 4 mo ago
    Auto-check passed
  • Cron

    letta-ai/lettabot

    Create and manage scheduled tasks (cron jobs) that send you messages at specified times.

    327 GitHub stars~814 tokensUpdated 4 mo ago
    Auto-check passed
  • Google

    letta-ai/lettabot

    Google Workspace CLI (gog) for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.

    327 GitHub stars~774 tokensUpdated 4 mo ago
    Auto-check: notes

Questions about Lettabot

What does Lettabot do?

Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal. Lettabot is an agent skill from letta-ai/lettabot. Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal.

When should I use Lettabot?

Lettabot fits situations like: productivity & Automation work in your project.

How do I install Lettabot in Claude Code?

Run `npx skills add letta-ai/lettabot --skill lettabot -a claude-code`. Or copy the skill folder (the letta-ai/lettabot repository) into .claude/skills/lettabot in your project. Claude Code loads it when a task matches its description.

How do I install Lettabot in Codex?

Run `npx skills add letta-ai/lettabot --skill lettabot -a codex`. Or copy the skill folder (the letta-ai/lettabot repository) into .agents/skills/lettabot in your project. Codex loads it when a task matches its description.

Can I use Lettabot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add letta-ai/lettabot --skill lettabot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lettabot, .gemini/skills/lettabot, .github/skills/lettabot and .opencode/skills/lettabot in your project.

What does Lettabot need to run?

Going by SKILL.md and its folder, Lettabot needs the command-line tools its instructions call (npm, git, docker, npx and curl) and credentials named LETTA_API_KEY, TELEGRAM_BOT_TOKEN, SLACK_BOT_TOKEN and SLACK_APP_TOKEN. Our summary lists: Node.js; Docker; A credential in LETTA_API_KEY; A credential in TELEGRAM_BOT_TOKEN.

Does Lettabot access the network?

SKILL.md names 6 domains. In commands or code: api.letta.com and api.telegram.org; the agent is likely to contact these when it follows the instructions. As links in the text: github.com, t.me, api.slack.com and clawdhub.com. This is read from the text; nothing was executed.

Is Lettabot safe to install?

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.

What licence does Lettabot use?

Lettabot is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lettabot use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Lettabot?

Skills that share tags, products or a category with Lettabot: Traul Message Search (dandaka/traul, 112 stars), Creating Letta Code Channels (letta-ai/skills, 149 stars), Wire First NanoClaw Agent (nanocoai/nanoclaw, 31k stars) and Add Channel Connect Button (novuhq/novu, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lettabot?

letta-ai (a GitHub organization) maintains it in letta-ai/lettabot, which has 327 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on May 25, 2026.

Source: letta-ai/lettabot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.