Moodle and Skill Studio AI can work together by exporting SCORM‑ready courses from Skill Studio AI’s course engine into Moodle, preserving version control, completion tracking, and audit‑ready records. With Dynamic SCORM, you can also update course content in Skill Studio AI and have those changes appear instantly in Moodle without re‑uploading the package.
Last updated: June 2026
Contents
Why integrate Moodle and Skill Studio AI?
Static vs Dynamic SCORM from Skill Studio AI
How Skill Studio AI exports to Moodle
Setting up Skill Studio AI with Moodle, step by step
Tracking learner progress in Moodle
Keeping content up to date from Skill Studio AI
Use cases for Moodle plus Skill Studio AI
Frequently Asked Questions
Key Takeaways
No direct Moodle API integration There is no web‑services token, no
mod_scormpush, and no automated SCORM upload into Moodle. You upload Skill Studio AI SCORM packages into Moodle manually as SCORM activities.Two SCORM options: Static and Dynamic Skill Studio AI generates Static SCORM (self‑contained packages) and Dynamic SCORM (a lightweight launcher that streams live content from Skill Studio AI at runtime).
Dynamic SCORM = “seamless republishing” With Dynamic SCORM, you edit the course in Skill Studio AI and changes appear instantly for all learners in Moodle without re‑uploading the SCORM package.
Static SCORM for offline and locked‑down environments Static SCORM bundles all media and logic in a ZIP. It works even if Skill Studio AI is unreachable, but requires re‑uploading whenever the course changes.
Audit‑ready records in Moodle Completion, scores, and attempts are recorded in Moodle’s gradebook and reports, and can be exported for audits, regardless of Static or Dynamic SCORM.
Version control in Skill Studio AI Skill Studio AI remains the single source of truth for content, version history, approvals, and policy updates. Dynamic SCORM extends this into Moodle without admin rework.
Built for regulated industries The pattern fits pharma, BFSI, and healthcare teams that already use Moodle but need audit‑ready, role‑targeted training and fast SOP updates.
Minimal Moodle admin overhead Moodle admins primarily manage enrolment, groups, and due dates. With Dynamic SCORM, they usually do not need to touch Moodle when SOP content changes.
Integrating Moodle with Skill Studio AI is less about building a custom connector and more about choosing the right SCORM export pattern. Skill Studio AI turns dense SOPs, compliance documents, and procedural manuals into avatar‑led video courses. Moodle then hosts and tracks those as standard SCORM activities. With Static SCORM, you get a familiar, self‑contained package model. With Dynamic SCORM, you get live, no‑re‑upload updates from Skill Studio AI while still relying on Moodle’s SCORM runtime for tracking. This article explains how both options work, where the handoff points are, and what you can and can’t expect from the pairing.
Why integrate Moodle and Skill Studio AI?
Organisations choose this pattern when Moodle already handles authentication, user management, and basic reporting, but they need faster, higher‑quality course creation than Moodle’s built‑in tools provide. Skill Studio AI fills that gap by turning documents into branded, avatar‑led courses that Moodle can consume as SCORM. The result is faster rollout of compliance‑grade training without replacing the existing LMS.
For regulated industries, the main driver is audit readiness and maintainability. Moodle’s reports and gradebook surface completion, scores, and attempts, while Skill Studio AI ensures the underlying content is version‑controlled, role‑targeted, and tied to specific procedures. With Dynamic SCORM, the “maintenance wedge” becomes much smaller: when an SOP changes, you update the course once in Skill Studio AI and learners in Moodle see the latest version automatically, as long as they launch the Dynamic SCORM activity.
Static vs Dynamic SCORM from Skill Studio AI
Skill Studio AI generates two types of SCORM packages for Moodle:
Static SCORM
Static SCORM packages are traditional, self‑contained SCORM ZIPs.
Self‑contained All course HTML, JavaScript, media, and logic are bundled into the ZIP.
Content is frozen at export Learners always see the version that was exported at that point in time.
Updating content When an SOP or policy changes, you edit the course in Skill Studio AI, export a new SCORM package, and re‑upload the ZIP into Moodle (either replacing the existing activity or creating a new one).
Best for Locked‑down networks, offline or low‑connectivity environments, or scenarios where external HTTP calls from the SCORM package are restricted.
Dynamic SCORM
Dynamic SCORM packages are lightweight “launchers” that fetch live content and logic from Skill Studio AI at runtime.
Tiny launcher package The SCORM ZIP is typically very small (around 5 KB) and contains the manifest plus a launcher shell.
Live content at launch When a learner starts the SCORM activity in Moodle, the launcher calls Skill Studio AI’s edge functions (such as
scorm-launch) to load the latest course HTML and the SCORM API bridge.Instant updates You edit the course in Skill Studio AI, publish, and those changes appear immediately for all learners in Moodle without any re‑upload or Moodle admin action.
Personalization and logic Dynamic SCORM can call additional endpoints (for example,
scorm-discovery) to tailor content by role, site, language, or other attributes.Progress tracking Dynamic SCORM still uses the SCORM runtime callbacks in Moodle (via
scorm-progressand the SCORM API bridge), so completion and scores are stored in Moodle as usual.Best for Teams that want “seamless republishing” of SOP changes, central control over content, and minimal LMS admin overhead.
This is how Skill Studio AI can provide a “live republishing” experience without any direct Moodle API integration: the Dynamic SCORM package stays fixed in Moodle while the content and logic it loads at runtime evolve inside Skill Studio AI.
How Skill Studio AI exports to Moodle
Skill Studio AI exports courses as SCORM‑compliant packages, which Moodle can import directly. Each exported course is a ZIP file containing the manifest, JavaScript, and either embedded content (Static SCORM) or a launcher that pulls live content (Dynamic SCORM). When you upload that ZIP into Moodle, it becomes a normal SCORM activity you can place in any course or section.
Inside a Static SCORM package, Skill Studio AI structures the data so Moodle can track completion (for example via cmi.core.lesson_status) and optionally scores (for example via cmi.core.score.raw). If you configure assessments inside Skill Studio AI, those translate into scored questions that Moodle records in the gradebook.
Inside a Dynamic SCORM package, the manifest and launcher still expose the SCORM API to Moodle’s SCORM player. The launcher calls Skill Studio AI’s edge functions at runtime:
scorm-launchServes the latest course HTML and the SCORM API bridge that talks to Moodle’s runtime.scorm-discovery(optional) Handles personalization, role‑based branching, or discovery of which variant of a course a learner should see.scorm-progressSends progress, scores, and completion states back through the SCORM API so Moodle’s runtime can store them locally.
From Moodle’s perspective, both Static and Dynamic SCORM packages behave like standard SCORM activities. The difference is where the content lives and how updates are applied.
Setting up Skill Studio AI with Moodle, step by step
The basic workflow is similar for Static and Dynamic SCORM; the main difference is which export option you choose in Skill Studio AI.
In Skill Studio AI: build and choose SCORM mode
Build and publish the course from SOPs or policy documents. Apply role‑based branching and multilingual options as needed. When ready to deploy to Moodle, choose whether you want a Static SCORM package (self‑contained) or a Dynamic SCORM package (live updates) and export the SCORM ZIP.
In Moodle: create the hosting course
As a manager or admin, create or open the Moodle course where the SCORM training will live. Click “Add an activity or resource” and choose “SCORM package.”
Upload the SCORM package
In the SCORM activity setup, upload the ZIP file you exported from Skill Studio AI. Moodle will unzip it and parse the manifest, then display the activity title and description. For Dynamic SCORM, the launcher file will be treated like any SCORM entry point.
Configure SCORM settings
Set completion behaviour (for example, “Completed when passed” or “Completed when viewed”), attempt limits, and grading options. For audits, teams often enable “Completed when passed” and track final scores in the gradebook.
Save and enrol learners
Once the SCORM activity is saved, enrol your groups or cohorts. Moodle will present the Skill Studio AI video course via its built‑in SCORM player, and all interactions will be logged locally.
This process is one‑time per course for Dynamic SCORM. After the Dynamic SCORM launcher is live, Moodle handles user progress; Skill Studio AI is re‑engaged only at runtime to serve the latest content and record progress via the SCORM bridge. For Static SCORM, the process is one‑time per course version; you repeat it whenever you export a new version.
Tracking learner progress in Moodle
Once the Skill Studio AI‑generated SCORM package is active in Moodle, progress tracking works like any other SCORM activity.
Data captured Moodle records launches, time spent, completion status, pass/fail outcomes, attempts, and scores (if present).
Reports and gradebook These values appear in the gradebook, SCORM activity reports, and any custom reports or SQL queries you run for audits.
Audit queries Compliance‑focused teams can pull granular evidence such as “all operators in Area 2 completed SOP‑2026‑03 by 14‑Jun‑2026 with a score ≥ 80%.”
With Dynamic SCORM, the SCORM runtime callbacks are still the mechanism for progress sync. The difference is that content and logic live in Skill Studio AI, while Moodle remains the system of record for completion and scoring.
Keeping content up to date from Skill Studio AI
How you keep content up to date depends on whether you use Static or Dynamic SCORM.
Updating Static SCORM packages
Because Static SCORM is not synchronised live to Moodle, updates are manual:
When an SOP or policy changes, you revise the course inside Skill Studio AI and export a new Static SCORM package.
In Moodle, you either replace the existing SCORM activity with the new ZIP or create a new SCORM activity for the updated version and adjust enrolments or due‑dates accordingly.
This manual step creates a clear version boundary. Old completions stay tied to the previous SCORM version, while new learners see the updated content. That model aligns with audit‑ready training requirements and makes it straightforward to demonstrate “trained on version 1.0” versus “trained on version 2.0.”
Updating Dynamic SCORM packages
Dynamic SCORM is designed to minimise LMS maintenance while still keeping Skill Studio AI as the single source of truth:
You keep the same Dynamic SCORM launcher package in Moodle.
When an SOP or procedure changes, you edit the course in Skill Studio AI and publish the updated version.
At the next launch, Moodle’s SCORM activity loads the same launcher, which calls the Skill Studio AI edge functions. Learners immediately see the latest course content, without any Moodle admin intervention.
This effectively delivers “seamless republishing via LMS integration” without using any Moodle web‑service APIs. The SCORM runtime itself is the integration surface.
Caveats and environment considerations
Live dependency Dynamic SCORM requires that Skill Studio AI’s endpoints be reachable from the learner’s environment at launch time. If the LMS or corporate network blocks outbound calls, Static SCORM may be safer.
Content‑security policies and firewalls Some locked‑down Moodle instances use CSP rules or firewalls that can block external JavaScript or API calls from within SCORM content. Testing Dynamic SCORM in a staging Moodle environment is recommended.
Rendering issues If you previously saw “code in the display window” when launching a Dynamic SCORM course, that was likely due to the launcher being served with a
text/plaincontent type. This has been addressed by setting the correct HTML content type on the edge function response. A re‑test in the target Moodle environment is advisable to confirm clean rendering.
Use cases for Moodle plus Skill Studio AI
Two scenarios fit this pattern particularly well:
Regulated SOP training in pharma or healthcare
Skill Studio AI converts detailed SOPs into avatar‑led micro‑courses with role‑based checks. Moodle hosts those courses as SCORM packages, enrols site‑specific groups, and produces audit‑grade completion reports. Dynamic SCORM allows QA or process owners to apply “surgical updates” (for example, changing one step in a procedure) and have those go live immediately in Moodle without re‑uploading the SCORM package.
Compliance modules for BFSI or multi‑site teams
You generate one master course in Skill Studio AI (for example, data‑protection or AML rules), then export separate SCORM packages per language or region. For environments that support it, Dynamic SCORM gives central SMEs the ability to update the master content once and propagate changes instantly across multiple Moodle instances, while local L&D teams retain control over enrolments and scheduling.
In both cases, Skill Studio AI handles the heavy lifting of content creation, versioning, and avatar‑based narration, while Moodle handles identity, access, and reporting. Static SCORM mirrors how Skill Studio AI works with other LMS that use SCORM. Dynamic SCORM builds on the same SCORM runtime but adds live content delivery and instant updates, giving you the benefits of “LMS integration” without any custom Moodle plugin or API work.
Frequently Asked Questions
Does Skill Studio AI talk directly to Moodle via API?
No. Skill Studio AI does not maintain an ongoing API connection to Moodle. There is no web‑services token, no direct mod_scorm integration, and no automated upload into Moodle. Instead, Skill Studio AI exports SCORM packages (Static or Dynamic) that you manually upload into Moodle. Once the SCORM is in place, Moodle manages learner progress and grading as it would with any SCORM activity.
How is Dynamic SCORM different from a normal SCORM package?
Dynamic SCORM is a very small SCORM package that acts as a launcher. The package itself stays static in Moodle, but when a learner launches it, it calls Skill Studio AI’s edge functions to fetch the latest course HTML, assets, and logic, and then uses the SCORM API bridge to talk back to Moodle. This gives you live content updates and personalization while keeping Moodle as the system of record for completion and scores.
Can Moodle send completion data back to Skill Studio AI?
Not automatically. Moodle stores completion and scores locally in its own database and reports. Skill Studio AI does not read those records back via a Moodle API. Dynamic SCORM uses the SCORM runtime callbacks to update progress during a session, but the final system of record for completions remains Moodle. If you need external analysis, you export Moodle reports (for example, CSV or plugins) and analyse them separately.
What happens if I update a course in Skill Studio AI?
It depends on the SCORM type:
Static SCORM When a course is updated in Skill Studio AI, you must export a new SCORM package and upload it into Moodle. Old completions remain tied to the previous version; new learners will see the updated material. This preserves version control and audit boundaries.
Dynamic SCORM When you update the course in Skill Studio AI, the Dynamic SCORM launcher in Moodle automatically serves the latest version at the next launch. No re‑upload or Moodle admin action is required, which is effectively “seamless republishing” from Skill Studio AI into Moodle.
Can learners retake Skill Studio AI‑generated courses in Moodle?
Yes. Moodle’s SCORM settings let you allow multiple attempts. If the Skill Studio AI‑generated package includes scored assessments, Moodle will track each attempt and can store the best or last score in the gradebook, depending on how you configure it. This applies equally to Static and Dynamic SCORM.
Is this approach suitable for large, multi‑site deployments?
Yes. You can generate one master course in Skill Studio AI, then export multiple SCORM packages (for example, by language, region, or client) and upload them into separate Moodle instances. Each instance manages its own learners, but central QA or L&D still controls the content and versioning in Skill Studio AI. Where network policies allow it, Dynamic SCORM adds the ability to roll out changes centrally and have them reflected instantly across all Moodle instances without repeated uploads.
What if our Moodle environment is very locked down?
If your Moodle or network environment blocks outbound calls or external JavaScript from SCORM packages, Static SCORM is the safer choice because it is fully self‑contained. You can still use Skill Studio AI for content creation and versioning; you will just follow the classic “export new ZIP and upload” pattern whenever content changes. If you want the benefits of Dynamic SCORM, you will need to confirm that the environment permits external calls to Skill Studio AI’s endpoints from within SCORM activities.
We previously saw raw code in the SCORM window. Is that fixed?
A prior issue where Dynamic SCORM content rendered as raw code in the Moodle window was caused by the launcher being served with a text/plain content type. This has been fixed by updating the content‑type header to serve proper HTML. If you ran into this bug before, you should re‑test with the current Dynamic SCORM launcher in your Moodle environment to confirm it now renders correctly.
