# Plain Optimize

> Captures and analyzes performance traces to identify slow queries and N+1 problems. Use when analyzing performance or optimizing database queries.

- Skill: `majiayu000/plain-optimize` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/plain-optimize`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/plain-optimize/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/plain-optimize

---


# Performance Optimization Workflow

## 1. Capture Traces

Make a request with tracing enabled:

```
uv run plain request /path --user 1 --header "Observer: persist"
```

## 2. Find Traces

```
uv run plain observer traces --request-id <request-id>
```

## 3. Analyze Trace

```
uv run plain observer trace <trace-id> --json
```

## 4. Identify Bottlenecks

Look for:

- N+1 queries (many similar queries)
- Slow database queries
- Missing indexes
- Unnecessary work in hot paths

## 5. Apply Fixes

- Add `select_related()` / `prefetch_related()` for N+1
- Add database indexes for slow queries
- Cache expensive computations

## 6. Verify Improvement

Re-run the trace and compare.

