Tutorial: Số hóa Gia Phả
Hướng dẫn tạo Agent Skill để số hóa cây gia phả từ ảnh chụp.
Bài toán
Phần tiêu đề “Bài toán”Tình huống: Gia đình bạn có bức gia phả lớn ghi chép nhiều đời. Bạn muốn dùng Claude để:
- Chụp ảnh và tự động phân tích cấu trúc gia phả
- Trích xuất thông tin thành viên và quan hệ
- Export ra định dạng dễ sử dụng (JSON, CSV…)
Thiết kế Agent Skill
Phần tiêu đề “Thiết kế Agent Skill”Cấu trúc thư mục
Phần tiêu đề “Cấu trúc thư mục”family-tree-digitizer/├── SKILL.md # File chính├── output-format.md # Mô tả format output└── examples/ ├── input-example.png # Ảnh gia phả mẫu └── output-example.json # Output mẫuSKILL.md
Phần tiêu đề “SKILL.md”---name: family-tree-digitizerdescription: Số hóa cây gia phả từ ảnh chụp, phân tích cấu trúc đời và quan hệ cha-con, output JSON hoặc CSV---
# Family Tree Digitizer
Skill này phân tích ảnh chụp cây gia phả và trích xuất thành dữ liệu có cấu trúc.
## Khi nào sử dụng
- Số hóa gia phả từ ảnh chụp hoặc scan- Chuyển đổi gia phả viết tay thành dữ liệu điện tử- Trích xuất thông tin thành viên từ bảng phả hệ
## Quy tắc phân tích ảnh
1. **Cấu trúc đời:** - Mỗi hàng ngang là một đời (generation) - Đời trên cùng = đời 1 (tổ tiên xa nhất) - Số đời tăng dần từ trên xuống dưới
2. **Quan hệ cha-con:** - Con cái nằm ngay dưới cha/mẹ - Thường có đường kẻ nối cha mẹ với con
3. **Anh em ruột:** - Nằm cùng hàng ngang - Có chung cha mẹ ở đời trên
4. **Vợ chồng:** - Thường nằm cạnh nhau trên cùng một hàng - Có thể có ký hiệu đặc biệt (dấu = hoặc đường nối)
## Format output
Xem chi tiết trong `output-format.md`
## Xử lý trường hợp đặc biệt
- **Tên không rõ:** Ghi `[Không rõ - vị trí X]`- **Năm sinh/mất không có:** Để `null`- **Quan hệ không chắc chắn:** Thêm vào `notes`- **Ảnh mờ/scan kém:** Liệt kê các chỗ cần xác nhận
## Ví dụ prompt
User: "Phân tích ảnh gia phả này và xuất ra JSON"
Claude sẽ:1. Xác định số đời và cấu trúc tổng thể2. Trích xuất từng thành viên theo đời3. Xác định quan hệ cha-con4. Output JSON theo format chuẩn5. Liệt kê các chỗ cần xác nhận (nếu có)output-format.md
Phần tiêu đề “output-format.md”# Output Format
## JSON Structure
\`\`\`json{ "metadata": { "total_generations": 7, "total_members": 45, "analyzed_at": "2024-01-15T10:30:00Z", "confidence": "high|medium|low", "notes": ["Ghi chú về những chỗ không rõ"] }, "members": [ { "id": "m1", "name": "Nguyễn Văn Tổ", "generation": 1, "birth_year": 1850, "death_year": 1920, "gender": "male", "notes": "Tổ tiên đầu tiên được ghi nhận" } ], "relationships": [ { "parent_id": "m1", "child_id": "m2", "type": "biological" }, { "person1_id": "m1", "person2_id": "m1b", "type": "spouse" } ]}\`\`\`
## CSV Format (Alternative)
Nếu user yêu cầu CSV:
### members.csv\`\`\`id,name,generation,birth_year,death_year,gender,parent_ids,notesm1,Nguyễn Văn Tổ,1,1850,1920,male,,Tổ tiênm2,Nguyễn Văn A,2,1880,1950,male,m1,m3,Nguyễn Văn B,2,1885,1960,male,m1,\`\`\`
## Giải thích các trường
| Trường | Mô tả | Bắt buộc ||--------|-------|----------|| id | ID tạm để xác định quan hệ | ✅ || name | Họ tên đầy đủ | ✅ || generation | Số đời (1 = tổ tiên) | ✅ || birth_year | Năm sinh | ❌ || death_year | Năm mất | ❌ || gender | male/female | ❌ || notes | Ghi chú | ❌ |Sử dụng Skill
Phần tiêu đề “Sử dụng Skill”Upload và enable skill
Phần tiêu đề “Upload và enable skill”- Tạo folder
family-tree-digitizer/với các file trên - Zip thành
family-tree-digitizer.zip - Upload lên Claude.ai → Settings → Skills
- Enable skill
Sử dụng với Claude
Phần tiêu đề “Sử dụng với Claude”Ví dụ 1: Phân tích cơ bản
User: [Upload ảnh gia phả] "Phân tích gia phả này và xuất ra JSON"
Claude: [Sử dụng family-tree-digitizer skill]
Đã phân tích ảnh gia phả. Kết quả:
📊 **Tổng quan:**- Số đời: 6- Số thành viên: 32- Độ tin cậy: Cao
📋 **JSON Output:**{ "metadata": { "total_generations": 6, "total_members": 32, ... }, ...}
⚠️ **Cần xác nhận:**1. Đời 4, vị trí 3: Tên bị mờ, đọc được "Nguyễn Văn ..."2. Đời 5: Không rõ quan hệ giữa m15 và m16 (anh em hay vợ chồng?)Ví dụ 2: Xuất CSV
User: "Phân tích gia phả và xuất CSV để import vào Excel"
Claude: [Phân tích và tạo CSV] ✅ Đã tạo file: members.csv, relationships.csvVí dụ 3: Ảnh chất lượng kém
User: [Upload ảnh scan mờ] "Gia phả này cũ và mờ, cố gắng phân tích"
Claude: Ảnh có chất lượng thấp. Tôi sẽ cố gắng phân tích nhưng cần bạn xác nhận một số thông tin.
📊 **Kết quả sơ bộ:**- Xác định được: 20/~30 thành viên- Đời 1-3: Rõ ràng- Đời 4-5: Nhiều tên bị mờ
⚠️ **Cần xác nhận 8 vị trí** [Chi tiết...]
Bạn có muốn tôi xuất những gì đọc được không?Mở rộng Skill
Phần tiêu đề “Mở rộng Skill”Thêm tính năng
Phần tiêu đề “Thêm tính năng”Bạn có thể mở rộng skill để:
-
Hỗ trợ nhiều ảnh:
"Gia phả quá dài, tôi chia thành 3 ảnh.Gộp lại thành một cây hoàn chỉnh." -
So sánh và merge:
"So sánh gia phả từ 2 nguồn và gộp thông tin" -
Validate dữ liệu:
"Kiểm tra xem có mâu thuẫn nào không(ví dụ: con sinh trước cha)"
Kết hợp với workflow khác
Phần tiêu đề “Kết hợp với workflow khác”Sau khi có JSON từ skill này, bạn có thể:
- Yêu cầu Claude tạo database schema phù hợp
- Tạo web app hiển thị (riêng biệt)
- Export ra các format khác (PDF, HTML…)
Best Practices
Phần tiêu đề “Best Practices”- Ảnh chất lượng tốt: Chụp rõ, đủ sáng, không bị cong
- Ảnh lớn chia nhỏ: Nếu gia phả quá dài, chia thành nhiều phần
- Review output: Luôn kiểm tra các chỗ cần xác nhận
- Lưu bản gốc: Giữ lại JSON/CSV để có thể sửa sau
Kết luận
Phần tiêu đề “Kết luận”Agent Skill family-tree-digitizer giúp tự động hóa việc số hóa gia phả:
- Claude Vision phân tích cấu trúc ảnh
- Trích xuất thành viên và quan hệ
- Output JSON/CSV có cấu trúc rõ ràng
- Liệt kê các chỗ cần xác nhận thủ công
Từ dữ liệu này, bạn có thể tiếp tục xây dựng database, web app, hoặc sử dụng cho các mục đích khác!