By pkuinfo
Automate Peking University campus services via Rust CLI tools: course selection, campus card management, classroom booking, financial queries, treehole forum, and WeChat article scraping, with integrated IAAA SSO and credential storage.
北京大学空间 (bdkj.pku.edu.cn) 学术研讨教室预约 CLI 工具。当用户提及 bdkj、北大空间、学术研讨教室、教室预约、研讨间、借教室 或想要查询/预约/取消 二教/四教/地学 教学楼里的空闲学术研讨教室时使用此 skill。支持保存固定参与人分组(如课题组),重复发起预约时只需 `--group <名字>`。Also use when dealing with bdkj IAAA SSO callback (app_id=bdkj), `/room/classRoom` / `/classRoom/seachStudent` / `/classRoom/handle/submit` 这些端点,或 bdkj groups.json 持久化。
PKU Campus Card (校园卡) CLI tool built in Rust. Use this skill when working on the campuscard crate, debugging campus card commands, adding features, or when the user mentions 校园卡, campus card, balance, recharge, payment QR, transaction history, monthly spending, or bdcard.pku.edu.cn. Also use when dealing with Synjones platform auth, berserker-auth flow, mobile User-Agent requirements, or HTTP/1.1 constraints.
北京大学课程信息爬取 CLI (dean.pku.edu.cn 教务部 + elective.pku.edu.cn 选课网 + onlineroomse.pku.edu.cn 智云课堂)。当用户提及 claspider、课程爬虫、课程信息爬取、课程目录、全校开课、按院系/教师/关键词查课、合并课程数据 时使用此 skill。适用于要批量导出某学期全部课程(课号/名称/学分/教师/时间地点/简介)做离线查询、语义搜索、选课决策的场景。Also use when dealing with 教务部课表查询 HTML 抓取、选课网分类遍历、智云课堂 JWT token 周课表接口、或三方数据合并。**不是**选课/退课工具——那是 `elective` skill;也不是单人课表——那是 `treehole course` (treehole skill)。
PKU Teaching Platform (北大教学网/Blackboard Learn) CLI tool built in Rust. Use this skill when working on the course crate, debugging course commands, adding features to the teaching platform CLI, or when the user mentions 教学网, Blackboard, course downloads, assignment submission, video downloads, or PKU teaching. Also use when dealing with HTML scraping via the scraper crate, Blackboard SSO callback, or multipart file uploads. **NOT for course schedule / 课表 / weekly timetable questions — for those use the `treehole` skill (`treehole course`), which is the canonical source and includes 辅修/双学位.** This `course` crate only deals with the Blackboard teaching platform (assignments, files, recordings, announcements).
北京大学财务综合信息门户 (cwfw.pku.edu.cn / WF_CWBS) CLI 工具。当用户提及 cwfw、财务门户、财务综合信息门户、个人酬金、工资查询、报销查询 时使用此 skill。Also use when dealing with cwfw IAAA 登录 (app_id=IIPF)、home2.jsp→findpages_postData.action→home3.jsp 多步 bootstrap、WF_CWBS 子系统入口、或 cwfw 的加密表单字段。
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Your campus life, from the terminal.
A unified command-line toolkit for Peking University services — treehole, courses, campus card, elective, credential management, and WeChat article crawler.
Getting Started · Tools · Claude Code Integration · Architecture
You need a Rust toolchain (rustup recommended).
Linux additionally needs system libraries used by two transitive -sys crates:
| Package | Used by | Purpose |
|---|---|---|
pkg-config | build system | locate the libs below |
OpenSSL dev headers (libssl-dev / openssl-devel) | openssl-sys ← reqwest's native-tls | HTTPS to PKU services |
D-Bus dev headers (libdbus-1-dev / dbus-devel) | libdbus-sys ← keyring's Linux Secret Service backend | store/read IAAA credentials |
C toolchain (build-essential / gcc) | linker for the above | compile native code |
One-liners:
# Debian / Ubuntu
sudo apt install -y pkg-config libssl-dev libdbus-1-dev build-essential
# Fedora / RHEL
sudo dnf install -y pkg-config openssl-devel dbus-devel gcc
# Arch
sudo pacman -S --needed pkgconf openssl dbus base-devel
[!NOTE] At runtime,
info-auth storeon Linux talks to a running Secret Service (GNOME Keyring, KWallet, KeePassXC, …). On a headless server without one, fall back to env vars:export PKU_USERNAME=… PKU_PASSWORD=….
macOS and Windows need no extra system packages — native-tls uses
Security framework / SChannel and keyring uses Keychain / Credential Manager.
Just install the Rust toolchain.
cargo install pku-cli --locked
One command installs the unified pku binary with access to all tools:
pku treehole login -p # Login to treehole
pku course courses --all # List all courses
pku card info # Campus card balance
pku elective show # View course selections
pku auth store # Store IAAA credentials
pku spider search "北大" # Search WeChat articles
[!TIP] You can also install tools individually if you only need specific ones:
cargo install pku-treehole pku-course pku-campuscard pku-elective pku-auth pkuinfo-spider
1. Store your IAAA credentials once (encrypted in your OS keychain):
info-auth store
2. Login to any service — credentials resolve automatically:
treehole login -p
course login -p
campuscard login -p
elective login -p
[!NOTE] Passwords are never exposed in CLI arguments, environment variables, or logs. The
info-auth storecommand uses interactive input and stores credentials in the OS keychain (macOS Keychain / GNOME Keyring / Windows Credential Manager).
Anonymous forum client with full read/write support.
treehole list # Browse latest posts
treehole search "关键词" # Full-text search
treehole show 12345 # View post + replies
treehole post -t "Hello world" # Create a post
treehole score # View your grades
treehole schedule # This week's schedule
Course management, assignments, lecture recordings.
course courses --all # List all courses
course assignments # Pending assignments
course videos # Lecture recordings
course submit # Submit homework (interactive)
course browse # Interactive course browser
Campus card balance, payments, transaction history.
campuscard info # Card info & balance
campuscard pay # Show payment QR code
campuscard bills --month 2026-03 # Transaction history
campuscard stats # Monthly spending breakdown
campuscard recharge -a 100 # Top up 100 yuan
Course selection with automated retry and CAPTCHA handling.
elective show # Current selections
elective list # Available courses
elective set # Pick target courses (interactive)
elective launch -t 15 # Auto-select loop, 15s interval
WeChat Official Account article crawler (standalone auth, not IAAA).
npx claudepluginhub pkuinfo/pkucli --plugin pku-cliCore skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.
Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,561 supported skills.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer