Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/choiyounggi/groundwork/tutornpx skills add choiyounggi/groundwork --skill tutorgit clone --depth 1 https://github.com/choiyounggi/groundworkWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00091 | $0.00939 |
| Opus 5 | $0.00046 | $0.00469 |
| Sonnet 5 | $0.00018 | $0.00188 |
| Haiku 4.5 | $0.00009 | $0.00094 |
Grade A, and why
tutor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
memory-loop: tutor
habit distills lessons into HABITS.md; nothing before this tested whether
the user actually internalized them. This closes that loop: spaced,
diagnostic self-quizzing, driven by the merged tutor-schedule.sh scheduler.
Never hand-edit state
State lives in ~/.claude/groundwork/memory-loop/tutor/{items.json,reviews.jsonl},
owned by ${CLAUDE_PLUGIN_ROOT}/skills/tutor/scripts/tutor-schedule.sh. Every
state change goes through the script's subcommands — due [--count],
record <id> <rating>, add <id> <concept> <model_answer> <source_ref>,
list. Never edit items.json or reviews.jsonl directly, even to fix a typo.
1. Sync items
Run list to see items already tracked (each carries a source_ref). Read
HABITS.md and diff its 🟢/🛑 entries against those source_refs. For every
entry with no covered item, propose a candidate — a one-line concept and a
model_answer (the rubric: what a correct answer must cover) — and show it
to the user before creating anything. They can veto or edit it. Only after
their go-ahead, call add <id> <concept> <model_answer> <source_ref> with a
short readable id (e.g. a slug of the concept) not already in list — item
curation stays human-anchored, never bulk-generated from raw memory.
2. Select due items
Run due (already capped at tutorSessionCap, default 3 — don't ask for
more this session). If it prints nothing, tell the user nothing is due and
stop; don't invent a quiz just to have one.
3. Quiz loop — one item at a time
For each due id, in order:
- Ask a transfer question. From the item's
concept, invent ONE novel scenario the user hasn't seen — never restate or re-ask about the original incident behind the lesson. Ask it, then wait for the answer before doing anything else. - Grade against
model_answer, held privately the whole time:- Diagnose the misconception (what's missing or wrong) before the verdict — never lead with "correct!"/"incorrect!".
- Never praise a wrong or partial answer, even gently.
- If the answer is genuinely ambiguous, say so and ask for more instead of forcing a verdict either way.
- Follow up. Ask one "왜?" or "이게 바뀌면 어떻게 돼?" (why / what-if) question — even when the answer was fully correct — before moving on.
- Rate together. Show this table and let the user confirm the rating — don't record a number they haven't seen:
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 77 lines · 91 tokens per session scan A 1656d735cae3
tutor is a skill published in the GitHub repository choiyounggi/groundwork (3 stars, last pushed 2d ago), licensed MIT. It adds 91 tokens to every session and 939 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
meta-synthesis
Reads /context/skill-sessions.md (the session log every execution skill writes to) to detect patterns that repeat across 2+ sessions, proposes new guardrails for /context/meta-patterns.md, and proposes brain updates for confirmed learnings. Run on-demand or roughly weekly — not a scheduled background job. Trigger on…
meta-learn
Deliberate deep-dive capture for a completed skill session that deserves more than the automatic one-line row every T1/T2 skill already logs at its own close — asks three extraction questions (what surprised you, what was wrong, what was missing), turns real answers into specific, falsifiable pattern statements, and…
quiz-me
Quiz the user on root cause and intended fix BEFORE writing any non-trivial code, then verify comprehension of every change after. Use when the user asks for a bug fix, refactor, or feature and wants to stay technically sharp instead of vibe-coding. Also use when the user says "quiz me", "don't let me vibe code", or…
new-course
Build a whole course on a subject, from scratch, on disk. A light survey of the domain, then the placement-quiz decision, then a deep multi-agent research pass that becomes an ordered taxonomy, a table of contents grouped into books and chapters, and a course folder that teaches itself. Use when the user asks for a…
self-assess
Placement quiz that finds someone's real level in a subject and writes it to PROFILE.md. Scenario questions in small batches, never definitions, with neutral options that cannot be eliminated by tone, plus self-report checks that separate knowing a word from being able to act on it. Use when the user asks to measure…
learn
The way into learnable and the way back. If a course already exists here it continues from exactly where the learner stopped, next lesson, next chapter, no re-planning. If nothing exists yet it asks whether to measure their level first or go straight to building a course. Use when the user says they want to learn…