Skip to content
Conduit

skill

vsuee-skill

Visayas State University E-Learning Environment (VSUEE) Automation Engine & AI Agent Skill

M1Vj/vsuee-skillcommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/M1Vj/vsuee-skill itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 26, 2026

VSUEE Skill — Visayas State University E-Learning Toolkit & Agent Skill

CI Node Version License: MIT AI Agent Skill

High-performance CLI toolkit and AI agent skill for the Visayas State University E-Learning Environment (VSUEE) running Moodle at elearning.vsu.edu.ph.

Engineered for students, researchers, and autonomous coding agents (Gemini CLI, Codex, Claude Code, Cursor) across macOS, Linux, and Windows who need instant access to course syllabi, assignments, lecture slides, submission rubrics, calendar deadlines, and last-minute instructor updates without fighting slow web interfaces.


Highlights

  • ⚡ Direct HTTP/AJAX Engine: Sub-second queries for courses, assignments, quizzes, and forum threads without heavy browser rendering overhead.
  • 🔄 Intelligent Snapshot Diffing: Detects newly uploaded lecture notes, unhidden exam topics, and moved deadlines with surgical change reporting (vsuee sync, vsuee diff).
  • 📅 RFC 5545 iCalendar Export: Exports all course deadlines and quiz windows into standard .ics files with 24-hour VALARM notifications for Apple Calendar, Google Calendar, and Microsoft Outlook.
  • 🚀 Parallel Batch Downloads: High-speed concurrent downloads with bounded worker pools, progress indicators, MIME type detection, and incremental deduplication.
  • 🔐 Machine-Bound AES-256-GCM Session Storage: Encrypts credentials and sessions with a machine-derived key stored at ~/.config/vsuee/session.json (chmod 0600). Automatically handles background re-authentication on 6-hour sliding window timeouts.
  • 📸 Targeted Visual Proof: Playwright fallback to capture crisp element screenshots (--selector) or full-page captures for quiz timers, submission tables, and grades.
  • 🤖 Agent-Ready Native Skill: Includes a standardized SKILL.md specification enabling AI agents to read lecture pages, inspect rubrics, verify submission statuses, and monitor updates autonomously.
  • 🌐 Cross-Platform: Fully supported across macOS, Linux, and Windows with zero platform lock-in.

Table of Contents


Installation

Prerequisites

  • Node.js >= 18.0.0
  • (Optional) playwright for browser mode / screenshot capture

Universal Installation (macOS, Linux, Windows)

Option 1: Global Link (Recommended for all platforms)

Clone the repository to any directory of your choice and link it globally:

git clone https://github.com/M1Vj/vsuee-skill.git
cd vsuee-skill
npm link

The vsuee executable will now be available globally in your PATH across any terminal or shell.

Option 2: Direct Symlink (macOS & Linux)

# Clone to your preferred directory (e.g. ~/.local/share/vsuee or ~/vsuee-skill)
git clone https://github.com/M1Vj/vsuee-skill.git ~/vsuee-skill
cd ~/vsuee-skill

# Link executable to your local bin directory:
mkdir -p ~/.local/bin
ln -sf "$(pwd)/bin/vsuee.mjs" ~/.local/bin/vsuee

# Ensure ~/.local/bin is in your PATH (e.g. in ~/.bashrc or ~/.zshrc)

Option 3: Global npm Package Install

npm install -g .

To enable browser-based screenshots and interactive login fallback:

npm install playwright

Quick Start

1. Authenticate

# Standard interactive login (saves encrypted credentials for seamless auto-relogin)
vsuee login

# Or open interactive browser to log in visually:
vsuee login-browser

# Verify connection health
vsuee status

2. View Courses & Deadlines

# List enrolled courses with progress
vsuee courses

# View upcoming deadlines and timeline events
vsuee timeline

# Export upcoming deadlines to Apple/Google Calendar (.ics)
vsuee calendar --export

3. Check for New Updates

# Sync courses and check if instructors uploaded slides or changed deadlines
vsuee sync

# Or compare remote portal live against local baseline
vsuee diff --live

AI Agent Skill Setup

vsuee includes a portable agent skill specification following the open agent skill standard.

For Gemini CLI / Antigravity

mkdir -p ~/.gemini/config/plugins/vsuee/skills/vsuee
cp skills/vsuee/SKILL.md ~/.gemini/config/plugins/vsuee/skills/vsuee/SKILL.md

For Codex CLI

mkdir -p ~/.codex/skills/vsuee
cp skills/vsuee/SKILL.md ~/.codex/skills/vsuee/SKILL.md

