Bỏ qua để đến nội dung

Skill Tạo Báo Cáo

Level: L4 — AI Skills (Bài 11/12)

Sau bài này, bạn có thể:

  • Áp dụng mẫu hình “template pattern” chính thức (strict vs flexible) để thiết kế cấu trúc báo cáo cho 1 Skill.
  • Thiết kế 1 Skill tạo báo cáo với đầu vào linh hoạt (dữ liệu khác nhau mỗi lần) nhưng đầu ra nhất quán (cùng 1 cấu trúc).
  • Phân biệt vai trò của bài này (đóng gói cơ chế) với vai trò tương lai của Level 5 (ứng dụng trực tiếp vào công việc).

“Template pattern” chính thức — 2 mức độ nghiêm ngặt (S77):

Mức nghiêm ngặt (khi cần đúng 1 khuôn cố định, ví dụ báo cáo gửi cấp trên định kỳ):

## Report structure
ALWAYS use this exact template structure:
# [Analysis Title]
## Executive summary
[One-paragraph overview of key findings]
## Key findings
- Finding 1 with supporting data
- Finding 2 with supporting data
- Finding 3 with supporting data
## Recommendations
1. Specific actionable recommendation
2. Specific actionable recommendation

[S77]

Mức linh hoạt (khi cần đúng khung chung nhưng cho phép tùy biến theo từng loại phân tích):

## Report structure
Here is a sensible default format, but use your best judgment based on the
analysis:
# [Analysis Title]
## Executive summary
[Overview]
## Key findings
[Adapt sections based on what you discover]
## Recommendations
[Tailor to the specific context]

[S77]

Đây chính là ứng dụng cụ thể của “degrees of freedom” đã học ở bài 32 — báo cáo cho báo cáo tài chính định kỳ (rủi ro sai lệch cấu trúc gây khó đọc) nên dùng mức nghiêm ngặt; báo cáo phân tích khám phá (mỗi lần phát hiện khác nhau) nên dùng mức linh hoạt.

“Tạo báo cáo” là 1 trong những tác vụ lặp lại phổ biến nhất trong công việc — đúng ứng viên lý tưởng để đóng gói thành Skill (đạt cả 4 tiêu chí đã học ở bài 29: lặp lại thường xuyên, quy trình tương đối ổn định, hướng dẫn dài nếu giải thích lại mỗi lần, có thể mô tả rõ khi nào dùng). Đây cũng là bài học tốt về cách cân bằng “nhất quán” (đầu ra luôn đúng cấu trúc) với “linh hoạt” (nội dung mỗi lần khác nhau tùy dữ liệu đầu vào).

Không có gì khác biệt về cơ chế kỹ thuật so với các Skill đã học (bài 35, 37, 38) — điểm đặc thù của “Skill tạo báo cáo” nằm ở việc input (dữ liệu phân tích) thay đổi mỗi lần được gọi, nhưng output (cấu trúc báo cáo) cần giữ ổn định. Đây chính là điểm khác biệt so với Skill giọng văn (bài 37 — profile khá cố định) — Skill tạo báo cáo là ví dụ điển hình nhất cho khái niệm “input/output contract” đã học ở bài 34: input linh hoạt ($ARGUMENTS hoặc dữ liệu đính kèm), nhưng output theo đúng 1 hợp đồng cấu trúc cố định.

Tiếp nối chuỗi ẩn dụ: nếu Skill phân tích tài liệu (bài 38) là quy trình đọc theo chuẩn, thì Skill tạo báo cáo là quy trình viết theo chuẩn — cùng nguyên lý (đóng gói quy trình lặp lại), khác chiều (đọc vào vs viết ra). 1 khuôn báo cáo tốt giống như 1 biểu mẫu in sẵn tiêu đề mục — bạn điền nội dung khác nhau mỗi lần, nhưng người đọc luôn biết chính xác tìm thông tin gì ở đâu.

  1. Xác định loại báo cáo cụ thể (không phải “báo cáo nói chung”) — ví dụ: báo cáo tiến độ dự án hàng tuần, báo cáo phân tích số liệu bán hàng.
  2. Quyết định mức nghiêm ngặt: báo cáo này có cần đúng 1 khuôn cố định tuyệt đối, hay chỉ cần khung gợi ý?
  3. Viết template theo đúng mẫu mục 2 (strict hoặc flexible).
  4. Xác định input: dữ liệu đầu vào tới từ đâu (dán trực tiếp, file đính kèm theo L1 bài 7, hay Knowledge base theo L3 bài 21)? Instructions cần ghi rõ nguồn dữ liệu mong đợi.
  5. Viết SKILL.md hoàn chỉnh, test với ít nhất 2 bộ dữ liệu khác nhau — xác nhận cấu trúc output giữ ổn định dù nội dung khác nhau.

Áp dụng mẫu strict template cho báo cáo tiến độ dự án hàng tuần:

---
name: weekly-progress-report
description: Generates a weekly project progress report from status
updates or task lists. Use when the user asks for a weekly report,
status update, or progress summary.
---
## Report structure
ALWAYS use this exact template:
# Weekly Progress Report — [Date range]
## Executive summary
[1 paragraph — overall status: on track / at risk / delayed]
## Completed this week
- [Item with brief context]
## In progress
- [Item] — [% complete or status note]
## Blockers
- [Blocker, if any — otherwise state "None"]
## Next week
- [Planned item]

Đây là ví dụ minh họa tự thiết kế, áp dụng đúng mẫu “strict template” chính thức (S77) cho 1 tình huống công việc thực tế.

Báo cáo này...
- Gửi định kỳ cho cùng 1 nhóm người đọc, cần dễ so sánh giữa các kỳ?
→ Mức NGHIÊM NGẶT (ALWAYS use this exact template)
- Mỗi lần phân tích 1 khía cạnh khác nhau, cần linh hoạt theo phát hiện?
→ Mức LINH HOẠT (sensible default, dùng best judgment)
Strict templateKhung cố định, không đổiBáo cáo định kỳ, dễ so sánh giữa các kỳFlexible templateKhung gợi ý, tùy biến theo phát hiệnBáo cáo phân tích khám phá
Hình 4.11 — Strict template (báo cáo định kỳ) vs Flexible template (báo cáo khám phá). [S77]
  1. Chọn 1 loại báo cáo bạn thường tạo (hoặc dùng ví dụ báo cáo tiến độ ở mục 7).
  2. Áp dụng khung quyết định (mục 8) để chọn mức nghiêm ngặt phù hợp.
  3. Viết SKILL.md hoàn chỉnh theo đúng mẫu đã chọn.
  4. Test với 2 bộ dữ liệu khác nhau — cấu trúc output có giữ nhất quán không?
  • Chọn mức nghiêm ngặt sai — dùng “strict” cho báo cáo cần linh hoạt (gò ép nội dung không phù hợp vào khuôn), hoặc dùng “flexible” cho báo cáo cần so sánh định kỳ (mỗi lần cấu trúc khác nhau, khó đối chiếu).
  • Không test với nhiều bộ dữ liệu — chỉ test 1 lần, không phát hiện được trường hợp cấu trúc bị lệch khi dữ liệu đầu vào khác biệt lớn.

13. Giới hạn & khi nào KHÔNG nên áp dụng

Phần tiêu đề “13. Giới hạn & khi nào KHÔNG nên áp dụng”
  • Bài này không dạy kỹ năng phân tích/viết báo cáo tốt về nội dung — đó là phạm vi dự kiến của Level 5 (bài 42 “AI cho Writing”, bài 45 “AI cho Data Analysis”) khi được lập kế hoạch.
  • Báo cáo chỉ tạo 1 lần, không lặp lại → không cần đóng gói Skill.

Báo cáo thường tổng hợp dữ liệu từ nhiều nguồn (số liệu công ty, thông tin khách hàng, tiến độ dự án nội bộ) — áp dụng đúng nguyên tắc quản lý dữ liệu nhạy cảm đã học xuyên suốt dự án. Nếu Skill tạo báo cáo có bước tự động gửi đi (email, Slack), đây chính là trường hợp cần disable-model-invocation (bài 34) — không để Claude tự ý gửi báo cáo mà không xác nhận.

  1. Luôn thiết kế template trước khi viết instructions chi tiết khác (cấu trúc output rõ ràng giúp định hình toàn bộ quy trình thu thập dữ liệu).
  2. Với báo cáo mức nghiêm ngặt, cân nhắc thêm 1 bước kiểm tra cuối: “đối chiếu output với template, xác nhận không thiếu mục nào” — 1 dạng feedback loop đơn giản (bài 38).
16. Nội dung nâng cao (không bắt buộc)

Có thể kết hợp Skill tạo báo cáo với Skill phân tích tài liệu (bài 38) theo chuỗi: Skill phân tích trích xuất dữ liệu thô từ tài liệu nguồn → Skill tạo báo cáo nhận dữ liệu đó làm input và định dạng thành báo cáo hoàn chỉnh. Đây là ví dụ cụ thể của việc “xếp chồng Skill” đã nhắc ở bài 34 mục 16 — 2 Skill độc lập, mỗi Skill đảm nhiệm đúng 1 vai trò (đọc/viết), phối hợp qua đúng 1 input/output contract rõ ràng.

[S77] Skill authoring best practices, Anthropic — mẫu template pattern (strict/flexible), nguồn duy nhất và đủ cho toàn bộ khung lý thuyết bài này · Dẫn chiếu (không trích dẫn mới): bài 32 (degrees of freedom), bài 34 (input/output contract), bài 38 (feedback loop).

Claim kỹ thuật kiểm chứng qua nguồn Tier 1 (S77) ngày 2026-07-12. Ví dụ báo cáo tiến độ dự án (mục 7) là minh họa tự thiết kế.