claude-moodle-dev
Moodle development toolkit for AI coding assistants. Skills for XMLDB, Hooks API, PHPUnit, Behat, AMD, privacy/GDPR, security, accessibility. Native Claude Code plugin + adapters.
Install / Use
npx skills add SaadRahman01/claude-moodle-devInstalls into whichever agent you are using.
Other
Other agent config
Quality Score
Category
SecuritySupported Platforms
Our assessment of claude-moodle-dev
claude-moodle-dev scores 82/100 on our quality scale, 931st of 1,098 Security skills we index.
Its Other is 13 KB long, well organised into 27 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
It has 42 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- Our last check on 2026-10-21 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with no cautions. These come from repository metadata, not a code audit ā read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk ā read a skill before letting an agent act on it.
claude-moodle-dev compared with similar skills
All 4 of these similar skills score higher than claude-moodle-dev; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| claude-moodle-dev (this skill)by SaadRahman01 | 82 | 42 | 5mo ago | Other |
| Agent-Reachby Panniantong | 100 | 109.8k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.1k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 99.1k | 1d ago | MCP Server |
| crawl4aiby unclecode | 100 | 87.0k | 3d ago | MCP Server |
Frequently asked questions
- How do I install claude-moodle-dev?
- Run
npx skills add SaadRahman01/claude-moodle-dev. The install tabs above show the steps for each supported agent. - Which AI agents does claude-moodle-dev work with?
- It is written for Claude Code, as a Other file. Other agents that read the same format can often use it too.
- Is claude-moodle-dev safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is claude-moodle-dev still maintained?
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubmoodle-dev
The most complete Moodle development toolkit for AI coding assistants ā skills, slash commands, and subagents that turn your assistant into a Moodle expert. Native plugin for Claude Code; ships with adapters for Cursor, GitHub Copilot, Aider, Continue, and a paste-anywhere bundle.
Scaffolds plugins, writes XMLDB upgrades, audits privacy/security, generates PHPUnit + Behat tests, builds AMD modules, reviews PRs ā all following official Moodle coding standards (PSR-4, frankenstyle, MOODLE_INTERNAL, GPL headers, get_string, $DB).
š Companion MCP server:
moodle-mcpā livemoodledev.iodocumentation search inside Claude Desktop / Code, Cursor, Continue, Cline.pipx install moodle-mcp.
Why this plugin
Claude already knows PHP. It does not know:
- Moodle's frankenstyle conventions (
local_<name>,mod_<name>,block_<name>, ...) - XMLDB editor workflow +
upgrade_plugin_savepointrules - Privacy API contracts (
null_providervsrequest\plugin\provider) - Capability + sesskey +
require_loginsecurity pattern - Moodle 4.4+ Hooks API vs legacy
lib.phpcallbacks pluginfile.phpfile-serving callback- Behat + PHPUnit Moodle harness (
resetAfterTest, generators, tags) - AMD/RequireJS + grunt build
- Mobile app remote templates +
get_remote_addons
This plugin teaches Claude all of it. Auto-activates when Claude detects Moodle work.
Install
Claude Code (native plugin)
/plugin marketplace add https://github.com/SaadRahman01/claude-moodle-dev
/plugin install moodle-dev@moodle-dev
(If git@github.com SSH auth fails, use the full https:// URL as shown above.)
Local dev: /plugin marketplace add /absolute/path/to/claude-moodle-dev.
Verify: /plugin list.
One-liner installer (any non-Claude assistant)
./install.sh <cursor|copilot|aider|continue|generic> [--dest <path>]
Defaults to current directory. Or copy manually as below.
Cursor
Copy adapters/cursor/.cursor/ into your project (or ~/.cursor/ for global use). Each skill becomes an on-demand rule; agents and commands surface via @<name> mentions in chat.
GitHub Copilot
Copy adapters/copilot/.github/ into your repo. copilot-instructions.md is applied to every chat in the repo; per-skill chatmodes appear in the chat-mode picker.
Aider
Drop adapters/aider/CONVENTIONS.md into your project root and add it to .aider.conf.yml:
read:
- CONVENTIONS.md
Load individual skills on demand with /read-only adapters/aider/skills/<name>.md.
Continue.dev
Copy adapters/continue/ into ~/.continue/ (merge with existing config.yaml). Skills load as rules; commands appear as slash prompts.
Any other assistant
Paste relevant sections from adapters/generic/PROMPTS.md ā it's one self-contained markdown file with every skill, agent, and command. Works with anything that takes a system prompt.
Companion MCP server: live Moodle docs
moodle-mcp is a separate Model Context Protocol server that gives any MCP-capable client (Claude Desktop / Code, Cursor, Continue, Cline, Windsurf) live access to the canonical Moodle developer documentation. The skills here teach conventions; the MCP server provides authoritative lookups.
What it adds
| Tool | What it returns |
|------|-----------------|
| search_moodle_docs(query, limit, offset) | Top hits on moodledev.io with title, URL, headings, excerpt. Synonym expansion (capācapability, wsāwebservice, hookālistener), quoted-phrase boost, BM25 scoring, pagination. |
| fetch_moodle_page(url) | Full body + headings for one page ā follow-up after a search. |
| get_hooks_api_listeners() | Core Hooks API index + detected hook classes. |
| get_capability_docs(component?) | Access API + RISK_* quick-reference; optional component scope. |
| lookup_db_xmldb(query) | XMLDB / schema / upgrade.php patterns. |
| list_plugin_types() | Every Moodle plugin type with one-line hint + docs URL. |
| get_version_info() | Current Moodle versions parsed from /general/releases. |
| search_tracker(query, limit) | Issue search against tracker.moodle.org (Jira). |
Plus MCP resources (moodle://docs/apis/...) and prompts (moodle-plugin-skeleton, moodle-capability-review, moodle-hooks-migration).
No API keys. Sitemap + disk cache + conditional GET. Pairs cleanly with this plugin.
Install (Claude Code)
Auto-wired when installing this plugin via marketplace. Requires uv on PATH:
brew install uv # or: pip install uv
The plugin's mcpServers entry runs uvx --from git+https://github.com/SaadRahman01/moodle-mcp moodle-mcp on demand ā no manual pipx install needed.
Manual install (any client):
pipx install moodle-mcp
claude mcp add moodle moodle-mcp
Other clients: see moodle-mcp README.
What's inside
Skills (auto-activate)
| Skill | Triggers on |
|-------|-------------|
| moodle-plugin-development | Creating/modifying any plugin (all types) |
| moodle-phpunit-testing | Writing/running PHPUnit tests |
| moodle-behat-testing | Writing/running Behat acceptance tests |
| moodle-amd-javascript | AMD modules, ES6, grunt build |
| moodle-web-services | REST/AJAX/external functions, tokens |
| moodle-security-audit | Security review, capability/sesskey audit |
| moodle-privacy-gdpr | Privacy provider, GDPR compliance |
| moodle-performance | MUC caching, query tuning, ad-hoc tasks |
| moodle-accessibility | WCAG 2.1 AA, ARIA, screen reader checks |
| moodle-theme-development | Boost child themes, SCSS, layouts |
| moodle-upgrade-migration | Cross-version upgrades, deprecations |
| moodle-mobile-app | Mobile app remote templates, addons |
| moodle-hooks-api | 4.4+ Hooks API: authoring, listening, migrating magic callbacks |
Slash commands
| Command | What it does |
|---------|--------------|
| /moodle-new-plugin | Scaffold a new plugin (asks type + name) |
| /moodle-bump-version | Bump version.php + add upgrade step |
| /moodle-privacy-audit | Check privacy provider correctness |
| /moodle-security-review | Run security checklist on a file/plugin |
| /moodle-string-check | Find hard-coded English needing get_string |
| /moodle-codestyle | Run phpcs with Moodle ruleset |
| /moodle-mustache-lint | Lint Mustache templates: a11y, security, hard-coded strings |
| /moodle-capability-audit | Cross-check db/access.php against runtime has_capability use |
Subagents
| Agent | Use case |
|-------|----------|
| moodle-reviewer | Deep PR review against Moodle coding standards |
| moodle-scaffolder | Generates a plugin skeleton from a brief |
Example: from prompt to plugin
You:
Build a
local_attendance_exportplugin that lets teachers export per-course attendance as CSV. Needs a capability, a settings page, and a CLI script.
Claude (with this plugin loaded) generates:
local/attendance_export/
āāā version.php # 2026050200, requires 2024042200
āāā settings.php # admin_setting_configtext for default delimiter
āāā lib.php # local_attendance_export_extend_navigation()
āāā cli/export.php # require($CFG->libdir . '/clilib.php'); cli params
āāā classes/
ā āāā exporter.php # business logic, uses $DB
ā āāā output/renderer.php
ā āāā privacy/provider.php # null_provider (no user data stored)
āāā db/
ā āāā access.php # local/attendance_export:export
ā āāā install.xml # (empty ā no tables)
āāā lang/en/local_attendance_export.php # pluginname, capability, settings strings
āāā tests/exporter_test.php # PHPUnit, resetAfterTest, generator
Every file follows Moodle conventions. require_capability + require_sesskey wired. PHPUnit test uses $this->getDataGenerator(). Privacy provider declared. version.php bumped correctly.
Example prompts
See EXAMPLES.md for 30+ prompts covering scaffolding, upgrades, testing, security audits, performance tuning, theme work, and mobile app integration.
Comparison
| | Vanilla Claude | + moodle-dev |
|--|----------------|--------------|
| Knows frankenstyle naming | partial | yes |
| Bumps version.php correctly | no | yes |
| Adds upgrade_plugin_savepoint | no | yes |
| Writes privacy provider | rarely | always |
| Adds require_sesskey on POST | no | yes |
| Uses $DB not raw SQL | partial | yes |
| Uses get_string() not English literals | no | yes |
| Generates passing PHPUnit + Behat | no | yes |
| Knows Moodle 4.4 Hooks API | no | yes |
| Generates pluginfile.php callback | no | yes |
| Mobile app remote templates | no | yes |
Repository layout
.claude-plugin/ # Claude Code plugin manifest
skills/ # canonical skills (Claude reads these directly)
agents/ # canonical subagents
commands/ # canonical slash commands
adapters/ # generated per-assistant ā DO NOT hand-edit
cursor/.cursor/rules/*.mdc
copilot/.github/copilot-instructions.md + chatmodes/*.chatmode.md
aider/CONVENTIONS.md + skills/ + commands/
continue/config.yaml + rules/ + prompts/
generic/PROMPTS.md # paste-anywhere single-file bundle
scripts/build-adapters.py # regenerates adapters/ from canonical files
install.sh # one-liner adapter installer for non-Claude assistants
tests/run.sh # structural test harness (run before commit)
docs/ADAPTER_AUTHORING.md # how to add a new assistant
.githooks/pre-commit # phpcs + PHPUnit + version.php monotonicity (install: git config core.hooksPath .githooks)
.github/workflows/lint.yml # CI: JSON, frontmatter, adapter sync, links, spellcheck, actionlint
.github/workflows/release.yml # tag-driven release: bundle + changelog extraction + GH release
.github/CODEOWNERS # auto-review routing
.github/dependabot.yml # weekly GitHub Actions updates
SECURITY.md # vulnerability disclosure policy
Editing workflow
- Edit canonical files under
skills/,agents/, orcommands/. - Run
python3 scripts/build-adapters.pyto regenerate adapters. - Commit both. CI fails if
adapters/drifts from canonical source.
Compatibility
| Moodle | Status |
|--------|--------|
| 5.2 | supported (PHP 8.3 min, /public doc-root, React core, Oracle dropped ā releases 2026-04-20) |
| 5.1 | support
Truncated for display ā read the full file on GitHub.
Related Skills
Agent-Reach
109.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu ā one CLI, zero API fees.
headroom
79.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
99.1kš·ļø The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
87.0kOfficial Crawl4AI Cloud: a hosted web scraping, extraction, and search API for AI agents. Free API key, 1,000 credits a month, no card. Fully open source: this repo is the Apache-2.0 crawler that powers it, and you can self-host it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit ā see the Safety scan above for what the skill file itself contains.