For Claude Code

mkdir -p ~/.claude/skills/vsuee
cp skills/vsuee/SKILL.md ~/.claude/skills/vsuee/SKILL.md

Once installed, agents will automatically discover vsuee commands when asked questions like:

  • "Check my upcoming deadlines on VSU eLearning."
  • "Did my professor upload any new slides today?"
  • "Download all lecture PDFs for CSci 144."
  • "Show me the rubric and submission status for Assignment 3."
  • "Export my VSU exam and quiz schedule to Apple Calendar."

Command Reference

1. Authentication & Session Management

CommandDescription
vsuee statusInspect connection health, student profile, sesskey, and auto-relogin status
vsuee loginLog in with student credentials (stores encrypted secret for auto-relogin)
vsuee login --no-save-credentialsLog in without persisting credentials
vsuee login-browserOpen interactive Chromium window to log in and capture session cookie
vsuee session getOutput active session state as formatted JSON
vsuee session set <cookie>Manually apply an existing MoodleSession cookie
vsuee session auto <on|off>Toggle automatic background re-authentication on session timeout
vsuee credentials set [user] [pass]Store encrypted credentials for background auto-relogin
vsuee credentials statusInspect saved credential state
vsuee credentials clearRemove stored credentials
vsuee touch, vsuee keepaliveRefresh the 6-hour sliding session window
vsuee session clearLog out and wipe cached session cookies and credentials

2. Courses & Syllabus Inspection

CommandDescription
vsuee coursesList active enrolled courses and completion percentages
vsuee courses --allList all enrolled courses including past, future, and hidden shells
vsuee courses --filter <type>Filter courses: inprogress, past, future, hidden, all
vsuee courses --search <query>Search courses by title or course code (e.g. CSci 144)
vsuee course <course_id>View course outline, section topics, activities, quizzes, and files
vsuee course <course_id> --allInclude empty sections and hidden items
vsuee read <page_id>Read full text content of a Moodle Page lecture module
vsuee url <url_id>Inspect external links, embedded YouTube videos, or drive targets
vsuee quiz <quiz_id>Inspect quiz open/close dates, time limits, attempts, and directions
vsuee forum <forum_id>View announcements and discussion threads from a course forum
vsuee export [course_id]Export course outline or catalog with assignment tables to Markdown

3. Deadlines, Assignments & Grades

CommandDescription
vsuee timelineView upcoming calendar events, quizzes, and deadlines in chronological order
vsuee calendarView comprehensive upcoming schedule across courses
vsuee calendar --export [file.ics]Export schedule to standard RFC 5545 .ics file (defaults to ~/Downloads/vsuee_calendar.ics)
vsuee assignmentsList assignments across all courses
vsuee assignments --pendingShow only pending/unsubmitted assignments
vsuee assignments --course <id>Filter assignments to a specific course
vsuee assign <assign_id>View assignment prompt, deadline, rubrics, and submission status
vsuee assign <id> --download-rubricDownload instructor prompt files and save parsed rubric_criteria.md
vsuee assign <id> --download-submissionDownload student's previously submitted files
vsuee submission <assign_id>Detailed submission status, online text, grades, teacher feedback, and rubrics
vsuee submissions [course_id]Summary matrix of submission statuses across assignments
vsuee submit <id> --file <path>Submit assignment file in draft mode with interactive preview
vsuee submit <id> --text <str>Submit online text response in draft mode
vsuee submit <id> --file <p> --finalFinalize submission for grading (agrees to honor statement if required)
vsuee submit <id> --file <p> --yesBypass confirmation prompt (recommended for automation scripts)
vsuee gradesView gradebook overview across courses
vsuee grades --course <id>View detailed grade report for a specific course

4. File & Media Downloads

CommandDescription
vsuee download <course_id>Batch download all course slides, PDFs, and files
vsuee download <course_id> -c <n>Parallel batch download with bounded concurrency (default: 4, limits: 1–16)
vsuee download <course_id> --type <ext>Filter by extension: pdf, pptx, docx, xlsx, zip, video, audio
vsuee download <course_id> --section <n>Download files exclusively from a specific course section
vsuee download <course_id> --include-assignDownload lecture materials AND assignment prompt attachments
vsuee download <course_id> --forceForce re-download overwriting existing local files
vsuee download <course_id> --dest <dir>Specify target destination directory (default: ~/Downloads/VSUEE)
vsuee file <mod_id|url>Download an individual file, slide, or module directly
vsuee file <mod_id> --dest <path>Download module to a specific filename or folder
vsuee images <target>Extract embedded diagrams, infographics, and charts from page/forum/course
vsuee images <course_id> --deepDeep scan: iterate through all child lesson pages and download all diagrams

