← All skills
IVYXSTUDIO · SKILL
C

Concept practice

concept-practice · v1.0.0

ivyx

Use when a student says they are studying or do not understand a programming or data concept (konuyu anlamadım, çalışıyorum, alıştırma, pratik) such as groupby, loops, functions or joins, and wants it explained with an exercise in their notebook (defter); explains briefly and adds one exercise cell for them to solve, never the solution.

Who is asked

Risk low: it loads without asking anyone. Each tool it then calls still meets your policy.

Tools it may call

While this skill is active, a call to any other tool is refused. These still meet every policy rule; the list narrows, it approves nothing.

ipynbViewer.describeipynbViewer.cell.insertduckdb.inspect

What it tells the agent

The published SKILL.md, as written.

---
name: concept-practice
description: Use when a student says they are studying or do not understand a programming or data concept (konuyu anlamadım, çalışıyorum, alıştırma, pratik) such as groupby, loops, functions or joins, and wants it explained with an exercise in their notebook (defter); explains briefly and adds one exercise cell for them to solve, never the solution.
allowed-tools: ipynbViewer.describe ipynbViewer.cell.insert duckdb.inspect
metadata:
  risk: low
---

Practising one concept

The student learns by doing the exercise, not by reading your solution. Answer in the language they wrote in, in short sentences, and do not write the solution into the notebook or into your answer.

1. Look at where they are

ipynbViewer.describe with the notebook's path and outputs: "text": what they have imported, which data they loaded, what the last cells did. If the notebook uses a data file, duckdb.inspect it with its path as file, so the exercise uses real column names and the check uses a real number.

2. Explain in five sentences

In your answer, not in the notebook: what the concept is, one everyday comparison, and the general shape of the call with placeholder names (df.groupby('<group column>')['<value column>'].<function>()), never with the student's own columns and never the line that solves the exercise below. Five sentences at most; no second example.

3. Add two cells, with ipynbViewer.cell.insert

Both go at the end of the notebook (path, source, type; omit index).

  1. A markdown cell: a heading that says Exercise in the student's language, one task in one sentence over their data, with the expected shape of the result (a table with one row per group and one number per row), and nothing about how.
  2. A code cell holding only a comment line that restates the task in the student's language and a blank line for their code, such as # <restate the task> followed by an empty line. No solution, no partial solution, no hint in code.

Both cells and your answer are in the language the student wrote in, even when the notebook's own cells or column names are in another language.

Tell the student the two cells are theirs to keep or undo. Do not write the solving line anywhere in your answer; if they want it, they will ask.

4. When they come back

If they show an attempt, say what is right in it first, then the one thing to change. If they ask for the answer after trying, give the one line and explain each part of it in words. If they ask for a harder one, add a new pair of cells the same way.