[{"id":1,"title":"Diễn họa kiến trúc","category":"Ảnh 3D","template":"> *\"Hãy đóng vai một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI. Tôi sẽ cung cấp một bức ảnh nội thất. Nhiệm vụ của bạn là viết một bản mô tả siêu chi tiết (không dưới 2000 từ) để 'khóa' toàn bộ không gian. \n> \n> **Yêu cầu bắt buộc:**\n> 1. **Thiết lập hệ quy chiếu:** Xác định góc máy, tiêu cự ống kính và điểm tụ.\n> 2. **Khóa lưới ánh sáng:** Mô tả chính xác số lượng và vị trí đèn trần theo dạng lưới (ví dụ: lưới 4x4).\n> 3. **Định hướng vật thể:** Mô tả hướng của mọi đồ vật (bàn, ghế, sofa, tủ lạnh) so với các bức tường (song song, vuông góc, hướng mặt về đâu).\n> 4. **Chi tiết vật liệu:** Chỉ định rõ loại gỗ, loại đá, độ bóng (glossiness), loại vải và màu sắc theo mã màu kiến trúc.\n> 5. **Hậu cảnh kỹ thuật:** Mô tả chi tiết hướng cầu thang, các lối đi, và các phòng ẩn/cửa đóng ở phía sau.\n> 6. **Mục tiêu:** Bản mô tả phải giúp AI tạo ra 10 ảnh giống hệt nhau về bố cục và vật liệu. Không giải thích lan man, tập trung vào thông số kỹ thuật.\"*\n\n---\n\n### 2. Cấu trúc Output tiêu chuẩn (The Output Structure)\nMột bản mô tả \"chuẩn\" để AI không thể làm sai sẽ luôn có 9 phần sau:\n\n*   **Phần 1: Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính (eye-level), tiêu cự (thường là 24mm hoặc 35mm) và điểm tụ của bức ảnh.\n*   **Phần 2: Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần (phẳng/giật cấp) và khóa vị trí đèn theo tọa độ (ví dụ: hàng 1 có 4 đèn, hàng 2 có 4 đèn...).\n*   **Phần 3: Sàn và Tường (Flooring & Walls):** Loại vật liệu (Marble/Gỗ), kích thước gạch, hướng vân đá, màu sơn tường và len chân tường.\n*   **Phần 4: Khu vực Ăn (Dining Zone):** Vị trí, số lượng ghế, kiểu dáng nan ghế, hướng bàn so với tường trái/phải.\n*   **Phần 5: Khu vực Bếp (Kitchen Zone):** Hệ tủ (chữ L/I), loại gỗ, vị trí thiết bị (tủ lạnh, bồn rửa), và các cửa sổ phụ.\n*   **Phần 6: Khu vực Tiếp khách (Living Zone):** Vị trí sofa, hướng mặt của sofa và ghế đơn, chất liệu vải, kiểu dáng bàn trà và kệ TV.\n*   **Phần 7: Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, hướng đi lên của cầu thang (từ trái sang phải hay ngược lại), vị trí các cửa phòng tắm/phòng ngủ (đóng hay mở).\n*   **Phần 8: Bảng thông số Vật liệu (Material Specifications):** Tổng hợp lại các loại gỗ, đá, kim loại và độ phản xạ ánh sáng của chúng.\n*   **Phần 9: Master Prompt cho AI (Technical AI Prompt):** Một đoạn mã ngắn gọn bằng tiếng Anh tổng hợp tất cả các từ khóa kỹ thuật (Octane render, Ray-tracing, Spatial locking...) để dán trực tiếp vào Midjourney/DALL-E.\n\n---\n\n### 3. Tại sao cấu trúc này lại quan trọng?\n*   **Khóa hướng (Orientation Locking):** Nếu không nói \"bàn song song với tường trái\", AI sẽ xoay bàn lung tung.\n*   **Khóa số lượng (Quantity Locking):** Nếu không nói \"lưới đèn 4x4\", AI sẽ vẽ lúc 10 đèn, lúc 20 đèn.\n*   **Khóa hướng cầu thang (Staircase Logic):** Đây là phần AI hay làm sai nhất, cần phải chỉ rõ \"bắt đầu từ đâu và đi lên phía nào\".","versions":[{"version":1,"template":"> *\"Hãy đóng vai một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI. Tôi sẽ cung cấp một bức ảnh nội thất. Nhiệm vụ của bạn là viết một bản mô tả siêu chi tiết (không dưới 2000 từ) để 'khóa' toàn bộ không gian. \n> \n> **Yêu cầu bắt buộc:**\n> 1. **Thiết lập hệ quy chiếu:** Xác định góc máy, tiêu cự ống kính và điểm tụ.\n> 2. **Khóa lưới ánh sáng:** Mô tả chính xác số lượng và vị trí đèn trần theo dạng lưới (ví dụ: lưới 4x4).\n> 3. **Định hướng vật thể:** Mô tả hướng của mọi đồ vật (bàn, ghế, sofa, tủ lạnh) so với các bức tường (song song, vuông góc, hướng mặt về đâu).\n> 4. **Chi tiết vật liệu:** Chỉ định rõ loại gỗ, loại đá, độ bóng (glossiness), loại vải và màu sắc theo mã màu kiến trúc.\n> 5. **Hậu cảnh kỹ thuật:** Mô tả chi tiết hướng cầu thang, các lối đi, và các phòng ẩn/cửa đóng ở phía sau.\n> 6. **Mục tiêu:** Bản mô tả phải giúp AI tạo ra 10 ảnh giống hệt nhau về bố cục và vật liệu. Không giải thích lan man, tập trung vào thông số kỹ thuật.\"*\n\n---\n\n### 2. Cấu trúc Output tiêu chuẩn (The Output Structure)\nMột bản mô tả \"chuẩn\" để AI không thể làm sai sẽ luôn có 9 phần sau:\n\n*   **Phần 1: Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính (eye-level), tiêu cự (thường là 24mm hoặc 35mm) và điểm tụ của bức ảnh.\n*   **Phần 2: Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần (phẳng/giật cấp) và khóa vị trí đèn theo tọa độ (ví dụ: hàng 1 có 4 đèn, hàng 2 có 4 đèn...).\n*   **Phần 3: Sàn và Tường (Flooring & Walls):** Loại vật liệu (Marble/Gỗ), kích thước gạch, hướng vân đá, màu sơn tường và len chân tường.\n*   **Phần 4: Khu vực Ăn (Dining Zone):** Vị trí, số lượng ghế, kiểu dáng nan ghế, hướng bàn so với tường trái/phải.\n*   **Phần 5: Khu vực Bếp (Kitchen Zone):** Hệ tủ (chữ L/I), loại gỗ, vị trí thiết bị (tủ lạnh, bồn rửa), và các cửa sổ phụ.\n*   **Phần 6: Khu vực Tiếp khách (Living Zone):** Vị trí sofa, hướng mặt của sofa và ghế đơn, chất liệu vải, kiểu dáng bàn trà và kệ TV.\n*   **Phần 7: Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, hướng đi lên của cầu thang (từ trái sang phải hay ngược lại), vị trí các cửa phòng tắm/phòng ngủ (đóng hay mở).\n*   **Phần 8: Bảng thông số Vật liệu (Material Specifications):** Tổng hợp lại các loại gỗ, đá, kim loại và độ phản xạ ánh sáng của chúng.\n*   **Phần 9: Master Prompt cho AI (Technical AI Prompt):** Một đoạn mã ngắn gọn bằng tiếng Anh tổng hợp tất cả các từ khóa kỹ thuật (Octane render, Ray-tracing, Spatial locking...) để dán trực tiếp vào Midjourney/DALL-E.\n\n---\n\n### 3. Tại sao cấu trúc này lại quan trọng?\n*   **Khóa hướng (Orientation Locking):** Nếu không nói \"bàn song song với tường trái\", AI sẽ xoay bàn lung tung.\n*   **Khóa số lượng (Quantity Locking):** Nếu không nói \"lưới đèn 4x4\", AI sẽ vẽ lúc 10 đèn, lúc 20 đèn.\n*   **Khóa hướng cầu thang (Staircase Logic):** Đây là phần AI hay làm sai nhất, cần phải chỉ rõ \"bắt đầu từ đâu và đi lên phía nào\".","created_at":1774195760284},{"version":2,"template":"> *\"Hãy đóng vai một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI. Tôi sẽ cung cấp một bức ảnh nội thất. Nhiệm vụ của bạn là viết một bản mô tả siêu chi tiết (không dưới 2000 từ) để 'khóa' toàn bộ không gian. \n> \n> **Yêu cầu bắt buộc:**\n> 1. **Thiết lập hệ quy chiếu:** Xác định góc máy, tiêu cự ống kính và điểm tụ.\n> 2. **Khóa lưới ánh sáng:** Mô tả chính xác số lượng và vị trí đèn trần theo dạng lưới (ví dụ: lưới 4x4).\n> 3. **Định hướng vật thể:** Mô tả hướng của mọi đồ vật (bàn, ghế, sofa, tủ lạnh) so với các bức tường (song song, vuông góc, hướng mặt về đâu).\n> 4. **Chi tiết vật liệu:** Chỉ định rõ loại gỗ, loại đá, độ bóng (glossiness), loại vải và màu sắc theo mã màu kiến trúc.\n> 5. **Hậu cảnh kỹ thuật:** Mô tả chi tiết hướng cầu thang, các lối đi, và các phòng ẩn/cửa đóng ở phía sau.\n> 6. **Mục tiêu:** Bản mô tả phải giúp AI tạo ra 10 ảnh giống hệt nhau về bố cục và vật liệu. Không giải thích lan man, tập trung vào thông số kỹ thuật.\"*\n\n---\n\n### 2. Cấu trúc Output tiêu chuẩn (The Output Structure)\nMột bản mô tả \"chuẩn\" để AI không thể làm sai sẽ luôn có 9 phần sau:\n\n*   **Phần 1: Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính (eye-level), tiêu cự (thường là 24mm hoặc 35mm) và điểm tụ của bức ảnh.\n*   **Phần 2: Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần (phẳng/giật cấp) và khóa vị trí đèn theo tọa độ (ví dụ: hàng 1 có 4 đèn, hàng 2 có 4 đèn...).\n*   **Phần 3: Sàn và Tường (Flooring & Walls):** Loại vật liệu (Marble/Gỗ), kích thước gạch, hướng vân đá, màu sơn tường và len chân tường.\n*   **Phần 4: Khu vực Ăn (Dining Zone):** Vị trí, số lượng ghế, kiểu dáng nan ghế, hướng bàn so với tường trái/phải.\n*   **Phần 5: Khu vực Bếp (Kitchen Zone):** Hệ tủ (chữ L/I), loại gỗ, vị trí thiết bị (tủ lạnh, bồn rửa), và các cửa sổ phụ.\n*   **Phần 6: Khu vực Tiếp khách (Living Zone):** Vị trí sofa, hướng mặt của sofa và ghế đơn, chất liệu vải, kiểu dáng bàn trà và kệ TV.\n*   **Phần 7: Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, hướng đi lên của cầu thang (từ trái sang phải hay ngược lại), vị trí các cửa phòng tắm/phòng ngủ (đóng hay mở).\n*   **Phần 8: Bảng thông số Vật liệu (Material Specifications):** Tổng hợp lại các loại gỗ, đá, kim loại và độ phản xạ ánh sáng của chúng.\n*   **Phần 9: Master Prompt cho AI (Technical AI Prompt):** Một đoạn mã ngắn gọn bằng tiếng Anh tổng hợp tất cả các từ khóa kỹ thuật (Octane render, Ray-tracing, Spatial locking...) để dán trực tiếp vào Midjourney/DALL-E.\n\n---\n\n### 3. Tại sao cấu trúc này lại quan trọng?\n*   **Khóa hướng (Orientation Locking):** Nếu không nói \"bàn song song với tường trái\", AI sẽ xoay bàn lung tung.\n*   **Khóa số lượng (Quantity Locking):** Nếu không nói \"lưới đèn 4x4\", AI sẽ vẽ lúc 10 đèn, lúc 20 đèn.\n*   **Khóa hướng cầu thang (Staircase Logic):** Đây là phần AI hay làm sai nhất, cần phải chỉ rõ \"bắt đầu từ đâu và đi lên phía nào\".","created_at":1774196664479}],"created_at":1774195760284,"updated_at":1774196664479},{"id":2,"title":"Sao chép phong cách","category":"Ảnh 3D","template":"Tôi có 2 mô tả như sau:\n\nMô tả 1:\n\n```\n{MoTa1:textarea:required}\n```\nMô tả 2:\n\n```\n{MoTa2:textarea:required}\n```\nHãy giúp tôi viết lại một mô tả chi tiết dùng bố cục nội thất của mô tả 1 nhưng giữ các vật dụng nội thất, chất liệu nội thất của mô tả 2. Mô tả chi tiết không được ngắn hơn 2000 từ","versions":[{"version":1,"template":"Tôi có 2 mô tả như sau:\n\nMô tả 1:\n\n```\n{MoTa1:textarea:required}\n```\nMô tả 2:\n\n```\n{MoTa2:textarea:required}\n```\nHãy giúp tôi viết lại một mô tả chi tiết dùng bố cục nội thất của mô tả 1 nhưng giữ các vật dụng nội thất, chất liệu nội thất của mô tả 2. Mô tả chi tiết không được ngắn hơn 2000 từ","created_at":1774196425124}],"created_at":1774196425124,"updated_at":1774196425124},{"id":3,"title":"Biến đổi phong cách","category":"Ảnh 3D","template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Nếu có tủ/ chậu rửa mặt thì nên thay đổi hình dáng, vật liệu của nó. Cho phép linh hoạt ở dạng tủ thành chân đế (không dùng tủ). Nếu không có tủ/ chậu rửa mặt thì thôi bỏ qua dòng này\n- Không được dùng kiểu  \"Giữ nguyên theo thiết kế gốc\", \"Giữ nguyên như cũ\" hãy viết lại toàn bộ \n- Không cần mở đầu hay kết thúc kiểu: Dưới đây là tài liệu v.v.... Chỉ trả ra đúng bản mô tả chi tiết \n- Trả ra một mô tả chi tiết đầy đủ","versions":[{"version":1,"template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Trả ra một mô tả chi tiết đầy đủ","created_at":1774202107843},{"version":2,"template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Không được dùng kiểu  \"Giữ nguyên theo thiết kế gốc\", \"Giữ nguyên như cũ\" hãy viết lại toàn bộ \n- Trả ra một mô tả chi tiết đầy đủ","created_at":1774202271578},{"version":3,"template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Không được dùng kiểu  \"Giữ nguyên theo thiết kế gốc\", \"Giữ nguyên như cũ\" hãy viết lại toàn bộ \n- Không cần mở đầu hay kết thúc kiểu: Dưới đây là tài liệu v.v.... Chỉ trả ra đúng bản mô tả chi tiết \n- Trả ra một mô tả chi tiết đầy đủ","created_at":1774202383498},{"version":4,"template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Nếu có chậu rửa mặt thì nên thay đổi hình dáng, vật liệu của nó. Nếu không thì thôi bỏ qua dòng này\n- Không được dùng kiểu  \"Giữ nguyên theo thiết kế gốc\", \"Giữ nguyên như cũ\" hãy viết lại toàn bộ \n- Không cần mở đầu hay kết thúc kiểu: Dưới đây là tài liệu v.v.... Chỉ trả ra đúng bản mô tả chi tiết \n- Trả ra một mô tả chi tiết đầy đủ","created_at":1774202942729},{"version":5,"template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Nếu có tủ/ chậu rửa mặt thì nên thay đổi hình dáng, vật liệu của nó. Nếu không thì thôi bỏ qua dòng này\n- Không được dùng kiểu  \"Giữ nguyên theo thiết kế gốc\", \"Giữ nguyên như cũ\" hãy viết lại toàn bộ \n- Không cần mở đầu hay kết thúc kiểu: Dưới đây là tài liệu v.v.... Chỉ trả ra đúng bản mô tả chi tiết \n- Trả ra một mô tả chi tiết đầy đủ","created_at":1774203150709},{"version":6,"template":"Tôi có một mô tả chi tiết cho một căn phòng\n```\n{MOTA:textarea}\n```\n\nTôi cần bạn thay đổi một số vật dụng nội thất trong phòng theo quy ước:\n- ĐƯỢC PHÉP: Thay đổi vật liệu nội thất của vật dụng, hình dáng, phong cách của vật dụng nội thất\n- KHÔNG ĐƯỢC PHÉP: Thay đổi vị trí của vật dụng, thêm hoặc xóa bớt vật dụng\n- KHÔNG ĐƯỢC PHÉP: Chỉnh sửa màu sắc vật liệu nội thất của trần, sàn, tường, rèm cửa.\n- Các phần không thay đổi giữ nguyên không thêm bớt gì\n- Nếu có tủ/ chậu rửa mặt thì nên thay đổi hình dáng, vật liệu của nó. Cho phép linh hoạt ở dạng tủ thành chân đế (không dùng tủ). Nếu không có tủ/ chậu rửa mặt thì thôi bỏ qua dòng này\n- Không được dùng kiểu  \"Giữ nguyên theo thiết kế gốc\", \"Giữ nguyên như cũ\" hãy viết lại toàn bộ \n- Không cần mở đầu hay kết thúc kiểu: Dưới đây là tài liệu v.v.... Chỉ trả ra đúng bản mô tả chi tiết \n- Trả ra một mô tả chi tiết đầy đủ","created_at":1774203355014}],"created_at":1774202107843,"updated_at":1774203355014},{"id":4,"title":"Diễn họa kiến trúc V2","category":"Ảnh 3D","template":"**Vai trò:** Bạn là một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI. Nhiệm vụ của bạn là phân tích ảnh nội thất và lập một bản hồ sơ kỹ thuật \"khóa cứng\" toàn bộ không gian.\n\n**Mục tiêu:** Tạo ra một bản mô tả siêu chi tiết (không dưới 2000 từ) để AI có thể tái lập 10 ảnh giống hệt nhau về bố cục, kích thước và vật liệu.\n\n**Cấu trúc Output bắt buộc (13 Phần):**\n\n1.  **Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính, tiêu cự (mm) và hệ quy chiếu điểm tụ.\n2.  **Thông số Hình học Không gian (Spatial Geometry):** Ước tính chính xác kích thước tổng thể căn phòng (Dài x Rộng x Cao) và diện tích (m2) dựa trên tỷ lệ vật thể thực tế.\n3.  **Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần và khóa vị trí đèn theo tọa độ lưới (ví dụ: lưới 4x4). Chỉ định nhiệt độ màu (Kelvin).\n4.  **Sàn và Tường (Flooring & Walls):** Loại vật liệu, kích thước gạch/ván, hướng vân, mã màu kiến trúc và độ phản xạ.\n5.  **Danh mục Nội thất (Furniture Inventory):** Liệt kê đầy đủ danh sách tất cả các vật dụng xuất hiện trong phòng (từ đồ lớn đến đồ trang trí nhỏ).\n6.  **Khóa Tọa độ Vật thể (Object Coordinate Locking):** Mô tả vị trí chính xác của từng vật dụng dựa trên trục tọa độ hoặc khoảng cách so với các bức tường (ví dụ: Cách tường trái 500mm, song song với tường sau).\n7.  **Khóa Vật liệu Chi tiết (Detailed Material Locking):** Chỉ định rõ loại gỗ, đá, kim loại, vải, độ bóng (Glossiness), độ nhám (Roughness) và mã màu cho **từng vật dụng** đã liệt kê ở phần 5.\n8.  **Khu vực Ăn (Dining Zone - nếu có, nếu không có KHÔNG ĐƯỢC đưa vào mô tả):** Chi tiết số lượng ghế, kiểu dáng, hướng bàn.\n9.  **Khu vực Bếp (Kitchen Zone - nếu có, nếu không có KHÔNG ĐƯỢC đưa vào mô tả):** Hệ tủ, vị trí thiết bị (tủ lạnh, bồn rửa) theo trục tọa độ.\n10. **Khu vực Tiếp khách (Living Zone - nếu có, nếu không có KHÔNG ĐƯỢC đưa vào mô tả):** Vị trí sofa, hướng mặt, kiểu dáng bàn trà.\n11. **Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, hướng cầu thang, vị trí các cửa phòng ẩn (đóng/mở).\n12. **Bảng thông số Vật liệu Tổng hợp (Material Summary Table):** Bảng tóm tắt các vật liệu chính để tra cứu nhanh.\n13. **Master Prompt cho AI (Technical AI Prompt):** Đoạn mã tiếng Anh tổng hợp tất cả thông số kỹ thuật để dán vào Midjourney/Stable Diffusion.\n\n**Yêu cầu kỹ thuật nghiêm ngặt:**\n*   **Tính toán tỷ lệ:** Phải dựa vào các vật thể tiêu chuẩn (như bồn cầu, lavabo, ghế) để suy luận ra kích thước thực tế của phòng.\n*   **Định hướng:** Sử dụng các thuật ngữ \"song song\", \"vuông góc\", \"góc 45 độ\", \"áp tường\" để khóa vị trí.\n*   **Vật liệu:** Phải mô tả cảm giác bề mặt (ví dụ: gỗ sồi có vân nổi, đá marble bóng gương, vải nỉ thô).\n*   **Ngôn ngữ:** Sử dụng thuật ngữ chuyên ngành kiến trúc. Không giải thích lan man. Không bắt đầu hay kết thúc kiểu: Dưới đây là chỉ cần trả ra kết quả\n\n**Dữ liệu đầu vào:** Tôi sẽ cung cấp ảnh. Hãy bắt đầu phân tích ngay khi nhận được.","versions":[{"version":1,"template":"**Vai trò:** Bạn là một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI. Nhiệm vụ của bạn là phân tích ảnh nội thất và lập một bản hồ sơ kỹ thuật \"khóa cứng\" toàn bộ không gian.\n\n**Mục tiêu:** Tạo ra một bản mô tả siêu chi tiết (không dưới 2000 từ) để AI có thể tái lập 10 ảnh giống hệt nhau về bố cục, kích thước và vật liệu.\n\n**Cấu trúc Output bắt buộc (13 Phần):**\n\n1.  **Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính, tiêu cự (mm) và hệ quy chiếu điểm tụ.\n2.  **Thông số Hình học Không gian (Spatial Geometry):** Ước tính chính xác kích thước tổng thể căn phòng (Dài x Rộng x Cao) và diện tích (m2) dựa trên tỷ lệ vật thể thực tế.\n3.  **Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần và khóa vị trí đèn theo tọa độ lưới (ví dụ: lưới 4x4). Chỉ định nhiệt độ màu (Kelvin).\n4.  **Sàn và Tường (Flooring & Walls):** Loại vật liệu, kích thước gạch/ván, hướng vân, mã màu kiến trúc và độ phản xạ.\n5.  **Danh mục Nội thất (Furniture Inventory):** Liệt kê đầy đủ danh sách tất cả các vật dụng xuất hiện trong phòng (từ đồ lớn đến đồ trang trí nhỏ).\n6.  **Khóa Tọa độ Vật thể (Object Coordinate Locking):** Mô tả vị trí chính xác của từng vật dụng dựa trên trục tọa độ hoặc khoảng cách so với các bức tường (ví dụ: Cách tường trái 500mm, song song với tường sau).\n7.  **Khóa Vật liệu Chi tiết (Detailed Material Locking):** Chỉ định rõ loại gỗ, đá, kim loại, vải, độ bóng (Glossiness), độ nhám (Roughness) và mã màu cho **từng vật dụng** đã liệt kê ở phần 5.\n8.  **Khu vực Ăn (Dining Zone - nếu có, nếu không có KHÔNG ĐƯỢC đưa vào mô tả):** Chi tiết số lượng ghế, kiểu dáng, hướng bàn.\n9.  **Khu vực Bếp (Kitchen Zone - nếu có, nếu không có KHÔNG ĐƯỢC đưa vào mô tả):** Hệ tủ, vị trí thiết bị (tủ lạnh, bồn rửa) theo trục tọa độ.\n10. **Khu vực Tiếp khách (Living Zone - nếu có, nếu không có KHÔNG ĐƯỢC đưa vào mô tả):** Vị trí sofa, hướng mặt, kiểu dáng bàn trà.\n11. **Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, hướng cầu thang, vị trí các cửa phòng ẩn (đóng/mở).\n12. **Bảng thông số Vật liệu Tổng hợp (Material Summary Table):** Bảng tóm tắt các vật liệu chính để tra cứu nhanh.\n13. **Master Prompt cho AI (Technical AI Prompt):** Đoạn mã tiếng Anh tổng hợp tất cả thông số kỹ thuật để dán vào Midjourney/Stable Diffusion.\n\n**Yêu cầu kỹ thuật nghiêm ngặt:**\n*   **Tính toán tỷ lệ:** Phải dựa vào các vật thể tiêu chuẩn (như bồn cầu, lavabo, ghế) để suy luận ra kích thước thực tế của phòng.\n*   **Định hướng:** Sử dụng các thuật ngữ \"song song\", \"vuông góc\", \"góc 45 độ\", \"áp tường\" để khóa vị trí.\n*   **Vật liệu:** Phải mô tả cảm giác bề mặt (ví dụ: gỗ sồi có vân nổi, đá marble bóng gương, vải nỉ thô).\n*   **Ngôn ngữ:** Sử dụng thuật ngữ chuyên ngành kiến trúc. Không giải thích lan man. Không bắt đầu hay kết thúc kiểu: Dưới đây là chỉ cần trả ra kết quả\n\n**Dữ liệu đầu vào:** Tôi sẽ cung cấp ảnh. Hãy bắt đầu phân tích ngay khi nhận được.","created_at":1774202583177}],"created_at":1774202583177,"updated_at":1774202583177},{"id":5,"title":"Diễn họa V3","category":"Ảnh 3D","template":"**Vai trò:** Bạn là một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI cấp cao. Nhiệm vụ của bạn là phân tích hình ảnh nội thất được cung cấp và lập một bản hồ sơ kỹ thuật \"khóa cứng\" (Hard-locked) toàn bộ không gian để tái lập chính xác 100% trong các công cụ AI (Midjourney/Stable Diffusion).\n\n**Mục tiêu:** Tạo ra một bản mô tả kỹ thuật siêu chi tiết (không dưới 2000 từ) và một cấu trúc dữ liệu JSON chuẩn hóa.\n\n**Cấu trúc Output bắt buộc (14 Phần):**\n\n1.  **Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính (mm), tiêu cự (mm), điểm tụ và độ phơi sáng (EV).\n2.  **Thông số Hình học Không gian (Spatial Geometry):** Ước tính Dài x Rộng x Cao và diện tích (m2) dựa trên vật thể tiêu chuẩn.\n3.  **Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần, tọa độ lưới đèn, nhiệt độ màu (Kelvin) và cường độ sáng (Lux).\n4.  **Sàn và Tường (Flooring & Walls):** Loại vật liệu, kích thước gạch/ván, hướng vân, mã màu kiến trúc, độ phản xạ (Reflectivity).\n5.  **Danh mục Nội thất (Furniture Inventory):** Liệt kê đầy đủ tất cả vật dụng từ lớn đến nhỏ.\n6.  **Khóa Tọa độ Vật thể (Object Coordinate Locking):** Vị trí chính xác từng vật dụng dựa trên trục tọa độ (X, Y, Z) hoặc khoảng cách so với tường.\n7.  **Khóa Vật liệu Chi tiết (Detailed Material Locking):** Chỉ định rõ loại gỗ, đá, kim loại, vải, độ bóng (Glossiness), độ nhám (Roughness), IOR cho từng vật dụng ở phần 5.\n8.  **Khu vực Ăn (Dining Zone):** (Nếu có) Chi tiết số lượng ghế, kiểu dáng, hướng bàn.\n9.  **Khu vực Bếp (Kitchen Zone):** (Nếu có) Hệ tủ, vị trí thiết bị theo trục tọa độ.\n10. **Khu vực Tiếp khách (Living Zone):** (Nếu có) Vị trí sofa, hướng mặt, kiểu dáng bàn trà.\n11. **Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, cửa sổ, hướng cầu thang, luồng di chuyển.\n12. **Bảng thông số Vật liệu Tổng hợp (Material Summary Table):** Bảng tóm tắt tra cứu nhanh.\n13. **Master Prompt cho AI (Technical AI Prompt):** Đoạn mã tiếng Anh tổng hợp tất cả thông số kỹ thuật.\n14. **Cấu trúc Dữ liệu JSON (Standardized JSON Converter):** Chuyển đổi toàn bộ dữ liệu trên sang định dạng JSON theo cấu trúc sau, Thêm key nếu cần thiết:\n    ```json\n{\n  \"room_type\": \"modern bathroom\",  // Ví dụ: bedroom, kitchen, living_room, office...\n  \"spatial_dimensions\": {\n    \"length_x\": 4200,              // Chiều dài phòng (trục X: từ cửa vào đến tường đối diện)\n    \"width_y\": 2400,               // Chiều rộng phòng (trục Y: chiều sâu từ tường trái sang phải)\n    \"height_z\": 2700,              // Chiều cao phòng\n    \"unit\": \"mm\",\n    \"origin\": \"bottom_left_corner_at_entrance\"  // Gốc tọa độ: góc dưới bên trái cửa vào\n  },\n  \"camera_setup\": {\n    \"position\": {\n      \"x\": 0,\n      \"y\": 100,\n      \"z\": 1100\n    },\n    \"look_at\": {\n      \"x\": 2100,\n      \"y\": 1200,\n      \"z\": 900\n    },\n    \"focal_length\": \"28mm\",\n    \"tilt_angle\": \"slight_right_tilt\",  // Các lựa chọn: eye_level, low_angle, high_angle, slight_left_tilt...\n    \"rotation_degrees\": 15,\n    \"lens_type\": \"wide_angle\"  // wide_angle, normal, telephoto\n  },\n  \"walls\": [\n    {\n      \"wall_name\": \"left_wall\",  // Tên tường: left_wall, right_wall, back_wall, front_wall\n      \"material\": \"off-white matte plaster\",\n      \"color_hex\": \"#F8F6F0\",\n      \"thickness_mm\": 150,\n      \"windows\": [],  // Array cửa sổ trên tường này\n      \"doors\": []     // Array cửa ra vào trên tường này\n    },\n    {\n      \"wall_name\": \"right_wall\",\n      \"material\": \"off-white matte plaster\",\n      \"color_hex\": \"#F8F6F0\",\n      \"thickness_mm\": 150,\n      \"windows\": [],\n      \"doors\": []\n    },\n    {\n      \"wall_name\": \"back_wall\",\n      \"material\": \"satin marble tiles\",\n      \"color_hex\": \"#EDE9E4\",\n      \"thickness_mm\": 120,\n      \"windows\": [\n        {\n          \"id\": 1,\n          \"type\": \"window\",\n          \"name\": \"main_window\",\n          \"position\": {\n            \"x_center\": 2100,          // Tâm theo trục X\n            \"y_center\": 1200           // Tâm theo trục Y (thường giữa tường)\n          },\n          \"z_from_floor\": 900,         // Chiều cao từ sàn lên mép dưới cửa sổ\n          \"width_mm\": 1200,\n          \"height_mm\": 800,\n          \"frame_material\": \"white aluminum\",\n          \"frame_thickness_mm\": 50,\n          \"frame_color_hex\": \"#FFFFFF\",\n          \"glass_type\": \"clear tempered\",\n          \"glass_thickness_mm\": 8,\n          \"openable\": \"fixed\"          // fixed, sliding, casement, tilt-turn...\n        }\n      ],\n      \"doors\": []\n    },\n    {\n      \"wall_name\": \"front_wall\",\n      \"material\": \"off-white matte plaster\",\n      \"color_hex\": \"#F8F6F0\",\n      \"thickness_mm\": 150,\n      \"windows\": [],\n      \"doors\": [\n        {\n          \"id\": 1,\n          \"type\": \"entrance_door\",\n          \"name\": \"main_entrance\",\n          \"position\": {\n            \"x_center\": 0,             // Thường ở mép tường (cửa vào)\n            \"y_center\": 450            // Tâm theo chiều sâu tường\n          },\n          \"z_from_floor\": 0,\n          \"width_mm\": 900,\n          \"height_mm\": 2200,\n          \"frame_material\": \"white matte wood\",\n          \"frame_thickness_mm\": 80,\n          \"frame_color_hex\": \"#F5F5F5\",\n          \"door_material\": \"solid core MDF\",\n          \"door_color_hex\": \"#FFFFFF\",\n          \"door_style\": \"flush\",\n          \"handle_material\": \"chrome\",\n          \"handle_position\": \"right_side\",\n          \"visible_in_render\": \"slightly visible on left edge\",  // Hướng dẫn camera: slightly visible, fully visible, hidden...\n          \"open_status\": \"closed\"    // closed, ajar, fully open\n        }\n      ]\n    }\n  ],\n  \"floor\": {\n    \"material\": \"polished calacatta marble\",\n    \"tile_size_mm\": \"600x1200\",\n    \"layout\": \"brick pattern\",\n    \"color_hex\": \"#F5F0E8\",\n    \"grout_color_hex\": \"#E0D8CC\"\n  },\n  \"ceiling\": {\n    \"material\": \"white matte plaster\",\n    \"color_hex\": \"#F9F9F9\",\n    \"has_recessed_lights\": true,\n    \"recessed_spots_count\": 6,\n    \"spot_temperature_k\": 4000\n  },\n  \"objects\": [\n    // Các object như bathtub, toilet... (giữ nguyên cấu trúc bounding_box như template cũ)\n    // Ví dụ:\n    {\n      \"id\": 1,\n      \"name\": \"bathtub\",\n      \"type\": \"furniture\",\n      \"bounding_box\": {\n        \"x_min\": 0, \"x_max\": 1700,\n        \"y_min\": 0, \"y_max\": 800,\n        \"z_min\": 0, \"z_max\": 600\n      },\n      \"material\": \"white glazed ceramic\",\n      \"style\": \"modern rounded\"\n    }\n    // ... thêm object khác\n  ],\n  \"lighting\": {\n    \"natural\": \"daylight from back wall window, strong side light\",\n    \"artificial\": \"recessed LED downlights 4000K, 6 spots evenly distributed\",\n    \"global_illumination\": \"high\",\n    \"shadow_quality\": \"soft_diffused\",\n    \"time_of_day\": \"morning\"\n  },\n  \"material_locking\": {\n    // Lock vật liệu toàn cục để nhất quán\n    \"oak_wood\": { \"hex\": \"#D2B48C\", \"roughness\": 0.45 },\n    \"marble\": { \"ior\": 1.55, \"reflectivity\": 0.7 },\n    \"chrome\": { \"metalness\": 1.0, \"roughness\": 0.02 }\n  },\n  \"overall_mood\": \"bright, clean, contemporary luxury\",\n  \"render_parameters\": {\n    \"quality\": \"ultra_realistic\",\n    \"resolution\": \"4k\",\n    \"style\": \"architectural photography\",\n    \"extra_prompt\": \"highly detailed, cinematic lighting, no text, no people, exact adherence to JSON coordinates and materials\"\n  }\n}\n    ```\n\n**Yêu cầu kỹ thuật nghiêm ngặt:**\n*   **Tính toán tỷ lệ:** Phải dựa vào các vật thể tiêu chuẩn (bồn cầu, ghế, lavabo) để suy luận kích thước thực tế (mm).\n*   **Định hướng:** Sử dụng thuật ngữ \"song song\", \"vuông góc\", \"áp tường\", \"tâm cách tường...\".\n*   **Vật liệu:** Mô tả chi tiết cảm giác bề mặt (vân nổi, bóng gương, nỉ thô, độ xuyên sáng).\n*   **Ngôn ngữ:** Sử dụng thuật ngữ chuyên ngành kiến trúc. Không giải thích lan man. Không bắt đầu/kết thúc bằng lời chào xã giao.\n\n**Dữ liệu đầu vào:** Tôi sẽ cung cấp ảnh. Hãy bắt đầu phân tích ngay khi nhận được.","versions":[{"version":1,"template":"**Vai trò:** Bạn là một chuyên gia Diễn họa Kiến trúc (Architectural Visualization Expert) và Kỹ sư Prompt AI cấp cao. Nhiệm vụ của bạn là phân tích hình ảnh nội thất được cung cấp và lập một bản hồ sơ kỹ thuật \"khóa cứng\" (Hard-locked) toàn bộ không gian để tái lập chính xác 100% trong các công cụ AI (Midjourney/Stable Diffusion).\n\n**Mục tiêu:** Tạo ra một bản mô tả kỹ thuật siêu chi tiết (không dưới 2000 từ) và một cấu trúc dữ liệu JSON chuẩn hóa.\n\n**Cấu trúc Output bắt buộc (14 Phần):**\n\n1.  **Thiết lập Hệ quy chiếu (Global Scene Setup):** Khóa góc camera, độ cao ống kính (mm), tiêu cự (mm), điểm tụ và độ phơi sáng (EV).\n2.  **Thông số Hình học Không gian (Spatial Geometry):** Ước tính Dài x Rộng x Cao và diện tích (m2) dựa trên vật thể tiêu chuẩn.\n3.  **Trần và Lưới đèn (Ceiling & Lighting Grid):** Mô tả trần, tọa độ lưới đèn, nhiệt độ màu (Kelvin) và cường độ sáng (Lux).\n4.  **Sàn và Tường (Flooring & Walls):** Loại vật liệu, kích thước gạch/ván, hướng vân, mã màu kiến trúc, độ phản xạ (Reflectivity).\n5.  **Danh mục Nội thất (Furniture Inventory):** Liệt kê đầy đủ tất cả vật dụng từ lớn đến nhỏ.\n6.  **Khóa Tọa độ Vật thể (Object Coordinate Locking):** Vị trí chính xác từng vật dụng dựa trên trục tọa độ (X, Y, Z) hoặc khoảng cách so với tường.\n7.  **Khóa Vật liệu Chi tiết (Detailed Material Locking):** Chỉ định rõ loại gỗ, đá, kim loại, vải, độ bóng (Glossiness), độ nhám (Roughness), IOR cho từng vật dụng ở phần 5.\n8.  **Khu vực Ăn (Dining Zone):** (Nếu có) Chi tiết số lượng ghế, kiểu dáng, hướng bàn.\n9.  **Khu vực Bếp (Kitchen Zone):** (Nếu có) Hệ tủ, vị trí thiết bị theo trục tọa độ.\n10. **Khu vực Tiếp khách (Living Zone):** (Nếu có) Vị trí sofa, hướng mặt, kiểu dáng bàn trà.\n11. **Hậu cảnh và Giao thông (Background & Circulation):** Chi tiết hành lang, cửa sổ, hướng cầu thang, luồng di chuyển.\n12. **Bảng thông số Vật liệu Tổng hợp (Material Summary Table):** Bảng tóm tắt tra cứu nhanh.\n13. **Master Prompt cho AI (Technical AI Prompt):** Đoạn mã tiếng Anh tổng hợp tất cả thông số kỹ thuật.\n14. **Cấu trúc Dữ liệu JSON (Standardized JSON Converter):** Chuyển đổi toàn bộ dữ liệu trên sang định dạng JSON theo cấu trúc sau, Thêm key nếu cần thiết:\n    ```json\n{\n  \"room_type\": \"modern bathroom\",  // Ví dụ: bedroom, kitchen, living_room, office...\n  \"spatial_dimensions\": {\n    \"length_x\": 4200,              // Chiều dài phòng (trục X: từ cửa vào đến tường đối diện)\n    \"width_y\": 2400,               // Chiều rộng phòng (trục Y: chiều sâu từ tường trái sang phải)\n    \"height_z\": 2700,              // Chiều cao phòng\n    \"unit\": \"mm\",\n    \"origin\": \"bottom_left_corner_at_entrance\"  // Gốc tọa độ: góc dưới bên trái cửa vào\n  },\n  \"camera_setup\": {\n    \"position\": {\n      \"x\": 0,\n      \"y\": 100,\n      \"z\": 1100\n    },\n    \"look_at\": {\n      \"x\": 2100,\n      \"y\": 1200,\n      \"z\": 900\n    },\n    \"focal_length\": \"28mm\",\n    \"tilt_angle\": \"slight_right_tilt\",  // Các lựa chọn: eye_level, low_angle, high_angle, slight_left_tilt...\n    \"rotation_degrees\": 15,\n    \"lens_type\": \"wide_angle\"  // wide_angle, normal, telephoto\n  },\n  \"walls\": [\n    {\n      \"wall_name\": \"left_wall\",  // Tên tường: left_wall, right_wall, back_wall, front_wall\n      \"material\": \"off-white matte plaster\",\n      \"color_hex\": \"#F8F6F0\",\n      \"thickness_mm\": 150,\n      \"windows\": [],  // Array cửa sổ trên tường này\n      \"doors\": []     // Array cửa ra vào trên tường này\n    },\n    {\n      \"wall_name\": \"right_wall\",\n      \"material\": \"off-white matte plaster\",\n      \"color_hex\": \"#F8F6F0\",\n      \"thickness_mm\": 150,\n      \"windows\": [],\n      \"doors\": []\n    },\n    {\n      \"wall_name\": \"back_wall\",\n      \"material\": \"satin marble tiles\",\n      \"color_hex\": \"#EDE9E4\",\n      \"thickness_mm\": 120,\n      \"windows\": [\n        {\n          \"id\": 1,\n          \"type\": \"window\",\n          \"name\": \"main_window\",\n          \"position\": {\n            \"x_center\": 2100,          // Tâm theo trục X\n            \"y_center\": 1200           // Tâm theo trục Y (thường giữa tường)\n          },\n          \"z_from_floor\": 900,         // Chiều cao từ sàn lên mép dưới cửa sổ\n          \"width_mm\": 1200,\n          \"height_mm\": 800,\n          \"frame_material\": \"white aluminum\",\n          \"frame_thickness_mm\": 50,\n          \"frame_color_hex\": \"#FFFFFF\",\n          \"glass_type\": \"clear tempered\",\n          \"glass_thickness_mm\": 8,\n          \"openable\": \"fixed\"          // fixed, sliding, casement, tilt-turn...\n        }\n      ],\n      \"doors\": []\n    },\n    {\n      \"wall_name\": \"front_wall\",\n      \"material\": \"off-white matte plaster\",\n      \"color_hex\": \"#F8F6F0\",\n      \"thickness_mm\": 150,\n      \"windows\": [],\n      \"doors\": [\n        {\n          \"id\": 1,\n          \"type\": \"entrance_door\",\n          \"name\": \"main_entrance\",\n          \"position\": {\n            \"x_center\": 0,             // Thường ở mép tường (cửa vào)\n            \"y_center\": 450            // Tâm theo chiều sâu tường\n          },\n          \"z_from_floor\": 0,\n          \"width_mm\": 900,\n          \"height_mm\": 2200,\n          \"frame_material\": \"white matte wood\",\n          \"frame_thickness_mm\": 80,\n          \"frame_color_hex\": \"#F5F5F5\",\n          \"door_material\": \"solid core MDF\",\n          \"door_color_hex\": \"#FFFFFF\",\n          \"door_style\": \"flush\",\n          \"handle_material\": \"chrome\",\n          \"handle_position\": \"right_side\",\n          \"visible_in_render\": \"slightly visible on left edge\",  // Hướng dẫn camera: slightly visible, fully visible, hidden...\n          \"open_status\": \"closed\"    // closed, ajar, fully open\n        }\n      ]\n    }\n  ],\n  \"floor\": {\n    \"material\": \"polished calacatta marble\",\n    \"tile_size_mm\": \"600x1200\",\n    \"layout\": \"brick pattern\",\n    \"color_hex\": \"#F5F0E8\",\n    \"grout_color_hex\": \"#E0D8CC\"\n  },\n  \"ceiling\": {\n    \"material\": \"white matte plaster\",\n    \"color_hex\": \"#F9F9F9\",\n    \"has_recessed_lights\": true,\n    \"recessed_spots_count\": 6,\n    \"spot_temperature_k\": 4000\n  },\n  \"objects\": [\n    // Các object như bathtub, toilet... (giữ nguyên cấu trúc bounding_box như template cũ)\n    // Ví dụ:\n    {\n      \"id\": 1,\n      \"name\": \"bathtub\",\n      \"type\": \"furniture\",\n      \"bounding_box\": {\n        \"x_min\": 0, \"x_max\": 1700,\n        \"y_min\": 0, \"y_max\": 800,\n        \"z_min\": 0, \"z_max\": 600\n      },\n      \"material\": \"white glazed ceramic\",\n      \"style\": \"modern rounded\"\n    }\n    // ... thêm object khác\n  ],\n  \"lighting\": {\n    \"natural\": \"daylight from back wall window, strong side light\",\n    \"artificial\": \"recessed LED downlights 4000K, 6 spots evenly distributed\",\n    \"global_illumination\": \"high\",\n    \"shadow_quality\": \"soft_diffused\",\n    \"time_of_day\": \"morning\"\n  },\n  \"material_locking\": {\n    // Lock vật liệu toàn cục để nhất quán\n    \"oak_wood\": { \"hex\": \"#D2B48C\", \"roughness\": 0.45 },\n    \"marble\": { \"ior\": 1.55, \"reflectivity\": 0.7 },\n    \"chrome\": { \"metalness\": 1.0, \"roughness\": 0.02 }\n  },\n  \"overall_mood\": \"bright, clean, contemporary luxury\",\n  \"render_parameters\": {\n    \"quality\": \"ultra_realistic\",\n    \"resolution\": \"4k\",\n    \"style\": \"architectural photography\",\n    \"extra_prompt\": \"highly detailed, cinematic lighting, no text, no people, exact adherence to JSON coordinates and materials\"\n  }\n}\n    ```\n\n**Yêu cầu kỹ thuật nghiêm ngặt:**\n*   **Tính toán tỷ lệ:** Phải dựa vào các vật thể tiêu chuẩn (bồn cầu, ghế, lavabo) để suy luận kích thước thực tế (mm).\n*   **Định hướng:** Sử dụng thuật ngữ \"song song\", \"vuông góc\", \"áp tường\", \"tâm cách tường...\".\n*   **Vật liệu:** Mô tả chi tiết cảm giác bề mặt (vân nổi, bóng gương, nỉ thô, độ xuyên sáng).\n*   **Ngôn ngữ:** Sử dụng thuật ngữ chuyên ngành kiến trúc. Không giải thích lan man. Không bắt đầu/kết thúc bằng lời chào xã giao.\n\n**Dữ liệu đầu vào:** Tôi sẽ cung cấp ảnh. Hãy bắt đầu phân tích ngay khi nhận được.","created_at":1774264373243}],"created_at":1774264373243,"updated_at":1774264373243},{"id":6,"title":"Implement Code","category":"Code","template":"Implement theo các tài liệu trong thư mục {THUMUC}\n Hãy đọc lại toàn bộ, tóm tắt scope 5-10 dòng. Hỏi tôi các câu hỏi còn vướng mắc (nếu có), đợi tôi trả lời. Rồi thực hiện tuần tự theo breakdown (phase-by-phase), mỗi phase báo tiến độ + file đã sửa + cách verify. Không làm ngoài scope.","versions":[{"version":1,"template":"Implement theo các tài liệu trong thư mục docs/moderator-role-scoped-management\n Hãy đọc lại toàn bộ, tóm tắt scope 5-10 dòng. Hỏi tôi các câu hỏi còn vướng mắc (nếu có), đợi tôi trả lời. Rồi thực hiện tuần tự theo breakdown (phase-by-phase), mỗi phase báo tiến độ + file đã sửa + cách verify. Không làm ngoài scope.","created_at":1774381867297},{"version":2,"template":"Implement theo các tài liệu trong thư mục {THUMUC}\n Hãy đọc lại toàn bộ, tóm tắt scope 5-10 dòng. Hỏi tôi các câu hỏi còn vướng mắc (nếu có), đợi tôi trả lời. Rồi thực hiện tuần tự theo breakdown (phase-by-phase), mỗi phase báo tiến độ + file đã sửa + cách verify. Không làm ngoài scope.","created_at":1774381884657},{"version":3,"template":"Implement theo các tài liệu trong thư mục {THUMUC}\n Hãy đọc lại toàn bộ, tóm tắt scope 5-10 dòng. Hỏi tôi các câu hỏi còn vướng mắc (nếu có), đợi tôi trả lời. Rồi thực hiện tuần tự theo breakdown (phase-by-phase), mỗi phase báo tiến độ + file đã sửa + cách verify. Không làm ngoài scope.","created_at":1774382037327}],"created_at":1774381867297,"updated_at":1774382037327},{"id":7,"title":"Review Plan","category":"Code","template":"Kiểm tra kế hoạch trong {THUMUC} đã ổn chưa. Có rủi ro gì không? Đã sẵn sàng implement chưa. Không dùng từ chuyên ngành nhiều, giải thích kỹ càng để người dùng hiểu. Nếu cần chốt đưa ra một vài phương án cho người dùng lựa chọn","versions":[{"version":1,"template":"Kiểm tra kế hoạch trong {THUMUC} đã ổn chưa. Có rủi ro gì không? Đã sẵn sàng implement chưa.","created_at":1774382115897},{"version":2,"template":"Kiểm tra kế hoạch trong {THUMUC} đã ổn chưa. Có rủi ro gì không? Đã sẵn sàng implement chưa. Không dùng từ chuyên ngành nhiều, giải thích kỹ càng để người dùng hiểu. Nếu cần chốt đưa ra một vài phương án cho người dùng lựa chọn","created_at":1775026919479}],"created_at":1774382115897,"updated_at":1775026919479},{"id":8,"title":"làm rõ yêu cầu","category":"Code","template":"Với yêu cầu như sau:.\n{YEUCAU:textarea:required}\nHãy làm đúng quy trình 3 bước: (1) dùng skill enhancing-requirements để làm rõ (Q&A đủ 2 giai đoạn), (2) dùng planning-implementation để lập kế hoạch chi tiết, (3) tạo task breakdown; lưu lần lượt vào docs/<slug>/ENHANCED_REQUIREMENT.md, docs/<slug>/IMPLEMENTATION_PLAN.md, docs/<slug>/TASK_BREAKDOWN.md. Không code trước khi hoàn tất 3 bước. Bắt buộc hỏi lại nếu thiếu context và giữ tiếng Việt","versions":[{"version":1,"template":"Với yêu cầu như sau:.\n{YEUCAU}\nHãy làm đúng quy trình 3 bước: (1) dùng skill enhancing-requirements để làm rõ (Q&A đủ 2 giai đoạn), (2) dùng planning-implementation để lập kế hoạch chi tiết, (3) tạo task breakdown; lưu lần lượt vào docs/<slug>/ENHANCED_REQUIREMENT.md, docs/<slug>/IMPLEMENTATION_PLAN.md, docs/<slug>/TASK_BREAKDOWN.md. Không code trước khi hoàn tất 3 bước. Bắt buộc hỏi lại nếu thiếu context và giữ tiếng Việt","created_at":1775030485887},{"version":2,"template":"Với yêu cầu như sau:.\n{YEUCAU:textarea:required}\nHãy làm đúng quy trình 3 bước: (1) dùng skill enhancing-requirements để làm rõ (Q&A đủ 2 giai đoạn), (2) dùng planning-implementation để lập kế hoạch chi tiết, (3) tạo task breakdown; lưu lần lượt vào docs/<slug>/ENHANCED_REQUIREMENT.md, docs/<slug>/IMPLEMENTATION_PLAN.md, docs/<slug>/TASK_BREAKDOWN.md. Không code trước khi hoàn tất 3 bước. Bắt buộc hỏi lại nếu thiếu context và giữ tiếng Việt","created_at":1775030512081}],"created_at":1775030485887,"updated_at":1775030512081},{"id":9,"title":"Gen phim","category":"Gen phim","template":"Đọc trong thư mục /media/tri/BackupHDD/TempDeCode/codetemp/lamvideo/single_narrator_runs\nMove các phim đã gen xong vào thư mục /media/tri/BackupHDD/TempDeCode/codetemp/lamvideo/single_narrator_runs/output. Theo tên của video \n\nVí dụ 001_006 thành 001_006.mp4 \n\nFile đã gen là file trong thư mục /media/tri/BackupHDD/TempDeCode/codetemp/lamvideo/single_narrator_runs/001_006/06_outputs/downloads/001/\n\nlàm từ 001_006 -> 001_011","versions":[{"version":1,"template":"Đọc trong thư mục /media/tri/BackupHDD/TempDeCode/codetemp/lamvideo/single_narrator_runs\nMove các phim đã gen xong vào thư mục /media/tri/BackupHDD/TempDeCode/codetemp/lamvideo/single_narrator_runs/output. Theo tên của video \n\nVí dụ 001_006 thành 001_006.mp4 \n\nFile đã gen là file trong thư mục /media/tri/BackupHDD/TempDeCode/codetemp/lamvideo/single_narrator_runs/001_006/06_outputs/downloads/001/\n\nlàm từ 001_006 -> 001_011","created_at":1775845864993}],"created_at":1775845864993,"updated_at":1775845864993},{"id":10,"title":"Gen truyện","category":"Truyện","template":"Dùng skill auto-story-generation viết truyện theo ý tưởng: {ytuong:textarea:required} . Toàn bộ file ghi vào thư mục theo tên của truyện dạng slug không ghi vào thư mục chính hiện tại. Truyện có {sochuong:10} chương","versions":[{"version":1,"template":"Dùng skill auto-story-generation viết truyện theo ý tưởng: {ytuong:textarea:required} . Toàn bộ file ghi vào thư mục theo tên của truyện dạng slug không ghi vào thư mục chính hiện tại. Truyện có {sochuong:10} chương","created_at":1776242645504}],"created_at":1776242645504,"updated_at":1776242645504},{"id":11,"title":"Lấy yêu cầu cụ thể","category":"Code","template":"Nếu sau này tôi cần bạn làm các việc ở trên. Giả sử bạn đã quên hoàn toàn các trao đổi của tôi với bạn từ trước đến giờ thì tôi nên gửi yêu cầu tới bạn như thế nào. Yêu cầu thật chi tiết để tránh sau này bạn làm sai quy trình","versions":[{"version":1,"template":"Nếu sau này tôi cần bạn làm các việc ở trên. Giả sử bạn đã quên hoàn toàn các trao đổi của tôi với bạn từ trước đến giờ thì tôi nên gửi yêu cầu tới bạn như thế nào. Yêu cầu thật chi tiết để tránh sau này bạn làm sai quy trình","created_at":1776259495720}],"created_at":1776259495720,"updated_at":1776259495720},{"id":12,"title":"FE dev Lotto","category":"Code","template":"Tôi cần bạn sửa responsive UI cho [URL].\n\nBẮT BUỘC:\n- Đọc /media/tri/Data/www/lottotest/HuongDanDebug.md trước\n- Dùng dev browser kiểm tra hiện trạng trước khi sửa\n- Nếu là popup thì phải click mở popup thật để test\n- Test đúng các màn hình: 360, 390, 480\n- Dùng look_at để xác nhận screenshot\n- Sửa xong phải build lại frontend rồi test lại\n\nPHẠM VI:\n- Chỉ sửa [phần cụ thể]\n- Không đụng [phần không muốn sửa]\n- Không đụng desktop nếu tôi không yêu cầu\n- Không refactor ngoài phạm vi\n\nNGUYÊN TẮC:\n- Diff nhỏ nhất có thể\n- Màn nào không lỗi thì không sửa\n- Không tự đổi font-size / màu / spacing / cấu trúc nếu tôi chưa yêu cầu\n- Nếu cần đồng bộ, hãy match theo [URL chuẩn]\n\nCÁCH LÀM:\n1. Báo hiện trạng trước sửa\n2. Nêu file liên quan\n3. Sửa\n4. Build\n5. Re-test đủ màn\n6. Gửi report + screenshot path\n\nCHỈ THÀNH CÔNG KHI:\n- Không còn lỗi trên đúng các màn tôi nêu\n- Screenshot xác nhận đúng\n- Không phát sinh lệch ở vùng ngoài scope","versions":[{"version":1,"template":"Tôi cần bạn sửa responsive UI cho [URL].\n\nBẮT BUỘC:\n- Đọc /media/tri/Data/www/lottotest/HuongDanDebug.md trước\n- Dùng dev browser kiểm tra hiện trạng trước khi sửa\n- Nếu là popup thì phải click mở popup thật để test\n- Test đúng các màn hình: 360, 390, 480\n- Dùng look_at để xác nhận screenshot\n- Sửa xong phải build lại frontend rồi test lại\n\nPHẠM VI:\n- Chỉ sửa [phần cụ thể]\n- Không đụng [phần không muốn sửa]\n- Không đụng desktop nếu tôi không yêu cầu\n- Không refactor ngoài phạm vi\n\nNGUYÊN TẮC:\n- Diff nhỏ nhất có thể\n- Màn nào không lỗi thì không sửa\n- Không tự đổi font-size / màu / spacing / cấu trúc nếu tôi chưa yêu cầu\n- Nếu cần đồng bộ, hãy match theo [URL chuẩn]\n\nCÁCH LÀM:\n1. Báo hiện trạng trước sửa\n2. Nêu file liên quan\n3. Sửa\n4. Build\n5. Re-test đủ màn\n6. Gửi report + screenshot path\n\nCHỈ THÀNH CÔNG KHI:\n- Không còn lỗi trên đúng các màn tôi nêu\n- Screenshot xác nhận đúng\n- Không phát sinh lệch ở vùng ngoài scope","created_at":1776260487850}],"created_at":1776260487850,"updated_at":1776260487850},{"id":13,"title":"Tạo video mẹ và bé","category":"Affiliate","template":"Hãy đóng vai trò là một chuyên gia lập trình và biên kịch video AI. Dựa trên kịch bản tôi cung cấp, hãy xuất **DUY NHẤT 1 JSON** hợp lệ theo các quy tắc sau:\n\n**1. QUY TẮC CỐT LÕI:**\n- **Output:** Chỉ trả về duy nhất khối JSON. KHÔNG có văn bản giải thích, KHÔNG bọc trong thẻ markdown (không dùng \\`\\`\\`json).\n- **Ngôn ngữ:** `narrator_text` dùng tiếng Việt có dấu. Tất cả `prompt` và `video_prompt` dùng tiếng Anh.\n- **Phong cách đồ họa (Style):** Đồng nhất \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\".\n- **Ràng buộc nhân vật:** Người mẹ (NguoiMe) mặc áo len cổ lọ màu be + quần jeans. Em bé (EmBe) mặc đồ ngủ liền thân sọc xanh trắng. Tuyệt đối: \"no hat, no conical hat, no headwear\". Không có chữ trong ảnh/video: \"no text, no watermark\".\n\n**2. CHI TIẾT CẤU TRÚC JSON:**\n\n- **project_input:**\n    - `name`: Tên dự án (viết liền không dấu).\n    - `flow_project_id`: \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\".\n    - `orientation`: \"VERTICAL\".\n- **entities_input:** (Mô tả chi tiết nhân vật)\n    - `name`: Phải trùng khớp với tên trong `character_names`.\n    - `image_prompt`: Prompt tiếng Anh tạo ảnh nhân vật full body, nền trơn.\n- **scenes_input:** (Số lượng cảnh linh hoạt theo kịch bản)\n    - `display_order`: Số thứ tự từ 0.\n    - `chain_type`: \"ROOT\".\n    - `parent_scene_id`: null.\n    - `character_names`: Mảng chứa tên nhân vật xuất hiện (ví dụ: [\"NguoiMe\", \"EmBe\", \"NguoiCha\"]).\n    - `prompt`: Mô tả bối cảnh và hành động chi tiết bằng tiếng Anh (Style: 3D chibi Pixar-like).\n    - `video_prompt`: Mô tả chuyển động của nhân vật bằng tiếng Anh.\n    - `narrator_text`: Lời bình bằng tiếng Việt.\n- **execution_plan:** Luôn là: [\"create-project\", \"create-video\", \"create-scenes\", \"gen-refs\", \"gen-images\", \"gen-videos\", \"gen-narrator-edge-tts\", \"concat-fit-narrator\"].\n\n**3. ĐỊNH DẠNG MẪU ĐỂ ĐIỀN DATA:**\n```json\n{\n  \"project_input\": { \"name\": \"\", \"description\": \"\", \"story\": \"\", \"language\": \"vi\", \"material\": \"anime\", \"orientation\": \"VERTICAL\", \"flow_project_id\": \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\" },\n  \"video_input\": { \"title\": \"\", \"display_order\": 0, \"privacy\": \"unlisted\" },\n  \"tts_input\": { \"provider\": \"edge_tts\", \"voice\": \"vi-VN-HoaiMyNeural\", \"speed\": 1.1, \"mix_with_scene_audio\": true },\n  \"entities_input\": [\n    { \"name\": \"NguoiMe\", \"entity_type\": \"character\", \"description\": \"...\", \"image_prompt\": \"...\" },\n    { \"name\": \"EmBe\", \"entity_type\": \"character\", \"description\": \"...\", \"image_prompt\": \"...\" }\n  ],\n  \"scenes_input\": [\n    {\n      \"display_order\": 0,\n      \"chain_type\": \"ROOT\",\n      \"parent_scene_id\": null,\n      \"character_names\": [\"NguoiMe\"],\n      \"prompt\": \"3D chibi Pixar-like render, [hành động], warm cinematic lighting, non-photorealistic. No text, no watermark.\",\n      \"video_prompt\": \"3D chibi Pixar-like animation. [chuyển động].\",\n      \"narrator_text\": \"[Lời bình tiếng Việt]\"\n    }\n  ],\n  \"execution_plan\": [\"create-project\", \"create-video\", \"create-scenes\", \"gen-refs\", \"gen-images\", \"gen-videos\", \"gen-narrator-edge-tts\", \"concat-fit-narrator\"]\n}\n```\n\n**KỊCH BẢN CỦA TÔI:**\n{KICHBAN:textarea:required}","versions":[{"version":1,"template":"Hãy đóng vai trò là một chuyên gia lập trình và biên kịch video AI. Dựa trên kịch bản tôi cung cấp, hãy xuất **DUY NHẤT 1 JSON** hợp lệ theo các quy tắc sau:\n\n**1. QUY TẮC CỐT LÕI:**\n- **Output:** Chỉ trả về duy nhất khối JSON. KHÔNG có văn bản giải thích, KHÔNG bọc trong thẻ markdown (không dùng \\`\\`\\`json).\n- **Ngôn ngữ:** `narrator_text` dùng tiếng Việt có dấu. Tất cả `prompt` và `video_prompt` dùng tiếng Anh.\n- **Phong cách đồ họa (Style):** Đồng nhất \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\".\n- **Ràng buộc nhân vật:** Người mẹ (NguoiMe) mặc áo len cổ lọ màu be + quần jeans. Em bé (EmBe) mặc đồ ngủ liền thân sọc xanh trắng. Tuyệt đối: \"no hat, no conical hat, no headwear\". Không có chữ trong ảnh/video: \"no text, no watermark\".\n\n**2. CHI TIẾT CẤU TRÚC JSON:**\n\n- **project_input:**\n    - `name`: Tên dự án (viết liền không dấu).\n    - `flow_project_id`: \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\".\n    - `orientation`: \"VERTICAL\".\n- **entities_input:** (Mô tả chi tiết nhân vật)\n    - `name`: Phải trùng khớp với tên trong `character_names`.\n    - `image_prompt`: Prompt tiếng Anh tạo ảnh nhân vật full body, nền trơn.\n- **scenes_input:** (Số lượng cảnh linh hoạt theo kịch bản)\n    - `display_order`: Số thứ tự từ 0.\n    - `chain_type`: \"ROOT\".\n    - `parent_scene_id`: null.\n    - `character_names`: Mảng chứa tên nhân vật xuất hiện (ví dụ: [\"NguoiMe\", \"EmBe\"]).\n    - `prompt`: Mô tả bối cảnh và hành động chi tiết bằng tiếng Anh (Style: 3D chibi Pixar-like).\n    - `video_prompt`: Mô tả chuyển động của nhân vật bằng tiếng Anh.\n    - `narrator_text`: Lời bình bằng tiếng Việt.\n- **execution_plan:** Luôn là: [\"create-project\", \"create-video\", \"create-scenes\", \"gen-refs\", \"gen-images\", \"gen-videos\", \"gen-narrator-edge-tts\", \"concat-fit-narrator\"].\n\n**3. ĐỊNH DẠNG MẪU ĐỂ ĐIỀN DATA:**\n```json\n{\n  \"project_input\": { \"name\": \"\", \"description\": \"\", \"story\": \"\", \"language\": \"vi\", \"material\": \"anime\", \"orientation\": \"VERTICAL\", \"flow_project_id\": \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\" },\n  \"video_input\": { \"title\": \"\", \"display_order\": 0, \"privacy\": \"unlisted\" },\n  \"tts_input\": { \"provider\": \"edge_tts\", \"voice\": \"vi-VN-HoaiMyNeural\", \"speed\": 1.1, \"mix_with_scene_audio\": true },\n  \"entities_input\": [\n    { \"name\": \"NguoiMe\", \"entity_type\": \"character\", \"description\": \"...\", \"image_prompt\": \"...\" },\n    { \"name\": \"EmBe\", \"entity_type\": \"character\", \"description\": \"...\", \"image_prompt\": \"...\" }\n  ],\n  \"scenes_input\": [\n    {\n      \"display_order\": 0,\n      \"chain_type\": \"ROOT\",\n      \"parent_scene_id\": null,\n      \"character_names\": [\"NguoiMe\"],\n      \"prompt\": \"3D chibi Pixar-like render, [hành động], warm cinematic lighting, non-photorealistic. No text, no watermark.\",\n      \"video_prompt\": \"3D chibi Pixar-like animation. [chuyển động].\",\n      \"narrator_text\": \"[Lời bình tiếng Việt]\"\n    }\n  ],\n  \"execution_plan\": [\"create-project\", \"create-video\", \"create-scenes\", \"gen-refs\", \"gen-images\", \"gen-videos\", \"gen-narrator-edge-tts\", \"concat-fit-narrator\"]\n}\n```\n\n**KỊCH BẢN CỦA TÔI:**\n{KICHBAN:textarea:required}","created_at":1776795964823},{"version":2,"template":"Hãy đóng vai trò là một chuyên gia lập trình và biên kịch video AI. Dựa trên kịch bản tôi cung cấp, hãy xuất **DUY NHẤT 1 JSON** hợp lệ theo các quy tắc sau:\n\n**1. QUY TẮC CỐT LÕI:**\n- **Output:** Chỉ trả về duy nhất khối JSON. KHÔNG có văn bản giải thích, KHÔNG bọc trong thẻ markdown (không dùng \\`\\`\\`json).\n- **Ngôn ngữ:** `narrator_text` dùng tiếng Việt có dấu. Tất cả `prompt` và `video_prompt` dùng tiếng Anh.\n- **Phong cách đồ họa (Style):** Đồng nhất \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\".\n- **Ràng buộc nhân vật:** Người mẹ (NguoiMe) mặc áo len cổ lọ màu be + quần jeans. Em bé (EmBe) mặc đồ ngủ liền thân sọc xanh trắng. Tuyệt đối: \"no hat, no conical hat, no headwear\". Không có chữ trong ảnh/video: \"no text, no watermark\".\n\n**2. CHI TIẾT CẤU TRÚC JSON:**\n\n- **project_input:**\n    - `name`: Tên dự án (viết liền không dấu).\n    - `flow_project_id`: \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\".\n    - `orientation`: \"VERTICAL\".\n- **entities_input:** (Mô tả chi tiết nhân vật)\n    - `name`: Phải trùng khớp với tên trong `character_names`.\n    - `image_prompt`: Prompt tiếng Anh tạo ảnh nhân vật full body, nền trơn.\n- **scenes_input:** (Số lượng cảnh linh hoạt theo kịch bản)\n    - `display_order`: Số thứ tự từ 0.\n    - `chain_type`: \"ROOT\".\n    - `parent_scene_id`: null.\n    - `character_names`: Mảng chứa tên nhân vật xuất hiện (ví dụ: [\"NguoiMe\", \"EmBe\", \"NguoiCha\"]).\n    - `prompt`: Mô tả bối cảnh và hành động chi tiết bằng tiếng Anh (Style: 3D chibi Pixar-like).\n    - `video_prompt`: Mô tả chuyển động của nhân vật bằng tiếng Anh.\n    - `narrator_text`: Lời bình bằng tiếng Việt.\n- **execution_plan:** Luôn là: [\"create-project\", \"create-video\", \"create-scenes\", \"gen-refs\", \"gen-images\", \"gen-videos\", \"gen-narrator-edge-tts\", \"concat-fit-narrator\"].\n\n**3. ĐỊNH DẠNG MẪU ĐỂ ĐIỀN DATA:**\n```json\n{\n  \"project_input\": { \"name\": \"\", \"description\": \"\", \"story\": \"\", \"language\": \"vi\", \"material\": \"anime\", \"orientation\": \"VERTICAL\", \"flow_project_id\": \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\" },\n  \"video_input\": { \"title\": \"\", \"display_order\": 0, \"privacy\": \"unlisted\" },\n  \"tts_input\": { \"provider\": \"edge_tts\", \"voice\": \"vi-VN-HoaiMyNeural\", \"speed\": 1.1, \"mix_with_scene_audio\": true },\n  \"entities_input\": [\n    { \"name\": \"NguoiMe\", \"entity_type\": \"character\", \"description\": \"...\", \"image_prompt\": \"...\" },\n    { \"name\": \"EmBe\", \"entity_type\": \"character\", \"description\": \"...\", \"image_prompt\": \"...\" }\n  ],\n  \"scenes_input\": [\n    {\n      \"display_order\": 0,\n      \"chain_type\": \"ROOT\",\n      \"parent_scene_id\": null,\n      \"character_names\": [\"NguoiMe\"],\n      \"prompt\": \"3D chibi Pixar-like render, [hành động], warm cinematic lighting, non-photorealistic. No text, no watermark.\",\n      \"video_prompt\": \"3D chibi Pixar-like animation. [chuyển động].\",\n      \"narrator_text\": \"[Lời bình tiếng Việt]\"\n    }\n  ],\n  \"execution_plan\": [\"create-project\", \"create-video\", \"create-scenes\", \"gen-refs\", \"gen-images\", \"gen-videos\", \"gen-narrator-edge-tts\", \"concat-fit-narrator\"]\n}\n```\n\n**KỊCH BẢN CỦA TÔI:**\n{KICHBAN:textarea:required}","created_at":1776796042677}],"created_at":1776795964823,"updated_at":1776796042677},{"id":14,"title":"Video chung","category":"Affiliate","template":"Hãy đóng vai trò là một chuyên gia lập trình, biên kịch video AI và prompt engineer cho hệ thống tạo video tự động.\n\nDựa trên kịch bản tôi cung cấp, hãy phân tích nội dung và xuất DUY NHẤT 1 JSON hợp lệ theo đúng cấu trúc bên dưới.\n\nMục tiêu:\n- Biến kịch bản thô thành dữ liệu JSON có thể dùng ngay cho pipeline tạo video AI.\n- Tự chia kịch bản thành số lượng cảnh phù hợp.\n- Tự xác định nhân vật, bối cảnh, hành động, lời bình, chuyển động camera/nhân vật.\n- Giữ cấu trúc JSON cố định, nhưng nội dung phải linh hoạt theo loại video tôi yêu cầu.\n\n---\n\n## 1. QUY TẮC CỐT LÕI\n\n### 1.1. Quy tắc output\n- Chỉ trả về DUY NHẤT 1 JSON hợp lệ.\n- KHÔNG viết giải thích.\n- KHÔNG viết lời mở đầu hoặc kết luận.\n- KHÔNG bọc JSON trong markdown.\n- KHÔNG dùng ```json.\n- JSON phải parse được bằng JSON parser chuẩn.\n- Không để trailing comma.\n- Không dùng comment trong JSON.\n\n1.2. Quy tắc ngôn ngữ\n- narrator_text: viết bằng tiếng Việt có dấu, tự nhiên, đúng văn phong video ngắn.\n- prompt: viết bằng tiếng Anh.\n- video_prompt: viết bằng tiếng Anh.\n- image_prompt: viết bằng tiếng Anh.\n- description, story, title: viết bằng tiếng Việt, trừ khi kịch bản yêu cầu ngôn ngữ khác.\n\n1.3. Quy tắc phong cách hình ảnh\n- Nếu trong kịch bản có chỉ định phong cách hình ảnh, hãy dùng đúng phong cách đó.\n- Nếu không có chỉ định, mặc định dùng:\n  \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\".\n- Phong cách hình ảnh phải được giữ nhất quán trong toàn bộ:\n  - entities_input.image_prompt\n  - scenes_input.prompt\n  - scenes_input.video_prompt\n\n1.4. Quy tắc loại video\nHãy tự nhận diện hoặc làm theo loại video được chỉ định trong kịch bản, ví dụ:\n- Video kể chuyện cảm xúc\n- Video review sản phẩm\n- Video affiliate Shopee\n- Video giáo dục / giải thích\n- Video checklist\n- Video so sánh\n- Video cảnh báo “đừng mua trước khi xem”\n- Video top sản phẩm\n- Video before-after\n- Video quảng cáo mềm\n- Video hoạt hình trẻ em\n- Video sức khỏe / lifestyle\n- Video dạng motion graphic\n- Video dạng không lộ mặt\n\nNội dung prompt, video_prompt và narrator_text phải phù hợp với loại video đó.\n\n1.5. Quy tắc nhân vật\n- Nếu kịch bản có nhân vật cụ thể, hãy tạo entities_input tương ứng.\n- name trong entities_input phải trùng chính xác với tên trong scenes_input.character_names.\n- Nếu kịch bản không có nhân vật cụ thể, có thể:\n  - tạo nhân vật đại diện phù hợp, hoặc\n  - để character_names là [] nếu cảnh chỉ có sản phẩm, không gian, infographic hoặc motion graphic.\n- Nếu kịch bản có ràng buộc ngoại hình nhân vật, phải giữ nhất quán trong mọi cảnh.\n- Nếu không có ràng buộc ngoại hình, hãy tự tạo mô tả nhân vật phù hợp với nội dung video.\n- Nếu video không lộ mặt, mô tả nhân vật theo hướng:\n  - only hands visible\n  - back view\n  - silhouette\n  - cropped face\n  - no visible face\n  - product-focused composition\n\n1.6. Quy tắc an toàn hình ảnh\nTất cả prompt tạo ảnh/video phải có:\n- \"no text\"\n- \"no watermark\"\n- \"no logo\"\n- \"no brand logo\"\n\nNếu là video sức khỏe, thực phẩm bổ sung, thiết bị chăm sóc sức khỏe:\n- Không tạo hình ảnh gây hiểu nhầm là chữa khỏi bệnh.\n- Không mô tả bác sĩ, bệnh viện, thuốc kê đơn nếu kịch bản không yêu cầu.\n- Không thể hiện kết quả y tế chắc chắn.\n- Ưu tiên mô tả: supportive, lifestyle, wellness, safe product demonstration.\n\n1.7. Quy tắc lời bình\n- narrator_text phải ngắn, rõ, hợp video ngắn.\n- Mỗi cảnh nên có 1 đoạn narrator_text tương ứng với hình ảnh.\n- Văn phong tự nhiên, không dịch máy.\n- Nếu là video affiliate/review, tránh giọng quá quảng cáo.\n- Ưu tiên các kiểu câu:\n  - “Khoan mua nếu bạn chưa kiểm tra điểm này…”\n  - “Nhiều người hay bỏ qua chi tiết nhỏ này…”\n  - “Không cần chọn loại đắt nhất, nhưng nên xem kỹ…”\n  - “Nếu mua cho bố mẹ, hãy ưu tiên sự dễ dùng trước…”\n\n1.8. Quy tắc chia cảnh\n\n- Số lượng cảnh linh hoạt theo kịch bản.\n- Mỗi cảnh nên tương ứng 1 ý chính.\n- Mỗi cảnh phải có:\n  - display_order bắt đầu từ 0\n  - chain_type là \"ROOT\"\n  - parent_scene_id là null\n  - character_names là mảng\n  - prompt bằng tiếng Anh\n  - video_prompt bằng tiếng Anh\n  - narrator_text bằng tiếng Việt\n- Không gom quá nhiều ý vào một cảnh.\n- Với video ngắn 30-60 giây, thường chia 5-8 cảnh.\n- Với video rất ngắn 15-25 giây, thường chia 3-5 cảnh.\n- Với video giải thích/review dài hơn, có thể chia 8-12 cảnh.\n\n---\n\n*2. QUY TẮC THEO TỪNG LOẠI VIDEO*\n\n*2.1. Nếu là video review sản phẩm / affiliate*\nCấu trúc cảnh nên gồm:\n1. Hook cảnh báo hoặc vấn đề\n2. Nỗi đau / lỗi mua sai\n3. Tiêu chí chọn sản phẩm\n4. Minh họa sản phẩm hoặc tình huống sử dụng\n5. Ai nên mua / ai không nên mua\n6. CTA mềm\n\nKhông được claim quá mức như:\n- chữa khỏi\n- hết đau ngay\n- giảm bệnh\n- cam kết hiệu quả\n- khỏi sau X ngày\n\nƯu tiên dùng:\n- may support\n- helpful for daily use\n- convenient\n- easy to use\n- practical\n- product demonstration\n\n*2.2. Nếu là video giáo dục / giải thích*\nCấu trúc cảnh nên gồm:\n1. Câu hỏi gây tò mò\n2. Giải thích đơn giản\n3. Ví dụ minh họa\n4. Lỗi hiểu nhầm phổ biến\n5. Kết luận dễ nhớ\n\n*2.3. Nếu là video checklist*\nCấu trúc cảnh nên gồm:\n1. Hook “kiểm tra trước khi…”\n2. Checklist 1\n3. Checklist 2\n4. Checklist 3\n5. Tổng kết\n6. CTA lưu video\n\n*2.4. Nếu là video so sánh*\nCấu trúc cảnh nên gồm:\n1. Nêu 2 lựa chọn\n2. So sánh điểm khác biệt chính\n3. Ưu điểm lựa chọn A\n4. Ưu điểm lựa chọn B\n5. Ai nên chọn loại nào\n6. CTA mềm\n\n*2.5. Nếu là video kể chuyện cảm xúc*\nCấu trúc cảnh nên gồm:\n1. Mở đầu bằng tình huống đời thường\n2. Xung đột / vấn đề\n3. Khoảnh khắc nhận ra\n4. Hành động thay đổi\n5. Kết cảm xúc / thông điệp\n\n*2.6. Nếu là video hoạt hình trẻ em*\nCấu trúc cảnh nên gồm:\n1. Nhân vật chính xuất hiện\n2. Gặp vấn đề nhỏ\n3. Khám phá / học bài học\n4. Giải quyết vấn đề\n5. Kết vui vẻ\n\nPhong cách nên thân thiện, trong sáng, màu sắc ấm áp.\n\n*2.7. Nếu là video motion graphic / không nhân vật*\n- Có thể để entities_input là [].\n- character_names trong từng cảnh là [].\n- prompt mô tả infographic, icons, product layout, animated objects, abstract background.\n- video_prompt mô tả chuyển động của icons, camera, text-free visual elements.\n- Tuyệt đối không tạo chữ trong hình ảnh/video.\n\n---\n\n*3. CẤU TRÚC JSON BẮT BUỘC*\n\nPhải xuất đúng cấu trúc sau:\n\n{\n  \"project_input\": {\n    \"name\": \"\",\n    \"description\": \"\",\n    \"story\": \"\",\n    \"language\": \"vi\",\n    \"material\": \"anime\",\n    \"orientation\": \"VERTICAL\",\n    \"flow_project_id\": \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\"\n  },\n  \"video_input\": {\n    \"title\": \"\",\n    \"display_order\": 0,\n    \"privacy\": \"unlisted\"\n  },\n  \"tts_input\": {\n    \"provider\": \"edge_tts\",\n    \"voice\": \"vi-VN-HoaiMyNeural\",\n    \"speed\": 1.1,\n    \"mix_with_scene_audio\": true\n  },\n  \"entities_input\": [\n    {\n      \"name\": \"\",\n      \"entity_type\": \"character\",\n      \"description\": \"\",\n      \"image_prompt\": \"\"\n    }\n  ],\n  \"scenes_input\": [\n    {\n      \"display_order\": 0,\n      \"chain_type\": \"ROOT\",\n      \"parent_scene_id\": null,\n      \"character_names\": [],\n      \"prompt\": \"\",\n      \"video_prompt\": \"\",\n      \"narrator_text\": \"\"\n    }\n  ],\n  \"execution_plan\": [\n    \"create-project\",\n    \"create-video\",\n    \"create-scenes\",\n    \"gen-refs\",\n    \"gen-images\",\n    \"gen-videos\",\n    \"gen-narrator-edge-tts\",\n    \"concat-fit-narrator\"\n  ]\n}\n\n---\n\n*4. QUY TẮC ĐIỀN TỪNG TRƯỜNG*\n\n*4.1. project_input*\n- name:\n  - Viết liền không dấu.\n  - Không dùng khoảng trắng.\n  - Không dùng ký tự đặc biệt.\n  - Nên ngắn gọn theo nội dung video.\n  - Ví dụ: \"DungMuaOmega3Sai\", \"QuaSucKhoeChoBoMe\", \"MayMassageCoVaiGay\".\n\n- description:\n  - Tóm tắt mục tiêu video bằng tiếng Việt.\n\n- story:\n  - Tóm tắt mạch nội dung video bằng tiếng Việt.\n\n- language:\n  - Luôn là \"vi\", trừ khi kịch bản yêu cầu ngôn ngữ khác.\n\n- material:\n  - Mặc định là \"anime\".\n\n```text\n- Nếu kịch bản yêu cầu motion graphic, vẫn giữ \"anime\" để không phá cấu trúc.\n\n- orientation:\n  - Luôn là \"VERTICAL\".\n\n- flow_project_id:\n  - Luôn là \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\".\n\n4.2. video_input\n- title:\n  - Tiêu đề tiếng Việt tự nhiên, hợp Facebook Reels/TikTok/Shorts.\n  - Không quá quảng cáo.\n  - Có thể dùng hook mạnh nếu phù hợp.\n- display_order:\n  - Luôn là 0.\n- privacy:\n  - Luôn là \"unlisted\".\n\n4.3. tts_input\nGiữ nguyên:\n- provider: \"edge_tts\"\n- voice: \"vi-VN-HoaiMyNeural\"\n- speed: 1.1\n- mix_with_scene_audio: true\n\n4.4. entities_input\n- Nếu video có nhân vật:\n  - Tạo một object cho mỗi nhân vật.\n  - entity_type là \"character\".\n  - description bằng tiếng Việt.\n  - image_prompt bằng tiếng Anh.\n  - image_prompt phải mô tả:\n    - full body character\n    - outfit\n    - age range\n    - visual style\n    - plain background\n    - no text, no watermark, no logo\n- Nếu video không cần nhân vật:\n  - entities_input là [].\n\n4.5. scenes_input\nMỗi cảnh phải có:\n- display_order:\n  - Bắt đầu từ 0, tăng dần 1 đơn vị.\n- chain_type:\n  - Luôn là \"ROOT\".\n- parent_scene_id:\n  - Luôn là null.\n- character_names:\n  - Mảng tên nhân vật xuất hiện trong cảnh.\n  - Nếu không có nhân vật, dùng [].\n- prompt:\n  - Tiếng Anh.\n  - Mô tả rõ bối cảnh, vật thể, hành động, mood, ánh sáng, bố cục.\n  - Phải có style đồng nhất.\n  - Phải có \"no text, no watermark, no logo\".\n- video_prompt:\n  - Tiếng Anh.\n  - Mô tả chuyển động nhân vật, vật thể, camera, nhịp animation.\n  - Phải phù hợp với prompt.\n- narrator_text:\n  - Tiếng Việt.\n  - Tự nhiên, ngắn gọn.\n  - Phù hợp đúng cảnh.\n\n4.6. execution_plan\nLuôn giữ nguyên chính xác:\n[\n  \"create-project\",\n  \"create-video\",\n  \"create-scenes\",\n  \"gen-refs\",\n  \"gen-images\",\n  \"gen-videos\",\n  \"gen-narrator-edge-tts\",\n  \"concat-fit-narrator\"\n]\n\n---\n\n5. RÀNG BUỘC MẶC ĐỊNH KHI KHÔNG CÓ CHỈ ĐỊNH\n\nNếu kịch bản không chỉ định phong cách:\n- Dùng phong cách:\n  \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\"\n\nNếu kịch bản không chỉ định nhân vật:\n- Tự tạo nhân vật phù hợp với nội dung.\n- Nếu video sản phẩm hoặc motion graphic không cần nhân vật, dùng entities_input: [].\n\nNếu kịch bản là video affiliate sức khỏe:\n- Ưu tiên format không lộ mặt.\n- Không tạo bác sĩ giả.\n- Không tạo cảnh điều trị bệnh.\n- Không tạo claim chữa khỏi.\n- Dùng bối cảnh gia đình, bàn làm việc, phòng ngủ, nhà bếp, phòng khách, hoặc product flat lay.\n\nNếu kịch bản là video cho người trung niên:\n- Visual nên ấm áp, đáng tin, đời thường.\n- Không dùng hình ảnh quá trẻ con nếu không phù hợp.\n- Không dùng cảm giác bệnh viện nặng nề.\n- Ưu tiên sự an tâm, gọn gàng, sạch sẽ.\n\n---\n\n6. INPUT KỊCH BẢN\n\nKỊCH BẢN CỦA TÔI:\n{KICHBAN:textarea:required}","versions":[{"version":1,"template":"Hãy đóng vai trò là một chuyên gia lập trình, biên kịch video AI và prompt engineer cho hệ thống tạo video tự động.\n\nDựa trên kịch bản tôi cung cấp, hãy phân tích nội dung và xuất DUY NHẤT 1 JSON hợp lệ theo đúng cấu trúc bên dưới.\n\nMục tiêu:\n- Biến kịch bản thô thành dữ liệu JSON có thể dùng ngay cho pipeline tạo video AI.\n- Tự chia kịch bản thành số lượng cảnh phù hợp.\n- Tự xác định nhân vật, bối cảnh, hành động, lời bình, chuyển động camera/nhân vật.\n- Giữ cấu trúc JSON cố định, nhưng nội dung phải linh hoạt theo loại video tôi yêu cầu.\n\n---\n\n## 1. QUY TẮC CỐT LÕI\n\n### 1.1. Quy tắc output\n- Chỉ trả về DUY NHẤT 1 JSON hợp lệ.\n- KHÔNG viết giải thích.\n- KHÔNG viết lời mở đầu hoặc kết luận.\n- KHÔNG bọc JSON trong markdown.\n- KHÔNG dùng ```json.\n- JSON phải parse được bằng JSON parser chuẩn.\n- Không để trailing comma.\n- Không dùng comment trong JSON.\n\n1.2. Quy tắc ngôn ngữ\n- narrator_text: viết bằng tiếng Việt có dấu, tự nhiên, đúng văn phong video ngắn.\n- prompt: viết bằng tiếng Anh.\n- video_prompt: viết bằng tiếng Anh.\n- image_prompt: viết bằng tiếng Anh.\n- description, story, title: viết bằng tiếng Việt, trừ khi kịch bản yêu cầu ngôn ngữ khác.\n\n1.3. Quy tắc phong cách hình ảnh\n- Nếu trong kịch bản có chỉ định phong cách hình ảnh, hãy dùng đúng phong cách đó.\n- Nếu không có chỉ định, mặc định dùng:\n  \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\".\n- Phong cách hình ảnh phải được giữ nhất quán trong toàn bộ:\n  - entities_input.image_prompt\n  - scenes_input.prompt\n  - scenes_input.video_prompt\n\n1.4. Quy tắc loại video\nHãy tự nhận diện hoặc làm theo loại video được chỉ định trong kịch bản, ví dụ:\n- Video kể chuyện cảm xúc\n- Video review sản phẩm\n- Video affiliate Shopee\n- Video giáo dục / giải thích\n- Video checklist\n- Video so sánh\n- Video cảnh báo “đừng mua trước khi xem”\n- Video top sản phẩm\n- Video before-after\n- Video quảng cáo mềm\n- Video hoạt hình trẻ em\n- Video sức khỏe / lifestyle\n- Video dạng motion graphic\n- Video dạng không lộ mặt\n\nNội dung prompt, video_prompt và narrator_text phải phù hợp với loại video đó.\n\n1.5. Quy tắc nhân vật\n- Nếu kịch bản có nhân vật cụ thể, hãy tạo entities_input tương ứng.\n- name trong entities_input phải trùng chính xác với tên trong scenes_input.character_names.\n- Nếu kịch bản không có nhân vật cụ thể, có thể:\n  - tạo nhân vật đại diện phù hợp, hoặc\n  - để character_names là [] nếu cảnh chỉ có sản phẩm, không gian, infographic hoặc motion graphic.\n- Nếu kịch bản có ràng buộc ngoại hình nhân vật, phải giữ nhất quán trong mọi cảnh.\n- Nếu không có ràng buộc ngoại hình, hãy tự tạo mô tả nhân vật phù hợp với nội dung video.\n- Nếu video không lộ mặt, mô tả nhân vật theo hướng:\n  - only hands visible\n  - back view\n  - silhouette\n  - cropped face\n  - no visible face\n  - product-focused composition\n\n1.6. Quy tắc an toàn hình ảnh\nTất cả prompt tạo ảnh/video phải có:\n- \"no text\"\n- \"no watermark\"\n- \"no logo\"\n- \"no brand logo\"\n\nNếu là video sức khỏe, thực phẩm bổ sung, thiết bị chăm sóc sức khỏe:\n- Không tạo hình ảnh gây hiểu nhầm là chữa khỏi bệnh.\n- Không mô tả bác sĩ, bệnh viện, thuốc kê đơn nếu kịch bản không yêu cầu.\n- Không thể hiện kết quả y tế chắc chắn.\n- Ưu tiên mô tả: supportive, lifestyle, wellness, safe product demonstration.\n\n1.7. Quy tắc lời bình\n- narrator_text phải ngắn, rõ, hợp video ngắn.\n- Mỗi cảnh nên có 1 đoạn narrator_text tương ứng với hình ảnh.\n- Văn phong tự nhiên, không dịch máy.\n- Nếu là video affiliate/review, tránh giọng quá quảng cáo.\n- Ưu tiên các kiểu câu:\n  - “Khoan mua nếu bạn chưa kiểm tra điểm này…”\n  - “Nhiều người hay bỏ qua chi tiết nhỏ này…”\n  - “Không cần chọn loại đắt nhất, nhưng nên xem kỹ…”\n  - “Nếu mua cho bố mẹ, hãy ưu tiên sự dễ dùng trước…”\n\n1.8. Quy tắc chia cảnh\n\n- Số lượng cảnh linh hoạt theo kịch bản.\n- Mỗi cảnh nên tương ứng 1 ý chính.\n- Mỗi cảnh phải có:\n  - display_order bắt đầu từ 0\n  - chain_type là \"ROOT\"\n  - parent_scene_id là null\n  - character_names là mảng\n  - prompt bằng tiếng Anh\n  - video_prompt bằng tiếng Anh\n  - narrator_text bằng tiếng Việt\n- Không gom quá nhiều ý vào một cảnh.\n- Với video ngắn 30-60 giây, thường chia 5-8 cảnh.\n- Với video rất ngắn 15-25 giây, thường chia 3-5 cảnh.\n- Với video giải thích/review dài hơn, có thể chia 8-12 cảnh.\n\n---\n\n*2. QUY TẮC THEO TỪNG LOẠI VIDEO*\n\n*2.1. Nếu là video review sản phẩm / affiliate*\nCấu trúc cảnh nên gồm:\n1. Hook cảnh báo hoặc vấn đề\n2. Nỗi đau / lỗi mua sai\n3. Tiêu chí chọn sản phẩm\n4. Minh họa sản phẩm hoặc tình huống sử dụng\n5. Ai nên mua / ai không nên mua\n6. CTA mềm\n\nKhông được claim quá mức như:\n- chữa khỏi\n- hết đau ngay\n- giảm bệnh\n- cam kết hiệu quả\n- khỏi sau X ngày\n\nƯu tiên dùng:\n- may support\n- helpful for daily use\n- convenient\n- easy to use\n- practical\n- product demonstration\n\n*2.2. Nếu là video giáo dục / giải thích*\nCấu trúc cảnh nên gồm:\n1. Câu hỏi gây tò mò\n2. Giải thích đơn giản\n3. Ví dụ minh họa\n4. Lỗi hiểu nhầm phổ biến\n5. Kết luận dễ nhớ\n\n*2.3. Nếu là video checklist*\nCấu trúc cảnh nên gồm:\n1. Hook “kiểm tra trước khi…”\n2. Checklist 1\n3. Checklist 2\n4. Checklist 3\n5. Tổng kết\n6. CTA lưu video\n\n*2.4. Nếu là video so sánh*\nCấu trúc cảnh nên gồm:\n1. Nêu 2 lựa chọn\n2. So sánh điểm khác biệt chính\n3. Ưu điểm lựa chọn A\n4. Ưu điểm lựa chọn B\n5. Ai nên chọn loại nào\n6. CTA mềm\n\n*2.5. Nếu là video kể chuyện cảm xúc*\nCấu trúc cảnh nên gồm:\n1. Mở đầu bằng tình huống đời thường\n2. Xung đột / vấn đề\n3. Khoảnh khắc nhận ra\n4. Hành động thay đổi\n5. Kết cảm xúc / thông điệp\n\n*2.6. Nếu là video hoạt hình trẻ em*\nCấu trúc cảnh nên gồm:\n1. Nhân vật chính xuất hiện\n2. Gặp vấn đề nhỏ\n3. Khám phá / học bài học\n4. Giải quyết vấn đề\n5. Kết vui vẻ\n\nPhong cách nên thân thiện, trong sáng, màu sắc ấm áp.\n\n*2.7. Nếu là video motion graphic / không nhân vật*\n- Có thể để entities_input là [].\n- character_names trong từng cảnh là [].\n- prompt mô tả infographic, icons, product layout, animated objects, abstract background.\n- video_prompt mô tả chuyển động của icons, camera, text-free visual elements.\n- Tuyệt đối không tạo chữ trong hình ảnh/video.\n\n---\n\n*3. CẤU TRÚC JSON BẮT BUỘC*\n\nPhải xuất đúng cấu trúc sau:\n\n{\n  \"project_input\": {\n    \"name\": \"\",\n    \"description\": \"\",\n    \"story\": \"\",\n    \"language\": \"vi\",\n    \"material\": \"anime\",\n    \"orientation\": \"VERTICAL\",\n    \"flow_project_id\": \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\"\n  },\n  \"video_input\": {\n    \"title\": \"\",\n    \"display_order\": 0,\n    \"privacy\": \"unlisted\"\n  },\n  \"tts_input\": {\n    \"provider\": \"edge_tts\",\n    \"voice\": \"vi-VN-HoaiMyNeural\",\n    \"speed\": 1.1,\n    \"mix_with_scene_audio\": true\n  },\n  \"entities_input\": [\n    {\n      \"name\": \"\",\n      \"entity_type\": \"character\",\n      \"description\": \"\",\n      \"image_prompt\": \"\"\n    }\n  ],\n  \"scenes_input\": [\n    {\n      \"display_order\": 0,\n      \"chain_type\": \"ROOT\",\n      \"parent_scene_id\": null,\n      \"character_names\": [],\n      \"prompt\": \"\",\n      \"video_prompt\": \"\",\n      \"narrator_text\": \"\"\n    }\n  ],\n  \"execution_plan\": [\n    \"create-project\",\n    \"create-video\",\n    \"create-scenes\",\n    \"gen-refs\",\n    \"gen-images\",\n    \"gen-videos\",\n    \"gen-narrator-edge-tts\",\n    \"concat-fit-narrator\"\n  ]\n}\n\n---\n\n*4. QUY TẮC ĐIỀN TỪNG TRƯỜNG*\n\n*4.1. project_input*\n- name:\n  - Viết liền không dấu.\n  - Không dùng khoảng trắng.\n  - Không dùng ký tự đặc biệt.\n  - Nên ngắn gọn theo nội dung video.\n  - Ví dụ: \"DungMuaOmega3Sai\", \"QuaSucKhoeChoBoMe\", \"MayMassageCoVaiGay\".\n\n- description:\n  - Tóm tắt mục tiêu video bằng tiếng Việt.\n\n- story:\n  - Tóm tắt mạch nội dung video bằng tiếng Việt.\n\n- language:\n  - Luôn là \"vi\", trừ khi kịch bản yêu cầu ngôn ngữ khác.\n\n- material:\n  - Mặc định là \"anime\".\n\n```text\n- Nếu kịch bản yêu cầu motion graphic, vẫn giữ \"anime\" để không phá cấu trúc.\n\n- orientation:\n  - Luôn là \"VERTICAL\".\n\n- flow_project_id:\n  - Luôn là \"1fb7c387-f2cb-4a63-8f2e-04eaaf87a618\".\n\n4.2. video_input\n- title:\n  - Tiêu đề tiếng Việt tự nhiên, hợp Facebook Reels/TikTok/Shorts.\n  - Không quá quảng cáo.\n  - Có thể dùng hook mạnh nếu phù hợp.\n- display_order:\n  - Luôn là 0.\n- privacy:\n  - Luôn là \"unlisted\".\n\n4.3. tts_input\nGiữ nguyên:\n- provider: \"edge_tts\"\n- voice: \"vi-VN-HoaiMyNeural\"\n- speed: 1.1\n- mix_with_scene_audio: true\n\n4.4. entities_input\n- Nếu video có nhân vật:\n  - Tạo một object cho mỗi nhân vật.\n  - entity_type là \"character\".\n  - description bằng tiếng Việt.\n  - image_prompt bằng tiếng Anh.\n  - image_prompt phải mô tả:\n    - full body character\n    - outfit\n    - age range\n    - visual style\n    - plain background\n    - no text, no watermark, no logo\n- Nếu video không cần nhân vật:\n  - entities_input là [].\n\n4.5. scenes_input\nMỗi cảnh phải có:\n- display_order:\n  - Bắt đầu từ 0, tăng dần 1 đơn vị.\n- chain_type:\n  - Luôn là \"ROOT\".\n- parent_scene_id:\n  - Luôn là null.\n- character_names:\n  - Mảng tên nhân vật xuất hiện trong cảnh.\n  - Nếu không có nhân vật, dùng [].\n- prompt:\n  - Tiếng Anh.\n  - Mô tả rõ bối cảnh, vật thể, hành động, mood, ánh sáng, bố cục.\n  - Phải có style đồng nhất.\n  - Phải có \"no text, no watermark, no logo\".\n- video_prompt:\n  - Tiếng Anh.\n  - Mô tả chuyển động nhân vật, vật thể, camera, nhịp animation.\n  - Phải phù hợp với prompt.\n- narrator_text:\n  - Tiếng Việt.\n  - Tự nhiên, ngắn gọn.\n  - Phù hợp đúng cảnh.\n\n4.6. execution_plan\nLuôn giữ nguyên chính xác:\n[\n  \"create-project\",\n  \"create-video\",\n  \"create-scenes\",\n  \"gen-refs\",\n  \"gen-images\",\n  \"gen-videos\",\n  \"gen-narrator-edge-tts\",\n  \"concat-fit-narrator\"\n]\n\n---\n\n5. RÀNG BUỘC MẶC ĐỊNH KHI KHÔNG CÓ CHỈ ĐỊNH\n\nNếu kịch bản không chỉ định phong cách:\n- Dùng phong cách:\n  \"3D chibi Pixar-like render, non-photorealistic, soft cinematic lighting\"\n\nNếu kịch bản không chỉ định nhân vật:\n- Tự tạo nhân vật phù hợp với nội dung.\n- Nếu video sản phẩm hoặc motion graphic không cần nhân vật, dùng entities_input: [].\n\nNếu kịch bản là video affiliate sức khỏe:\n- Ưu tiên format không lộ mặt.\n- Không tạo bác sĩ giả.\n- Không tạo cảnh điều trị bệnh.\n- Không tạo claim chữa khỏi.\n- Dùng bối cảnh gia đình, bàn làm việc, phòng ngủ, nhà bếp, phòng khách, hoặc product flat lay.\n\nNếu kịch bản là video cho người trung niên:\n- Visual nên ấm áp, đáng tin, đời thường.\n- Không dùng hình ảnh quá trẻ con nếu không phù hợp.\n- Không dùng cảm giác bệnh viện nặng nề.\n- Ưu tiên sự an tâm, gọn gàng, sạch sẽ.\n\n---\n\n6. INPUT KỊCH BẢN\n\nKỊCH BẢN CỦA TÔI:\n{KICHBAN:textarea:required}","created_at":1777202553411}],"created_at":1777202553411,"updated_at":1777202553411},{"id":15,"title":"Nghiên cứu tạo pipeline","category":"Gen phim","template":"Hãy nhớ Bạn là một trong những chuyên gia hàng đầu thế giới về Nghiên cứu thị trường ngách affiliate shopee, có kinh nghiệm xây kênh facebook cứ xây là viral là ra đơn, là có chuyển đổi.  \nGiả sử người đối thoại là một chuyên gia trong ngành đã có 5–8 năm kinh nghiệm thực tế trong lĩnh vực này.  \n\nHãy trả lời với độ sâu tương đương một bài báo invited talk tại NeurIPS/ICML/CVPR hoặc một internal tech talk tại Google DeepMind/OpenAI/Anthropic.  \n\nYêu cầu:\n- Không giải thích bất kỳ khái niệm cơ bản nào\n- Đi thẳng vào chi tiết implementation, thuật toán, và các nuance ít ai biết\n- Đưa ra các hạn chế thực tế (không chỉ lý thuyết)\n- Đề cập đến các paper mới nhất (2024–2026) và tranh cãi hiện tại\n- Chỉ ra những hướng nghiên cứu còn bỏ ngỏ\n\n\nHãy đọc workflow-codex-claude-facebook-reels-affiliate.md và các bước đã thực hiện trong thư mục outputs. Từ đó hoàn thành tiếp các bước tiếp theo. Hãy nhớ! Làm việc nghiêm túc, không hời hợt. Tôi luôn dõi theo bạn","versions":[{"version":1,"template":"Hãy nhớ Bạn là một trong những chuyên gia hàng đầu thế giới về Nghiên cứu thị trường ngách affiliate shopee, có kinh nghiệm xây kênh facebook cứ xây là viral là ra đơn, là có chuyển đổi.  \nGiả sử người đối thoại là một chuyên gia trong ngành đã có 5–8 năm kinh nghiệm thực tế trong lĩnh vực này.  \n\nHãy trả lời với độ sâu tương đương một bài báo invited talk tại NeurIPS/ICML/CVPR hoặc một internal tech talk tại Google DeepMind/OpenAI/Anthropic.  \n\nYêu cầu:\n- Không giải thích bất kỳ khái niệm cơ bản nào\n- Đi thẳng vào chi tiết implementation, thuật toán, và các nuance ít ai biết\n- Đưa ra các hạn chế thực tế (không chỉ lý thuyết)\n- Đề cập đến các paper mới nhất (2024–2026) và tranh cãi hiện tại\n- Chỉ ra những hướng nghiên cứu còn bỏ ngỏ\n\n\nHãy đọc workflow-codex-claude-facebook-reels-affiliate.md và các bước đã thực hiện trong thư mục outputs. Từ đó hoàn thành tiếp các bước tiếp theo. Hãy nhớ! Làm việc nghiêm túc, không hời hợt. Tôi luôn dõi theo bạn","created_at":1778006586505}],"created_at":1778006586505,"updated_at":1778006586505},{"id":16,"title":"Handoff amp","category":"Code","template":"Bạn là một chuyên gia phân tích phiên làm việc code cực kỳ cẩn thận. Nhiệm vụ duy nhất của bạn là đọc và tóm tắt session log từ công cụ amp code cli để tạo ra context rõ ràng, chính xác cho các lần làm việc tiếp theo.\n\n### QUY TẮC BẮT BUỘC:\n- CHỈ được phân tích và tóm tắt phần **session log từ amp code cli**.\n- Nếu ở cuối prompt có thêm yêu cầu/task tiếp theo của người dùng, hãy **BỎ QUA HOÀN TOÀN** phần đó. Không được phân tích, không được liên hệ, không được đưa ra khuyến nghị cho yêu cầu mới. Trong bản đầu ra nếu có yêu cầu tiếp theo thì đưa nguyên si nó xuống dưới cùng\n- Yêu cầu tiếp theo coi như là một phần phụ để bạn cần biết chú ý nêu rõ chi tiết nào của session hiện tại cần cho yêu cầu tiếp theo (làm context hợp lý). Chứ không định hướng cho nó\n- Nếu có đính kèm ảnh hãy mô tả chi tiết anh để agent sửa theo yêu cầu của ảnh\n- Chỉ tập trung vào việc tổng hợp những gì đã xảy ra trong session.\n- Chỉ trả ra nội dung không trả lời kiểu: Sau đây là, đây là v.v...\n\n\n### Cấu trúc đầu ra (bắt buộc dùng đúng cấu trúc này):\n\n### 1. Tóm tắt tổng quát phiên làm việc\n- **Mục tiêu chính**: Mục tiêu ban đầu của phiên làm việc này là gì?\n- **Các ý chính / quyết định quan trọng**: Liệt kê ngắn gọn các ý tưởng, cách tiếp cận, quyết định thiết kế đã được đưa ra trong session.\n\n### 2. Các công việc đã hoàn thành\n- Liệt kê rõ ràng và có hệ thống tất cả các việc đã làm xong.\n- Mỗi việc ghi ngắn gọn kết quả đạt được.\n\n### 3. Các file đã chỉnh sửa\n- Liệt kê đầy đủ các file đã bị chỉnh sửa.\n- Với mỗi file ghi rõ:\n  - Đường dẫn file\n  - Tóm tắt ngắn những gì đã thay đổi (nếu có thể suy ra từ session)\n\n### 4. Các file đã đọc / phân tích. Các công cụ, skill đã sử dụng \n- Liệt kê tất cả các file đã được đọc hoặc inspect trong suốt session.\n- **Đánh dấu đậm (QUAN TRỌNG)** những file sau:\n  - File cốt lõi, file architecture, file config quan trọng\n  - Những file có khả năng cao cần đọc lại ở các task sau\n- Với file quan trọng, ghi ngắn gọn lý do tại sao file đó đáng chú ý.\n- Các công cụ, skill đã sử dụng trong task. Các lệnh chạy mẫu chi tiết để phục vụ task tiếp theo. Giúp coding agent làm việc với task tiếp theo nhanh hơn, đúng quy trình hơn\n\n### 5. Những khó khăn và vấn đề đã gặp phải\n- Mô tả các lỗi, blocker, khó khăn kỹ thuật đã xuất hiện.\n- Ghi rõ tình trạng xử lý (đã giải quyết / giải quyết một phần / vẫn còn tồn tại).\n- Nêu các rủi ro hoặc technical debt nếu có.\n\n### 6. Các điểm cần lưu ý quan trọng\n- Các quyết định thiết kế / công nghệ đã đưa ra\n- Các giả định được sử dụng\n- Các TODO hoặc công việc còn dang dở\n- Các lưu ý về best practice, security, performance, maintainability\n- Những thứ dễ bị quên hoặc cần kiểm tra lại sau này\n\n### 7. Trạng thái hiện tại sau phiên làm việc\n- Tóm tắt ngắn gọn tình trạng hiện tại của dự án sau khi kết thúc session (code đang ở mức nào, đã ổn định chưa, còn vấn đề gì nổi bật).\n\n**Quy tắc khi tóm tắt:**\n- Chỉ sử dụng thông tin có thực trong session log. Không được bịa đặt hay suy đoán.\n- Nếu thông tin không rõ ràng, ghi rõ: **\"Không rõ ràng từ session\"**.\n- Ưu tiên tính chính xác và tính hữu ích cho việc duy trì context.\n- Viết ngắn gọn, dễ đọc, sử dụng bullet points và in đậm các nội dung quan trọng.\n- Giọng điệu trung lập, khách quan.\n\n## Yêu cấu tiếp theo:\n\n{YEUCAU:textarea:Chưa có}","versions":[{"version":1,"template":"Bạn là một chuyên gia phân tích phiên làm việc code cực kỳ cẩn thận. Nhiệm vụ duy nhất của bạn là đọc và tóm tắt session log từ công cụ amp code cli để tạo ra context rõ ràng, chính xác cho các lần làm việc tiếp theo.\n\n### QUY TẮC BẮT BUỘC:\n- CHỈ được phân tích và tóm tắt phần **session log từ amp code cli**.\n- Nếu ở cuối prompt có thêm yêu cầu/task tiếp theo của người dùng, hãy **BỎ QUA HOÀN TOÀN** phần đó. Không được phân tích, không được liên hệ, không được đưa ra khuyến nghị cho yêu cầu mới. Trong bản đầu ra nếu có yêu cầu tiếp theo thì đưa nguyên si nó xuống dưới cùng\n- Yêu cầu tiếp theo coi như là một phần phụ để bạn cần biết chú ý nêu rõ chi tiết nào của session hiện tại cần cho yêu cầu tiếp theo. Chứ không định hướng cho nó\n- Chỉ tập trung vào việc tổng hợp những gì đã xảy ra trong session.\n- Chỉ trả ra nội dung không trả lời kiểu: Sau đây là, đây là v.v...\n\n\n### Cấu trúc đầu ra (bắt buộc dùng đúng cấu trúc này):\n\n### 1. Tóm tắt tổng quát phiên làm việc\n- **Mục tiêu chính**: Mục tiêu ban đầu của phiên làm việc này là gì?\n- **Các ý chính / quyết định quan trọng**: Liệt kê ngắn gọn các ý tưởng, cách tiếp cận, quyết định thiết kế đã được đưa ra trong session.\n\n### 2. Các công việc đã hoàn thành\n- Liệt kê rõ ràng và có hệ thống tất cả các việc đã làm xong.\n- Mỗi việc ghi ngắn gọn kết quả đạt được.\n\n### 3. Các file đã chỉnh sửa\n- Liệt kê đầy đủ các file đã bị chỉnh sửa.\n- Với mỗi file ghi rõ:\n  - Đường dẫn file\n  - Tóm tắt ngắn những gì đã thay đổi (nếu có thể suy ra từ session)\n\n### 4. Các file đã đọc / phân tích\n- Liệt kê tất cả các file đã được đọc hoặc inspect trong suốt session.\n- **Đánh dấu đậm (QUAN TRỌNG)** những file sau:\n  - File cốt lõi, file architecture, file config quan trọng\n  - Những file có khả năng cao cần đọc lại ở các task sau\n- Với file quan trọng, ghi ngắn gọn lý do tại sao file đó đáng chú ý.\n\n### 5. Những khó khăn và vấn đề đã gặp phải\n- Mô tả các lỗi, blocker, khó khăn kỹ thuật đã xuất hiện.\n- Ghi rõ tình trạng xử lý (đã giải quyết / giải quyết một phần / vẫn còn tồn tại).\n- Nêu các rủi ro hoặc technical debt nếu có.\n\n### 6. Các điểm cần lưu ý quan trọng\n- Các quyết định thiết kế / công nghệ đã đưa ra\n- Các giả định được sử dụng\n- Các TODO hoặc công việc còn dang dở\n- Các lưu ý về best practice, security, performance, maintainability\n- Những thứ dễ bị quên hoặc cần kiểm tra lại sau này\n\n### 7. Trạng thái hiện tại sau phiên làm việc\n- Tóm tắt ngắn gọn tình trạng hiện tại của dự án sau khi kết thúc session (code đang ở mức nào, đã ổn định chưa, còn vấn đề gì nổi bật).\n\n**Quy tắc khi tóm tắt:**\n- Chỉ sử dụng thông tin có thực trong session log. Không được bịa đặt hay suy đoán.\n- Nếu thông tin không rõ ràng, ghi rõ: **\"Không rõ ràng từ session\"**.\n- Ưu tiên tính chính xác và tính hữu ích cho việc duy trì context.\n- Viết ngắn gọn, dễ đọc, sử dụng bullet points và in đậm các nội dung quan trọng.\n- Giọng điệu trung lập, khách quan.\n\n## Yêu cấu tiếp theo:","created_at":1780864184202},{"version":2,"template":"Bạn là một chuyên gia phân tích phiên làm việc code cực kỳ cẩn thận. Nhiệm vụ duy nhất của bạn là đọc và tóm tắt session log từ công cụ amp code cli để tạo ra context rõ ràng, chính xác cho các lần làm việc tiếp theo.\n\n### QUY TẮC BẮT BUỘC:\n- CHỈ được phân tích và tóm tắt phần **session log từ amp code cli**.\n- Nếu ở cuối prompt có thêm yêu cầu/task tiếp theo của người dùng, hãy **BỎ QUA HOÀN TOÀN** phần đó. Không được phân tích, không được liên hệ, không được đưa ra khuyến nghị cho yêu cầu mới. Trong bản đầu ra nếu có yêu cầu tiếp theo thì đưa nguyên si nó xuống dưới cùng\n- Yêu cầu tiếp theo coi như là một phần phụ để bạn cần biết chú ý nêu rõ chi tiết nào của session hiện tại cần cho yêu cầu tiếp theo. Chứ không định hướng cho nó\n- Chỉ tập trung vào việc tổng hợp những gì đã xảy ra trong session.\n- Chỉ trả ra nội dung không trả lời kiểu: Sau đây là, đây là v.v...\n\n\n### Cấu trúc đầu ra (bắt buộc dùng đúng cấu trúc này):\n\n### 1. Tóm tắt tổng quát phiên làm việc\n- **Mục tiêu chính**: Mục tiêu ban đầu của phiên làm việc này là gì?\n- **Các ý chính / quyết định quan trọng**: Liệt kê ngắn gọn các ý tưởng, cách tiếp cận, quyết định thiết kế đã được đưa ra trong session.\n\n### 2. Các công việc đã hoàn thành\n- Liệt kê rõ ràng và có hệ thống tất cả các việc đã làm xong.\n- Mỗi việc ghi ngắn gọn kết quả đạt được.\n\n### 3. Các file đã chỉnh sửa\n- Liệt kê đầy đủ các file đã bị chỉnh sửa.\n- Với mỗi file ghi rõ:\n  - Đường dẫn file\n  - Tóm tắt ngắn những gì đã thay đổi (nếu có thể suy ra từ session)\n\n### 4. Các file đã đọc / phân tích\n- Liệt kê tất cả các file đã được đọc hoặc inspect trong suốt session.\n- **Đánh dấu đậm (QUAN TRỌNG)** những file sau:\n  - File cốt lõi, file architecture, file config quan trọng\n  - Những file có khả năng cao cần đọc lại ở các task sau\n- Với file quan trọng, ghi ngắn gọn lý do tại sao file đó đáng chú ý.\n\n### 5. Những khó khăn và vấn đề đã gặp phải\n- Mô tả các lỗi, blocker, khó khăn kỹ thuật đã xuất hiện.\n- Ghi rõ tình trạng xử lý (đã giải quyết / giải quyết một phần / vẫn còn tồn tại).\n- Nêu các rủi ro hoặc technical debt nếu có.\n\n### 6. Các điểm cần lưu ý quan trọng\n- Các quyết định thiết kế / công nghệ đã đưa ra\n- Các giả định được sử dụng\n- Các TODO hoặc công việc còn dang dở\n- Các lưu ý về best practice, security, performance, maintainability\n- Những thứ dễ bị quên hoặc cần kiểm tra lại sau này\n\n### 7. Trạng thái hiện tại sau phiên làm việc\n- Tóm tắt ngắn gọn tình trạng hiện tại của dự án sau khi kết thúc session (code đang ở mức nào, đã ổn định chưa, còn vấn đề gì nổi bật).\n\n**Quy tắc khi tóm tắt:**\n- Chỉ sử dụng thông tin có thực trong session log. Không được bịa đặt hay suy đoán.\n- Nếu thông tin không rõ ràng, ghi rõ: **\"Không rõ ràng từ session\"**.\n- Ưu tiên tính chính xác và tính hữu ích cho việc duy trì context.\n- Viết ngắn gọn, dễ đọc, sử dụng bullet points và in đậm các nội dung quan trọng.\n- Giọng điệu trung lập, khách quan.\n\n## Yêu cấu tiếp theo:\n\n{YEUCAU:textarea:Chưa có}","created_at":1780864194065},{"version":3,"template":"Bạn là một chuyên gia phân tích phiên làm việc code cực kỳ cẩn thận. Nhiệm vụ duy nhất của bạn là đọc và tóm tắt session log từ công cụ amp code cli để tạo ra context rõ ràng, chính xác cho các lần làm việc tiếp theo.\n\n### QUY TẮC BẮT BUỘC:\n- CHỈ được phân tích và tóm tắt phần **session log từ amp code cli**.\n- Nếu ở cuối prompt có thêm yêu cầu/task tiếp theo của người dùng, hãy **BỎ QUA HOÀN TOÀN** phần đó. Không được phân tích, không được liên hệ, không được đưa ra khuyến nghị cho yêu cầu mới. Trong bản đầu ra nếu có yêu cầu tiếp theo thì đưa nguyên si nó xuống dưới cùng\n- Yêu cầu tiếp theo coi như là một phần phụ để bạn cần biết chú ý nêu rõ chi tiết nào của session hiện tại cần cho yêu cầu tiếp theo (làm context hợp lý). Chứ không định hướng cho nó\n- Nếu có đính kèm ảnh hãy mô tả chi tiết anh để agent sửa theo yêu cầu của ảnh\n- Chỉ tập trung vào việc tổng hợp những gì đã xảy ra trong session.\n- Chỉ trả ra nội dung không trả lời kiểu: Sau đây là, đây là v.v...\n\n\n### Cấu trúc đầu ra (bắt buộc dùng đúng cấu trúc này):\n\n### 1. Tóm tắt tổng quát phiên làm việc\n- **Mục tiêu chính**: Mục tiêu ban đầu của phiên làm việc này là gì?\n- **Các ý chính / quyết định quan trọng**: Liệt kê ngắn gọn các ý tưởng, cách tiếp cận, quyết định thiết kế đã được đưa ra trong session.\n\n### 2. Các công việc đã hoàn thành\n- Liệt kê rõ ràng và có hệ thống tất cả các việc đã làm xong.\n- Mỗi việc ghi ngắn gọn kết quả đạt được.\n\n### 3. Các file đã chỉnh sửa\n- Liệt kê đầy đủ các file đã bị chỉnh sửa.\n- Với mỗi file ghi rõ:\n  - Đường dẫn file\n  - Tóm tắt ngắn những gì đã thay đổi (nếu có thể suy ra từ session)\n\n### 4. Các file đã đọc / phân tích\n- Liệt kê tất cả các file đã được đọc hoặc inspect trong suốt session.\n- **Đánh dấu đậm (QUAN TRỌNG)** những file sau:\n  - File cốt lõi, file architecture, file config quan trọng\n  - Những file có khả năng cao cần đọc lại ở các task sau\n- Với file quan trọng, ghi ngắn gọn lý do tại sao file đó đáng chú ý.\n\n### 5. Những khó khăn và vấn đề đã gặp phải\n- Mô tả các lỗi, blocker, khó khăn kỹ thuật đã xuất hiện.\n- Ghi rõ tình trạng xử lý (đã giải quyết / giải quyết một phần / vẫn còn tồn tại).\n- Nêu các rủi ro hoặc technical debt nếu có.\n\n### 6. Các điểm cần lưu ý quan trọng\n- Các quyết định thiết kế / công nghệ đã đưa ra\n- Các giả định được sử dụng\n- Các TODO hoặc công việc còn dang dở\n- Các lưu ý về best practice, security, performance, maintainability\n- Những thứ dễ bị quên hoặc cần kiểm tra lại sau này\n\n### 7. Trạng thái hiện tại sau phiên làm việc\n- Tóm tắt ngắn gọn tình trạng hiện tại của dự án sau khi kết thúc session (code đang ở mức nào, đã ổn định chưa, còn vấn đề gì nổi bật).\n\n**Quy tắc khi tóm tắt:**\n- Chỉ sử dụng thông tin có thực trong session log. Không được bịa đặt hay suy đoán.\n- Nếu thông tin không rõ ràng, ghi rõ: **\"Không rõ ràng từ session\"**.\n- Ưu tiên tính chính xác và tính hữu ích cho việc duy trì context.\n- Viết ngắn gọn, dễ đọc, sử dụng bullet points và in đậm các nội dung quan trọng.\n- Giọng điệu trung lập, khách quan.\n\n## Yêu cấu tiếp theo:\n\n{YEUCAU:textarea:Chưa có}","created_at":1786372766076},{"version":4,"template":"Bạn là một chuyên gia phân tích phiên làm việc code cực kỳ cẩn thận. Nhiệm vụ duy nhất của bạn là đọc và tóm tắt session log từ công cụ amp code cli để tạo ra context rõ ràng, chính xác cho các lần làm việc tiếp theo.\n\n### QUY TẮC BẮT BUỘC:\n- CHỈ được phân tích và tóm tắt phần **session log từ amp code cli**.\n- Nếu ở cuối prompt có thêm yêu cầu/task tiếp theo của người dùng, hãy **BỎ QUA HOÀN TOÀN** phần đó. Không được phân tích, không được liên hệ, không được đưa ra khuyến nghị cho yêu cầu mới. Trong bản đầu ra nếu có yêu cầu tiếp theo thì đưa nguyên si nó xuống dưới cùng\n- Yêu cầu tiếp theo coi như là một phần phụ để bạn cần biết chú ý nêu rõ chi tiết nào của session hiện tại cần cho yêu cầu tiếp theo (làm context hợp lý). Chứ không định hướng cho nó\n- Nếu có đính kèm ảnh hãy mô tả chi tiết anh để agent sửa theo yêu cầu của ảnh\n- Chỉ tập trung vào việc tổng hợp những gì đã xảy ra trong session.\n- Chỉ trả ra nội dung không trả lời kiểu: Sau đây là, đây là v.v...\n\n\n### Cấu trúc đầu ra (bắt buộc dùng đúng cấu trúc này):\n\n### 1. Tóm tắt tổng quát phiên làm việc\n- **Mục tiêu chính**: Mục tiêu ban đầu của phiên làm việc này là gì?\n- **Các ý chính / quyết định quan trọng**: Liệt kê ngắn gọn các ý tưởng, cách tiếp cận, quyết định thiết kế đã được đưa ra trong session.\n\n### 2. Các công việc đã hoàn thành\n- Liệt kê rõ ràng và có hệ thống tất cả các việc đã làm xong.\n- Mỗi việc ghi ngắn gọn kết quả đạt được.\n\n### 3. Các file đã chỉnh sửa\n- Liệt kê đầy đủ các file đã bị chỉnh sửa.\n- Với mỗi file ghi rõ:\n  - Đường dẫn file\n  - Tóm tắt ngắn những gì đã thay đổi (nếu có thể suy ra từ session)\n\n### 4. Các file đã đọc / phân tích. Các công cụ, skill đã sử dụng \n- Liệt kê tất cả các file đã được đọc hoặc inspect trong suốt session.\n- **Đánh dấu đậm (QUAN TRỌNG)** những file sau:\n  - File cốt lõi, file architecture, file config quan trọng\n  - Những file có khả năng cao cần đọc lại ở các task sau\n- Với file quan trọng, ghi ngắn gọn lý do tại sao file đó đáng chú ý.\n- Các công cụ, skill đã sử dụng trong task. Các lệnh chạy chi tiết để phục vụ task tiếp theo\n\n### 5. Những khó khăn và vấn đề đã gặp phải\n- Mô tả các lỗi, blocker, khó khăn kỹ thuật đã xuất hiện.\n- Ghi rõ tình trạng xử lý (đã giải quyết / giải quyết một phần / vẫn còn tồn tại).\n- Nêu các rủi ro hoặc technical debt nếu có.\n\n### 6. Các điểm cần lưu ý quan trọng\n- Các quyết định thiết kế / công nghệ đã đưa ra\n- Các giả định được sử dụng\n- Các TODO hoặc công việc còn dang dở\n- Các lưu ý về best practice, security, performance, maintainability\n- Những thứ dễ bị quên hoặc cần kiểm tra lại sau này\n\n### 7. Trạng thái hiện tại sau phiên làm việc\n- Tóm tắt ngắn gọn tình trạng hiện tại của dự án sau khi kết thúc session (code đang ở mức nào, đã ổn định chưa, còn vấn đề gì nổi bật).\n\n**Quy tắc khi tóm tắt:**\n- Chỉ sử dụng thông tin có thực trong session log. Không được bịa đặt hay suy đoán.\n- Nếu thông tin không rõ ràng, ghi rõ: **\"Không rõ ràng từ session\"**.\n- Ưu tiên tính chính xác và tính hữu ích cho việc duy trì context.\n- Viết ngắn gọn, dễ đọc, sử dụng bullet points và in đậm các nội dung quan trọng.\n- Giọng điệu trung lập, khách quan.\n\n## Yêu cấu tiếp theo:\n\n{YEUCAU:textarea:Chưa có}","created_at":1787483945927},{"version":5,"template":"Bạn là một chuyên gia phân tích phiên làm việc code cực kỳ cẩn thận. Nhiệm vụ duy nhất của bạn là đọc và tóm tắt session log từ công cụ amp code cli để tạo ra context rõ ràng, chính xác cho các lần làm việc tiếp theo.\n\n### QUY TẮC BẮT BUỘC:\n- CHỈ được phân tích và tóm tắt phần **session log từ amp code cli**.\n- Nếu ở cuối prompt có thêm yêu cầu/task tiếp theo của người dùng, hãy **BỎ QUA HOÀN TOÀN** phần đó. Không được phân tích, không được liên hệ, không được đưa ra khuyến nghị cho yêu cầu mới. Trong bản đầu ra nếu có yêu cầu tiếp theo thì đưa nguyên si nó xuống dưới cùng\n- Yêu cầu tiếp theo coi như là một phần phụ để bạn cần biết chú ý nêu rõ chi tiết nào của session hiện tại cần cho yêu cầu tiếp theo (làm context hợp lý). Chứ không định hướng cho nó\n- Nếu có đính kèm ảnh hãy mô tả chi tiết anh để agent sửa theo yêu cầu của ảnh\n- Chỉ tập trung vào việc tổng hợp những gì đã xảy ra trong session.\n- Chỉ trả ra nội dung không trả lời kiểu: Sau đây là, đây là v.v...\n\n\n### Cấu trúc đầu ra (bắt buộc dùng đúng cấu trúc này):\n\n### 1. Tóm tắt tổng quát phiên làm việc\n- **Mục tiêu chính**: Mục tiêu ban đầu của phiên làm việc này là gì?\n- **Các ý chính / quyết định quan trọng**: Liệt kê ngắn gọn các ý tưởng, cách tiếp cận, quyết định thiết kế đã được đưa ra trong session.\n\n### 2. Các công việc đã hoàn thành\n- Liệt kê rõ ràng và có hệ thống tất cả các việc đã làm xong.\n- Mỗi việc ghi ngắn gọn kết quả đạt được.\n\n### 3. Các file đã chỉnh sửa\n- Liệt kê đầy đủ các file đã bị chỉnh sửa.\n- Với mỗi file ghi rõ:\n  - Đường dẫn file\n  - Tóm tắt ngắn những gì đã thay đổi (nếu có thể suy ra từ session)\n\n### 4. Các file đã đọc / phân tích. Các công cụ, skill đã sử dụng \n- Liệt kê tất cả các file đã được đọc hoặc inspect trong suốt session.\n- **Đánh dấu đậm (QUAN TRỌNG)** những file sau:\n  - File cốt lõi, file architecture, file config quan trọng\n  - Những file có khả năng cao cần đọc lại ở các task sau\n- Với file quan trọng, ghi ngắn gọn lý do tại sao file đó đáng chú ý.\n- Các công cụ, skill đã sử dụng trong task. Các lệnh chạy mẫu chi tiết để phục vụ task tiếp theo. Giúp coding agent làm việc với task tiếp theo nhanh hơn, đúng quy trình hơn\n\n### 5. Những khó khăn và vấn đề đã gặp phải\n- Mô tả các lỗi, blocker, khó khăn kỹ thuật đã xuất hiện.\n- Ghi rõ tình trạng xử lý (đã giải quyết / giải quyết một phần / vẫn còn tồn tại).\n- Nêu các rủi ro hoặc technical debt nếu có.\n\n### 6. Các điểm cần lưu ý quan trọng\n- Các quyết định thiết kế / công nghệ đã đưa ra\n- Các giả định được sử dụng\n- Các TODO hoặc công việc còn dang dở\n- Các lưu ý về best practice, security, performance, maintainability\n- Những thứ dễ bị quên hoặc cần kiểm tra lại sau này\n\n### 7. Trạng thái hiện tại sau phiên làm việc\n- Tóm tắt ngắn gọn tình trạng hiện tại của dự án sau khi kết thúc session (code đang ở mức nào, đã ổn định chưa, còn vấn đề gì nổi bật).\n\n**Quy tắc khi tóm tắt:**\n- Chỉ sử dụng thông tin có thực trong session log. Không được bịa đặt hay suy đoán.\n- Nếu thông tin không rõ ràng, ghi rõ: **\"Không rõ ràng từ session\"**.\n- Ưu tiên tính chính xác và tính hữu ích cho việc duy trì context.\n- Viết ngắn gọn, dễ đọc, sử dụng bullet points và in đậm các nội dung quan trọng.\n- Giọng điệu trung lập, khách quan.\n\n## Yêu cấu tiếp theo:\n\n{YEUCAU:textarea:Chưa có}","created_at":1787483978075}],"created_at":1780864184202,"updated_at":1787483978075},{"id":17,"title":"Tóm tắt session vào bo nho mcp","category":"Code","template":"Dựa trên toàn bộ lịch sử cuộc trò chuyện và công việc chúng ta vừa thực hiện trong session này, hãy ghi nhớ vào bo nho mcp, rõ ràng và mang tính xây dựng theo đúng cấu trúc sau.\n\n**Mục tiêu chính:** Giúp các session làm việc sau hiệu quả hơn, nhanh hơn và giảm thiểu sai sót lặp lại.\n\n### 1. Những việc quan trọng cần ghi nhớ cho session sau\n- Liệt kê các yêu cầu then chốt, quyết định thiết kế, quy ước code, cấu trúc thư mục, tiêu chuẩn chất lượng, và các best practices quan trọng liên quan đến task/project.\n- Ưu tiên những điểm ảnh hưởng trực tiếp đến tốc độ và chất lượng làm việc.\n\n### 2. Cách làm đúng cho các quy trình chính\n- Với mỗi phần quan trọng trong quy trình, hãy mô tả **cách làm đúng** và **lý do nên làm như vậy**.\n- Sử dụng ngôn ngữ tích cực, hướng dẫn: \"Để đạt được [mục tiêu], cách tốt nhất là...\", \"Nên làm theo thứ tự sau...\", \"Cách tối ưu là...\".\n- Không được dùng từ ngữ tiêu cực như \"bạn đã làm sai\", \"lỗi\", \"vấn đề\". Chỉ tập trung vào cách làm đúng.\n\n### 3. Code mẫu đúng của quy trình\n- Cung cấp các đoạn code mẫu sạch, đúng chuẩn, có thể tái sử dụng.\n- Tập trung vào những phần hay gặp vấn đề hoặc quan trọng nhất (ví dụ: setup, xử lý lỗi, validation, logging, testing, cấu trúc file, API call, state management...).\n- Thêm comment ngắn gọn giải thích tại sao code này là cách làm đúng.\n- Ưu tiên code có tính tái sử dụng cao và dễ bảo trì.\n\n### 4. Tóm tắt để làm việc hiệu quả hơn ở session sau\n- Checklist những việc nên làm trước khi bắt đầu code.\n- Những điểm cần làm rõ ngay từ đầu để tránh ambiguity.\n- Các pattern / workflow / quy trình nên tuân thủ.\n- Lời khuyên cụ thể để session sau nhanh hơn và ít phải sửa chữa hơn.\n- Bất kỳ lưu ý quan trọng nào về context, dependencies, môi trường hoặc thứ tự thực hiện.\n\n**Yêu cầu khi ghi vào bo nho mcp**\n- Viết ngắn gọn, dễ đọc, dùng bullet points và markdown rõ ràng.\n- Tập trung vào giá trị thực tế cho lần sau.\n- Không được dùng ngôn ngữ đổ lỗi hoặc tiêu cực.\n- Nếu phần nào không có thông tin thì bỏ qua hoặc ghi rõ \"Không áp dụng trong session này\".","versions":[{"version":1,"template":"Dựa trên toàn bộ lịch sử cuộc trò chuyện và công việc chúng ta vừa thực hiện trong session này, hãy ghi nhớ vào bo nho mcp, rõ ràng và mang tính xây dựng theo đúng cấu trúc sau.\n\n**Mục tiêu chính:** Giúp các session làm việc sau hiệu quả hơn, nhanh hơn và giảm thiểu sai sót lặp lại.\n\n### 1. Những việc quan trọng cần ghi nhớ cho session sau\n- Liệt kê các yêu cầu then chốt, quyết định thiết kế, quy ước code, cấu trúc thư mục, tiêu chuẩn chất lượng, và các best practices quan trọng liên quan đến task/project.\n- Ưu tiên những điểm ảnh hưởng trực tiếp đến tốc độ và chất lượng làm việc.\n\n### 2. Cách làm đúng cho các quy trình chính\n- Với mỗi phần quan trọng trong quy trình, hãy mô tả **cách làm đúng** và **lý do nên làm như vậy**.\n- Sử dụng ngôn ngữ tích cực, hướng dẫn: \"Để đạt được [mục tiêu], cách tốt nhất là...\", \"Nên làm theo thứ tự sau...\", \"Cách tối ưu là...\".\n- Không được dùng từ ngữ tiêu cực như \"bạn đã làm sai\", \"lỗi\", \"vấn đề\". Chỉ tập trung vào cách làm đúng.\n\n### 3. Code mẫu đúng của quy trình\n- Cung cấp các đoạn code mẫu sạch, đúng chuẩn, có thể tái sử dụng.\n- Tập trung vào những phần hay gặp vấn đề hoặc quan trọng nhất (ví dụ: setup, xử lý lỗi, validation, logging, testing, cấu trúc file, API call, state management...).\n- Thêm comment ngắn gọn giải thích tại sao code này là cách làm đúng.\n- Ưu tiên code có tính tái sử dụng cao và dễ bảo trì.\n\n### 4. Tóm tắt để làm việc hiệu quả hơn ở session sau\n- Checklist những việc nên làm trước khi bắt đầu code.\n- Những điểm cần làm rõ ngay từ đầu để tránh ambiguity.\n- Các pattern / workflow / quy trình nên tuân thủ.\n- Lời khuyên cụ thể để session sau nhanh hơn và ít phải sửa chữa hơn.\n- Bất kỳ lưu ý quan trọng nào về context, dependencies, môi trường hoặc thứ tự thực hiện.\n\n**Yêu cầu khi ghi vào bo nho mcp**\n- Viết ngắn gọn, dễ đọc, dùng bullet points và markdown rõ ràng.\n- Tập trung vào giá trị thực tế cho lần sau.\n- Không được dùng ngôn ngữ đổ lỗi hoặc tiêu cực.\n- Nếu phần nào không có thông tin thì bỏ qua hoặc ghi rõ \"Không áp dụng trong session này\".","created_at":1781944567440}],"created_at":1781944567440,"updated_at":1781944567440},{"id":18,"title":"Trả git diff","category":"Code","template":"{YEUCAU:textarea:Với yêu cầu trên:required}\nTrả diff theo yêu cầu bên dưới. Trả dạng có thể dùng git diff apply được. 1 file patch liền mạch không đánh dấu bằng markdown. \nTUYỆT ĐỐI: Không trả ra dạng nhiều\n\n```diff\n.....\n```\n```diff\n.....\n```\n\nMà trả ra duy nhất 1 block dạng sau để sẵn sàng copy dùng git apply diff\n\n```diff\nFull diff nhiêu 2file\n```\nTrong diff tạo  luôn 1 file trong thư mục docs chứa các logic đã implement, các thay đổi, cách sử dụng (nếu có), các lệnh cần chạy (nếu có)\nKết quả yêu cầu trả ra dạng chuẩn git diff:\n\nYour **ONLY** output will be a series of unified diff blocks (concatenated, one per changed file). No other text, explanations, code blocks, markdown, or apologies are permitted.\n\n### Block Structure (exact format - raw patch, dễ apply bằng `patch -p0`):\n```\n--- path/to/file.ext\n+++ path/to/file.ext\n@@ -1,3 +1,3 @@\n old line\n-old line 2\n+new line 2\n old line 3\n```\n\n- **File path** (first two lines): Must be the exact project-root-relative path (forward slashes `/`).\n- **Hunk header**: `@@ -old_start,old_count +new_start,new_count @@` phải chính xác.\n- **Lines**: Context lines (không dấu), xóa dùng `-`, thêm dùng `+`. Giữ nguyên thứ tự, indentation, whitespace từ file gốc.\n- Multiple files: nối tiếp nhau (không khoảng trắng thừa giữa các block).\n- Include enough context in each hunk (3–10 lines) so the patch applies cleanly.\n\n### Specific Cases:\n**Modified file (normal change):**\n```\n--- src/example.py\n+++ src/example.py\n@@ -1,5 +1,6 @@\n def old_function():\n     print(\"hello\")\n+    return True\n```\n\n**Newly created file:**\n```\n--- /dev/null\n+++ src/new_feature.py\n@@ -0,0 +1,5 @@\n+# Full content of the new file here\n+def new_function():\n+    ...\n```\n\n**Deleted file (or delete entire content):**\n```\n--- src/old_file.py\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-entire content of the old file\n```\n\n**Delete only some lines:**\n```\n--- src/example.py\n+++ src/example.py\n@@ -2,2 +2,0 @@\n-    print(\"to be deleted\")\n-    another_line()\n```\n\n**Modified Vue file (example - maintain original order in diff):**\n```\n--- app/layouts/admin.vue\n+++ app/layouts/admin.vue\n@@ -1,10 +1,10 @@\n <template>\n   <!-- Original template content -->\n </template>\n <script setup lang=\"ts\">\n-  // Original script content\n+  // Updated script content\n </script>\n```\n\n- If no changes are needed → output nothing (empty response).\n- Do **not** include any file that is untouched.","versions":[{"version":1,"template":"{YEUCAU:textarea:required}\nKết quả yêu cầu trả ra dạng chuẩn git diff:\n\nYour **ONLY** output will be a series of unified diff blocks (concatenated, one per changed file). No other text, explanations, code blocks, markdown, or apologies are permitted.\n\n### Block Structure (exact format - raw patch, dễ apply bằng `patch -p0`):\n```\n--- path/to/file.ext\n+++ path/to/file.ext\n@@ -1,3 +1,3 @@\n old line\n-old line 2\n+new line 2\n old line 3\n```\n\n- **File path** (first two lines): Must be the exact project-root-relative path (forward slashes `/`).\n- **Hunk header**: `@@ -old_start,old_count +new_start,new_count @@` phải chính xác.\n- **Lines**: Context lines (không dấu), xóa dùng `-`, thêm dùng `+`. Giữ nguyên thứ tự, indentation, whitespace từ file gốc.\n- Multiple files: nối tiếp nhau (không khoảng trắng thừa giữa các block).\n- Include enough context in each hunk (3–10 lines) so the patch applies cleanly.\n\n### Specific Cases:\n**Modified file (normal change):**\n```\n--- src/example.py\n+++ src/example.py\n@@ -1,5 +1,6 @@\n def old_function():\n     print(\"hello\")\n+    return True\n```\n\n**Newly created file:**\n```\n--- /dev/null\n+++ src/new_feature.py\n@@ -0,0 +1,5 @@\n+# Full content of the new file here\n+def new_function():\n+    ...\n```\n\n**Deleted file (or delete entire content):**\n```\n--- src/old_file.py\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-entire content of the old file\n```\n\n**Delete only some lines:**\n```\n--- src/example.py\n+++ src/example.py\n@@ -2,2 +2,0 @@\n-    print(\"to be deleted\")\n-    another_line()\n```\n\n**Modified Vue file (example - maintain original order in diff):**\n```\n--- app/layouts/admin.vue\n+++ app/layouts/admin.vue\n@@ -1,10 +1,10 @@\n <template>\n   <!-- Original template content -->\n </template>\n <script setup lang=\"ts\">\n-  // Original script content\n+  // Updated script content\n </script>\n```\n\n- If no changes are needed → output nothing (empty response).\n- Do **not** include any file that is untouched.","created_at":1782030297043},{"version":2,"template":"{YEUCAU:textarea:required}\nTrả diff theo yêu cầu bên dưới. Trả dạng có thể dùng git diff apply được. 1 file patch liền mạch không đánh dấu bằng markdown. Trong diff tạo  luôn 1 file trong thư mục docs chứa các logic đã implement, các thay đổi, cách sử dụng (nếu có), các lệnh cần chạy (nếu có)\nKết quả yêu cầu trả ra dạng chuẩn git diff:\n\nYour **ONLY** output will be a series of unified diff blocks (concatenated, one per changed file). No other text, explanations, code blocks, markdown, or apologies are permitted.\n\n### Block Structure (exact format - raw patch, dễ apply bằng `patch -p0`):\n```\n--- path/to/file.ext\n+++ path/to/file.ext\n@@ -1,3 +1,3 @@\n old line\n-old line 2\n+new line 2\n old line 3\n```\n\n- **File path** (first two lines): Must be the exact project-root-relative path (forward slashes `/`).\n- **Hunk header**: `@@ -old_start,old_count +new_start,new_count @@` phải chính xác.\n- **Lines**: Context lines (không dấu), xóa dùng `-`, thêm dùng `+`. Giữ nguyên thứ tự, indentation, whitespace từ file gốc.\n- Multiple files: nối tiếp nhau (không khoảng trắng thừa giữa các block).\n- Include enough context in each hunk (3–10 lines) so the patch applies cleanly.\n\n### Specific Cases:\n**Modified file (normal change):**\n```\n--- src/example.py\n+++ src/example.py\n@@ -1,5 +1,6 @@\n def old_function():\n     print(\"hello\")\n+    return True\n```\n\n**Newly created file:**\n```\n--- /dev/null\n+++ src/new_feature.py\n@@ -0,0 +1,5 @@\n+# Full content of the new file here\n+def new_function():\n+    ...\n```\n\n**Deleted file (or delete entire content):**\n```\n--- src/old_file.py\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-entire content of the old file\n```\n\n**Delete only some lines:**\n```\n--- src/example.py\n+++ src/example.py\n@@ -2,2 +2,0 @@\n-    print(\"to be deleted\")\n-    another_line()\n```\n\n**Modified Vue file (example - maintain original order in diff):**\n```\n--- app/layouts/admin.vue\n+++ app/layouts/admin.vue\n@@ -1,10 +1,10 @@\n <template>\n   <!-- Original template content -->\n </template>\n <script setup lang=\"ts\">\n-  // Original script content\n+  // Updated script content\n </script>\n```\n\n- If no changes are needed → output nothing (empty response).\n- Do **not** include any file that is untouched.","created_at":1783615761321},{"version":3,"template":"{YEUCAU:textarea:Với yêu cầu trên:required}\nTrả diff theo yêu cầu bên dưới. Trả dạng có thể dùng git diff apply được. 1 file patch liền mạch không đánh dấu bằng markdown. Trong diff tạo  luôn 1 file trong thư mục docs chứa các logic đã implement, các thay đổi, cách sử dụng (nếu có), các lệnh cần chạy (nếu có)\nKết quả yêu cầu trả ra dạng chuẩn git diff:\n\nYour **ONLY** output will be a series of unified diff blocks (concatenated, one per changed file). No other text, explanations, code blocks, markdown, or apologies are permitted.\n\n### Block Structure (exact format - raw patch, dễ apply bằng `patch -p0`):\n```\n--- path/to/file.ext\n+++ path/to/file.ext\n@@ -1,3 +1,3 @@\n old line\n-old line 2\n+new line 2\n old line 3\n```\n\n- **File path** (first two lines): Must be the exact project-root-relative path (forward slashes `/`).\n- **Hunk header**: `@@ -old_start,old_count +new_start,new_count @@` phải chính xác.\n- **Lines**: Context lines (không dấu), xóa dùng `-`, thêm dùng `+`. Giữ nguyên thứ tự, indentation, whitespace từ file gốc.\n- Multiple files: nối tiếp nhau (không khoảng trắng thừa giữa các block).\n- Include enough context in each hunk (3–10 lines) so the patch applies cleanly.\n\n### Specific Cases:\n**Modified file (normal change):**\n```\n--- src/example.py\n+++ src/example.py\n@@ -1,5 +1,6 @@\n def old_function():\n     print(\"hello\")\n+    return True\n```\n\n**Newly created file:**\n```\n--- /dev/null\n+++ src/new_feature.py\n@@ -0,0 +1,5 @@\n+# Full content of the new file here\n+def new_function():\n+    ...\n```\n\n**Deleted file (or delete entire content):**\n```\n--- src/old_file.py\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-entire content of the old file\n```\n\n**Delete only some lines:**\n```\n--- src/example.py\n+++ src/example.py\n@@ -2,2 +2,0 @@\n-    print(\"to be deleted\")\n-    another_line()\n```\n\n**Modified Vue file (example - maintain original order in diff):**\n```\n--- app/layouts/admin.vue\n+++ app/layouts/admin.vue\n@@ -1,10 +1,10 @@\n <template>\n   <!-- Original template content -->\n </template>\n <script setup lang=\"ts\">\n-  // Original script content\n+  // Updated script content\n </script>\n```\n\n- If no changes are needed → output nothing (empty response).\n- Do **not** include any file that is untouched.","created_at":1783615815248},{"version":4,"template":"{YEUCAU:textarea:Với yêu cầu trên:required}\nTrả diff theo yêu cầu bên dưới. Trả dạng có thể dùng git diff apply được. 1 file patch liền mạch không đánh dấu bằng markdown. \nTUYỆT ĐỐI: Không trả ra dạng nhiều\n\n```diff\n.....\n```\n```diff\n.....\n```\n\nMà trả ra duy nhất 1 block dạng sau để sẵn sàng copy dùng git apply diff\n\n```diff\nFull diff nhiêu 2file\n```\nTrong diff tạo  luôn 1 file trong thư mục docs chứa các logic đã implement, các thay đổi, cách sử dụng (nếu có), các lệnh cần chạy (nếu có)\nKết quả yêu cầu trả ra dạng chuẩn git diff:\n\nYour **ONLY** output will be a series of unified diff blocks (concatenated, one per changed file). No other text, explanations, code blocks, markdown, or apologies are permitted.\n\n### Block Structure (exact format - raw patch, dễ apply bằng `patch -p0`):\n```\n--- path/to/file.ext\n+++ path/to/file.ext\n@@ -1,3 +1,3 @@\n old line\n-old line 2\n+new line 2\n old line 3\n```\n\n- **File path** (first two lines): Must be the exact project-root-relative path (forward slashes `/`).\n- **Hunk header**: `@@ -old_start,old_count +new_start,new_count @@` phải chính xác.\n- **Lines**: Context lines (không dấu), xóa dùng `-`, thêm dùng `+`. Giữ nguyên thứ tự, indentation, whitespace từ file gốc.\n- Multiple files: nối tiếp nhau (không khoảng trắng thừa giữa các block).\n- Include enough context in each hunk (3–10 lines) so the patch applies cleanly.\n\n### Specific Cases:\n**Modified file (normal change):**\n```\n--- src/example.py\n+++ src/example.py\n@@ -1,5 +1,6 @@\n def old_function():\n     print(\"hello\")\n+    return True\n```\n\n**Newly created file:**\n```\n--- /dev/null\n+++ src/new_feature.py\n@@ -0,0 +1,5 @@\n+# Full content of the new file here\n+def new_function():\n+    ...\n```\n\n**Deleted file (or delete entire content):**\n```\n--- src/old_file.py\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-entire content of the old file\n```\n\n**Delete only some lines:**\n```\n--- src/example.py\n+++ src/example.py\n@@ -2,2 +2,0 @@\n-    print(\"to be deleted\")\n-    another_line()\n```\n\n**Modified Vue file (example - maintain original order in diff):**\n```\n--- app/layouts/admin.vue\n+++ app/layouts/admin.vue\n@@ -1,10 +1,10 @@\n <template>\n   <!-- Original template content -->\n </template>\n <script setup lang=\"ts\">\n-  // Original script content\n+  // Updated script content\n </script>\n```\n\n- If no changes are needed → output nothing (empty response).\n- Do **not** include any file that is untouched.","created_at":1783616000327}],"created_at":1782030297043,"updated_at":1783616000327},{"id":19,"title":"Tổng hợp hermes","category":"Hermes","template":"Tôi có hàng trăm sessions. Và 1 file ~/robert-agent-knowledge-distillation.md tổng hợp đã có trước đó. Nhiệm vụ của bạn:\n\nBước 1: Lập kế hoạch tìm kiếm\n- Liệt kê 8-12 chủ đề chính cần phân tích (ví dụ: workflow phát triển, xử lý lỗi, research, deployment, communication style...)\n- Với mỗi chủ đề, đưa ra các từ khóa / query tốt nhất để dùng session_search.\n\nBước 2: Thực hiện tìm kiếm theo kế hoạch\n- Dùng session_search nhiều lần với các query khác nhau.\n- Tập trung tìm: pattern lặp lại, best practices, những lần thất bại/lỗi, và cách giải quyết.\n\nBước 3: Tổng hợp thành 3 đầu ra:\nA. Các **Quy trình chuẩn (SOPs)**\nB. **Những gì hay làm sai + cần tránh**\nC. **Tóm tắt tổng quan** các insight quan trọng\n\nBước 4: Sau khi có bản nháp, hãy tự kiểm tra lại: \"Còn thiếu chủ đề hay pattern nào không?\" và bổ sung nếu cần.\n\nHãy làm kỹ và có hệ thống. Ưu tiên chất lượng và tính toàn diện.\n\nBổ sung các phần còn thiếu, chưa chính xác vào file ~/robert-agent-knowledge-distillation.md\n\nChú ý trong phiên làm việc này bạn chỉ được ghi tối đa 250 dòng 1 lần nếu nội dung dài hãy patch nhiều lần","versions":[{"version":1,"template":"Tôi có hàng trăm sessions. Và 1 file ~/robert-agent-knowledge-distillation.md tổng hợp đã có trước đó. Nhiệm vụ của bạn:\n\nBước 1: Lập kế hoạch tìm kiếm\n- Liệt kê 8-12 chủ đề chính cần phân tích (ví dụ: workflow phát triển, xử lý lỗi, research, deployment, communication style...)\n- Với mỗi chủ đề, đưa ra các từ khóa / query tốt nhất để dùng session_search.\n\nBước 2: Thực hiện tìm kiếm theo kế hoạch\n- Dùng session_search nhiều lần với các query khác nhau.\n- Tập trung tìm: pattern lặp lại, best practices, những lần thất bại/lỗi, và cách giải quyết.\n\nBước 3: Tổng hợp thành 3 đầu ra:\nA. Các **Quy trình chuẩn (SOPs)**\nB. **Những gì hay làm sai + cần tránh**\nC. **Tóm tắt tổng quan** các insight quan trọng\n\nBước 4: Sau khi có bản nháp, hãy tự kiểm tra lại: \"Còn thiếu chủ đề hay pattern nào không?\" và bổ sung nếu cần.\n\nHãy làm kỹ và có hệ thống. Ưu tiên chất lượng và tính toàn diện.\n\nBổ sung các phần còn thiếu, chưa chính xác vào file ~/robert-agent-knowledge-distillation.md\n\nChú ý trong phiên làm việc này bạn chỉ được ghi tối đa 250 dòng 1 lần nếu nội dung dài hãy patch nhiều lần","created_at":1782455933788}],"created_at":1782455933788,"updated_at":1782455933788},{"id":20,"title":"Làm rõ yêu cầu 2 bước","category":"Code","template":"Với yêu cầu như sau:.\n{YEUCAU:textarea:required}\nHãy làm đúng quy trình 2 bước: (1) dùng skill enhancing-requirements để làm rõ (Q&A đủ 2 giai đoạn), (2) dùng planning-implementation để lập kế hoạch chi tiết; lưu lần lượt vào docs/<slug>/ENHANCED_REQUIREMENT.md, docs/<slug>/IMPLEMENTATION_PLAN.md. Không code trước khi hoàn tất 2 bước. Bắt buộc hỏi lại nếu thiếu context và giữ tiếng Việt","versions":[{"version":1,"template":"Với yêu cầu như sau:.\n{YEUCAU:textarea:required}\nHãy làm đúng quy trình 2 bước: (1) dùng skill enhancing-requirements để làm rõ (Q&A đủ 2 giai đoạn), (2) dùng planning-implementation để lập kế hoạch chi tiết; lưu lần lượt vào docs/<slug>/ENHANCED_REQUIREMENT.md, docs/<slug>/IMPLEMENTATION_PLAN.md. Không code trước khi hoàn tất 2 bước. Bắt buộc hỏi lại nếu thiếu context và giữ tiếng Việt","created_at":1783433090709}],"created_at":1783433090709,"updated_at":1783433090709}]