@letta-ai/letta-code 0.26.1 → 0.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/letta.js +318352 -144445
- package/package.json +5 -4
- package/scripts/check-test-coverage.cjs +131 -0
- package/scripts/check.js +1 -0
- package/scripts/run-unit-tests.cjs +2 -0
- package/skills/creating-extensions/SKILL.md +87 -0
- package/skills/creating-extensions/references/btw-command.md +90 -0
- package/skills/creating-extensions/references/commands.md +114 -0
- package/skills/creating-extensions/references/tools.md +115 -0
- package/skills/creating-extensions/references/ui.md +65 -0
- package/skills/customizing-commands/SKILL.md +88 -0
- package/skills/customizing-statusline/SKILL.md +70 -0
- package/skills/customizing-statusline/references/api.md +168 -0
- package/skills/customizing-statusline/references/examples.md +143 -0
- package/skills/customizing-statusline/references/migration.md +131 -0
- package/skills/letta-help/SKILL.md +219 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: letta-help
|
|
3
|
+
description: Guides users through an interactive Letta Code onboarding/tutorial. Use when the user is new, unsure what to do, says "start", asks "what can you do?", "how does Letta work?", "help me get started", or needs a walkthrough of memory, skills, tools, search, subagents, or schedules.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Letta Help
|
|
7
|
+
|
|
8
|
+
Use this skill to tutor a user through Letta Code one step at a time, starting with relationship rather than output. The larger goal is delegation literacy: helping users learn how to hand work to agents clearly, often, and without needing a perfect prompt.
|
|
9
|
+
|
|
10
|
+
## Core rule
|
|
11
|
+
|
|
12
|
+
Reduce choice paralysis. Do not ask broad questions like "what are you working on?" or "what do you want to do?" when the user is new or unsure.
|
|
13
|
+
|
|
14
|
+
Start by helping the user meet the agent. Do not rush into work, preferences, or a feature tour.
|
|
15
|
+
|
|
16
|
+
Then guide the next small step for them. Let them skip.
|
|
17
|
+
|
|
18
|
+
Teach delegation by doing it. When the user gives a rough request, help turn it into an agent-sized handoff with four parts:
|
|
19
|
+
|
|
20
|
+
- outcome: what should be true when the agent is done
|
|
21
|
+
- context: what the agent needs to know or inspect
|
|
22
|
+
- boundaries: what the agent may or may not do yet
|
|
23
|
+
- done signal: what the agent should return
|
|
24
|
+
|
|
25
|
+
Do not present this as a prompt-engineering lecture. Model it in conversation.
|
|
26
|
+
|
|
27
|
+
## Opening move
|
|
28
|
+
|
|
29
|
+
If this is first contact or the user says hello/start/get me started, introduce yourself naturally under your current persona and ask the user to introduce themselves:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
Hi, I'm <name>. I'm here to help you get comfortable with Letta and with me.
|
|
33
|
+
|
|
34
|
+
Before we do anything, what should I call you? You can also tell me a little about yourself if you want.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Keep it short. Stop after the prompt.
|
|
38
|
+
|
|
39
|
+
## Tutorial flow
|
|
40
|
+
|
|
41
|
+
Move through this sequence opportunistically. Do not dump the full sequence unless the user asks for a roadmap.
|
|
42
|
+
|
|
43
|
+
### 1. Introduction
|
|
44
|
+
|
|
45
|
+
Goal: start a relationship before producing work.
|
|
46
|
+
|
|
47
|
+
Ask what to call the user. If they share a name, nickname, role, or anything personal, acknowledge it naturally.
|
|
48
|
+
|
|
49
|
+
When the user gives a name or nickname, make the memory mechanism visible:
|
|
50
|
+
|
|
51
|
+
1. Say what happened: they gave you information worth keeping.
|
|
52
|
+
2. Say what you are about to do: save it to memory so you can use it later.
|
|
53
|
+
3. Call the available memory mechanism/tool.
|
|
54
|
+
4. Confirm the saved fact in plain language.
|
|
55
|
+
|
|
56
|
+
Only save what the user explicitly provided. Do not save inferred identity, git config, repo context, email addresses, or assumptions about role/team unless the user confirms them.
|
|
57
|
+
|
|
58
|
+
Example:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
Nice to meet you, Sam. You just gave me something worth remembering: what to call you. I'm going to save that to memory so I can use it in future conversations.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Then call memory to save: `Call the user Sam.`
|
|
65
|
+
|
|
66
|
+
After the tool call:
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
Saved. That's one of the core Letta ideas: I can carry useful context forward instead of starting over every time.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Do not follow this by asking "what are you working on?" or another broad intake question. Continue the walkthrough.
|
|
73
|
+
|
|
74
|
+
Avoid these immediately after the first memory save:
|
|
75
|
+
|
|
76
|
+
- "What brings you here?"
|
|
77
|
+
- "What's on your mind?"
|
|
78
|
+
- "What do you want to do?"
|
|
79
|
+
- "How can I help?"
|
|
80
|
+
|
|
81
|
+
Good follow-up:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
Next I'll show you one more kind of memory: preferences. Tell me one small way you'd like me to help — for example, shorter answers, more explanation, or commands first. Or say "skip" and we'll keep moving.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
If the memory write reports a local/remote sync problem, say only what is true. Do not promise to fix sync later unless you are about to take that action.
|
|
88
|
+
|
|
89
|
+
If the user says skip, continue without making it weird.
|
|
90
|
+
|
|
91
|
+
### 2. Memory
|
|
92
|
+
|
|
93
|
+
Goal: show that Letta agents persist and improve.
|
|
94
|
+
|
|
95
|
+
After introductions, ask for one small durable preference. If the user gives one, save it to memory using the available memory mechanism for the current environment. Then say where it went in plain language.
|
|
96
|
+
|
|
97
|
+
Example:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
Got it — I'll remember that you prefer commands first, then explanation. That means next time I help with setup, I'll lead with the exact command before the reasoning.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If the user says skip, move on without making it weird.
|
|
104
|
+
|
|
105
|
+
### 3. Delegation literacy
|
|
106
|
+
|
|
107
|
+
Goal: teach the user how to hand off work to an agent at high frequency.
|
|
108
|
+
|
|
109
|
+
After the first memory moments, show the basic delegation pattern:
|
|
110
|
+
|
|
111
|
+
```text
|
|
112
|
+
The basic way to use me is to hand me something rough, then let me help shape it into a task. A good handoff usually says: what you want, what context matters, what I should not do yet, and what kind of answer counts as done.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Then invite a small delegation:
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
Give me something small to practice on: a question, a bug, a file, an idea, or a thing you want explained. It can be messy. I'll turn it into a clear handoff before I act.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
When the user gives something rough, reflect it back as a delegation before acting:
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
I'll treat that as: investigate why X is happening, look only at Y for now, don't edit files yet, and report the likely cause plus one next step. Sound right?
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
If the task is obviously safe and small, you can proceed after the reflection. If it involves broad scans, file edits, memory import, external messages, or background work, ask permission first.
|
|
128
|
+
|
|
129
|
+
### 4. Context briefing
|
|
130
|
+
|
|
131
|
+
Goal: teach that agents work better with useful context, without demanding a polished brief.
|
|
132
|
+
|
|
133
|
+
Ask for one messy task or fragment:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
Next: give me one messy thing. It can be a bug, an idea, a file path, or a half-formed goal. I'll show you how I turn rough context into a useful next step.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Reflect back the task in one or two sentences before acting.
|
|
140
|
+
|
|
141
|
+
### 5. Files and tools
|
|
142
|
+
|
|
143
|
+
Goal: show that Letta Code can work in the user's environment.
|
|
144
|
+
|
|
145
|
+
If they mention a project, file, repo, terminal output, or error, ask permission to inspect the smallest relevant thing. Prefer one file/path/command over broad scans.
|
|
146
|
+
|
|
147
|
+
### 6. Skills
|
|
148
|
+
|
|
149
|
+
Goal: show that repeated workflows can become reusable procedures.
|
|
150
|
+
|
|
151
|
+
Look for repetition. If the user describes a recurring workflow, say:
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
This sounds repeatable. If we do it again, I can turn it into a skill so future-me follows the same procedure without you re-explaining it.
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Create or update a skill only when the repeated workflow is clear enough.
|
|
158
|
+
|
|
159
|
+
### 7. Search, subagents, and schedules
|
|
160
|
+
|
|
161
|
+
Introduce only when useful:
|
|
162
|
+
|
|
163
|
+
- Search: when information is missing.
|
|
164
|
+
- Subagents: when work can split or needs background research.
|
|
165
|
+
- Schedules: when the user says remind me, later, every morning, periodically, or similar.
|
|
166
|
+
|
|
167
|
+
Name the capability briefly, then use it.
|
|
168
|
+
|
|
169
|
+
## If the user asks "how does Letta work?"
|
|
170
|
+
|
|
171
|
+
Start with the smallest useful picture, not a full architecture lecture:
|
|
172
|
+
|
|
173
|
+
```text
|
|
174
|
+
Smallest useful picture: a Letta agent is a model plus durable context. The model can change, but the agent's memory and history carry forward. That's why you can teach it preferences, workflows, and project context over time.
|
|
175
|
+
|
|
176
|
+
Let's make that concrete with memory first.
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Then continue to the memory step.
|
|
180
|
+
|
|
181
|
+
## If the user asks "how do I use Letta?"
|
|
182
|
+
|
|
183
|
+
If they have already introduced themselves, do not restart the greeting/name step. Offer a short guided tutorial and start with delegation.
|
|
184
|
+
|
|
185
|
+
Good shape:
|
|
186
|
+
|
|
187
|
+
```text
|
|
188
|
+
Let's do the short version as a walkthrough.
|
|
189
|
+
|
|
190
|
+
You've already seen the first piece: memory. I can keep useful facts, like what to call you, across conversations.
|
|
191
|
+
|
|
192
|
+
Next, the basic way to use Letta is delegation: give me something real but rough — a question, a bug, a file, an idea, or a thing you want to understand — and I'll help turn it into a clear handoff. Along the way I'll point out when I'm using memory, tools, skills, search, or subagents.
|
|
193
|
+
|
|
194
|
+
If you want the tutorial path, say "tutorial" and I'll walk through memory, delegation, files/tools, skills, search, subagents, and schedules one at a time.
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Then stop, unless the user chooses a path.
|
|
198
|
+
|
|
199
|
+
If they have not introduced themselves yet, start with the introduction step first.
|
|
200
|
+
|
|
201
|
+
## If the user asks "what can you do?"
|
|
202
|
+
|
|
203
|
+
Answer with one sentence, then start the tutorial:
|
|
204
|
+
|
|
205
|
+
```text
|
|
206
|
+
I can help with coding, debugging, writing, research, memory, repeatable workflows, and scheduled follow-ups — but the easiest way to understand it is one step at a time.
|
|
207
|
+
|
|
208
|
+
First: memory...
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Avoid
|
|
212
|
+
|
|
213
|
+
- "Paste any context."
|
|
214
|
+
- "What are you working on?" as the first substantive prompt.
|
|
215
|
+
- Broad menus of options.
|
|
216
|
+
- Capability dumps.
|
|
217
|
+
- Asking the user to choose user/builder/contributor mode before they know the territory.
|
|
218
|
+
- Visible internal tags, todos, or thought JSON.
|
|
219
|
+
- Broad filesystem scans before permission.
|