From django-engine-pro
End-of-session learning. Saves what happened, updates knowledge confidence, surfaces items for review. Run this when your work session is complete.
How this command is triggered — by the user, by Claude, or both
Slash command
/django-engine-pro:learnhaikuThe summary Claude sees in its command listing — used to decide when to auto-load this command
# /learn You are the epistemic learning agent. When the user runs `/learn`, execute these four phases in order. ## Phase 1: Save the Session Write a session summary to `knowledge/session_log/`. Create a file named with the current timestamp (YYYYMMDDTHHmmSS.jsonl). Write one JSON line per event. Include: Reconstruct this from your memory of the session. Include: - Which agents you loaded - Which knowledge claims you consulted (if any) - What suggestions you made and whether they were accepted - What files were changed - Any patterns you observed that are not in the knowledge base (...
You are the epistemic learning agent. When the user runs /learn,
execute these four phases in order.
Write a session summary to knowledge/session_log/. Create a file
named with the current timestamp (YYYYMMDDTHHmmSS.jsonl).
Write one JSON line per event. Include:
{"event":"session_start","timestamp":"...","project":"..."}
{"event":"agent_invoked","agent":"orm-specialist","trigger":"optimizing N+1 queries in list view"}
{"event":"claim_consulted","claim_id":"claim-007","relevance_score":0.85}
{"event":"suggestion","suggestion_id":"sug-001","file":"api/serializers.py","claim_refs":["claim-007"]}
{"event":"suggestion_outcome","suggestion_id":"sug-001","outcome":"accepted"}
{"event":"candidate_claim","description":"DRF nested write serializers should always split read/write serializer classes"}
{"event":"auto_capture","claims_added":["a1b2c3d4e5f6"],"solution_file":"knowledge/solutions/engine-api-serializers-2026-03-30.md","domain":"engine.api.serializers","project":"myproject"}
{"event":"session_end","timestamp":"...","duration_minutes":25,"files_changed":["api/serializers.py","api/views.py"]}
Reconstruct this from your memory of the session. Include:
candidate_claim events)Run the fast learning script:
python -m scripts.epistemic.learn --plugin django-engine-pro
Read the JSON output from stdout. This is the review queue.
Present the review queue items to the user. Handle each type:
Report them. No action needed from the user.
Format:
Knowledge updates:
claim-007 strengthened: 0.71 -> 0.79 (suggestion accepted)
claim-012 weakened: 0.65 -> 0.52 (suggestion rejected)
Show the tension and ask the user to resolve it.
Format:
Tension detected:
"claim-003 says always use cursor pagination, but this session
used offset pagination for the same endpoint type"
Related claims: claim-003, claim-018
Options:
1. Update claim-003
2. Keep both (context-dependent)
3. Dismiss (one-off exception)
Wait for the user's response. If they choose to update a claim,
edit the claim in knowledge/claims.jsonl.
Show proposed claims and ask if they should be added.
Format:
Observed pattern:
"DRF nested write serializers should always split read/write serializer classes"
Add to knowledge? [yes / no / edit first]
If yes, append to knowledge/claims.jsonl as a new claim with
status "active" and default confidence (0.67).
Check knowledge/claims.jsonl for claims with "source": "auto-capture"
and first_seen matching today's date. These were captured during the
session by the compound learning layer.
For each, present:
Auto-captured this session:
[1] "Split read/write serializer classes when endpoint supports both POST and PATCH"
Domain: engine.api.serializers | Confidence: 0.67
Source: knowledge/solutions/engine-api-serializers-2026-03-30.md
Actions: [keep / edit / retire]
If the user edits a claim, update it in claims.jsonl. If they retire it, set status to "retired". If they keep it, no action needed.
Show claims that need human judgment.
Format:
Needs attention:
claim-012 (confidence 0.38): "Always use bulk_create over individual save() in data imports"
This claim has been rejected more often than accepted.
Options: [keep / retire / edit]
If retire, set the claim's status to "retired" in claims.jsonl.
Print a one-line summary at the end:
[django-engine-pro]: N active claims, avg confidence X.XX, M items reviewed
If there were no review items, just print:
[django-engine-pro]: N active claims, avg confidence X.XX, session saved
/learnAnalyzes the current session for non-trivial patterns—error resolutions, debugging techniques, workarounds, and conventions—then saves them as reusable skill files.
/learnInteractively explores Task Master capabilities with tailored suggestions, command lists by category/scenario, power user patterns, and learning paths based on arguments or project state.
/learnAutonomously scouts codebase, learns structure, generates or updates documentation with validation-fix loops.
/learnAnalyzes the current session for non-trivial patterns—error resolutions, debugging techniques, workarounds, and conventions—then saves them as reusable skill files.
/learnDisplays Claude Code best practices guide on sessions, context, memory, modes, CLI shortcuts, worktrees, and prompting. Also supports specific topics and saving session lessons to persistent memory.
/learnToggles learning mode in vibe sessions to enable/disable educational micro-explanations after each step. Accepts 'on', 'off', or no argument to toggle.
npx claudepluginhub travis-gilbert/claude-marketplace --plugin django-engine-pro