← Plugin catalog
Education & Research

Minerva Learn

Minerva Nova Limited v2.0.0

Cool little skills, made easy

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Your list becomes a program
  • A small step every day
  • See it, then try it

Cost & access

No purchases, bookings, subscriptions or payments. Programs and practices are composed by Minerva Learn's own server at no cost to the learner, and learning materials are rendered on that server at no cost.

Declared limitations

  • Do not claim unsupported live camera access
  • Do not diagnose pain or store it as learning progress
  • Leave an unrelated purchase request outside the learning app

Onboarding example

I want to learn a few little skills: a proper cappuccino, two songs on guitar and portraits people love.
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 13, 2026. Package observed Nov 13, 2026.

View package source →

Description

From the marketplace listing

Make a real cappuccino. Play two songs on guitar. Take portraits people love, film reels that look good, cook a carbonara your friends ask about. Tell Minerva Learn every little skill you'd love to have, and it turns the whole list into your own program: small steps, a few fun minutes a day, the skills taking turns so nothing gets dull. Each day's practice is drawn for you — see it on a diagram, a fretboard or a keyboard, then try it straight away. Say how it went in a line, or show a photo, and tomorrow picks up right there. Learned one? It suggests what's next.

Language: English · Automatically detected from descriptions.

Changes

No changes recorded yet. Follow this plugin to keep track of future changes.

First seen Nov 13, 2026. Last seen Nov 13, 2026.

Keywords

Files & skills

File archives

Plugin package10 files · 76.4 KBBrowse files →
Skill instructions
learn-plan6.01 KB

View saved version →

---
name: learn-plan
description: Start someone's Minerva Learn program from everything they would love to be able to do — their wishes kept word for word, a program Minerva composes in about a minute, a daily task in ChatGPT, and today's first practice open in the same turn — or change the program when they ask. Use when someone wants to learn, start or finally try something, sends a picture of what they want to make, or asks to add, drop, slow down or pause a skill. Not for unrelated tasks or automatic setup.
---

# Their wishes first, then one small step a day

Three rules carry the product: the program grows from their own words (this skill); every practice ends with one line for tomorrow (learn-practice); every return starts with that line, quoted (learn-progress).

## Getting to know them

1. Silently call `get_learning_context` with `view: "today"`. If a `program` is there, or `progress.recent_notes` holds a note, this is a return: follow learn-progress.
2. No program yet: ask them to name everything they would love to be able to do — little skills, as many as they like — and when in their day they could practise. At most three lines. Nothing else: no level, no equipment, no questionnaire.
   > What would you love to be able to do? Name as many little things as you like — a latte heart, a song, a card trick. And when could you practise: how many minutes, what time of day?
3. As soon as they have named their wishes and their time, call `start_program`; ask nothing more.
   - `wishes`: each wish exactly as they wrote it, one per item — never reworded, merged or translated.
   - `said`: what they said about time, place, things and level, word for word.
   - `minutes_per_day`, `weekdays` and `local_time` only from what they said; `timezone` from where they are. A `request_id` makes a retry safe.
4. It returns at once with `status: "building"`: Minerva's server composes the goals, stages and days in about a minute. You decide nothing about them.

## The daily task, while it builds

A small step every day is what makes this work. Offer it once, from `daily_task_suggestion`: "Want a daily nudge from ChatGPT at 7:30 with today's step?"

- On yes, create it with ChatGPT's own scheduler, then call `set_daily_task` with `action: "created"`, its `local_time`, `weekdays`, `title`, and `host_task_id` only if the scheduler returned one. A `request_key` makes a retry safe.
- No scheduler here: `set_daily_task` with `action: "unavailable"`, and tell them to just ask "what's my step today?".
- Minerva sends no reminders itself. Never claim a task that was not created.

## Today's step, in the same turn

Read `get_learning_context` with `view: "program"`. It waits about 25 seconds and answers early: when day one is chosen (`program.first_step`), name it in one line and read again; when its practice is drawn (`first_step.session_id`), usually within a minute, open it at once with `open_practice` — the rest of the program arrives meanwhile. When the program is ready, say in three short lines what it promises, how the days mix and today's step, and open it in the same turn if it is not open yet:

- `step.session_id` is there: `open_session` with it, `resume: "start"` and the `block_id` of its first hands-on block, or none.
- Otherwise `open_practice`. `status: "preparing"` means the practice is still being drawn: say so in one line and call `open_practice` again after `retry_after_seconds`.

