Tronclass Cli

v1.2.2

Interact with the TronClass learning management system (currently optimized for FJU) via the `tronclass` CLI — check courses, assignments, deadlines, grades,...

1· 228·0 current·0 all-time
byYu Chun Huang@yujun-bo2

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for yujun-bo2/tronclass-cli.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Tronclass Cli" (yujun-bo2/tronclass-cli) from ClawHub.
Skill page: https://clawhub.ai/yujun-bo2/tronclass-cli
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: tronclass
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install yujun-bo2/tronclass-cli

ClawHub CLI

Package manager switcher

npx clawhub@latest install tronclass-cli
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill is explicitly a wrapper/agent integration for the tronclass CLI. It only requires the tronclass binary and declares installing the npm package tronclass-cli to provide that binary — these requirements match the description and workflows (courses, activities, downloads, submit, auth). No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
SKILL.md instructs the agent to use the tronclass CLI for LMS tasks and documents login flows, file download/submit commands, and where session state is stored (~/.tronclass-cli/). This is expected for an integration skill, but the instructions also encourage using the skill whenever users mention school/assignments (broad trigger). The docs reveal local session and pending-captcha file locations, which an agent could read if given extra instructions — the skill itself does not instruct the agent to exfiltrate those files.
Install Mechanism
Install uses npm (package: tronclass-cli) which is consistent with a Node CLI tool. No downloads from untrusted URLs or arbitrary extract/install steps are present.
Credentials
The skill declares no required environment variables or credentials. It documents password-based login flows (including a non-interactive/deferred CAPTCHA flow) but does not ask the platform for persistent secrets. Session data is stored locally by the CLI under ~/.tronclass-cli/ (expected).
Persistence & Privilege
The skill is not always-enabled and uses normal autonomous-invocation defaults. It relies on the CLI's local session storage to persist login state; it does not request elevated system privileges or modify other skills' configs.
Assessment
This skill appears coherent and implements a wrapper around the tronclass CLI. Before installing: 1) Confirm you trust the npm package and its GitHub repo (verify the package author/publisher and recent releases). 2) Be aware the CLI stores session cookies and config at ~/.tronclass-cli/ (cookies.json, config.json, pending-captcha files). Do not expose these files or your password to untrusted agents; prefer interactive login when possible. 3) The agent can download files to ~/Downloads/ or submit files you point it at — review any files the agent will upload. 4) If you use the deferred non-interactive CAPTCHA flow, the skill documents how passwords are supplied at resume time; avoid storing plain passwords in long-lived places. If you need tighter control, restrict agent access to the tronclass binary or avoid installing the skill until you verify the upstream CLI package and repository.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎓 Clawdis
Binstronclass

Install

Install TronClass CLI (npm)
Bins: tronclass
npm i -g tronclass-cli
latestvk97bqyr3wdbe1cqznqj0t20d3d85hra2
228downloads
1stars
6versions
Updated 2d ago
v1.2.2
MIT-0

TronClass CLI Skill

You have access to tronclass-cli, a command-line tool for managing the user's TronClass account.

Setup

Install globally (once):

npm install -g tronclass-cli

General Guidelines

  • Authentication: Most commands require a saved session. If a command fails, tell the user to run tronclass auth login <username>. The session is reused automatically; tronclass auth check probes a live TronClass endpoint to confirm whether it's still valid.
  • FJU users: Use tronclass auth login --fju <student_id> for the CAS flow with CAPTCHA support.
  • Non-interactive login (agents/scripts): Pass --password <p> (and --base-url <u> for generic deployments) to skip prompts. For FJU, where a human must solve the CAPTCHA, use the two-step deferred flow: tronclass auth login --fju --non-interactive <user> prints a captcha ID and opens the captcha image; then tronclass auth captcha --password <p> <captcha_id> <code> completes the login. The password is never written to disk — it is supplied only at resume time.
  • Finding IDs: The typical lookup chain is courses listactivities list <course_id>activities view <activity_id>. The todo command shows activity IDs directly in the first column.
  • Aliases: activitiesa, coursesc, homeworkhw/h, todotd/t, announcementsann. Subcommands also have short aliases (listl/ls, viewv, downloadd/dl, submits).