5. Change Detection & Monitoring

CommandDescription
vsuee syncSync course catalog, detect new lessons, modified files, and deadline changes
vsuee sync --download-newAuto-download new, unhidden, or updated lecture materials
vsuee sync --course <id>Sync and diff a specific course only
vsuee diffInspect differences between last two local sync snapshots
vsuee diff --liveLive diff comparing remote portal against local snapshot
vsuee watchContinuous foreground monitoring loop (default: checks every 15 mins)
vsuee watch --interval <mins>Configure watch interval
vsuee watch --download-newAuto-download new slides as soon as uploaded
vsuee daemon installRegister background macOS LaunchAgent (edu.vsu.vsuee-watcher)
vsuee daemon statusCheck daemon running status, PID, and log file sizes
vsuee daemon logsView recent stdout and stderr daemon logs
vsuee daemon stopStop daemon
vsuee daemon startStart daemon
vsuee daemon uninstallUnload and delete daemon LaunchAgent plist

6. Visual Inspection & Screenshots

(Requires playwright)

CommandDescription
vsuee screenshot <target>Capture full-page screenshot of course, quiz, or assignment
vsuee screenshot <target> --selector <css>Capture a focused element screenshot (e.g. .submissionstatustable, .quizinfo)
vsuee screenshot course <id> --section <n>Capture a specific course section
vsuee screenshot <target> --viewport-onlyCapture visible viewport instead of full scrollable page
vsuee screenshot <target> --out <file>Specify output image path
vsuee browser [url]Launch authenticated Chromium browser session

Common Workflows & Runbooks

1. Catching Last-Minute Instructor Uploads

Instructors frequently upload lecture notes or problem sets right before class:

# 1. Check for differences
vsuee sync

# 2. If new files were found, download them automatically
vsuee sync --download-new

2. Exporting Deadlines to Apple or Google Calendar

# Export all upcoming course deadlines and quiz windows to .ics
vsuee calendar --export ~/Downloads/vsuee_calendar.ics

# Open directly on macOS to import into Apple Calendar
open ~/Downloads/vsuee_calendar.ics

3. Downloading Course Materials for Offline Study

# Download all lecture slides (PPTX and PDF) for course 1610 with 4 parallel streams
vsuee download 1610 --type pdf --dest ~/Documents/CSci144 -c 4
vsuee download 1610 --type pptx --dest ~/Documents/CSci144 -c 4

4. Background Monitoring Daemon

Keep your local course mirror updated 24/7 without terminal windows:

# Check every 15 minutes, download new files, and trigger macOS desktop notifications
vsuee daemon install --interval 15 --download-new

# Check status anytime
vsuee daemon status

Security & Privacy

  1. Local-Only Storage: All sessions, hashes, and configuration live in ~/.config/vsuee/. No telemetry, analytics, or third-party servers are used.
  2. Machine-Bound AES-256-GCM Encryption: Stored credentials are encrypted with a 256-bit key derived deterministically from the local machine's identity and user context. Encrypted payloads cannot be decrypted if copied to another machine.
  3. Strict File Permissions: The session and snapshot files are written with 0600 permissions (read/write by the owner only).
  4. Credential Masking: Command logs, diff summaries, and JSON outputs never expose plaintext passwords.

Academic Integrity

  • Strict Quiz & Exam Boundary: In adherence with the Visayas State University Student Honor Code and AI safety principles, vsuee strictly disables and rejects any automated quiz-answering, question solving, or test-taking automations. Quizzes are strictly inspectable for deadlines, open/close windows, and syllabus review only.
  • Assignment Submissions: Legitimate student-authored assignment files and online text responses can be submitted via vsuee submit. To prevent accidental or premature submissions, submissions default to draft mode, require interactive confirmation ([y/N]), verify SHA-256 hashes, and log local receipts in ~/.config/vsuee/submissions.log.
  • Confirmation Gate: Grade-impacting actions always require explicit user confirmation.

Development & Testing

The test suite contains 72 tests covering authentication, session auto-relogin, course parsing, module reading, parallel downloads, calendar .ics generation, assignment submissions, snapshot diffing, and browser screenshots.

# Run unit tests (offline, no network or credentials needed)
npm run test:unit

# Run full test suite (includes live integration tests when authenticated)
npm test

# Run live integration tests against portal
npm run test:live

License

MIT © 2026 Vj Mabansag

↑↓ navigate openesc close