agentsclimarketplace

Learn

Skill JoeCotellese/claude-code-config/skills/learn

Spaced repetition study session using smem CLI. Invoke with /learn or when user says 'quiz me', 'study time', 'flash cards', 'review cards'. Pulls due cards from smem and runs an interactive review.From its SKILL.md

Install
npx -y skills add JoeCotellese/claude-code-config --skill learn

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.3 KB, as published. Nobody here has run it

Learn - Spaced Repetition Study Skill

Run an interactive spaced repetition session using the smem CLI tool.

How smem Works

smem is a CLI tool that stores flashcards in decks with SM-2 scheduling. All output is JSON.

Key Commands

# List all decks
smem deck list

# Fetch due cards (default 1, use --count for more)
smem review next --deck <deck-id> [--count <n>]

# Submit quality rating after review
smem review answer <card-id> --quality <0-5>

# Show deck progress
smem review stats --deck <deck-id>

JSON Output Envelope

{"status": "ok", "data": {...}}
{"status": "error", "message": "...", "code": "..."}

Session Flow

1. Start

When invoked, first check what decks exist and which have due cards:

smem deck list

If multiple decks have due cards, ask which deck to study. If only one deck has due cards, use it. If a deck name or ID is provided as an argument, use that.

Then show deck stats:

smem review stats --deck <deck-id>

Report: "You have N cards due. Cominciamo?"

2. Card Loop

Fetch one card at a time:

smem review next --deck <deck-id>

Parse the JSON response. The card has front and back fields.

Present the card:

  • Show only the front (the question)
  • Hold back the back (the answer)
  • Wait for the user's response

After the user answers:

  • Reveal the back (correct answer)
  • Compare their answer to the correct one — be encouraging, note if they were close
  • Ask them to self-rate: "How'd you do? (0-5)"
    • 0 = complete blackout
    • 1 = wrong
    • 2 = wrong but recognized correct answer
    • 3 = correct with difficulty
    • 4 = correct with hesitation
    • 5 = instant recall

Record the rating:

smem review answer <card-id> --quality <rating>

Then fetch the next card. Continue until:

  • No more cards are due (empty cards array in response)
  • User says "stop", "done", "basta", or similar

3. End Session

When the session ends, show stats:

smem review stats --deck <deck-id>

Summarize: cards reviewed, how many were easy vs hard, when next cards are due.

End with an encouraging Italian phrase.

Tone

  • Conversational and encouraging
  • Use Italian liberally (the user is learning)
  • Correct mistakes gently with brief explanations
  • Celebrate streaks and good recall
  • Keep it moving — don't over-explain unless asked

Arguments

  • /learn — auto-detect deck with most due cards
  • /learn italian — search for deck by name (case-insensitive partial match)
  • /learn 1 — use deck by ID
  • /learn 5 (with deck context) — review 5 cards then stop

Quality Rating Guide

Show this on first card of each session, then abbreviate:

Rate yourself:
  0 = blank    3 = hard but correct
  1 = wrong    4 = good
  2 = close    5 = instant

Edge Cases

  • No due cards: "Niente da fare! No cards due. Next review: [date from next_due field]"
  • Empty deck: "This deck has no cards. Add some with: smem card add --deck <id> --front '...' --back '...'"
  • smem not installed: "smem CLI not found. Install it: cd ~/git/spacedmemory && uv tool install -e ."

Keep looking

Skills are one crate of 626,194. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.