← 返回 Skills 市场
m0nkmaster

ClassCharts

作者 Rob MacDonald · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
257
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install classcharts
功能描述
Query and interact with ClassCharts (UK education classroom management) via the classcharts-api JS library. Use when the user mentions ClassCharts, school be...
使用说明 (SKILL.md)

ClassCharts API (JavaScript/TypeScript)

ClassCharts is a UK education classroom management platform. This skill uses the unofficial classcharts-api JS library to fetch homework, behaviour, timetable, detentions, attendance, announcements, badges, and more. Supports both Parent and Student authentication.

Important: The API is unofficial. Never hardcode credentials in prompts, logs, or committed code. Use environment variables or a secure secret store.

Installation

npm install classcharts-api

Requirements: Node.js 20+ or Deno

Authentication

Two client types with different login flows:

Parent Client

Parent logs in with email and password. Access to all linked pupils.

import { ParentClient } from "classcharts-api";

const client = new ParentClient(
  process.env.CLASSCHARTS_EMAIL!,
  process.env.CLASSCHARTS_PASSWORD!,
);
await client.login();

// Defaults to first pupil; switch with selectPupil
const pupils = client.pupils; // or await client.getPupils()
client.selectPupil(pupils[1].id); // if multiple children

Student Client

Student logs in with ClassCharts code and date of birth.

import { StudentClient } from "classcharts-api";

// Date of birth MUST be DD/MM/YYYY
const client = new StudentClient(
  process.env.CLASSCHARTS_CODE!, // e.g. "ABCD1234"
  "01/01/2010",
);
await client.login();

Date formats

Use case Format Example
API options (from, to, date) YYYY-MM-DD "2024-03-10"
Student date of birth (login) DD/MM/YYYY "01/01/2010"
getStudentCode dateOfBirth YYYY-MM-DD "2010-01-01"

Shared methods (Parent & Student)

All methods require await client.login() first. Session auto-renews after 3 minutes.

Method Options Description
getStudentInfo() Student profile and metadata
getActivity({ from, to, last_id? }) Dates YYYY-MM-DD, optional pagination Activity feed (paginated)
getFullActivity({ from, to }) Dates YYYY-MM-DD Activity between dates (auto-paginates)
getBehaviour({ from?, to? }) Dates YYYY-MM-DD Behaviour points timeline and reasons
getHomeworks({ from?, to?, displayDate? }) Dates, displayDate: "due_date" | "issue_date" Homework list
getLessons({ date }) date: YYYY-MM-DD Timetable for a specific date
getBadges() Earned badges
getAnnouncements() School announcements
getDetentions() Detentions
getAttendance({ from, to }) Dates YYYY-MM-DD Attendance records
getPupilFields() Custom pupil fields/stats

Parent-only methods

Method Description
getPupils() List pupils linked to parent account
selectPupil(pupilId) Set active pupil for subsequent requests
changePassword(current, new) Change parent account password

Student-only methods

Method Description
getRewards() Rewards shop items and balance
purchaseReward(itemId) Purchase item from rewards shop
getStudentCode({ dateOfBirth }) Get student code (dateOfBirth: YYYY-MM-DD)

Quick examples

// Homework for date range
const homeworks = await client.getHomeworks({
  from: "2024-03-01",
  to: "2024-03-31",
  displayDate: "due_date",
});

// Today's timetable
const today = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
const lessons = await client.getLessons({ date: today });

// Behaviour summary
const behaviour = await client.getBehaviour({
  from: "2024-01-01",
  to: "2024-03-10",
});

// Student: list rewards shop and purchase
const rewards = await client.getRewards();
const purchase = await client.purchaseReward(rewards.data[0].id);

Response shape

Responses follow ClassChartsResponse\x3CData, Meta>:

{
  success: 1,
  data: T,      // Array or object depending on endpoint
  meta: M,      // Session ID, dates, counts, etc.
  error?: string
}

Errors throw if success === 0.

When to use this skill

  • User asks about ClassCharts, school homework, behaviour points, timetable, detentions, attendance, or rewards.
  • User wants to script, integrate, or automate ClassCharts data.
  • User mentions parent/student portal in the context of UK schools and ClassCharts.

Links

安全使用建议
This skill appears functionally coherent for interacting with ClassCharts, but the registry metadata omitted the environment variables and install info that SKILL.md expects. Before installing or using it: 1) Confirm the skill's source and maintainers (check the linked GitHub repo and npm package owner). 2) Inspect the npm package for postinstall scripts or unexpected dependencies (run npm audit / review package contents). 3) Do not paste credentials into prompts; use environment variables or a secret manager. 4) Clarify how student DOB is supplied and whether the platform will store credentials — prefer short-lived or least-privilege accounts if possible. 5) Ask the skill author/maintainer to update the metadata to declare required env vars and install instructions so the platform can enforce least-privilege and make the integration auditable.
能力标签
cryptocan-make-purchases
能力评估
Purpose & Capability
SKILL.md describes using the unofficial classcharts-api JS library to access homework, behaviour, timetable, etc., which aligns with the skill name and description. However the registry metadata lists no required environment variables or primary credential while SKILL.md explicitly expects CLASSCHARTS_EMAIL, CLASSCHARTS_PASSWORD, and CLASSCHARTS_CODE — a manifest mismatch.
Instruction Scope
Runtime instructions are narrowly scoped to authenticating and calling the classcharts-api library. They don't instruct reading unrelated system files or exfiltrating data to other endpoints. The doc explicitly warns not to hardcode credentials.
Install Mechanism
There is no formal install spec in the registry, but SKILL.md directs 'npm install classcharts-api'. Using a published npm library is expected for this task, but the skill should declare its install behaviour in metadata. Verify the npm package and its repository (audit for postinstall scripts / suspicious dependencies) before running installs.
Credentials
Requested secrets (parent email/password; student code) are proportional to the stated purpose. But the registry metadata fails to declare these environment variables or a primary credential, and SKILL.md does not standardise how the student date-of-birth should be provided (it is required for student login). The omission in metadata makes it unclear what the platform will provide or store, increasing risk of misconfiguration or accidental credential exposure.
Persistence & Privilege
The skill is not always-enabled, has no OS restrictions, and does not request system config paths or modify other skills. Autonomous invocation is allowed (platform default) but is not combined with high privileges here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install classcharts
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /classcharts 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Added environment variable requirements (CLASSCHARTS_EMAIL, CLASSCHARTS_PASSWORD, CLASSCHARTS_CODE) and install instructions to metadata. - Specified Node.js and npm as requirements. - No changes to functionality or API usage.
v1.0.0
ClassCharts skill initial release: - Enables querying and interaction with ClassCharts for UK education management. - Supports both Parent and Student authentication methods using the classcharts-api JS library. - Fetches homework, behaviour, timetable, detentions, attendance, announcements, rewards, and badges. - Provides method guides, example usage, and response structure details. - Includes security notes regarding credential handling.
元数据
Slug classcharts
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

ClassCharts 是什么?

Query and interact with ClassCharts (UK education classroom management) via the classcharts-api JS library. Use when the user mentions ClassCharts, school be... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 257 次。

如何安装 ClassCharts?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install classcharts」即可一键安装,无需额外配置。

ClassCharts 是免费的吗?

是的,ClassCharts 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

ClassCharts 支持哪些平台?

ClassCharts 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 ClassCharts?

由 Rob MacDonald(@m0nkmaster)开发并维护,当前版本 v1.0.1。

💬 留言讨论