Skip to main content

anton

Reference skill for operating the Anton CLI (@udondan/anton) to monitor children's learning on anton.app. Use this skill whenever you need to run `anton` commands — checking a child's progress, browsing lesson plans, pinning or unpinning lesson blocks, reviewing weekly activity, checking assignment completion, or managing local assignments. Trigger for any task involving the Anton CLI, even if the user just says "check how Emma did this week" or "pin the fractions lesson for Max" — those map directly to CLI commands covered here.

Source facts

Repository
udondan/anton
Last source activity
April 19, 2026 at 17:44
Detected SKILL.md language
English
Stars
4
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
anton
description
Reference skill for operating the Anton CLI (@udondan/anton) to monitor children's learning on anton.app. Use this skill whenever you need to run `anton` commands — checking a child's progress, browsing lesson plans, pinning or unpinning lesson blocks, reviewing weekly activity, checking assignment completion, or managing local assignments. Trigger for any task involving the Anton CLI, even if the user just says "check how Emma did this week" or "pin the fractions lesson for Max" — those map directly to CLI commands covered here.
# Anton CLI Reference ## Invocation ```bash anton <command> [options] ``` The `anton` CLI should be installed globally for best performance — `npx` adds noticeable latency when running many commands per session: ```bash npm install -g @udondan/anton ``` If the `anton` command is not found, suggest the global install above. As a one-off fallback without installing, `npx @udondan/anton <command>` works but is slower. All output is JSON printed to stdout — pipe to `jq` to filter or extract fields: ```bash # Pretty-print (default behaviour) anton weekly Lea | jq . # Extract a single field anton weekly Lea | jq '.totalLevels' # Filter completed levels by subject anton progress Lea | jq '.completedLevels[] | select(.puid | startswith("c-mat"))' # List topic titles with their indices anton topics c-mat-4 | jq '.topics[] | {index: .index, title: .title}' # Get just block titles for a topic anton blocks c-mat-4 --topic-index 6 | jq '.blocks[] | .title' ``` --- ## Authentication Set credentials via a config file **or** environment variables — env vars take precedence. ### Config file Store credentials permanently in `~/.config/anton/config` (mode `0600`): ``` # ~/.config/anton/config ANTON_LOGIN_CODE=ABCD-1234 ANTON_GROUP=Family ``` Lines starting with `#` are comments. ### Environment variables Set at least one of these before running any command: | Variable | Required | Purpose | | ------------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------- | | `ANTON_LOGIN_CODE` | one of these two | 8-character parent login code | | `ANTON_LOG_ID` | one of these two | Alternative: parent log ID (starts with `L-`) | | `ANTON_GROUP` | optional | Default group name when parent belongs to multiple groups. Matched case-insensitively. Falls back to the first group when unset. | | `ANTON_ASSIGNMENTS_FILE` | optional | Path to local assignments JSON (default: `~/.config/anton/assignments.json`) | | `ANTON_NO_SESSION_CACHE` | optional | Set to `1` to always bypass session cache (same as `--no-cache`) | ```bash export ANTON_LOGIN_CODE='ABCD-1234' anton status ``` If auth fails after a long session or you see `401`/`unauthorized` errors, the cached session may be stale — rerun with `--no-cache` to force a fresh login. --- ## Global Flags These apply to every command and must come **before** the subcommand: | Flag | Description | | ---------------- | --------------------------------------------------------------- | | `--group <name>` | Override the active group (takes precedence over `ANTON_GROUP`) | | `--no-cache` | Skip the session cache and perform a full login | | `--version` | Print the package version | | `--help` | Print help | ```bash anton --group "Family B" progress Lea anton --no-cache status ``` `--group` selects which family group to operate on — it is not the child name. Omit it when the parent belongs to only one group. --- ## Commands ### Account & Group Info #### `status` Show authentication status, all groups the parent belongs to, and children in the active group. ```bash anton status ``` #### `groups` List all groups the parent account belongs to, with their full member lists. ```bash anton groups ``` #### `group` Show family group details and currently pinned blocks. ```bash anton group ``` #### `children` List children in the active group. ```bash anton children ``` --- ### Pinned Assignments #### `pins` List lesson blocks currently pinned (assigned) to the group. | Option | Description | | ---------------- | --------------------------------------------------------------------- | | `--week <date>` | Filter to a specific week start date (`YYYY-MM-DD`, must be a Monday) | | `--child <name>` | Filter to a specific child by display name | ```bash anton pins anton pins --week 2025-06-16 anton pins --child Lea ``` > **Note:** `anton pins` may return `null` for block titles and block puids when querying future weeks. If you need the puid after pinning, use the `blockPuid` from the `pin` command's response directly — don't rely on a follow-up `pins` call to retrieve it. #### `pin <project>` Assign a lesson block to the group or a specific child. | Option | Description | | ----------------------- | ------------------------------------------------------------ | | `--topic-index <n>` | Topic index (0-based) — get from `anton topics <project>` | | `--topic-title <title>` | Partial topic title match (case-insensitive) | | `--block-index <n>` | Block index (0-based) within the topic | | `--block-title <title>` | Partial block title match (case-insensitive) | | `--week <date>` | Week start date (`YYYY-MM-DD` Monday, default: current week) | | `--child <name>` | Child name to assign to (default: whole group) | Identify the block with either `--topic-index` or `--topic-title`, and either `--block-index` or `--block-title`. Get topic/block indices from `anton topics` and `anton blocks`. > **Warning:** `--block-title` (and `--block-index`) always require a topic selector (`--topic-index` or `--topic-title`). The CLI will error if you omit the topic. Always specify the topic first. ```bash # Assign to whole group by topic index + block index anton pin c-mat-4 --topic-index 6 --block-index 1 # Assign to one child by title match anton pin c-mat-4 --topic-title "Brüche" --block-title "Brüche zuordnen" --child Lea # Assign to a specific week anton pin c-mat-4 --topic-index 6 --block-index 0 --week 2025-06-23 ``` #### `unpin <blockPuid> <weekStartAt>` Remove a pinned block. `blockPuid` is the block's puid (e.g. `c-mat-4/ro9ajj`), `weekStartAt` is the Monday date string. | Option | Description | | ----------------------- | --------------------------------------------------------- | | `--child-id <publicId>` | Child's publicId to disambiguate when multiple pins exist | ```bash anton unpin c-mat-4/ro9ajj 2025-06-16 ``` --- ### Lesson Catalogue #### `plans` Browse the Anton lesson catalogue (~285 courses). | Option | Description | | ----------------------- | ---------------------------------------------------- | | `-s, --subject <code>` | Filter by subject code (e.g. `mat`, `natdeu`, `eng`) | | `-g, --grade <n>` | Filter by grade (1–13) | | `-l, --language <lang>` | Filter by language (default: `de`) | ```bash anton plans anton plans --subject mat --grade 4 anton plans -s eng -g 3 ``` #### `topics <project>` List topics (chapters) for a course. Use this before `blocks` or `pin` to find the right topic index. ```bash anton topics c-mat-4 ``` #### `blocks <project>` List blocks (and their levels) for a single topic within a course. | Option | Description | | ----------------------- | -------------------------------------------- | | `--topic-index <n>` | Topic index (0-based) | | `--topic-title <title>` | Partial topic title match (case-insensitive) | ```bash anton blocks c-mat-4 --topic-index 6 anton blocks c-mat-4 --topic-title "Brüche" ``` #### `plan <project>` Full topic → block → level hierarchy for a course. Can be a large response — prefer `topics` + `blocks` for targeted lookups. ```bash anton plan c-mat-4 ``` #### `lesson <fileId>` Fetch lesson content (questions, trainers) by file ID. ```bash anton lesson list/plans ``` --- ### Child Progress & Activity #### `progress <child>` Learning progress summary for a child — counts, stars, accuracy by subject. | Option | Description | | ---------------- | ------------------------------------------- | | `--since <date>` | Start date `YYYY-MM-DD` (default: all time) | ```bash anton progress Lea anton progress Lea --since 2025-06-01 ``` #### `events <child>` Raw event log for a child (e.g. `finishLevel`, `startLevel`). | Option | Description |
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub