Skills and memory¶
Skills¶
A skill (ai.skill) is a reusable instruction pack the assistant can
load mid-task — similar to progressive disclosure in modern coding agents.
Menu:
Fields¶
Field |
Purpose |
|---|---|
Name |
Short UI / catalogue label |
Code |
Technical id for |
Description |
When to use (English; shown to the model) |
Body |
Full instructions when active (English) |
Activation mode |
On demand (catalogue + |
Trigger keywords |
Comma-separated keywords on the latest user message for auto load |
Active / sequence |
Visibility and ordering |
Provenance |
Factory / custom (and factory-modified) |
Runtime behaviour¶
CRUD is AI Administrator only.
At runtime every AI user sees the same active skills (no per-user skill toggle).
Tools
list_skills/use_skillrequire capability ask.Bounds limit catalogue size, always-on count and body length so one skill cannot dominate the prompt.
Factory skills¶
The module ships factory skills (XML data, noupdate). Examples include
operational playbooks for vendor bills, bank reconciliation patterns, follow-ups
and localisation-aware product fields — grounded to eYssen stacks where
applicable.
Sync factory skills admin action refreshes pristine factory rows from code on upgrade.
If you edit a factory skill, it becomes factory-modified and is not auto-overwritten; you can reset to factory when desired.
Vendor bill from documents (vendor_bill_from_documents)¶
Full AP playbook for Odoo 18: chat PDFs or draft supplier invoices
(in_invoice) that have attachments but empty lines. It is not an AR /
customer-invoice skill.
What it is designed to do:
Resolve partner flags, reuse product / account / tax / analytic patterns from prior bills for the same vendor.
Fill invoice lines on draft moves only.
Schedule a human review To-Do on every bill it actually changed.
Hungarian NAV twin path (before filling lines): many HU suppliers already exist as NAV-imported bills. If exactly one clear match is found (often already posted), the skill reattaches the image/PDF from the empty draft to that existing bill, notes the merge, and unlinks the empty draft only when it still has no meaningful lines — it must not double-book the same invoice. Non-HU / foreign suppliers skip this path.
Hard stops in the playbook:
Do not post, pay, or write NAV transmission fields.
Do not invent partners, taxes or accounts when prior-bill reuse fails — leave for the human.
Prefer reporting an existing bill over creating a second one with the same partner + reference.
Pair with Recipe D in Agent recipes (chat helper or scheduled agent).
On a scheduled agent the standing task scouts (search ids,
queue_work_items) and each child runs this playbook for one bill —
see Per-record work items. For unattended runs, task
Write Mode auto is only appropriate because this skill keeps
bills draft; if you customise the skill to post, switch the task back to
confirm.
Writing a good skill¶
State triggers clearly in the description.
Give ordered steps and which tools to call first.
Say what not to invent (accounts, taxes, partners).
Keep always-on skills short; put long playbooks on demand.
Memory¶
Memory (ai.memory) stores durable facts the assistant may recall across
conversations.
Menu: and Memory Graph.
Types¶
Working — short-lived task context
Episodic — what happened in a session
Semantic — durable facts / preferences
Archive — cold storage
Scopes¶
User (default private)
Company / System — admin (or approved promotion)
Agent / Run — agent-centric context
Users may create/write user, agent and run scopes; company/system need admin or promotion approval.
Tools¶
Under capability ask: memory_search, memory_save, memory_forget,
memory_link. Prompt injection of memories is size-bounded.
Good practice¶
Save stable preferences (“user wants HU date format”) as semantic/user.
Do not store passwords, API keys or full personal ID documents in memory.
Review company-scope memories periodically; treat them as shared configuration.
Use forget when a fact is wrong — do not pile contradictions.
Skills vs memory¶
Skills |
Memory |
|---|---|
How to do a job (playbooks) |
What is true for this user/org (facts, preferences) |
Admin-authored configuration |
User/agent/runtime authored |
Versioned factory possible |
Operational data |