classcharts

Query and interact with ClassCharts (UK education classroom management) via the classcharts-api JS library. Use when the user mentions ClassCharts, school behaviour points, homework, timetable, detentions, attendance, rewards shop, or wants to script/integrate with ClassCharts parent or student data.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "classcharts" with this command: npx skills add m0nkmaster/classcharts

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 caseFormatExample
API options (from, to, date)YYYY-MM-DD"2024-03-10"
Student date of birth (login)DD/MM/YYYY"01/01/2010"
getStudentCode dateOfBirthYYYY-MM-DD"2010-01-01"

Shared methods (Parent & Student)

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

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

Parent-only methods

MethodDescription
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

MethodDescription
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<Data, 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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

升学规划助手

中国高考升学规划助手。提供新高考选科指导、志愿填报建议、院校专业查询、录取分数线参考、高考政策解读。适用于高中生、家长和教师进行升学规划。支持家用(纯知识库)和商用(API扩展)双模式。触发器:用户提出高考/选科/志愿/录取/分数线相关问题时使用。

Registry SourceRecently Updated
700Profile unavailable
General

College Prep Tracker

Track college applications, essays, scholarships, financial aid, recommendation letters, test scores, and deadlines for one or more students. Built-in timeli...

Registry SourceRecently Updated
1180Profile unavailable
General

Teacher Lesson Plans (UK Curriculum)

Generate UK National Curriculum-aligned lesson plans, differentiated worksheets, assessment questions with mark schemes, and student report comments. Covers...

Registry SourceRecently Updated
1170Profile unavailable
General

AI-Integrated STEAM Lesson Generator

Generate AI-integrated lesson plans with tailored teaching steps, activities, assessments, and tool guidance for Hong Kong primary and secondary STEAM educat...

Registry SourceRecently Updated
1190Profile unavailable