lesson_save
WHEN: a problem has just been solved, or a convention or procedure was agreed, and it should not need explaining again. Triggers: 'keep this', 'retiens ça', 'save this lesson', 'note this for next time', 'capitalise'. Propose it to the user first and save only with their agreement. Write it so a stranger could apply it: the problem as it showed up (the symptom and message), the cause, the solution step by step, and the D365 objects involved. The lesson is saved for the caller's client as UNVALIDATED; an administrator reviews it before it is trusted. Never put secrets, passwords, tokens or personal data in a lesson.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"title": "<title>",
"problem": "<problem>",
"solution": "<solution>"
},
"name": "lesson_save"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'lesson' (default), 'convention' (how this client does things) or 'procedure' (a repeatable how-to). | lesson |
| tags | No | Optional: comma-separated keywords. | |
| cause | No | Why it happened, when known. | |
| title | Yes | Short title that says what it is about, e.g. 'Sales invoice posting fails when the tax group is empty'. | |
| objects | No | Optional: comma-separated D365 objects involved. | |
| problem | Yes | The problem as it appeared: symptom, error message, where. | |
| solution | Yes | What fixed it, in steps. | |
| sourceRef | No | Optional: where it came from, e.g. 'WI 6587' or 'PR 142'. |