关于 moodle-cli
moodle-cli 是一项技能,用于指导通过 `moodle` 命令行与 Moodle 学习管理系统 API 交互。内容涵盖身份验证、课程、作业和论坛,并提供命令参考及使用 `jq` 处理 JSON 输出的示例。
主要功能
- 01Moodle API 命令指导
- 02身份验证与课程操作
- 03作业上传与提交
- 04论坛阅读与发帖
- 05JSON 输出及 `jq` 筛选
- 06查询命令参考文档
适用场景
- 01登录并查看已选课程
- 02上传并提交作业
- 03下载课程和作业文件
- 04阅读或发布课程论坛内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nathanfredericks/ moodle-cli --skill moodle-cli安装后在 Claude Code 中输入/moodle-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/moodle_assignment_download.mdmoodle_assignment_due.mdmoodle_assignment_get.mdmoodle_assignment_list.mdmoodle_assignment_status.mdmoodle_assignment_submit.mdmoodle_assignment_text.mdmoodle_assignment_upload.mdmoodle_assignment.mdmoodle_auth_login.mdmoodle_auth_logout.mdmoodle_auth_status.mdmoodle_auth_token.mdmoodle_auth.mdmoodle_config_get.mdmoodle_config_list.mdmoodle_config_set.mdmoodle_config.mdmoodle_course_content.mdmoodle_course_download.mdmoodle_course_get.mdmoodle_course_grades.mdmoodle_course_list.mdmoodle_course_module.mdmoodle_course_search.mdmoodle_course.mdmoodle_forum_delete.mdmoodle_forum_discussions.mdmoodle_forum_edit.mdmoodle_forum_list.md详细介绍
Moodle CLI 技能
你正在帮助用户运行 moodle——一个用于与 Moodle 学习管理系统 API 交互的 CLI 工具。
命令树
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
全局标志
每个命令都支持以下标志:
| 标志 | 描述 |
|---|---|
-f, --format <fmt> | 输出格式:table、json、csv、yaml、plain |
--no-color | 禁用彩色输出 |
-v, --verbose | 启用详细输出 |
-h, --help | 查看命令帮助 |
使用指南
默认使用 JSON 输出
建议命令时,优先使用 -f json 获取机器可读的输出。向用户展示如何通过管道将输出传递给 jq 进行筛选:
# 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}'
需要快速查看便于人类阅读的输出时,默认的 table 格式就很适用——无需添加标志。
常见工作流
首次设置:
moodle auth login --url https://moodle.example.com
moodle auth status # verify login
moodle course list # see enrolled courses
作业工作流:
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
论坛工作流:
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
下载作业资源:
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
下载课程文件:
moodle course content 42 # browse course sections
moodle course download 500 # download a module's files
筛选
- 使用
--course <id>按课程筛选作业、论坛和用户 - 使用位置参数
<id>指定资源(课程、作业、论坛、用户、模块) - 对 JSON 输出使用
jq进行链式高级筛选
配置
用户可以设置默认值,避免重复输入标志:
moodle config set format json # always output JSON
moodle config list # see current settings
参考文档
如需了解特定命令的详细信息(标志、选项、示例),请阅读 references/ 目录中对应的文件:
- 根命令:
references/moodle.md - 认证组:
references/moodle_auth.md、references/moodle_auth_login.md等 - 课程组:
references/moodle_course.md、references/moodle_course_list.md等 - 作业组:
references/moodle_assignment.md、references/moodle_assignment_list.md等 - 论坛组:
references/moodle_forum.md、references/moodle_forum_list.md等 - 用户组:
references/moodle_user.md、references/moodle_user_whoami.md等 - 配置组:
references/moodle_config.md、references/moodle_config_set.md等 - 版本:
references/moodle_version.md
文件名格式为 references/moodle_<group>_<command>.md。用户询问特定命令时,请先阅读参考文件,以便准确提供标志名称和用法详情。
评论
支持 Markdown