Tạo và chạy Ralph Loop cho CuCu Note dựa trên bộ script `ralph-wiggum-cursor` (theo chuẩn của agrimsingh/ralph-wiggum-cursor).

Cách dùng:
- Gõ: `/ralph-loop <mô tả task ngắn>` (ví dụ: `/ralph-loop harden backend & agent CuCu`).
- Hoặc với options: `/ralph-loop <task> --parallel --max-parallel 3`

Khi thực thi lệnh này, hãy:

1. **Kiểm tra xem bộ script Ralph đã có chưa**
   - Kiểm tra sự tồn tại của thư mục `.cursor/ralph-scripts/` và file `ralph-loop.sh`.
   - Nếu **chưa có**, đừng tự ý tạo script mới.
     - Giải thích cho user rằng cần cài đặt theo chuẩn ralph-wiggum-cursor:
       ```bash
       curl -fsSL https://raw.githubusercontent.com/agrimsingh/ralph-wiggum-cursor/main/install.sh | bash
       ```
     - Hoặc tham khảo `./.cursor/skills/ralph-wiggum-cucu/SKILL.md` cho hướng dẫn chi tiết.
     - **Kết thúc lệnh** sau khi hướng dẫn cài đặt.

2. **Làm rõ task mà user muốn chạy bằng Ralph**
   - Dựa vào `<mô tả task ngắn>` sau `/ralph-loop`, hỏi lại để làm rõ:
     - Mục tiêu cụ thể là gì? (backend, frontend, agent, test, docs…)
     - Thành công được định nghĩa như thế nào? (test pass nào? behaviour nào?)
     - Có nhiều task độc lập không? (để dùng parallel mode)
     - Có task phụ thuộc nhau không? (để dùng task groups)
   - Sau khi rõ, tóm tắt lại task trong 3–5 bullet ngắn, user confirm OK rồi mới tiếp.

3. **Thiết kế hoặc cập nhật `RALPH_TASK.md` theo chuẩn ralph-wiggum-cursor**
   - Format YAML frontmatter (bắt buộc):
     ```yaml
     ---
     task: Build a REST API
     test_command: "pnpm test"
     ---
     ```
   - Nếu chưa có file `RALPH_TASK.md` ở root project:
     - Tạo file mới với:
       - YAML frontmatter với `task` và `test_command` (có thể chạy được trong repo).
       - Phần **Success Criteria** dạng checklist `[ ]` rõ ràng, testable (Ralph track completion bằng cách đếm unchecked boxes).
       - Phần **Context / Gợi ý cho Agent** link tới các skill CuCu liên quan.
   - Nếu đã có `RALPH_TASK.md`:
     - Đọc nội dung hiện tại.
     - Cập nhật lại `task`, `test_command` và checklist để phản ánh đúng task mới.
   - **Task Groups (phased execution)**: Nếu có nhiều task phụ thuộc nhau, dùng annotation `<!-- group: N -->`:
     ```markdown
     - [ ] Create database schema <!-- group: 1 -->
     - [ ] Create User model <!-- group: 1 -->
     - [ ] Add relationships <!-- group: 2 -->
     - [ ] Build API endpoints <!-- group: 3 -->
     ```
     - Group 1 chạy trước (parallel), group 2 sau khi group 1 xong, v.v.
     - Task không có annotation sẽ chạy LAST.

4. **Đề xuất mode chạy và command phù hợp**
   - **Sequential mode** (mặc định): Task phụ thuộc nhau hoặc single complex task.
     - Command: `./.cursor/ralph-scripts/ralph-setup.sh` (interactive với gum UI)
     - Hoặc CLI: `./.cursor/ralph-scripts/ralph-loop.sh -n 20 -m gpt-5.2-high`
   - **Parallel mode**: Nhiều task độc lập, muốn chạy nhanh hơn.
     - Command: `./.cursor/ralph-scripts/ralph-loop.sh --parallel --max-parallel 3`
     - Hoặc với integration branch + PR: `./.cursor/ralph-scripts/ralph-loop.sh --parallel --max-parallel 5 --branch feature/multi-task --pr`
   - **Human-in-the-loop** (khuyến nghị cho task mới):
     - Chạy 1 iteration trước: `./.cursor/ralph-scripts/ralph-once.sh`
     - Review xong rồi mới chạy full loop.
   - **Flags quan trọng**:
     - `-n, --iterations N`: Max iterations (default: 20)
     - `-m, --model MODEL`: Model (default: opus-4.5-thinking)
     - `--branch NAME`: Tạo/làm việc trên branch
     - `--pr`: Mở PR khi complete (cần --branch)
     - `--parallel`: Chạy parallel với worktrees
     - `--max-parallel N`: Số agent chạy song song (default: 3)
     - `--no-merge`: Giữ branches riêng (parallel mode)
     - `-y, --yes`: Skip confirmation prompt

5. **Giải thích flow và monitoring**
   - Flow của Ralph:
     - Mỗi iteration: Đọc `RALPH_TASK.md` + `.ralph/progress.md` + `.ralph/guardrails.md` (state trong git, không phải context).
     - Làm việc trên unchecked criteria.
     - Commit thường xuyên: `git add -A && git commit -m 'ralph: [criterion] - description'`
     - Update `.ralph/progress.md` và `.ralph/guardrails.md`.
     - Rotate khi context đầy (80k tokens).
   - Monitoring:
     - Xem activity real-time: `tail -f .ralph/activity.log`
     - Check errors: `cat .ralph/errors.log`
     - Context health indicators: 🟢 (<60%), 🟡 (60-80%), 🔴 (>80%)
   - Completion detection:
     - Tất cả `[ ]` → `[x]` trong `RALPH_TASK.md`
     - Hoặc agent output `<ralph>COMPLETE</ralph>`
   - Gutter detection: Parser tự detect khi agent stuck (same command fail 3x, file thrashing).
   - Rate limit handling: Tự động DEFER với exponential backoff khi gặp 429/timeout.

6. **Output cho user**
   - In ra:
     - Tóm tắt task.
     - Nội dung YAML frontmatter của `RALPH_TASK.md`.
     - Danh sách success criteria (checkbox) với task groups nếu có.
     - Command Ralph đề xuất (code block dễ copy):
       - Sequential: `./.cursor/ralph-scripts/ralph-setup.sh`
       - Parallel: `./.cursor/ralph-scripts/ralph-loop.sh --parallel --max-parallel 3`
       - Scripted: `./.cursor/ralph-scripts/ralph-loop.sh --branch feature/foo --pr -y`
   - Nhắc lại best practices:
     - Luôn chạy trên branch riêng.
     - Review diff bằng mắt sau mỗi đợt loop.
     - Check `.ralph/errors.log` nếu agent stuck.
     - Dùng `ralph-once.sh` để test trước khi chạy full loop.