Command Quick Reference

CommandWhat it does
tronclass auth login [--fju] [--password <p>] [--base-url <u>] <user>Log in (interactive by default; --password / --base-url make it non-interactive)
tronclass auth login --fju --non-interactive <user>Start a deferred-CAPTCHA FJU login; prints a captcha ID, no password on disk
tronclass auth captcha --password <p> <id> <code>Complete a deferred FJU login with the solved CAPTCHA
tronclass auth checkProbe a live endpoint to report session validity (Valid / Expired / Unknown)
tronclass auth logoutClear saved session
tronclass todoPending tasks — first column is the activity ID
tronclass courses list [--all] [--raw]List courses
tronclass activities list <course_id>List activities in a course
tronclass activities view <activity_id>Rich view: metadata + description + attachments
tronclass activities download <ref_id> [output]Download file (defaults to ~/Downloads/)
tronclass homework list <course_id>List homework for a course
tronclass homework view <activity_id>Rich view: metadata + prompt + teacher attachments + your own submission/draft
tronclass homework submit <activity_id> <files...>Submit homework files
tronclass ann list [course_id]List announcements (school-wide if no course_id)
tronclass ann view <ann_id> [course_id]Rich view: metadata + HTML-rendered body + attachments
tronclass ann download <ref_id> [output]Download an announcement attachment

Most list/view commands support --fields f1,f2,... to customize displayed columns.

Key Behaviors

tronclass todo — shows id, course_name, title, end_time by default. The id column is the activity ID you can pass directly to activities view.

tronclass activities view <id> — displays a formatted table (not raw JSON). The Attachments section lists each file with its ref_id and a ready-to-run download command. No need to manually dig through JSON.

tronclass activities download <ref_id>output_file is optional. If omitted, the file is saved to ~/Downloads/<filename> using the server-provided filename.

tronclass homework view <activity_id> — rich layout: metadata (status / deadline color-coded), HTML-rendered prompt, teacher attachments (each with ref_id for activities download), and a "My Submission" section showing whether you've submitted, saved a draft, or done nothing — plus the files you uploaded. Use this before submitting to read the prompt and confirm a draft.

tronclass ann list — with no argument, lists the school-wide announcement feed (first page, ~30 items). Pass a course_id to list announcements for a specific course.

tronclass ann view <ann_id> — renders the announcement's HTML body in the terminal (bold, links, lists, images). If you know which course the announcement belongs to, pass course_id as the second argument to skip a multi-page search of the global feed.

Common Workflows

Check what's due:

tronclass todo

Download a course file:

tronclass courses list                        # get course_id
tronclass activities list <course_id>         # get activity_id
tronclass activities view <activity_id>       # see Attachments table → note ref_id
tronclass activities download <ref_id>        # saves to ~/Downloads/ automatically

Submit homework:

tronclass homework list <course_id>           # find activity_id
tronclass homework view <activity_id>         # read the prompt + grab teacher attachments
tronclass homework submit <activity_id> ./my_essay.pdf --draft   # save a draft first
tronclass homework view <activity_id>         # verify the draft
tronclass homework submit <activity_id> ./my_essay.pdf           # final submit

Read announcements:

tronclass ann list                            # school-wide feed
tronclass ann list <course_id>                # course-specific feed
tronclass ann view <ann_id> [course_id]       # full content, HTML rendered

Reference Files

For detailed option lists, field names, and edge cases, load the relevant reference:

  • references/auth.md — login flows, session management
  • references/todo.md — todo fields, filtering
  • references/courses.md — course fields, --raw flag
  • references/activities.md — activities list/view/download in depth
  • references/homework.md — homework list, view, submit options, draft mode
  • references/announcements.md — announcements list, view (HTML rendering), download

Comments

Loading comments...