docs: update SKILL.md for eLearning module
This commit is contained in:
+47
-8
@@ -5,14 +5,16 @@ description: >
|
||||
involving: products, product catalog, stock levels, inventory; knowledge base
|
||||
articles; contacts, customers, vendors; sales orders, quotes; CRM leads and
|
||||
opportunities; projects and tasks; helpdesk tickets; purchase orders;
|
||||
employees and departments; bulk record updates; archiving records; counting
|
||||
records; cancelling quotations. Triggers on: "in Odoo", "our products", "the
|
||||
knowledge base", "find a contact", "sales order", "opportunity", "project
|
||||
tasks", "helpdesk ticket", "purchase order", "stock", "inventory",
|
||||
"employee", "what stage is", "create a task", "update the ticket",
|
||||
"cancel quotation", "cancel quote", "archive", "mark lost", "bulk update",
|
||||
"how many records", "count of", "stage id for", "resolve stage",
|
||||
"search with filters", "filter by", "lost reasons".
|
||||
employees and departments; eLearning courses, slides, quizzes, and enrollment;
|
||||
bulk record updates; archiving records; counting records; cancelling quotations.
|
||||
Triggers on: "in Odoo", "our products", "the knowledge base", "find a contact",
|
||||
"sales order", "opportunity", "project tasks", "helpdesk ticket", "purchase
|
||||
order", "stock", "inventory", "employee", "what stage is", "create a task",
|
||||
"update the ticket", "cancel quotation", "cancel quote", "archive", "mark lost",
|
||||
"bulk update", "how many records", "count of", "stage id for", "resolve stage",
|
||||
"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
|
||||
@@ -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.
|
||||
- `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
|
||||
@@ -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.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user