lorekeeper-code-reviewerlisted
Install: claude install-skill Jessinra/Lorekeeper
# Lorekeeper Code Review Patterns
Use this skill when reviewing any PR that changes `src/lorekeeper/` runtime code, services, handlers, or MCP server. These are project-specific patterns that general-purpose review prompts miss.
Load alongside `github-code-review` for a complete review session.
## Severity Tiers
Every review comment **must** carry a severity label.
| Label | Tier | Merge impact |
| ------------- | ---------- | --------------------------------- |
| `blocker:` | 🔴 BLOCKER | **Must fix before merge** |
| `issue:` | 🟠 MAJOR | Fix before merge or create ticket |
| `suggestion:` | 🟡 MINOR | Fix encouraged, deferrable |
| `nit:` | 🔵 NIT | Optional, never blocks |
| `praise:` | ✅ | Acknowledge good work |
**Merge contract:** PR is mergeable when all BLOCKERs resolved, all MAJORs resolved OR tracked, CI green, ≥1 human approval.
## 🔴 BLOCKER Patterns — Lorekeeper-Specific
These are always BLOCKER. They are the patterns most commonly missed by general review.
### 1. print() in runtime code → MCP protocol corruption
```python
# BLOCKER — stdout is reserved for MCP JSON-RPC
print(f"Added memory: {lore_id}")
# CORRECT
logger = structlog.get_logger()
logger.info("Memory added", lore_id=lore_id)
```
**Check:** every `print(` in `src/lorekeeper/`. CLI tools (scripts/, **main**.py) are exempt. `log.exception()` goes to stderr — fine.
### 2. mem0.add()