---
name: weekly-workout-review
description: Tự động sinh báo cáo tuần · phân tích volume · đề xuất tuần sau cho Project PT cá nhân.
trigger: "/weekly-review" hoặc "review tuần này" hoặc "tuần này thế nào"
language: vi
version: 1.0
---

# Weekly Workout Review · Skill

> **Cách dùng:** paste file này vào Project → Skills → Create new → Save.
> Khi muốn review tuần, gõ `/weekly-review` trong chat của Project.
> Claude sẽ tự chạy 5 bước dưới mà không cần bạn nhắc lại từng việc.

---

## 🎯 Mục đích

Mỗi tuần — thay vì phải gõ lại "tóm tắt tuần này: cân thế nào, volume tăng giảm, plateau chưa, đề xuất gì tuần sau..." — chỉ cần **1 lệnh** là Claude làm hết.

---

## 📋 Quy trình (Claude thực hiện tuần tự)

### Bước 1 — Đọc dữ liệu từ Knowledge

Mở file `gym-knowledge.md` (trong Project Knowledge).
- Lấy **2 dòng cuối** bảng `Số đo cơ thể`.
- Tính: `Δ_cân`, `Δ_mỡ`, `Δ_eo` so với tuần trước.
- Tính: `Δ_cân_tổng` vs T0 (baseline).

### Bước 2 — Hỏi tuần vừa qua

Nếu user chưa cung cấp, Claude hỏi đúng 3 câu trong **1 tin** (không spam):

```
Trước khi review, mình cần 3 thông tin:
1. Tuần này hoàn thành mấy buổi tập?  (mục tiêu: 4)
2. Buổi nào skip / cắt ngắn?  (lý do nếu có)
3. Tổng volume tuần này (kg lifted)?  Nếu không nhớ, mình ước tính dùm.
```

Sau khi user trả lời → tiếp Bước 3.

### Bước 3 — Phân tích

Tính các chỉ số:
- `% adherence = buổi hoàn thành / 4 × 100`
- `Δ_volume_% = (volume tuần này − volume tuần trước) / volume tuần trước × 100`
- **Plateau check:** nếu `|Δ_cân| < 0.2 kg` trong 2+ tuần liên tiếp → flag.
- **Overtraining check:** nếu `volume ↑ > 25%` + `cân ↓ > 1 kg` cùng tuần → flag.

### Bước 4 — Sinh báo cáo (đúng format trong Project Instructions)

```
📊 Tuần [N] · Review tự động

• Volume: [X] kg ([↑/↓] [Y%] vs tuần trước) — [nhận xét 1 dòng]
• Cân: [W] kg ([↑/↓] [ΔW] vs T0), mỡ [F]% ([ΔF] vs T0)
• ✅ Tốt nhất: [1 điểm cụ thể từ data]
• ⚠ Cần chỉnh: [1 điểm cụ thể + lý do]
```

### Bước 5 — Đề xuất tuần tới

Dựa vào kết quả Bước 3:

| Tình huống | Đề xuất |
|---|---|
| Adherence < 75% | Giảm 1 buổi · ưu tiên hồi phục · không tăng tải |
| Plateau cân ≥ 2 tuần | Tăng deficit +100 kcal HOẶC thêm 1 cardio session |
| Volume ↑ > 15% liên tiếp 2 tuần | Deload tuần sau (-30% tải) |
| Volume ↓ > 15% | Hỏi ngủ / stress · KHÔNG ép tăng tải |
| Tất cả OK | Giữ split · thử tăng 5kg cho 1 bài bạn tự tin nhất |

Format đề xuất:

```
🎯 Tuần [N+1] — đề xuất

- Plan: [giữ/thay đổi gì cụ thể]
- 1 thử nghiệm nhỏ: [1 thay đổi an toàn]
- Ưu tiên hồi phục: [Có / Không]
```

---

## ✅ Output mẫu (Claude sẽ trả về dạng này)

```
📊 Tuần 4 · Review tự động

• Volume: 12,400 kg (↑ 8% vs T3) — tiến bộ ổn định, không bị nhảy bậc
• Cân: 68.3 kg (↓ 1.7 kg vs T0) · mỡ 20% (↓ 2% vs T0)
• ✅ Tốt nhất: Goblet squat 3×10 @ 24kg — form chuẩn, không đau gối
• ⚠ Cần chỉnh: Pull (T4) skip do họp deadline — tuần sau dời sang T5 nếu T4 bận

🎯 Tuần 5 — đề xuất

- Plan: giữ split T2/T4/T6/T7 · Push thử bench DB 14kg (+2kg)
- 1 thử nghiệm nhỏ: thêm 5' core sau mỗi buổi
- Ưu tiên hồi phục: Không (energy tốt, ngủ 7h+ tuần này)
```

---

## 🧠 Tại sao cần Skill này

| Không có Skill | Có Skill |
|---|---|
| Mỗi tuần gõ ~80 từ prompt | Gõ `/weekly-review` |
| Hay quên 1 trong 5 mục | Luôn đủ 5 bước |
| Format khác nhau mỗi lần | Format đồng nhất 100% |
| 3 phút/lần × 52 tuần = 2.6 giờ/năm lãng phí | 2 giây/lần |

---

## 🔌 Bonus — Connector kết hợp

Nếu bạn có **Google Drive Connector** bật:
- Bước 1 có thể đọc thẳng file Excel ghi log từ Drive (không cần update bảng trong Knowledge).
- Cú pháp gọi: `drive.search("workout-log 2026")` → Claude tự lấy.

Nếu có **Google Calendar Connector**:
- Bước 5 đề xuất xong, Claude tự tạo event tuần sau (xem `schedule-prompt.txt`).
