Agent skill · Backend & API

moodle-external-api-development

This skill guides you through creating custom external web service APIs for Moodle LMS, following Moodle's external API framework and coding standards.

Nick44,086★ · +407/wk · 1 repos on radarProfile →
claude-codecodexcursorMIT
Install
npx skills add sickn33/agentic-awesome-skills --skill moodle-external-api-development --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 18 KB
Bundled scripts: none
Path: skills/moodle-external-api-development/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 44,414 · +328 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Moodle External API Development This skill guides you through creating custom external web service APIs for Moodle LMS, following Moodle's external API framework and coding standards. ## When to Use This Skill - Creating custom web services for Moodle plugins - Implementing REST/AJAX endpoints for course management - Building APIs for quiz operations, user tracking, or reporting - Exposing Moodle functionality to external applications - Developing mobile app backends using Moodle ## Core Architecture Pattern Moodle external APIs follow a strict three-method pattern: 1. **`execute_parameters()`** - Defines input parameter structure 2. **`execute()`** - Contains business logic 3. **`execute_returns()`** - Defines return structure ## Step-by-Step Implementation ### Step 1: Create the External API Class File **Location**: `/local/yourplugin/classes/external/your_api_name.php` ```php <?php namespace local_yourplugin\external; defined('MOODLE_INTERNAL') || die(); require_once("$CFG->libdir/externallib.php"); use external_api; use external_function_parameters; use external_single_structure; use external_value; class your_api_name extends external_api { // Three required methods will go

What's inside
Steps it walks through
  1. When to Use This Skill
  2. Core Architecture Pattern
  3. Step-by-Step Implementation
  4. Step 1: Create the External API Class File
  5. Step 2: Define Input Parameters
  6. Step 3: Implement Business Logic
  7. Step 4: Define Return Structure
  8. Step 5: Register the Service
  9. Step 6: Implement Error Handling & Logging
  10. Advanced Patterns
  11. Complex Database Operations
  12. Working with Course Modules
  13. Access Restrictions (Groups/Availability)
  14. Random Question Selection with Tags
Commands it runs
Get token first
curl -X POST "https://yourmoodle.com/login/token.php" \
Call your API
curl -X POST "https://yourmoodle.com/webservice/rest/server.php" \
More from agentic-awesome-skills
All skills →
About this skill
What does the moodle-external-api-development skill do?

This skill guides you through creating custom external web service APIs for Moodle LMS, following Moodle's external API framework and coding standards.

How do I install it?

Run `npx skills add sickn33/agentic-awesome-skills --skill moodle-external-api-development --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From sickn33/agentic-awesome-skills, a repository with 44,414 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going