← Back to Skills Marketplace
wjsoj

Elective

by wjsoj · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ⚠ suspicious
152
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install pku-elective
Description
PKU Course Selection (选课网) CLI tool built in Rust. Use this skill when working on the elective crate, debugging elective commands, adding features, or when t...
Usage Guidance
This skill's documentation shows it will run a local elective CLI, read credentials from your OS keyring or environment, write session files to ~/.config/info/elective/, and send CAPTCHA images to third‑party recognition services — but the skill metadata does not declare the required binaries, config paths, or API credentials. Before installing or enabling it (especially for autonomous use): - Ask the publisher to update the manifest to list required binaries (elective, info-auth), required config paths, and any environment variables/API keys for CAPTCHA backends. - If you plan to use third‑party CAPTCHA services (utool/ttshitu/yunma), verify which endpoints and keys are used and whether you consent to sending images (and potentially personal data) to those services. - Consider running the skill only when explicitly invoked (disable autonomous invocation) or in a restricted environment until the metadata is corrected. - Inspect or provide the elective binary from a trusted source; do not let the agent fetch arbitrary executables. - If you are uncomfortable with keyring access or session persistence, decline or sandbox the skill and request the author to make credential handling explicit and opt‑in. These mismatches may be benign omissions, but they materially affect what the skill can access; treat it as suspicious until clarified.
Capability Analysis
Type: OpenClaw Skill Name: pku-elective Version: 1.1.0 The skill bundle describes a CLI tool for Peking University (PKU) course selection automation. It includes features for session management via IAAA SSO, automated enrollment loops, and CAPTCHA recognition using third-party services (utool, ttshitu, yunma). The architecture follows standard practices such as using the OS keyring for credentials and local configuration directories (~/.config/info/elective/). The instructions in SKILL.md are helpful for guiding the AI agent on handling dual-degree students and do not contain any malicious prompt injections or exfiltration attempts.
Capability Assessment
Purpose & Capability
The SKILL.md documents a CLI tool (elective) with SSO, CAPTCHA backends, and session persistence. The manifest lists no required binaries, env vars, or config paths; that is inconsistent — a CLI that logs in, polls, and calls external CAPTCHA APIs plausibly needs the elective binary and API credentials.
Instruction Scope
Instructions tell the agent to run commands (elective, info-auth), read credentials via OS keyring/env/interactive, persist sessions to ~/.config/info/elective/, and send base64 CAPTCHA images to external backends (utool/ttshitu/yunma). Those runtime actions go beyond what's declared and could access sensitive secrets and third‑party endpoints.
Install Mechanism
There is no install spec (instruction-only), which is low risk from a code-install perspective. However, the runtime assumes the presence of local binaries (elective, info-auth) that the manifest does not enumerate—this is an operational inconsistency rather than an install risk.
Credentials
SKILL.md expects credentials resolved from keyring → env → interactive and mentions CAPTCHA recognition APIs (which typically require API keys), but the skill declares no required env vars or primary credential. Sensitive access (keyring, API keys) is implied but not declared or scoped.
Persistence & Privilege
The tool persists session data to ~/.config/info/elective/ and reads OS keyring entries. The manifest does not declare these config-path or credential accesses. Autonomous invocation is allowed by default (not disabled), which combined with undisclosed credential access increases potential risk.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install pku-elective
  3. After installation, invoke the skill by name or use /pku-elective
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
更新 description: 课表问题改用 treehole skill(elective show 只能看单个项目); captcha 模块已上移到 pkuinfo-common
v1.0.0
Major update with new features and improvements: - Redesigned CLI tool for PKU Course Selection (选课网), supporting enrollment, automation, and CAPTCHA solving. - Introduced modular architecture with clear command structure and multiple CAPTCHA backend options. - Added dual-degree support; login commands now require `--dual` flag for dual-degree students. - Implemented session management, persistent config, and auto-enrollment polling loop with adjustable intervals. - All output and errors now in Chinese; robust credential management via OS keyring.
Metadata
Slug pku-elective
Version 1.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Elective?

PKU Course Selection (选课网) CLI tool built in Rust. Use this skill when working on the elective crate, debugging elective commands, adding features, or when t... It is an AI Agent Skill for Claude Code / OpenClaw, with 152 downloads so far.

How do I install Elective?

Run "/install pku-elective" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Elective free?

Yes, Elective is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Elective support?

Elective is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Elective?

It is built and maintained by wjsoj (@wjsoj); the current version is v1.1.0.

💬 Comments