Use the skill_instructions parameter on chat completions requests to inject caller-composed skill prompts into the LLM system prompt. This is how app backends send skill-specific behavior to Truememory without Truememory needing to know about the app’s skill definitions.
Truememory inserts the text at a fixed position in the prompt stack:
┌─────────────────────────┐
│ Agent base instructions │ ← Truememory owns (e.g. Eliza personality, safety rules)
├─────────────────────────┤
│ Persona │ ← Truememory's persona system
├─────────────────────────┤
│ skill_instructions │ ← Your text goes here
├─────────────────────────┤
│ Memory context │ ← Truememory adds from the user's knowledge graph
├─────────────────────────┤
│ Conversation history │ ← Messages
└─────────────────────────┘Key behavior:
- Additive — never replaces the agent’s base instructions or persona
- Optional — if omitted, behavior is unchanged (persona + memory as before)
- Truememory does not interpret, cache, or fetch
skill_instructions— it only appends the text
Example
curl -X POST https://your-tie-host/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
"model": "anthropic/claude-sonnet-4-5",
"messages": [
{"role": "user", "content": "What should I order from this Italian restaurant?"}
],
"skill_instructions": "You are in Menu Analysis mode. Break down each menu item by calories, protein, carbs, and fat. Apply the Keto lens: flag items exceeding 20g net carbs.",
"metadata": {
"active_skill": "menu",
"super_skill": "keto"
}
}'In this example, the LLM sees Eliza’s personality and safety rules, then the menu analysis instructions, then any memories about the user (e.g. allergies). The metadata is echoed back to the client but not shown to the LLM.
To manage the skill definitions themselves (create, tag knowledge packs, store prompts), see Skills.