Interact with DUTIC (UNSA Moodle) virtual campus via dutic-cli. Use this skill whenever the user asks about courses, assignments, homework, exams, university schedules, or anything related to their Moodle virtual campus at aulavirtual.unsa.edu.pe. Also trigger when the user mentions DUTIC, UNSA, or wants to check what's due, what courses they're enrolled in, or assignment details. Use it proactively when the user needs to plan study time, track deadlines, or get assignment instructions.
Agent-first CLI for interacting with the DUTIC (UNSA) Moodle virtual campus. You run commands on the user's behalf — no manual interaction needed.
cargo install dutic-cli
This installs the dutic binary globally. If dutic is not found, run cargo install dutic-cli first.
First-time use requires the user's Moodle session credentials from browser cookies on aulavirtual.unsa.edu.pe:
MoodleSession cookie valuesesskey (found in page source or AJAX calls)dutic login --cookie <MoodleSession> --sesskey <sesskey>
Credentials persist across sessions. If any command returns Error: not authenticated, ask the user for fresh credentials and re-run dutic login.
dutic courses # table format
dutic courses --json # JSON for programmatic use
Output columns: ID, Code, Name, Category, Progress.
dutic assignments # all courses, table format
dutic assignments --json # JSON
dutic assignments -c <id> # filter by course ID
Output columns: Course, Activity, Due, Status, ID.
The ID column contains the view ID needed for the assignment command. Status shows "OVERDUE" for past-due work, or the submission state (e.g. "Agregar entrega" = add submission).
dutic assignment <view_id>
Returns the assignment description as markdown. The view_id comes from the ID column in dutic assignments.
User says "what's due this week" or "am I missing anything":
dutic assignments --jsondutic assignment <id> to get the full instructionsUser says "tell me about the math homework" or "what does the essay require":
dutic assignments --jsondutic assignment <id> to get full descriptionUser says "plan my week" or "help me organize my homework":
dutic courses to see enrolled courses and progressdutic assignments --json to get all upcoming workUser says "how am I doing in my classes" or "which courses are behind":
dutic courses --jsonUser says "give me a rundown of all my pending work":
dutic assignments --json to get all pending itemsdutic assignment <id> to get descriptiondutic courses output to find the right one.--json) is easier to parse programmatically. Use it when you need to extract specific fields.https://aulavirtual.unsa.edu.pe.| Error | Cause | Fix |
|---|---|---|
not authenticated | No saved session or session expired | Ask user for fresh MoodleSession + sesskey, run dutic login |
empty response from Moodle | Network or session issue | Retry once, then ask user to refresh credentials |
Moodle returned error response | Invalid sesskey | Re-authenticate |