docs: update SKILL.md for eLearning module

This commit is contained in:
2026-05-28 14:48:33 -05:00
parent fbd5e87002
commit cda9b388cf
+47 -8
View File
@@ -5,14 +5,16 @@ description: >
involving: products, product catalog, stock levels, inventory; knowledge base involving: products, product catalog, stock levels, inventory; knowledge base
articles; contacts, customers, vendors; sales orders, quotes; CRM leads and articles; contacts, customers, vendors; sales orders, quotes; CRM leads and
opportunities; projects and tasks; helpdesk tickets; purchase orders; opportunities; projects and tasks; helpdesk tickets; purchase orders;
employees and departments; bulk record updates; archiving records; counting employees and departments; eLearning courses, slides, quizzes, and enrollment;
records; cancelling quotations. Triggers on: "in Odoo", "our products", "the bulk record updates; archiving records; counting records; cancelling quotations.
knowledge base", "find a contact", "sales order", "opportunity", "project Triggers on: "in Odoo", "our products", "the knowledge base", "find a contact",
tasks", "helpdesk ticket", "purchase order", "stock", "inventory", "sales order", "opportunity", "project tasks", "helpdesk ticket", "purchase
"employee", "what stage is", "create a task", "update the ticket", order", "stock", "inventory", "employee", "what stage is", "create a task",
"cancel quotation", "cancel quote", "archive", "mark lost", "bulk update", "update the ticket", "cancel quotation", "cancel quote", "archive", "mark lost",
"how many records", "count of", "stage id for", "resolve stage", "bulk update", "how many records", "count of", "stage id for", "resolve stage",
"search with filters", "filter by", "lost reasons". "search with filters", "filter by", "lost reasons", "course", "training",
"elearning", "e-learning", "lesson", "slide", "quiz", "enroll", "enrollment",
"onboard to course", "publish course", "add lesson", "create course".
--- ---
# Odoo MPM Skill # Odoo MPM Skill
@@ -102,6 +104,42 @@ Advanced tools for any Odoo model:
- `call_odoo_method` — escape hatch for any model method not covered by other tools (workflow transitions, report actions, custom methods). Use sparingly. - `call_odoo_method` — escape hatch for any model method not covered by other tools (workflow transitions, report actions, custom methods). Use sparingly.
- `odoo_search` / `odoo_get_record` — legacy generic lookup tools; prefer `odoo_search_read` for new usage. - `odoo_search` / `odoo_get_record` — legacy generic lookup tools; prefer `odoo_search_read` for new usage.
### eLearning — Courses (`search_courses`, `get_course`, `create_course`, `update_course`, `publish_course`)
Manage eLearning courses (slide.channel). Supports all three audience tiers: internal employees, resellers, and end-clients.
**Course settings:**
- `channel_type`: `training` or `documentation`
- `visibility`: `public` (Everyone), `connected` (Signed In), `members` (Course Attendees), `website` (Anyone with link)
- `enroll`: `public` (Open) or `invite` (On Invitation)
- `enroll_group_names`: auto-enroll Odoo groups by name — use `['Internal Users']` to restrict a course to employees
### eLearning — Slides & Content (`list_course_slides`, `get_slide`, `create_slide`, `update_slide`, `publish_slide`, `reorder_slides`)
Manage individual content items within a course.
**Slide types:**
- `pdf` — PDF document. `url` = Google Drive share link (use Workspace MCP to get the link).
- `youtube_video` — YouTube video. `url` = YouTube watch URL.
- `vimeo_video` — Vimeo video. `url` = Vimeo video URL.
- `infographic` — Image or infographic.
- `webpage` — Native article. `html_content` = formatted HTML body. Claude can generate this directly.
**Google Drive rule:** For any operation that needs a Drive file link or download URL — cover images, PDF slides, resource links — use the Google Workspace MCP connector when it is available. Only ask the user to provide a URL if the connector is not connected in the current session.
### eLearning — Quiz (`get_quiz_questions`, `add_quiz_question`, `generate_quiz`)
Quiz questions (`slide.question` / `slide.answer`) can be attached to any slide type.
- `generate_quiz` is the AI-powered tool: read lesson content first, generate question/answer sets, then call this tool to batch-write them all. It clears existing questions before writing.
- `add_quiz_question` adds a single question — use for incremental additions.
### eLearning — Enrollment (`get_course_enrollment`, `enroll_in_course`, `bulk_enroll`, `send_course_invitation`)
- `enroll_in_course` is the standard onboarding hook — accepts partner IDs or email addresses, resolves contacts automatically, and optionally sends invitation emails.
- `bulk_enroll` handles CSV-style imports and is designed to be called by the project management plugin for customer onboarding.
- `get_course_enrollment` returns enrolled users with completion % and last activity.
### eLearning — Media & Resources (`set_course_cover`, `set_slide_cover`, `link_drive_document`, `add_course_resource`)
- `set_course_cover` / `set_slide_cover` — fetch image from URL, base64-encode, write to Odoo. Use Workspace MCP for Drive images.
- `link_drive_document` — set the URL on any slide (PDF, video, infographic).
- `add_course_resource` — add a downloadable link to the course landing page. Falls back to creating a slide if the resource model is unavailable.
--- ---
## Workflow Guidelines ## Workflow Guidelines
@@ -115,3 +153,4 @@ Advanced tools for any Odoo model:
- Use `odoo_search_read` for any query where you only need specific fields — it is more efficient than `odoo_get_record` and avoids large responses. - Use `odoo_search_read` for any query where you only need specific fields — it is more efficient than `odoo_get_record` and avoids large responses.
- Before calling `cancel_sale_orders` or `cancel_and_archive_quotations`, use `search_sales_orders` to verify the orders are in `draft` or `sent` state. Both tools will refuse if any order is in another state. - Before calling `cancel_sale_orders` or `cancel_and_archive_quotations`, use `search_sales_orders` to verify the orders are in `draft` or `sent` state. Both tools will refuse if any order is in another state.
- Before calling `mark_crm_lead_lost`, call `list_crm_lost_reasons` to show the user available reasons so they can choose one by name. - Before calling `mark_crm_lead_lost`, call `list_crm_lost_reasons` to show the user available reasons so they can choose one by name.
- For eLearning: always use the Google Workspace MCP connector for Drive file links and image downloads when it is available. Only surface the gap to the user if the connector is absent.