moodle-cli

Helps users run the right `moodle` CLI commands for interacting with Moodle LMS. Triggers when users ask about Moodle CLI usage, commands, workflows, or troubleshooting.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "moodle-cli" with this command: npx skills add nathanfredericks/moodle-cli/nathanfredericks-moodle-cli-moodle-cli

Moodle CLI Skill

You are helping a user run moodle — a CLI tool for interacting with the Moodle Learning Management System API.

Command Tree

moodle
├── auth                    # Manage authentication
│   ├── login               # Log in to a Moodle instance
│   ├── logout              # Log out of the Moodle instance
│   ├── status              # Show authentication status
│   └── token               # Print the authentication token
├── course                  # Manage courses
│   ├── list                # List enrolled courses
│   ├── get <id>            # Get course details
│   ├── search <query>      # Search courses
│   ├── content <id>        # Get course contents (sections, modules)
│   ├── module <id>         # Get course module details
│   ├── grades <id>         # View your course grades
│   └── download <id>       # Download module files
├── assignment              # Manage assignments
│   ├── list                # List assignments (--course to filter)
│   ├── get <id>            # Get assignment details
│   ├── status <id>         # Check submission status
│   ├── upload <id> <file>  # Upload files to an assignment
│   ├── submit <id>         # Submit assignment for grading
│   ├── text <id>           # View or update online text submission
│   └── download <id>       # Download submission files (-R for resources)
├── forum                   # Manage forums
│   ├── list                # List forums in a course (--course)
│   ├── discussions <id>    # List discussions in a forum
│   ├── read <id>           # Read a discussion thread
│   ├── post <id>           # Create a new discussion
│   ├── reply <id>          # Reply to a post
│   ├── edit <id>           # Edit a post
│   └── delete <id>         # Delete a post
├── user                    # Manage users
│   ├── whoami              # Show current user info
│   ├── list                # List users enrolled in a course (--course)
│   └── get <id>            # Get user by ID
├── config                  # Manage configuration
│   ├── list                # List all configuration settings
│   ├── get <key>           # Get a configuration value
│   └── set <key> <value>   # Set a configuration value
└── version                 # Print the version

Global Flags

Every command supports these flags:

FlagDescription
-f, --format <fmt>Output format: table, json, csv, yaml, plain
--no-colorDisable color output
-v, --verboseEnable verbose output
-h, --helpHelp for the command

Guidelines

Default to JSON output

When suggesting commands, prefer -f json for machine-readable output. Show users how to pipe to jq for filtering:

# List courses as JSON
moodle course list -f json

# Get a specific field
moodle course list -f json | jq '.[].fullname'

# Filter assignments by course
moodle assignment list --course 42 -f json | jq '.[] | {id, name, duedate}'

For quick human-readable output, the default table format works well — no flag needed.

Common Workflows

First-time setup:

moodle auth login --url https://moodle.example.com
moodle auth status          # verify login
moodle course list          # see enrolled courses

Assignment workflow:

moodle assignment list --course 42          # find assignment ID
moodle assignment get 101                   # check details and due date
moodle assignment upload 101 report.pdf     # upload file
moodle assignment submit 101 --accept-statement  # submit for grading
moodle assignment status 101                # verify submission

Forum workflow:

moodle forum list --course 42               # find forum ID
moodle forum discussions 5                  # list discussions
moodle forum read 100                       # read a thread
moodle forum reply 200 --message "Thanks!"  # reply to a post
moodle forum post 5 --subject "Question" --message "Hello"  # new discussion

Download assignment resources:

moodle assignment get 101                   # see attached resources
moodle assignment download 101 --resources  # download instructor-attached files
moodle assignment download 101 -R -o ./resources  # download to a directory

Download course files:

moodle course content 42                    # browse course sections
moodle course download 500                  # download a module's files

Filtering

  • Use --course <id> to filter assignments, forums, and users by course
  • Use positional <id> arguments for specific resources (courses, assignments, forums, users, modules)
  • Chain with jq for advanced filtering on JSON output

Configuration

Users can set defaults to avoid repeating flags:

moodle config set format json    # always output JSON
moodle config list               # see current settings

Reference Documentation

For detailed information about a specific command (flags, options, examples), read the corresponding file in the references/ directory:

  • Root command: references/moodle.md
  • Auth group: references/moodle_auth.md, references/moodle_auth_login.md, etc.
  • Course group: references/moodle_course.md, references/moodle_course_list.md, etc.
  • Assignment group: references/moodle_assignment.md, references/moodle_assignment_list.md, etc.
  • Forum group: references/moodle_forum.md, references/moodle_forum_list.md, etc.
  • User group: references/moodle_user.md, references/moodle_user_whoami.md, etc.
  • Config group: references/moodle_config.md, references/moodle_config_set.md, etc.
  • Version: references/moodle_version.md

The filename pattern is references/moodle_<group>_<command>.md. When the user asks about a specific command, read the reference file first to provide accurate flag names and usage details.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-tools

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

Archived SourceRecently Updated
Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated
Coding

ai-dating

This skill enables dating and matchmaking workflows. Use it when a user asks to make friends, find a partner, run matchmaking, or provide dating preferences/profile updates. The skill should execute `dating-cli` commands to complete profile setup, task creation/update, match checking, contact reveal, and review.

Archived SourceRecently Updated