For movement or breath, "If anything hurts, stop." belongs inside the three lines. Then let them try; their report and the line for tomorrow follow learn-practice.

## When a picture comes first

"Teach me this" with a photo, a clip or a recording:

1. Look at it yourself and name the one thing that makes it work, in the craft's own words: "The white only appears once the jug is close."
2. Give the first thing to do with the hands next to it, in the same turn. With no program yet, it is one of their wishes, in their words.
3. Ask once whether to keep it:

Preview of the first 4,000 characters. Read full instructions →

learn-practice6.28 KB

View saved version →

---
name: learn-practice
description: Run, compose or resume a hands-on practice with Minerva Learn — open today's drawn practice or a one-off, take attempts as words, numbers, photos, clips or recordings, read measured facts back plainly, and end each practice by keeping one line, word for word, for tomorrow. Use for practising any skill, not for general media production or unrelated requests.
---

# One attempt, one line for tomorrow

## Opening

- Today's step: when `get_learning_context` `view: "today"` gives `step.session_id`, call `open_session` with it; otherwise `open_practice`, which draws it. `status: "preparing"` means it is still being drawn: say so in one line and call again after `retry_after_seconds`.
- Another day's step: `open_practice` with its `step_id`. A one-off they ask for right now: `open_practice` with `ask` in their words and a `request_id`; while `preparing`, repeat the identical call (same `ask`, `minutes`, `request_id`).
- Any practice already drawn or saved: `open_session` with `resume` and a `block_id` for where to start.

Opening starts nothing — no sound, microphone or recording; their own tap does. The widget may be missing: the result carries the whole lesson as text, so walk through it in chat and take answers, numbers and pictures there.

## Composing a lesson yourself

Minerva draws each step's practice. Compose one yourself only when they ask for something the drawn practice does not cover, or bring a picture or page to learn from.

- Domain detail lives in the server's recipes: read `get_learning_context` with `view: "recipes"` and adapt the skeleton that fits. You choose; nothing is matched in code.
- A block is up to six `show` items, one `do` and a few `look_for` lines. The first block is something to do within a minute.
- Every non-text item gets an `alt` that works for someone who cannot see or hear it.
- Before-and-after needs no render: `compare` with `first_attempt` and `latest_attempt` (optionally scoped by `block_id`).
- Calm practices — breath, stretch, rest — carry no quiz.
- Copy is warm and plain, never a production note.
- `save_session` only on their yes, with `session: {lesson, step_id?, goal?}`: a `step_id` makes it that day's practice in place of the drawn one; a `goal` key files it under that goal. `revise_session` with `target: {id, expected_revision}` changes or archives one; progress stays with the revision it was made on.

## Attempts that arrive as media

- A photo, clip or recording of their attempt: look at it yourself — the saved previews go to the widget, not to you — and speak about the craft only.
- Ask before keeping it: "Keep this cup with today's attempt?" On yes, `save_media` with `role: "attempt"`, the `session_id` and `block_id`, then list its `media_id` in the attempt's `observation.media_ids`.
- Clips are up to 60 seconds. The original is deleted after parsing; frames, previews and numbers stay.
- No live camera: the widget cannot open one. They record on their phone and send it here.

## Results and facts

- The widget records `result` events itself. An answer to a block given in chat: `record_practice` with a `result` event, that `block_id` and the shape of its `do`. A loose number from chat: a `result` without `block_id`.
- The server returns `facts` from arithmetic and tokens only. Say them plainly — "32 taps, 27 inside ±60 ms, 18 ms late on average" — never as a grade. Free text, formulas, photos and technique are yours to judge, kindly and specifically.
- A record that is wrong: `correct_practice` with `target_event_id`, `expected_revision`, a `reason` and one correction — `withdraw_event`, `replace_observation`, `replace_duration`, `detach_media` or `rescore`.

## End every practice with one line

1. Answer the attempt, not the result: "You tried it. That was the whole assignment."
2. Ask for one line. The question names exactly what will be kept and says it is word for word:

   > Keep "buzzy, but it rang." as today's line, word for word? To

Preview of the first 4,000 characters. Read full instructions →

learn-progress6.16 KB

View saved version →

---
name: learn-progress
description: Continue someone's Minerva Learn program — open every return with their own last line, quoted word for word, their last result and today's step; show a week as their own trail and one weekly sheet; correct, export or delete their saved practice and media, or change their daily task. Use for returning to practice and for saved learning data, not for another person's records.
---

# The first sentence is their own words

## Every return

On any return — "guitar", "coffee", "I'm back", "what's my step today?", the daily task itself:

1. Silently call `get_learning_context` with `view: "today"`.
2. In `progress.recent_notes` (newest first) take the newest note you may quote: `text_source: "learner_verbatim"`, or a `session_end` note with no `text_source` (typed in the player). Never quote `assistant_summary`. By default only notes younger than 14 days (compare `occurred_at` with `as_of`); one, at most two.
3. Your first sentence is that note in quotation marks, byte for byte — case, typos and punctuation untouched:
   > Yesterday you wrote: "buzzy, but it rang."
4. Then the last result, in plain words — the numbers the server measured, or that their latest picture is right there: "and 27 of 32 taps landed at 70." No grade.
5. Then one concrete step built from both and today's `step`, and the offer to open it:
   > Buzz usually means the finger sits too far from the fret — today press just behind it, strum, lift, press again. Four times. Open today's practice?
6. On yes: today's `step.session_id` with `open_session`, `resume: "last"` and a `block_id` you choose — the block your step is about, or none. No `session_id` yet: `open_practice`. To go back to the note's own practice instead, `open_session` with the note's `session_id` and its `block_id`.

- Never ask again about time, things or schedule; they live in the program's wishes and `said`.
- Quote only what the server returned. Host chat memory is never quoted or passed off as saved.
- Paraphrase only without quotation marks, and say "roughly".
- No quotable note: say so plainly — "Nothing kept from last time yet. Start with the first step?"
- After days away: no counting, no forgiveness, just their place — 'Your place hasn't moved: "strumming feels stiff." One minute of the easiest part first, a little slower?' (recipe `return-after-gap`).
- "I forgot everything": "Then we start at the beginning. It hasn't changed." Then `open_session` with `resume: "start"`.

## The week

When they ask what changed, read `get_learning_context` (`progress`) and answer in chat; the widget stays closed.

> I won't grade you — here's your own trail.
> Mon: "buzzy, but it rang."
> Tue: "clean when slow, buzzes on the B string"
> Five evenings, six kept attempts, 41 minutes you reported. The stumble moved from fingers to rhythm — your words, not my score. Want the week on one sheet you can print or send?

- One line per kept note, by day, oldest first, each verbatim.
- Counters only of saved events: days with a note, kept attempts, reported minutes, measured facts as numbers. `mastery` stays `not_assessed`.
- `recent_notes` holds five; for a fuller week read `view: "export"` and take the texts from its events.
- Older notes only when they ask to see the whole way.

On yes, one sheet: `prepare_material` with `title`, `retention: {"mode": "library"}` and this `input`, then `get_material` until it is ready:

```json
{
  "kind": "sheet",
  "title": "Guitar — week one",
  "layout": "cards",
  "items": [
    { "label": "Mon 26 Oct", "body": "“buzzy, but it rang.”" },
    { "label": "Tue 27 Oct", "body": "“clean when slow, buzzes on the B string”" },
    { "label": "Wed 28 Oct", "body": "—" },
    { "label": "Thu 29 Oct", "body": "“Em to Am in four counts, twice.”" },
    { "label": "Fri 30 Oct", "body": "—" },
    { "label": "Sat 31 Oct", "body": "“the change is quiet now, strumming feels stiff.”" },
    { "label": "Sun 1 Nov", "body": "—" },
    { "label": "What we t

Preview of the first 4,000 characters. Read full instructions →

Release notes

Turn the little skills you want to learn into your own program, with short visual practices and a next step each day. Keep a note about how it went, pick up the same practice in a new chat, learn from a photo, or make a practice sheet to use on your own.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Minerva Nova Limited
Keywords
See keywords
Declared availability
No country restrictions declaredDeclared regions; live availability may differ.
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Your list becomes a program
  • A small step every day
  • See it, then try it

Package observed Nov 13, 2026.

Technical details
First seen
Nov 13, 2026 · 18:00 UTC
Last seen
Nov 13, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6ae7bf4a16888191a4f74d05dc44a3f4

Download plugin data (JSON)

Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.