Skip to content
Automation
Skill

/learn-stats

Report spaced-repetition statistics: total facts, overdue count, retention rate, active decks, and facts added this week. Use when the user says "stats", "estatísticas", "como está meu aprendizado", "/learn-stats", or wants a dashboard of their learning loop.

From plugin
evo-nexus
520193 skills38 agents40 commands9 MCP
Install
$ npx -y skills add evolution-foundation/evo-nexus --skill learn-stats --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/learn-stats

Context preview

The summary Claude sees to decide when to auto-load this skill.

Report spaced-repetition statistics: total facts, overdue count, retention rate, active decks, and facts added this week. Use when the user says "stats", "estatísticas", "como está meu aprendizado", "/learn-stats", or wants a dashboard of their learning loop.

SKILL.md

learn-stats.SKILL.md
name: learn-stats
description: Report spaced-repetition statistics: total facts, overdue count, retention rate, active decks, and facts added this week. Use when the user says "stats", "estatísticas", "como está meu aprendizado", "/learn-stats", or wants a dashboard of their learning loop.

Learn Stats

Reads `workspace/learning/facts/` and `workspace/learning/.state/review-log.jsonl` to produce a markdown stats report.

Trigger

User wants a snapshot of their learning loop health.

Workflow

Step 1 — Read facts

1. Read all `.md` files in `workspace/learning/facts/` 2. Parse frontmatter of each file 3. Get today's date (YYYY-MM-DD) 4. Compute:

  • `total` = count of all fact files
  • `overdue` = count where `next_review <= today`
  • `active_decks` = count of unique `deck` values across all facts
  • `added_this_week` = count where `created >= today - 7 days`

If `workspace/learning/facts/` does not exist or is empty: > "Nenhum fato encontrado. Use /learn-capture para adicionar fatos primeiro." > Stop here.

Step 2 — Read review log

1. Read `workspace/learning/.state/review-log.jsonl` line by line (each line is a JSON object) 2. If the file does not exist or is empty: `total_reviews = 0`, `retention_rate = "N/A"` 3. If it exists:

  • `total_reviews` = count of all log entries
  • `good_easy_count` = count where `grade == "good"` OR `grade == "easy"`
  • `retention_rate` = `round(good_easy_count / total_reviews * 100)%`

Step 3 — Output report

Print in markdown, in **pt-BR**:

## 📊 Learning Loop — Stats

| Métrica             | Valor        |
|---------------------|--------------|
| Total de fatos      | {total}      |
| Vencidos hoje       | {overdue}    |
| Taxa de retenção    | {retention_rate} ({good_easy_count}/{total_reviews} revisões) |
| Decks ativos        | {active_decks} |
| Adicionados (7 dias)| {added_this_week} |

**Data:** {today YYYY-MM-DD}

If `overdue > 0`: > 💡 Use `/learn-review` para revisar os fatos vencidos.

If `total < 10`: > 💡 Use `/learn-capture` para adicionar mais fatos (meta v0: 20 fatos em 2 semanas).

Step 4 (optional) — List overdue facts

If `overdue > 0` and `overdue <= 10`, list them:

### Fatos vencidos
- `{filename}` (deck: {deck}, venceu: {next_review})
  > {Retrieval Q — first 80 chars}

Constraints

  • **Read-only.** Do NOT modify any file.
  • Do NOT write to review-log.jsonl.
  • If log is missing (user hasn't reviewed yet), show `N/A` for retention — do not error.
  • Round retention_rate to nearest integer (no decimal places).
Read more
Ships withevo-nexus

The open source operating system for AI-powered businesses

Get the whole plugin

Other skills on evo-nexus.