### Create a Windows Snapshot Source: https://github.com/letta-ai/skills/blob/main/tools/remote-desktop-testing-windows/SKILL.md Use this command to create a snapshot of your Windows environment after installing dependencies. Future runs using `--snapshot` will skip the setup phase. ```bash node scripts/remote-desktop.mjs snapshot --snapshot my-app-windows-dev-v1 ``` -------------------------------- ### Setup MemFS Search Index Source: https://github.com/letta-ai/skills/blob/main/tools/memfs-search/SKILL.md Run the setup script to create the QMD index and generate embeddings for memory files. This is a one-time setup. It downloads models and adds context annotations. ```bash bash /scripts/memfs-search.sh setup ``` -------------------------------- ### Run Letta Locally with Docker Source: https://github.com/letta-ai/skills/blob/main/letta/letta-api-client/client-setup.md Run the Letta server locally using Docker. This example shows basic setup and how to configure multiple AI providers by setting environment variables. ```bash docker run \ -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \ -p 8283:8283 \ -e OPENAI_API_KEY="your-openai-key" \ letta/letta:latest ``` ```bash docker run \ -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \ -p 8283:8283 \ -e OPENAI_API_KEY="your-openai-key" \ -e ANTHROPIC_API_KEY="your-anthropic-key" \ letta/letta:latest ``` -------------------------------- ### Install social-cli Source: https://github.com/letta-ai/skills/blob/main/tools/social-cli/SKILL.md Clone the repository, navigate to the directory, and install dependencies. Then build the project. ```bash git clone https://github.com/letta-ai/social-cli.git cd social-cli pnpm install pnpm build ``` -------------------------------- ### CLI Help for QMD Setup Source: https://github.com/letta-ai/skills/blob/main/letta/letta-filesystem-to-memfs/SKILL.md Displays the help message for the 'qmd setup' subcommand, outlining its configuration options. ```bash uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" qmd setup --help ``` -------------------------------- ### Install Python Letta Client Source: https://github.com/letta-ai/skills/blob/main/letta/letta-api-client/client-setup.md Install the official Python SDK for Letta using pip. ```bash pip install letta-client ``` -------------------------------- ### LM Studio Example Configuration Source: https://github.com/letta-ai/skills/blob/main/letta/letta-configuration/references/custom-endpoints.md Configure Letta to use a local model served by LM Studio. Ensure LM Studio is running, a model is loaded, and the local server is started (default port 1234). Cloud embeddings are still required. ```python # 1. Open LM Studio # 2. Load a model # 3. Start local server (default port 1234) agent = client.agents.create( model="openai/local-model", model_settings={ "provider_type": "openai", "model_endpoint": "http://localhost:1234/v1", "model_endpoint_type": "openai" }, embedding="openai/text-embedding-3-small" ) ``` -------------------------------- ### Install Letta Client Source: https://github.com/letta-ai/skills/blob/main/letta/letta-api-client/getting-started.md Install the Letta client library for Python or TypeScript using pip or npm. ```bash # Python pip install letta-client ``` ```bash # TypeScript npm install @letta-ai/letta-client ``` -------------------------------- ### Install Dependencies for Browser Use Source: https://github.com/letta-ai/skills/blob/main/tools/yelp-search/SKILL.md Installs necessary packages for browser-based review extraction and Playwright. Ensure you have `uv` installed and configured. ```bash uv add browser-use playwright langchain-openai uv run playwright install chromium ``` -------------------------------- ### Voiceover Example Instructions Source: https://github.com/letta-ai/skills/blob/main/tools/speech/references/voiceover.md Example of how to apply the instruction template for a specific input text. This demonstrates how to tailor emphasis for key phrases. ```text Voice Affect: Confident and composed. Tone: Helpful and upbeat. Pacing: Steady, slightly brisk. Emphasis: Stress "insights" and "confidence". ``` -------------------------------- ### Example - FAIL: Environment-Specific Workaround Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/validation-criteria.md Illustrates a pattern that is not generalizable because it is specific to a particular environment setup. Focus on universal solutions rather than environment-specific fixes. ```text Pattern: Restart Docker container to fix database connection Context: My local setup with specific networking config Result: Works for me Generalizable: No, this is environment-specific workaround Why not general: Root cause likely in specific environment, not universal pattern ``` -------------------------------- ### Complete .env File Example Source: https://github.com/letta-ai/skills/blob/main/letta/letta-configuration/references/environment_variables.md An example of a comprehensive .env file for Letta configuration, including database, security, server, and provider settings. ```bash # Letta Environment Configuration # Generated: 2026-01-28 # ============================================ # Database Configuration # ============================================ LETTA_PG_URI=postgresql://letta:letta@localhost/letta # ============================================ # Security (Production) # ============================================ # SECURE=true # LETTA_SERVER_PASSWORD=your-secure-password # ============================================ # Server Configuration # ============================================ LETTA_SERVER_PORT=8283 LETTA_LOG_LEVEL=INFO # ============================================ # Provider API Keys # ============================================ # OpenAI OPENAI_API_KEY=sk-your-openai-key-here # Anthropic ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here # Azure OpenAI AZURE_API_KEY=your-azure-key AZURE_BASE_URL=https://your-resource.openai.azure.com AZURE_API_VERSION=2024-09-01-preview # Google AI GOOGLE_AI_API_KEY=your-google-ai-key # Groq GROQ_API_KEY=your-groq-key # ============================================ # Self-Hosted Providers # ============================================ # Ollama (local models) OLLAMA_BASE_URL=http://host.docker.internal:11434 # ============================================ # Optional: Advanced Configuration # ============================================ # Redis (for caching and background streaming) # REDIS_URL=redis://localhost:6379 # E2B (for sandboxed tool execution) # E2B_API_KEY=your-e2b-key # Exa (for web search tool) # EXA_API_KEY=your-exa-key ``` -------------------------------- ### Install TypeScript Letta Client Source: https://github.com/letta-ai/skills/blob/main/letta/letta-api-client/client-setup.md Install the official TypeScript SDK for Letta using npm. ```bash npm install @letta-ai/letta-client ``` -------------------------------- ### Verify Installation Source: https://github.com/letta-ai/skills/blob/main/tools/social-cli/SKILL.md Run these commands to ensure the social-cli is installed correctly and can access your accounts. ```bash social-cli whoami social-cli rate-limits ``` -------------------------------- ### Example IVR Prompt Instructions Source: https://github.com/letta-ai/skills/blob/main/tools/speech/references/ivr.md Example of how to apply the instruction template to a specific IVR prompt. This example emphasizes stressing option numbers for clarity. ```text Voice Affect: Clear and neutral. Tone: Professional and concise. Pacing: Slow and even. Emphasis: Stress "press 1" and "press 2". ``` -------------------------------- ### Install and Run Letta Code Channels Source: https://github.com/letta-ai/skills/blob/main/letta/creating-letta-code-channels/references/testing.md Commands to install dependencies and run the Letta Code development server for channels. Use `--debug` for detailed logging. ```bash bun install ``` ```bash bun dev channels status ``` ```bash bun dev channels install ``` ```bash bun dev server --channels --debug ``` -------------------------------- ### Example Workflow: Texting Mom Source: https://github.com/letta-ai/skills/blob/main/tools/imsg/SKILL.md A practical example demonstrating how to find a contact by name, confirm the message, and send it using imsg. ```bash # 1. Find mom's chat imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mom"))' ``` ```bash # 3. Send after confirmation imsg send --to "+1555123456" --text "I'll be late" ``` -------------------------------- ### Install lettactl Source: https://github.com/letta-ai/skills/blob/main/letta/fleet-management/reference/sdk-usage.md Install the lettactl package using npm or pnpm. ```bash npm install lettactl # or pnpm add lettactl ``` -------------------------------- ### Example Accessibility Read Instructions Source: https://github.com/letta-ai/skills/blob/main/tools/speech/references/accessibility.md Example of applying instructions for a specific input text. Focus on stressing key terms as indicated. ```text Voice Affect: Neutral and clear. Tone: Informational and steady. Pacing: Slow and consistent. Emphasis: Stress "Warning" and "High voltage". ``` -------------------------------- ### Install QMD Source: https://github.com/letta-ai/skills/blob/main/tools/memfs-search/references/qmd-setup.md Install QMD globally using npm, Bun, or run it directly with npx. Requires Node.js >= 22. ```bash # Node.js (recommended) npm install -g @tobilu/qmd ``` ```bash # Or Bun bun install -g @tobilu/qmd ``` ```bash # Or run without installing npx @tobilu/qmd ... ``` -------------------------------- ### Speech Generation Example Source: https://github.com/letta-ai/skills/blob/main/tools/speech/SKILL.md This example demonstrates how to provide input text and instructions for speech generation. The instructions specify voice affect, tone, pacing, and emphasis for the desired output. ```text Input text: "Welcome to the demo. Today we'll show how it works." Instructions: Voice Affect: Warm and composed. Tone: Friendly and confident. Pacing: Steady and moderate. Emphasis: Stress "demo" and "show". ``` -------------------------------- ### Example of Identifying Edge Cases and Tradeoffs Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/validation-criteria.md This example shows a contribution that correctly identifies tradeoffs and edge cases associated with an approach, such as using memory_insert for concurrent writes. ```text Approach: Use memory_insert for concurrent writes Tradeoff: Block grows faster, need monitoring Edge case: Single-agent can still use memory_replace for precision Documented: Yes, included both benefits and tradeoffs ``` -------------------------------- ### Complete Python MCP Server Example Source: https://github.com/letta-ai/skills/blob/main/tools/mcp-builder/reference/python_mcp_server.md A foundational example of an MCP server in Python, including necessary imports, initialization, constants, and enums. ```python #!/usr/bin/env python3 ''' MCP Server for Example Service. This server provides tools to interact with Example API, including user search, project management, and data export capabilities. ''' from typing import Optional, List, Dict, Any from enum import Enum import httpx from pydantic import BaseModel, Field, field_validator, ConfigDict from mcp.server.fastmcp import FastMCP # Initialize the MCP server mcp = FastMCP("example_mcp") # Constants API_BASE_URL = "https://api.example.com/v1" CHARACTER_LIMIT = 25000 # Maximum response size in characters # Enums class ResponseFormat(str, Enum): '''Output format for tool responses.''' MARKDOWN = "markdown" JSON = "json" ``` -------------------------------- ### Check for npx availability Source: https://github.com/letta-ai/skills/blob/main/tools/playwright/SKILL.md Verify if npx is installed, which is required by the Playwright CLI wrapper script. If not found, guide the user to install Node.js and npm. ```bash command -v npx >/dev/null 2>&1 ``` -------------------------------- ### Install User Plugin Channel Source: https://github.com/letta-ai/skills/blob/main/letta/creating-letta-code-channels/references/testing.md Installs the runtime dependencies for a user-created plugin channel. Ensure the channel ID and necessary files (`channel.json`, `plugin.mjs`, `accounts.json`) are correctly set up. ```bash bun dev channels install ``` -------------------------------- ### Feedback Example: Project-Specific Details Source: https://github.com/letta-ai/skills/blob/main/CULTURE.md This feedback example addresses code with project-specific details, suggesting a focus on agent-specific patterns not found in standard documentation. ```text "This includes personal preferences (commit message format) and standard git documentation. Could you focus on agent-specific patterns that aren't in standard docs? For example, handling git in non-interactive environments." ``` -------------------------------- ### Typical Remote Desktop Testing Workflow Source: https://github.com/letta-ai/skills/blob/main/tools/remote-desktop-testing-linux/SKILL.md This sequence demonstrates the common steps for starting a sandbox, syncing project files, executing build commands, launching an application, and capturing output like screenshots and videos. ```bash # 1. Start (or reuse) a desktop sandbox. Default: image daytonaio/sandbox:0.8.0, cpu 2 / mem 4 / disk 5. node scripts/remote-desktop.mjs start # 2. (Optional) push a local project to /home/daytona/remote-desktop/workspace node scripts/remote-desktop.mjs sync --project-path ~/repos/my-app --sync-mode working_tree # 3. Set up / build with shell commands (runs bash in the sandbox) node scripts/remote-desktop.mjs shell \ --command "cd /home/daytona/remote-desktop/workspace && npm install" # 4. Launch the GUI app on the live desktop and verify its window appeared node scripts/remote-desktop.mjs launch \ --command "./my-app --some-flag" --label my-app --wait-window "My App" # 5. Deliverables: screenshot, video, and a clickable live-desktop link node scripts/remote-desktop.mjs screenshot --output /tmp/demo.png node scripts/remote-desktop.mjs record --output /tmp/demo.mp4 --mp4 --duration 12 node scripts/remote-desktop.mjs preview ``` -------------------------------- ### Short Narration Example Instructions Source: https://github.com/letta-ai/skills/blob/main/tools/speech/references/narration.md Apply these specific instructions for a short narration example to achieve a warm, composed, friendly, and confident tone with steady pacing. ```text Voice Affect: Warm and composed. Tone: Friendly and confident. Pacing: Steady and moderate. ``` -------------------------------- ### Create New Tutorial Notebook Source: https://github.com/letta-ai/skills/blob/main/tools/jupyter-notebook/SKILL.md Use the new_notebook.py script to scaffold a new Jupyter notebook for tutorials. Specify the kind, title, and output path. ```bash uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \ --kind tutorial \ --title "Intro to embeddings" \ --out output/jupyter-notebook/intro-to-embeddings.ipynb ``` -------------------------------- ### Install agent-slack CLI Source: https://github.com/letta-ai/skills/blob/main/tools/slack/SKILL.md Installs the agent-slack CLI using a curl script. Alternatively, it can be installed via npm or nix. ```bash curl -fsSL https://raw.githubusercontent.com/stablyai/agent-slack/main/install.sh | sh ``` -------------------------------- ### Install ripgrep Source: https://github.com/letta-ai/skills/blob/main/tools/morph-warpgrep/SKILL.md Ensure ripgrep is installed on your system, as it's a dependency for local search operations. Installation commands vary by operating system. ```bash # macOS brew install ripgrep ``` ```bash # Ubuntu/Debian sudo apt install ripgrep ``` ```bash # Verify installation rg --version ``` -------------------------------- ### Install OpenAI Python Package with pip Source: https://github.com/letta-ai/skills/blob/main/tools/speech/SKILL.md If uv is unavailable, use this command to install the OpenAI Python package using the standard pip installer. ```bash python3 -m pip install openai ``` -------------------------------- ### Initialize Letta Client (Python) Source: https://github.com/letta-ai/skills/blob/main/letta/conversations/SKILL.md Instantiate the Letta client with your API key and base URL. This is the first step before interacting with the API. ```python from letta_client import Letta client = Letta(base_url="https://api.letta.com", api_key="your-key") ``` -------------------------------- ### Install OpenAI Python Package with uv Source: https://github.com/letta-ai/skills/blob/main/tools/speech/SKILL.md Use this command to install the OpenAI Python package with uv, the preferred dependency manager. Ensure uv is installed first. ```bash uv pip install openai ``` -------------------------------- ### Datadog CLI Quick Start Commands Source: https://github.com/letta-ai/skills/blob/main/tools/datadog/SKILL.md Use these commands for a quick start with the Datadog CLI tool, including validating credentials, searching logs, querying metrics, and listing monitors. ```bash # Test credentials npx tsx /scripts/datadog.ts validate ``` ```bash # Search logs npx tsx /scripts/datadog.ts search-logs "status:error" --from -1h ``` ```bash # Query metrics npx tsx /scripts/datadog.ts query-metrics "avg:system.cpu.user{*}" --from -4h ``` ```bash # List monitors npx tsx /scripts/datadog.ts list-monitors ``` -------------------------------- ### Verify QMD Setup Source: https://github.com/letta-ai/skills/blob/main/tools/memfs-search/references/qmd-setup.md Check the current status of QMD and perform a test search on your memory collection. ```bash qmd status qmd search "test query" -c memory ``` -------------------------------- ### Typical Remote Desktop Testing Workflow Source: https://github.com/letta-ai/skills/blob/main/tools/remote-desktop-testing-windows/SKILL.md This sequence demonstrates the common steps for remote desktop testing, from starting a sandbox to capturing final deliverables. Ensure visual confirmation of results before reporting success. ```bash # 1. Start (or reuse) a Windows sandbox (default snapshot: "windows", the stock Daytona one) node scripts/remote-desktop.mjs start ``` ```bash # 2. (Optional) push a local project to C:\Users\Public\remote-desktop\workspace node scripts/remote-desktop.mjs sync --project-path ~/repos/my-app --sync-mode working_tree ``` ```bash # 3. Set up / build with PowerShell commands node scripts/remote-desktop.mjs shell \ --command "Set-Location C:\Users\Public\remote-desktop\workspace; npm install" ``` ```bash # 4. Launch the GUI app in the interactive desktop session and verify its window appeared node scripts/remote-desktop.mjs launch \ --command "my-app.exe --some-flag" --label my-app --wait-window "My App" ``` ```bash # 5. Deliverables: screenshot, video, and a clickable live-desktop link node scripts/remote-desktop.mjs screenshot --output /tmp/demo.png node scripts/remote-desktop.mjs record --output /tmp/demo.mp4 --mp4 --duration 12 node scripts/remote-desktop.mjs preview ``` -------------------------------- ### Setup Python Environment Source: https://github.com/letta-ai/skills/blob/main/tools/jupyter-notebook/assets/tutorial-template.ipynb Imports necessary modules and sets a random seed for deterministic results. Keep this cell short and deterministic. ```python # Setup cell: keep it short and deterministic from __future__ import annotations import math import random SEED = 21 random.seed(SEED) SEED ``` -------------------------------- ### Recurring Problem Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example of a recurring problem that indicates a need for knowledge capture and documentation. ```text Third time setting up Letta agent with file system access. Same steps each time: attach folder, verify tools appear, test read access. Create quick-start pattern in letta-agent-designer. ``` -------------------------------- ### Start a Windows Sandbox Source: https://github.com/letta-ai/skills/blob/main/tools/remote-desktop-testing-windows/SKILL.md Creates or reuses a Windows sandbox environment for remote testing. Use `--fresh` to force a new sandbox instance. ```bash node scripts/remote-desktop.mjs start --fresh ``` -------------------------------- ### Example Pull Request Title - Refactor Source: https://github.com/letta-ai/skills/blob/main/CONTRIBUTING.md An example of a pull request title for reorganizing categories. ```text Refactor: reorganize development/ structure ``` -------------------------------- ### Quick Start: Deploy Fleet Source: https://github.com/letta-ai/skills/blob/main/letta/fleet-management/reference/sdk-usage.md Initialize the LettaCtl and deploy a fleet from a YAML file. ```typescript import { LettaCtl } from 'lettactl'; const ctl = new LettaCtl({ lettaBaseUrl: 'http://localhost:8283' }); await ctl.deployFromYaml('./fleet.yaml'); ``` -------------------------------- ### Install ripgrep for Troubleshooting Source: https://github.com/letta-ai/skills/blob/main/tools/morph-warpgrep/SKILL.md Instructions for installing the ripgrep utility on macOS and Ubuntu/Debian. This is a prerequisite for some Morph functionalities. ```bash # Install ripgrep brew install ripgrep # macOS sudo apt install ripgrep # Ubuntu/Debian # Verify rg --version ``` -------------------------------- ### Example of an Appropriately General Database Connection Pooling Contribution Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/validation-criteria.md This example illustrates a contribution that teaches general principles of database connection pooling, applicable to any database connection and covering configuration strategies and common pitfalls. ```text Skill: "Database connection pooling patterns" Content: When to use pooling, configuration strategies, common pitfalls Why good: Applies to any database connection, teaches principles ``` -------------------------------- ### Basic Docker Run Command Source: https://github.com/letta-ai/skills/blob/main/letta/letta-configuration/references/environment_variables.md Example of running a Letta Docker container with an environment file and port mapping. ```bash docker run -p 8283:8283 --env-file .env letta/letta:latest ``` -------------------------------- ### Teaching Moments Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example of an explanation that clarified a concept for a user, indicating knowledge worth documenting. ```text Explained memory_insert vs memory_replace to user with concurrent scenario. User understood immediately with the example. Capture example in letta-memory-architect for future clarity. ``` -------------------------------- ### Message Get Output Source: https://github.com/letta-ai/skills/blob/main/tools/slack/references/output.md The `message get` command returns a message object and optionally thread information. ```APIDOC ## message get ### Description Returns a message object and optionally thread summary information. ### Response #### Success Response - **message** (object) - The message content. - **thread** (object, optional) - Summary of the thread if the message is part of one. - **ts** (string) - Timestamp of the thread. - **length** (integer) - Number of messages in the thread. ``` -------------------------------- ### Configure Credentials Source: https://github.com/letta-ai/skills/blob/main/tools/social-cli/SKILL.md Create a .env file in your working directory to store API keys and tokens for Bluesky and X. ```bash # Bluesky / ATProto ATPROTO_HANDLE=you.bsky.social ATPROTO_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx ATPROTO_PDS=https://bsky.social # optional, defaults to bsky.social # X / Twitter (OAuth 1.0a) X_API_KEY=... X_API_SECRET=... X_ACCESS_TOKEN=... X_ACCESS_TOKEN_SECRET=... X_BEARER_TOKEN=... # optional, for app-only endpoints ``` -------------------------------- ### Example of an Appropriately General Web Application Testing Contribution Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/validation-criteria.md This example illustrates a contribution that teaches general principles of testing strategies for web applications, applicable regardless of the specific testing framework. ```text Skill: "Testing strategies for web applications" Content: When to use unit vs integration vs e2e tests, how to structure tests Why good: Principles apply regardless of specific testing framework ``` -------------------------------- ### Install Dependencies with uv Source: https://github.com/letta-ai/skills/blob/main/tools/visual-identity/SKILL.md Install necessary Python packages using the `uv` package manager. This is the preferred method. ```bash uv pip install requests Pillow ``` -------------------------------- ### Python Client Initialization Source: https://github.com/letta-ai/skills/blob/main/letta/letta-api-client/SKILL.md Initialize the Letta client using an API key from environment variables. ```python client = Letta(api_key=os.getenv("LETTA_API_KEY")) ``` -------------------------------- ### Skill Led Astray Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example where a skill's recommendation was suboptimal compared to a newer, more efficient alternative. ```text Skill said: "Use GPT-4 for complex tasks" But: GPT-4o is newer, faster, same quality, lower cost Skill needs update: GPT-4o is now preferred over GPT-4 ``` -------------------------------- ### Initialize Letta Client (Python) Source: https://github.com/letta-ai/skills/blob/main/letta/letta-api-client/getting-started.md Initialize the Letta client in Python using your API key from environment variables. ```python from letta_client import Letta import os client = Letta(api_key=os.getenv("LETTA_API_KEY")) ``` -------------------------------- ### Debugging Time Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example of a debugging session highlighting time spent, root cause, and documentation needs. ```text Spent 45 minutes figuring out why Playwright tests were flaky. Root cause: Need to wait for network idle, not just element presence. Pattern documented? No. Should be? Yes - common issue with webapp-testing. ``` -------------------------------- ### Create and Send Message (REST Example) Source: https://github.com/letta-ai/skills/blob/main/letta/conversations/SKILL.md Example demonstrating how to create a conversation and then send a message to it using cURL. ```APIDOC ## REST Example: Create and Send Message ### Description This example shows the sequence of cURL commands to first create a conversation and then send a message to that conversation, receiving a streaming response. ### Request Example ```bash # Create conversation curl -X POST "https://api.letta.com/v1/conversations?agent_id=agent-xxx" \ -H "Authorization: Bearer $LETTA_API_KEY" \ -H "Content-Type: application/json" # Send message (streaming response) curl -X POST "https://api.letta.com/v1/conversations/conv-xxx/messages" \ -H "Authorization: Bearer $LETTA_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: text/event-stream" \ -d '{"messages": [{"role": "user", "content": "Hello!"}]}' ``` ``` -------------------------------- ### Pattern Matching Examples with --match Flag Source: https://github.com/letta-ai/skills/blob/main/letta/fleet-management/reference/template-mode.md Illustrates various glob patterns that can be used with the `--match` flag to select agents for configuration updates. ```bash --match "*-draper" # Ends with -draper --match "support-*" # Starts with support- --match "*-prod-*" # Contains -prod- --match "agent-001" # Exact match ``` -------------------------------- ### Example Pull Request Title - Update Skill Source: https://github.com/letta-ai/skills/blob/main/CONTRIBUTING.md An example of a pull request title for updating an existing skill. ```text Update: ai/agents/letta/letta-agent-designer - add Gemini 2.5 Pro notes ``` -------------------------------- ### Example Pull Request Title - Add Skill Source: https://github.com/letta-ai/skills/blob/main/CONTRIBUTING.md An example of a pull request title for adding a new skill. ```text Add: ai/agents/letta/multi-agent-coordinator ``` -------------------------------- ### Build ChatGPT Memory Preview Source: https://github.com/letta-ai/skills/blob/main/letta/importing-chatgpt-memory/SKILL.md Use this script to combine extraction and preview into a single step. It identifies and categorizes high-signal onboarding inputs from the export. ```bash python3 scripts/build-memory-preview.py ``` ```bash python3 scripts/build-memory-preview.py --output /tmp/chatgpt-memory-preview.md ``` ```bash python3 scripts/build-memory-preview.py --progress ``` -------------------------------- ### Full tmux session example for 1Password CLI Source: https://github.com/letta-ai/skills/blob/main/tools/1password/SKILL.md This example demonstrates the complete workflow for setting up a dedicated tmux session, signing in, verifying access, listing vaults, and cleaning up the session. It uses timestamped session names and isolated socket directories for reliability. ```bash SOCKET_DIR="${LETTA_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/letta-tmux-sockets}" mkdir -p "$SOCKET_DIR" SOCKET="$SOCKET_DIR/letta-op.sock" SESSION="op-auth-$(date +%Y%m%d-%H%M%S)" tmux -S "$SOCKET" new -d -s "$SESSION" -n shell tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200 tmux -S "$SOCKET" kill-session -t "$SESSION" ``` -------------------------------- ### Install System Tools on macOS Source: https://github.com/letta-ai/skills/blob/main/tools/doc/SKILL.md Commands to install required system tools, libreoffice and poppler, on macOS using Homebrew. ```bash # macOS (Homebrew) brew install libreoffice poppler ``` -------------------------------- ### Start SGLang Server Source: https://github.com/letta-ai/skills/blob/main/letta/letta-configuration/references/self_hosted_providers.md Launch the SGLang server, specifying the model path and port. ```python python -m sglang.launch_server \ --model-path meta-llama/Llama-3.1-8B-Instruct \ --port 30000 ``` -------------------------------- ### Minimal Working Example Source: https://github.com/letta-ai/skills/blob/main/tools/jupyter-notebook/assets/tutorial-template.ipynb Calculates the sines of predefined angles. This cell provides a basic example of using the math module. ```python # Minimal working example angles = [0, math.pi / 4, math.pi / 2] sines = [math.sin(a) for a in angles] list(zip(angles, sines)) ``` -------------------------------- ### Example of Non-Contributable One-Off Situation Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md This example illustrates a temporary workaround for a specific environment issue that is not a generalizable pattern and should not be documented. ```text "When Docker container won't start, run docker network prune then restart." This addresses a symptom in your environment, not a general pattern. ``` -------------------------------- ### Trial and Error Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example illustrating a trial-and-error process for solving a problem, including failed attempts and the successful approach. ```text Tried git rebase -i (failed - interactive not supported) Tried git reset (lost work) Finally: git rebase HEAD~3 worked Could this be documented in git-workflows? Yes. ``` -------------------------------- ### Server-Level Provider Configuration Scripts Source: https://github.com/letta-ai/skills/blob/main/letta/letta-configuration/SKILL.md Quickly set up providers, generate environment files for Docker, or validate provider credentials using provided scripts. ```bash # Add provider via API python scripts/setup_provider.py --type openai --api-key sk-... ``` ```bash # Generate .env for Docker python scripts/generate_env.py --providers openai,anthropic,ollama ``` ```bash # Validate credentials python scripts/validate_provider.py --provider-id provider-xxx ``` -------------------------------- ### Good Description Example: Brand Guidelines Source: https://github.com/letta-ai/skills/blob/main/letta/agent-development/references/description-patterns.md An example of a memory block description using active voice and clear instructions. ```text "Reference this when generating customer-facing content to ensure brand consistency." ``` -------------------------------- ### Install Playwright CLI globally Source: https://github.com/letta-ai/skills/blob/main/tools/playwright/SKILL.md Install the Playwright CLI globally using npm. This is an alternative to using the bundled wrapper script. ```bash # Verify Node/npm are installed node --version npm --version # If missing, install Node.js/npm, then: npm install -g @playwright/cli@latest playwright-cli --help ``` -------------------------------- ### Example: Find Top-Rated Dog Groomers Source: https://github.com/letta-ai/skills/blob/main/tools/yelp-search/SKILL.md Demonstrates searching for businesses by a specific service and sorting by rating. Requires the `search.py` script. ```bash uv run python tools/yelp-search/scripts/search.py "dog groomer" -l "San Francisco" --sort-by rating ``` -------------------------------- ### First-Time Indexing with QMD Source: https://github.com/letta-ai/skills/blob/main/tools/memfs-search/references/qmd-setup.md Set up your memory collection, add context for better search, and generate vector embeddings. The first embed command downloads necessary models. ```bash # Create collection pointing at your memory directory qmd collection add "$MEMORY_DIR" --name memory --mask "**/*.md" ``` ```bash # Add context to improve search relevance qmd context add qmd://memory "Agent memory blocks — system prompt files and reference materials" qmd context add qmd://memory/system "In-context memory blocks rendered in the system prompt every turn" qmd context add qmd://memory/reference "Reference materials loaded on-demand via tools" ``` ```bash # Generate vector embeddings (downloads ~2GB of GGUF models on first run) qmd embed ``` -------------------------------- ### Install System Tools on Ubuntu/Debian Source: https://github.com/letta-ai/skills/blob/main/tools/doc/SKILL.md Commands to install required system tools, libreoffice and poppler-utils, on Ubuntu/Debian systems using apt-get. ```bash # Ubuntu/Debian sudo apt-get install -y libreoffice poppler-utils ``` -------------------------------- ### Install Dependencies for AI News Skill Source: https://github.com/letta-ai/skills/blob/main/tools/ai-news/SKILL.md Run this command once to install the necessary Node.js dependencies for the AI News skill scripts. ```bash cd ~/.letta/skills/ai-news/scripts && npm install ``` -------------------------------- ### Per-Platform Isolation with Working Directories Source: https://github.com/letta-ai/skills/blob/main/tools/social-cli/references/agent-loop.md Demonstrates how to run each platform's agent in its own isolated directory to manage state independently. Each directory contains its own configuration and data files. ```bash cd ~/agents/bsky-only social-cli sync -p bsky # ... cd ~/agents/x-only social-cli sync -p x # ... ``` -------------------------------- ### Specific vs. General Learning Example 2 Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Demonstrates reframing a specific database configuration detail into a general discussion on connection pooling strategies. ```text "Our database connection string for production" ``` ```text "Database connection pooling patterns and configuration strategies for high-traffic applications" ``` -------------------------------- ### SKILL.md Frontmatter Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/SKILL.md Shows the required YAML frontmatter for a SKILL.md file, including name and description. ```yaml --- name: skill-name description: What this skill does. Use when [triggers]. --- # Skill Name [Instructions in imperative form...] ``` -------------------------------- ### Setup Semantic Search (QMD) Source: https://github.com/letta-ai/skills/blob/main/letta/letta-filesystem-to-memfs/SKILL.md Sets up a QMD collection for semantic search over the chunk files within a specific corpus. This is a prerequisite for semantic querying. ```bash uv run "$SKILL_DIR/scripts/letta_fs_to_memfs.py" qmd setup \ --memory-dir "$MEMORY_DIR" \ --corpus product-docs ``` -------------------------------- ### Misunderstanding Caused Issue Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example of a misunderstanding leading to an issue, highlighting the need for clearer instructions and decision criteria in skills. ```text Skill said: "Use appropriate model for task" I chose GPT-4 (expensive) when GPT-4o-mini would've worked Add decision criteria: task complexity, budget, latency needs ``` -------------------------------- ### vLLM Example Configuration Source: https://github.com/letta-ai/skills/blob/main/letta/letta-configuration/references/custom-endpoints.md Configure Letta to use a vLLM server. Ensure the vLLM server is running and accessible at the specified endpoint. Note that cloud embeddings are still required. ```python # Start vLLM server: # python -m vllm.entrypoints.openai.api_server \ # --model mistralai/Mistral-7B-Instruct-v0.2 \ # --port 8000 agent = client.agents.create( model="openai/mistralai/Mistral-7B-Instruct-v0.2", model_settings={ "provider_type": "openai", "model_endpoint": "http://localhost:8000/v1", "model_endpoint_type": "openai" }, embedding="openai/text-embedding-3-small" # Still need cloud embedding ) ``` -------------------------------- ### Approach Failed Example Source: https://github.com/letta-ai/skills/blob/main/meta/skill-development/references/recognizing-learnings.md Example of an approach failing due to limitations in the execution environment, suggesting a need for warnings in the skill documentation. ```text Followed git-workflows to use git add -i (interactive add) Failed: Interactive mode not supported in Bash tool Add warning to skill about non-interactive environment ``` -------------------------------- ### Example Pull Request Description Source: https://github.com/letta-ai/skills/blob/main/CONTRIBUTING.md A comprehensive example of a pull request description, detailing the changes, rationale, source, testing, and attribution. ```markdown ## Add: ai/models/gemini-2-5-pro-guide Adds a guide for effectively using Gemini 2.5 Pro in agent applications. **Why:** Recent testing showed specific patterns that improve reliability with this model. **Source:** Hands-on testing across 50+ agent interactions, Gemini docs, community feedback. **Testing:** Validated patterns work with both letta_v1 and memgpt_v2 agents. **Attribution:** Initial insights from @ezra forum post, extended with additional testing. ``` -------------------------------- ### Initialize MCP Server Instance Source: https://github.com/letta-ai/skills/blob/main/tools/mcp-builder/reference/node_mcp_server.md Create a new instance of the McpServer, providing a unique name and version for your service. ```typescript const server = new McpServer({ name: "service-mcp-server", version: "1.0.0" }); ``` -------------------------------- ### Install Poppler on macOS Source: https://github.com/letta-ai/skills/blob/main/tools/pdf/SKILL.md Install the Poppler PDF rendering library on macOS using Homebrew. This is required for rendering PDF pages to images. ```bash # macOS (Homebrew) brew install poppler ``` -------------------------------- ### Install Python Packages with pip Source: https://github.com/letta-ai/skills/blob/main/tools/pdf/SKILL.md If `uv` is not available, use `python3 -m pip` to install the required Python packages for PDF manipulation. ```bash python3 -m pip install reportlab pdfplumber pypdf ```