Skip to content

About

Talk to your AI agent, not wemust. Sync M.U.S.T. courseware, query timetable & assignments fast and easy. ๐ŸŽ“

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

muster_skill

M.U.S.T. students finally have their own Skill.

"Did the lecturer upload new slides again?" "Which assignment is due tomorrow, again?" "Do I even have class tonight?"

Skip the wemust login โ€” just ask your AI.

muster_skill lets your AI agent look up your M.U.S.T. timetable, exams, assignments, course materials and announcements, and download the files for you.

Languages: English ยท ไธญๆ–‡


Install

Paste this to your agent:

Please install muster_skill for me: https://github.com/Cosmostima/muster_skill

1. Clone the repo into your skills directory.
2. Help me set the MUSTER_USERNAME and MUSTER_PASSWORD environment variables.
3. Run `node scripts/muster_cli.js list --type lesson --week` to check.

Things you can ask your agent

๐Ÿ—ฃ๏ธ "What's on this week?" Lessons for the next seven days, everything still to hand in, and what the lecturers posted in the last seven.

๐Ÿ—ฃ๏ธ "What does Homework 2 actually ask for?" The description, the deadline, the submission limits and the attached files.

๐Ÿ—ฃ๏ธ "Send me those files." Downloaded to your disk, any format, with the paths handed back.

๐Ÿ—ฃ๏ธ "Do I have class tonight? Which room?"

๐Ÿ—ฃ๏ธ "When are my finals, and where do I sit?"

๐Ÿ—ฃ๏ธ "Did I miss anything in Database Systems last term?"

How it works

Three commands, JSON output, no dependencies beyond Node.js.

Step Command What you get
List list lessons, exams, tasks, materials, notices, courses, terms
Look inside show <id> an assignment's or quiz's details, a folder's files, a notice's text
Fetch download <id>... the files, saved locally

list hides what needs no attention: tasks you handed in or ticked complete on Moodle are left out unless you add --all. Tasks still open are always shown, however far away the deadline.

node scripts/muster_cli.js list                          # the default overview
node scripts/muster_cli.js list --type lesson --day      # today's lessons
node scripts/muster_cli.js list --type task --course CS101
node scripts/muster_cli.js list --type term                # which terms you attended
node scripts/muster_cli.js list --term 2602 --type material --q slides
node scripts/muster_cli.js show a932                     # what an assignment involves
node scripts/muster_cli.js download a932 f911            # its attachments, and one file

The options, range rules and task states are in SKILL.md, the page the agent reads.

Manual install

Requires Node.js 20 or later. There is nothing to build or install.

git clone https://github.com/Cosmostima/muster_skill

Put the folder in your agent's skills directory (~/.claude/skills/muster for Claude Code, <workspace>/skills/muster for OpenClaw), set your credentials, and try it:

export MUSTER_USERNAME='your-id'
export MUSTER_PASSWORD='your-password'
node scripts/muster_cli.js list --type lesson --week

Configuration

Variable Required Default Purpose
MUSTER_USERNAME yes โ€” M.U.S.T. account
MUSTER_PASSWORD yes โ€” M.U.S.T. password
MUSTER_DOWNLOAD_PATH no your home directory where the wemust folder with downloads and the session file goes

The skill never stores your password: after one login it keeps only your username, session cookies and a Moodle access token in wemust/.session.json, readable by you alone. That token appears in Moodle under Preferences โ†’ Security keys, where you can revoke it at any time.

The session belongs to one account: after you change MUSTER_USERNAME it is discarded and the skill logs in again. Downloads are not separated by account, so give each account its own MUSTER_DOWNLOAD_PATH.

A command submits the password at most once. About five rejections in a row lock the account for a while; a rejected login says so, and when to try again is up to you and your agent.

Notes

This is an unofficial tool. It only reads: it never submits work, starts a quiz attempt or posts anything.

Development

npm test

The tests use made-up data and local stand-in servers; they never contact the university.

Add --debug to any command to print each request's method, path, status and duration to stderr.

License

MIT

About

Talk to your AI agent, not wemust. Sync M.U.S.T. courseware, query timetable & assignments fast and easy. ๐ŸŽ“

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages