Use LLMs to pass LLM and algorithm exams — an education-focused Claude Code Skills + MCP exam-prep harness
中文文档 | Keywords: education, exam-prep, llm, algorithm, claude-code, mcp, ai-agents, spaced-repetition, python-oj
- Education-first workflow: turns practice into a repeatable study loop, not a pile of notes.
- Agent-ready structure: predictable
skills/,targets/,shared/, andprogress/folders make it easy for coding agents and MCP tools to inspect. - Closed-loop exam prep: mistakes feed future annotations, choice-question drills, readiness reports, and planned review scheduling.
- Local by default: Markdown files remain readable and versionable; MCP adds persistence and retrieval without becoming a hard dependency.
An execution harness, not a knowledge base. It chains Claude Code's Skill mechanism into an automated closed loop: algorithm skeleton generation → solution diagnosis → annotation → mistake tracking → targeted question drilling → review planning.
Built for AI/算法岗位笔试 preparation, but the core Skill Pipeline is exam-agnostic and can be adapted to any written exam target.
- Skill Pipeline: solve-skeleton → solve-analyze → algo-annotation — full chain from problem to annotated solution
- Mistake Feedback Loop: WA/TLE errors auto-recorded, next problem auto-annotated with
# [防错]markers - Choice Question Engine: targeted generation → interactive drill → instant scoring → weakness analysis
- MCP Experience Persistence (optional): cross-session error pattern storage + user profiling via custom MCP Server
- Progress and Review Tracking: readiness score, coverage gaps, daily must-do list, and a planned spaced-review queue
Suggested GitHub topics for discoverability:
education, exam-prep, llm, algorithm, python, claude-code, mcp, ai-agents,
agent-workflow, spaced-repetition, study-tools, interview-prep, oj
If you are an agent, MCP client, or local retrieval tool, start here:
| Need | Entry Point |
|---|---|
| Session bootstrap | START_HERE.md |
| Project rules and skill routing | AGENTS.md |
| Current handoff and target setup | HANDOFF.md |
| Skills callable by an agent | skills/ |
| Target-specific exam material | targets/{target}/ |
| Shared MCP server and retrieval helpers | shared/exam_memory/ |
| Development roadmap | docs/dev-roadmap.md |
| Review mechanism plan | docs/plans/2026-06-17-review-mechanism-implementation-plan.md |
- Claude Code CLI or VS Code extension
- Python 3.10+ (only needed for MCP Server)
| Component | Details |
|---|---|
| IDE | VS Code (recommended — interactive quiz mode requires VS Code extension) or terminal |
| Claude Code | VS Code extension (recommended) or CLI (npm install -g @anthropic-ai/claude-code) |
| Model Provider | Any provider supported by Claude Code (Claude API, third-party, local) |
| Python | 3.10+ (only for exam-memory MCP Server) |
This project was developed using the Claude Code VS Code extension with third-party model providers. The Skill Pipeline is model-agnostic — any capable model works.
git clone https://github.com/Tenstu/pass-llm-with-llm.git
cd pass-llm-with-llmEdit HANDOFF.md with your exam name, date, and daily study hours. Update targets/{target}/sources/ with your exam's historical patterns.
- Open the project in Claude Code
- First time? Say "init" or "初始化" to launch the onboarding guide — it collects your exam target, date, and scope
- Daily use: read
START_HERE.mdfor session bootstrap - For algorithm problems:
Skill(skill="solve-skeleton") - For diagnosis:
Skill(skill="solve-analyze") - For choice questions:
Skill(skill="choice-q-create")→Skill(skill="choice-q-drill")
git clone → cd pass-llm-with-llm
│
├── pip install mcp # optional: for exam-memory MCP server
│
├── edit .mcp.json # register exam-memory, pointing to shared/exam_memory/server.py
│
├── open in Claude Code
│ │
│ ├── first time → say "init" → init-guide Skill walks you through setup
│ │
│ └── daily use → read START_HERE.md → Skill Pipeline
│
└── (optional) configure external MCPs: ChatMem, mempalace, onefind
these are environment-level, not project-bundled
configure these in your Claude Code environment if needed
This project bundles one MCP server (exam-memory) and references external MCPs that are not included:
| MCP Server | Bundled? | Purpose | Setup |
|---|---|---|---|
exam-memory |
Yes | Cross-session experience persistence + user profiling | pip install mcp + edit .mcp.json |
| ChatMem | No | Cross-session conversation memory | External install |
| mempalace | No | Structured knowledge storage | External install |
| onefind | No | Local knowledge base retrieval | External install |
All skills degrade gracefully to local-only mode when MCP is unavailable. To enable the bundled server, register .mcp.json with a stdio command that runs shared/exam_memory/server.py.
| Skill | Purpose | MCP Required |
|---|---|---|
| init-guide | First-run onboarding: exam target, date, scope, user profiling | Optional |
| solve-skeleton | Algorithm problem skeleton generation (8 templates + 6 patterns) | No |
| solve-analyze | Diagnosis: code comparison + root cause tagging | Optional |
| algo-annotation | Chinese comments + # [防错] markers |
No |
| choice-q-create | Targeted choice question generation | Optional |
| choice-q-drill | Interactive quiz + instant scoring | Optional |
| exam-assistant | Exam assistant with experience retrieval + user profiling | Yes |
| review-tracker | Progress aggregation + readiness trends | No |
All skills with "Optional" MCP degrade gracefully to local-only mode when MCP is unavailable.
ChatMem provides cross-session conversation memory. While not required, it significantly improves these skills:
| Skill | With ChatMem |
|---|---|
| review-tracker | Stores historical progress reports; enables cross-session trend comparison |
| exam-assistant | Recalls prior quiz sessions and error discussions for continuity |
| init-guide | Remembers previous onboarding attempts; avoids re-collecting known info |
| solve-analyze | Links diagnosis history across sessions for pattern recognition |
Install ChatMem and register it in your Claude Code global config.
MemPalace provides structured knowledge storage with cross-wing knowledge graphs. Best suited for long-term knowledge management beyond a single exam cycle:
| Use Case | How It Helps |
|---|---|
| Knowledge graph | Map prerequisite relationships (e.g., DP ← knapsack, binary search ← sorted array) for targeted review |
| Agent diary | Record learning observations per session; build a searchable history of "what I learned" |
| Cross-project knowledge | Link exam prep notes with project work, interview prep, or research notes |
Best paired with review-tracker (knowledge graph for coverage gaps) and exam-assistant (structured retrieval of prior insights). Not directly called by any bundled skill — use MemPalace tools manually via Claude Code.
OneFind retrieves content from your local knowledge base (Obsidian vaults, Zotero libraries, folders). Useful if you already maintain study notes outside this project:
| Use Case | How It Helps |
|---|---|
| Obsidian notes | Search your existing ML/algorithm notes for related concepts when practicing |
| Zotero library | Retrieve reference papers for Transformer, GNN, Diffusion topics in shared/cheatsheets/ or targets/{target}/cheatsheets/ |
| Hybrid search | Combine lexical + semantic search across all local sources |
Best paired with choice-q-create (search notes for question material), exam-assistant (retrieve references during explanation), and review-tracker (check if your notes cover the required topics). Not directly called by any bundled skill — use OneFind tools manually via Claude Code.
OneFind's folder source can index shared/exam_memory/experiences/ for semantic search. However, OneFind is designed as a read-only retrieval layer — it cannot replace exam-memory's write-through pipeline (save experience → vectorize → store atomically). The recommended setup:
| Layer | Role | Write | Read |
|---|---|---|---|
exam-memory MCP |
Experience CRUD + error counting + user profiling | Yes (save, update) | Yes (list, filter by type) |
| OneFind folder source | Semantic search overlay on experience files | No (index refresh only) | Yes (semantic + keyword) |
Setup: Configure OneFind's folder_library to point at shared/exam_memory/experiences/, then use onefind_search with target="folder" for semantic retrieval of past experiences. After saving new experiences via MCP, trigger onefind_index_refresh to pick up changes.
- Skill Pipeline: solve-skeleton / solve-analyze / algo-annotation
- Choice question engine: create / drill / scoring
- exam-memory MCP V1: local file-based experience CRUD + user profiling
- Progress tracking and mistake feedback loop
Upgrade exam-memory from keyword matching to semantic search:
| Phase | Feature | Dependencies |
|---|---|---|
| 1 | Experience auto-vectorization → numpy store | sentence-transformers (bge-m3) |
| 2 | list_experiences supports semantic retrieval |
Phase 1 |
| 3 | LLM auto-infers user profile | LLM API |
| 4 | Knowledge graph for prerequisite recommendations | Phase 1 |
Bring spaced review into the active development path:
- File-based review queue under
targets/{target}/progress/reviews/ - SM-2 inspired scheduling for mistakes, weak topics, and choice-question errors
- Optional MCP tools for
list_due_reviewsandmark_review_result - Planned in Review Mechanism Implementation Plan
- Multimodal: screenshot OCR → auto problem-type detection + experience retrieval
- Cross-device sync: Git or WebDAV for experience files
- Analytics dashboard: strength/weakness heatmap, error trends, review plan
- GitHub issue & PR templates (
.github/) CHANGELOG.md
pass-llm-with-llm/
AGENTS.md # Project rules, Component Map, Skill Pipeline
START_HERE.md # Session bootstrap + Skill invocation guide
HANDOFF.md # Session handoff template
README.md # This file (English)
README_CN.md # Chinese documentation
skills/ # Claude Code Skill definitions
init-guide.md # First-run onboarding (exam target, date, scope)
solve-skeleton/ # Algorithm skeleton templates
solve-analyze/ # Solution diagnosis engine
algo-annotation.md # Code annotation with mistake markers
choice-q-create.md # Choice question generator
choice-q-drill.md # Interactive quiz mode
exam-assistant.md # MCP-backed exam assistant
review-tracker.md # Progress aggregation
targets/ # Target-specific exam content
ai-lab/
exam_config.md # Exam format and scoring parameters
cheatsheets/ # Target-specific AI/ML quick-reference notes
daily/ # Target-specific daily plans
progress/ # Choice rounds, study planning, exam analysis, task board
prompts/ # Target-specific prompt templates
sources/ # Historical patterns and target-specific references
pdd-algo/
exam_config.md # PDD algorithm exam configuration
python_oj_template.py # Utility function library
solutions_batch.py # Exam problem solution collection
practice/ # Practice problems by topic
solutions/ # Individual solution write-ups
mistake_log.md # WA/TLE error patterns
topic_checklist.md # Topic coverage tracking
progress/ # Target-specific progress tracking
shared/ # Cross-target shared content
cheatsheets/ # Generic LLM/ML/project quick-reference notes
daily/ # Shared daily plans (YYYY-MM-DD.md)
exam_memory/ # Custom MCP server and experience store
server.py # MCP tools for experience persistence
experiences/ # Experience files (YAML frontmatter + Markdown)
user_profile.json # User strengths/weaknesses/preferences
progress/ # Shared progress/task-board files
prompts/ # Generic prompt templates
algorithms/ # Legacy stub; active OJ assets live under targets/
exam_memory/ # Legacy stub; active MCP code lives under shared/exam_memory/
progress/ # Legacy stub; active progress lives under shared/ or targets/
prompts/ # Prompt templates
The framework defaults to the configured target in HANDOFF.md and is designed to be reconfigured:
- Add or replace files under
targets/{target}/sources/with your target exam's pattern analysis - Update
targets/{target}/exam_config.mdwith question counts, scoring, and timing - Put target-specific notes under
targets/{target}/cheatsheets/; keep reusable notes undershared/cheatsheets/ - Adjust
AGENTS.mdExam Format table
See CONTRIBUTING.md for guidelines.