Tutorial: Số hóa Cây Gia Phả từ Ảnh
Hướng dẫn tạo Agent Skill để số hóa cây gia phả từ ảnh chụp.
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
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
---
name: family-tree-digitizer
description: 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 đời
3. Xác định quan hệ cha-con
4. Output JSON theo format chuẩn
5. Liệt kê các chỗ cần xác nhận (nếu có)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,notes
m1,Nguyễn Văn Tổ,1,1850,1920,male,,Tổ tiên
m2,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
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
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
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
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
- Ả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
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!
Last updated on