# A challenge or questions from your own note

Any markdown note in your repository can be turned into practice questions or a challenge with tasks. The files appear next to the note in one commit, and you can edit them by hand.

> **Who can use this:** Whoever writes to a repository where «Learn» and AI are on and the agent is allowed everything can build it. Generation opens once your email is confirmed; on the SKILLOK model it uses the plan allowance.

## Ask the agent

Open [Space AI](https://skillok.org/docs/en/repositories/chat), attach the repository and write what you need:

* «Make a drill from `notes/git.md`» — 8–12 questions of different kinds based on the note: choice,
  order, pairs, gaps, short answer, a number if the note has numbers, and a few cards for terms. The
  questions go next to the note, into a `.challenge` folder, as one stage. Then they come back on a
  schedule, see [Train](https://skillok.org/docs/en/learning/training).
* «Make a challenge from `notes/git.md`» — 4–7 stages: an introductory theory stage, hands-on tasks —
  a summary, an analysis, a calculation, a table, a plan or Python code with tests — and comprehension
  questions at the end. From there it works like any challenge, see [Challenges](https://skillok.org/docs/en/learning/challenges).

You do not need to know the path: the agent finds the note by its description. An external agent over
[MCP](https://skillok.org/docs/en/account/mcp) works the same way.

## From several notes

Questions and a challenge are built not only from the note itself but also from the notes it links
to. Make a table-of-contents note with links to the files you need — `[Series](series.md)`,
`[Integrals](../common/integrals.md)` — and ask to build from it: the material is collected from all
of them.

* Links to `.md` files of the same repository, written relative to the note, are used.
* One level: links inside the added notes are not followed.
* No more than 10 linked notes and no more than 40,000 characters in total — the rest is dropped.
* The challenge folder appears next to the table-of-contents note.

Together with the linked notes there must be at least a few paragraphs of material, otherwise there is
nothing to build from.

## While it is being built

A **Training is being built** card appears in the feed — it leads to the repository's **Learn** tab
with a «Building — this takes a minute or two…» bar. When it is ready, the drill or the challenge opens
from there. You can close the page — the job continues and shows in [Processes](https://skillok.org/jobs) as «Questions
from a note» or «Challenge from a note».

If it fails — «Could not build it. Try again later.» — ask the agent again: a failed attempt leaves no
files, and a retry starts from scratch. The agent refuses at once, without generating, when:

* the email is not confirmed;
* the SKILLOK model allowance of your plan is used up — pick another model or wait, see
  [The SKILLOK allowance](https://skillok.org/docs/en/account/ai-keys#the-skillok-allowance);
* too many jobs are already running — wait until they finish;
* the note already has a `.challenge` folder next to it — open it, or delete it to build again;
* there is too little material — even with the linked notes;
* «Learn» or AI is off in the repository, or the agent is allowed less than everything.

## Where the files are

When it is ready, a folder appears next to the note: for `notes/git.md` it is `notes/git.challenge/`.
Its `challenge.md` has `source: ../git.md` — on the challenge page that is the «The material it was
made from» link. One commit, under your name.

After that the note page gets buttons:

* on the note — **Train** and **Open the challenge**;
* on a stage file `stages/…md` — **Open the stage**: the stage on the **Learn** tab;
* on `challenge.md` — **Open the challenge**.

## What is checked before you see it

* The files go through the same format check as hand-written ones. A question that does not parse is
  dropped instead of breaking the challenge. If a drill ends up with fewer than three questions or the
  built challenge fails the check, the generation counts as failed and commits nothing.
* Tests of code stages run twice: they must pass on the reference solution and fail on the starter.
  The reference solution does not go into the repository.
* If the tests fail this check, the test check is removed from the stage. The stage keeps the file
  check and a self-check item «The solution works on the examples from the task», and the stage text
  says that the auto-tests did not pass the check and the solution has to be verified by hand.

## Edit

These are ordinary files of your repository: a question can be rewritten, a stage deleted or added, a
check changed. The format — [Challenge format](https://skillok.org/docs/en/learning/challenge-format). Every question has an id in
curly braces in its heading — the review schedule lives by it, so you can edit the question text but
better leave the id alone.

What is visible about taking it — [Progress](https://skillok.org/docs/en/learning/progress-and-achievements).

---

https://skillok.org/docs/en/learning/from-a-note
