| name | srsa-review |
|---|---|
| description | Use when running Spaced Repetition Systems for AI Agents (SRSA) daily review sessions, grading cards with again/hard/good/easy, and proposing explicit memory add/delete/update actions after each review. |
Use SRSA's command-line workflow to drive efficient agent (you) reviews and turn each review result into actionable memory correction tasks.
- SRSA cards: managed only through
cardandreviewcommands in this skill. - Agent memory system: must be updated explicitly by the agent (add/delete/update), based on reflection.
- Actions that have been corrected by the user
- User preferences
- Decision you have hesitated to make
- Others that the user explicitly wants you to remember
# Print total cards, today's review progress, future due cards and average retrievability
uv run python scripts/main.py status
# Create a new card
uv run python scripts/main.py card new -q "question" -a "answer"
# Override an existing card
uv run python scripts/main.py card override [CARD_ID] -q "question" -a "answer"
# Remove a card
uv run python scripts/main.py card rm [CARD_ID]
# Get a question and its CARD_ID
uv run python scripts/main.py review get-question
# Get the answer and CARD_ID of the current question
uv run python scripts/main.py review get-answer
# Rate the review result, then print historical accuracy, today's review progress and retrievability change
uv run python scripts/main.py review rate [again|hard|good|easy]Follow this sequence strictly. Do not skip steps:
review get-question- The agent answers from its own memory first (do not view the answer yet).
review get-answer- Compare with the answer, then self-grade with
again/hard/good/easy. review rate [RATING]- Use the output's historical correctness and remaining progress to apply the reflection template.
- Continue to the next card until there are no due cards or the user asks to stop.
- If did not run
rate, runningget-questionagain will repeat the previous card. - Running
get-answerbeforeget-questionreturns an error. - Running
ratebeforeget-answerreturns an error.
- again: You could not recall it, or the core facts in your answer were wrong.
- hard: You recalled it, but with clear difficulty and noticeable delay.
- good: You answered correctly with only a brief pause.
- easy: You answered quickly and accurately with no obvious hesitation.
After each rating, unless the self-rating is easy, output reflection using this template:
- Conclusion for this card
- Was the answer correct?
- What were the main errors or hesitation points?
- Update your memory system (explicit action required)
- Add: If missing key information caused a wrong or slow answer.
- Delete: If interfering memory caused misjudgment.
- Update: If existing memory is inaccurate and needs correction.
- Challenge the card (optional)
- Is the prompt underspecified or ambiguous?
- Does the reference answer need revision?
- Next step
- Ask for the next card, or state that the review is finished.
- In the
get-questionstage, focus only on the prompt. - In the
get-answerstage, focus only on the reference answer. - In the
ratestage, do scoring and reflection only; do not rewrite the full question. - In long review sessions, keep reflections short to control context length.
- When updating memory, you need to explicitly state the action (add/delete/update) on your own memory system. SRSA tracks and schedules cards only. It does not automatically update it.
End the review when any one condition is met:
- The command output says "No due cards".
- The user explicitly asks to pause or stop.
- If a command returns an error, fix the call order first, then continue.
- If a card is clearly problematic (ambiguous prompt or wrong answer), use the following when needed:
card override [CARD_ID] ...to revise contentcard rm [CARD_ID]to remove an invalid card