Skip to content
Back to skills

Text Cat Chunk

ASecurity

Cắt mọi loại file text dài (SRT có timecode, sách txt có chương, transcript thô, bài viết) thành các file txt chunk ~15000 ký tự có YAML metadata, marker auto-detect (BÀI TẬP, CASE STUDY, CÂU CHỐT, CÂU HỎI HV, BREAK), và timecode (cho SRT). Vòng 1 trong pipeline 3 vòng xử lý nội dung của Phạm Thành Long. Script tự phát hiện loại file. Sử dụng skill này BẤT CỨ KHI NÀO người dùng tải lên file .srt hoặc .txt và yêu cầu "cắt nhỏ", "chia chunk", "xử lý transcript", "xử lý sách", "đóng gói nội dung...

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 5, 2026
ai-agentspythongobash

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 5, 2026

npx -y skills add wwwlongvn/longpt-setup-guide --skill text-cat-chunk --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Text Cat Chunk?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Text Cat Chunk
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wwwlongvn-text-cat-chunk/badge)](https://www.skillsdirectory.com/skills/wwwlongvn-text-cat-chunk)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: text-cat-chunk
description: Cắt mọi loại file text dài (SRT có timecode, sách txt có chương, transcript thô, bài viết) thành các file txt chunk ~15000 ký tự có YAML metadata, marker auto-detect (BÀI TẬP, CASE STUDY, CÂU CHỐT, CÂU HỎI HV, BREAK), và timecode (cho SRT). Vòng 1 trong pipeline 3 vòng xử lý nội dung của Phạm Thành Long. Script tự phát hiện loại file. Sử dụng skill này BẤT CỨ KHI NÀO người dùng tải lên file .srt hoặc .txt và yêu cầu "cắt nhỏ", "chia chunk", "xử lý transcript", "xử lý sách", "đóng gói nội dung", "chuẩn bị dữ liệu cho AI", "Vòng 1", "cắt sách thành chunk". Kích hoạt cả khi chỉ tải file lên và nói "xử lý cho tôi", "làm bước 1", hoặc đưa file SRT/txt khóa SSS/IPS/Eagle/LTVM/DTSGC/UT/YES, sách kinh doanh, ghi chú dài. KHÔNG dùng cho tag chủ đề (Vòng 2) hay viết module đào tạo (Vòng 3).
---

# Text Cắt Chunk - Vòng 1 Pipeline Nội Dung PTL

Cắt mọi loại text dài thành chunk có YAML chuẩn để AI xử lý tiếp ở Vòng 2 (tag chủ đề) và Vòng 3 (viết module).

## 3 loại input được hỗ trợ

Script tự phát hiện loại file:

| Loại | Dấu hiệu | Use case |
|---|---|---|
| **SRT** | Có timecode `00:00:00,000 --> ...` | Transcript khóa học từ CapCut |
| **BOOK** | Có cấu trúc `Chapter X`, `Phần Y`, `Bài Z` | Sách giáo trình, ebook |
| **PLAIN** | Không có cấu trúc rõ | Transcript thô, bài viết, ghi chú |

## Quy trình thực hiện

### Bước 1: Xác nhận file

Khi người dùng upload file `.srt` hoặc `.txt`:
- File nằm ở `/mnt/user-data/uploads/`
- Có thể nhiều file cùng lúc

### Bước 2: Detect loại file (tự động)

Script `scripts/text_to_chunks.py` tự phát hiện loại. Có thể override bằng `--loai SRT|BOOK|PLAIN`.

### Bước 3: Chuẩn bị metadata theo loại

**Nếu SRT (transcript khóa):**
- Mã khóa: SSS, IPS, EAGLE, LTVM, DTSGC, UT, YES
- Ngày trong khóa, địa điểm, ngày giảng

Nếu tên file đúng format `[KHOA]_[YYYY]_[MM]_[DIA-DIEM]_D[X].srt` → script tự đoán. Nếu không, hỏi người dùng.

**Nếu BOOK (sách):**
- Tiêu đề, tác giả, thể loại, ngôn ngữ

**Nếu PLAIN (text thuần):**
- Nguồn (ghi chú, bài viết, ai nói/viết...), mô tả ngắn

Hỏi nhanh người dùng các thông tin này nếu chưa rõ. Có thể để mặc định nếu họ không quan tâm.

### Bước 4: Chạy script

**Cú pháp tự động (đa số trường hợp):**
```bash
python3 scripts/text_to_chunks.py /mnt/user-data/uploads/<file> \
    --output-dir /home/claude/output
```

**Với SRT có metadata khóa:**
```bash
python3 scripts/text_to_chunks.py /mnt/user-data/uploads/SSS_2024_08_HN_D1.srt \
    --ngay-giang 2024-08-15 \
    --output-dir /home/claude/output
```

**Với sách:**
```bash
python3 scripts/text_to_chunks.py /mnt/user-data/uploads/the_system.txt \
    --loai BOOK \
    --tieu-de "The System" \
    --tac-gia "Eric Lofholm" \
    --ngon-ngu en \
    --output-dir /home/claude/output
```

**Với text thuần:**
```bash
python3 scripts/text_to_chunks.py /mnt/user-data/uploads/raw_transcript.txt \
    --loai PLAIN \
    --nguon "Buổi nói chuyện Eagle SG 2024" \
    --output-dir /home/claude/output
```

### Bước 5: Kiểm tra & giao file

Sau khi script chạy xong, kiểm tra `summary_report.md` để xác nhận chất lượng:
- Delta < 5%: ✅ TỐT, sẵn sàng dùng
- Delta 5-15%: ⚠️ CHÚ Ý, spot-check vài chunk
- Delta > 15%: ❌ LỖI, không dùng được, cần debug

Sau đó:

**Ít file (≤5):** dùng `present_files` đưa trực tiếp.

**Nhiều file:** zip rồi giao:
```bash
cd /home/claude/output && zip -r /mnt/user-data/outputs/<ten>-chunks.zip .
```

Trình bày kết quả gọn cho người dùng:
- Loại file đã phát hiện (SRT/BOOK/PLAIN)
- Tổng số chunk
- **Delta input/output** (từ summary_report.md)
- Trạng thái audit
- Số marker phát hiện được
- Link tải

## File phụ (output bắt buộc)

Mỗi lần chạy, ngoài các file chunk, script tự động sinh thêm 2 file:

### `manifest.json` — bản đồ dataset (cho AI agents)
- Schema version, thời điểm sinh
- Source (file gốc, loại, tổng ký tự)
- Metadata khóa/sách
- Tóm tắt: tổng chunk, avg/min/max ký tự
- Danh sách đầy đủ các chunk với file_id, ký tự, timecode (SRT) hoặc chương (BOOK)

→ Dùng khi: AI agent cần hiểu cấu trúc toàn bộ dataset, Obsidian/Project Knowledge index.

### `summary_report.md` — phiếu kiểm tra (cho người dùng)
- Bảng tổng quan input/output/delta
- Trạng thái: ✅ TỐT / ⚠️ CHÚ Ý / ❌ LỖI
- Diễn giải nguyên nhân chênh lệch
- Cảnh báo hard-split (chunk vượt 130% target)
- Top 5 chunk lệch xa target
- Hành động đề xuất

→ Dùng khi: kiểm tra chất lượng trước khi sang Vòng 2/3.

## Tham số chunk-size

Mặc định **15000 ký tự** (kích thước thực tế output ~18,000 kt do quy luật cắt cuối câu/cuối paragraph). Có thể chỉnh:
- `--chunk-size 10000` cho file dày đặc, cần xử lý chi tiết
- `--chunk-size 20000` cho khóa dài, ít file hơn
- `--chunk-size 25000` để giảm số file tối đa (chấp nhận chất lượng giảm nhẹ)

## Cấu trúc YAML đầu ra (đồng nhất cho 3 loại)

Tất cả file đều có chung 4 nhóm trường:

1. **LOẠI INPUT**: `loai_input: SRT | BOOK | PLAIN`
2. **METADATA FILE**: thông tin nhận dạng (khác nhau theo loại)
3. **TAG CHỦ ĐỀ** + **LIÊN KẾT PHI TUYẾN**: để trống chờ Vòng 2
4. **TÌNH TRẠNG**: trang_thai

Vòng 2 và Vòng 3 dùng chung 1 logic xử lý cho cả 3 loại — vì YAML đồng nhất.

## Marker auto-detect (chung cho 3 loại)

| Marker | Trigger (VN + EN) |
|---|---|
| `>>> BÀI TẬP <<<` | "bài tập", "lấy giấy ra", "exercise" |
| `### CASE STUDY ###` | "ví dụ", "có một anh/chị", "for example" |
| `*** CÂU CHỐT ***` | "nhớ cho", "key point", "remember this" |
| `??? CÂU HỎI HỌC VIÊN ???` | "học viên hỏi", "anh ơi" |
| `--- BREAK ---` | "nghỉ giải lao", "tea break" |

## Mã khóa được hỗ trợ (cho SRT)

| Mã | Tên đầy đủ |
|---|---|
| SSS | Sales Success System |
| IPS | Internet Power System |
| EAGLE | Eagle Camp |
| LTVM | Lập Trình Vận Mệnh |
| DTSGC | Đánh Thức Sự Giàu Có |
| UT | Ultimate Trainer |
| YES | YES Summit |

## Xử lý hàng loạt

```bash
for f in /mnt/user-data/uploads/*.srt /mnt/user-data/uploads/*.txt; do
    [ -f "$f" ] && python3 scripts/text_to_chunks.py "$f" --output-dir /home/claude/output
done
```

## Khi nào KHÔNG dùng skill này

- Người dùng yêu cầu **gắn tag chủ đề** cho chunk đã có → đó là Vòng 2 (skill khác)
- Người dùng yêu cầu **viết module đào tạo hoàn chỉnh** → đó là Vòng 3 (dùng skill `giao-an-module`)
- File quá ngắn (<2000 ký tự) — không cần chia chunk

## Lưu ý kỹ thuật

- File viết liền 1 dòng dài (không có line break) vẫn xử lý được — script tự fallback chia theo câu
- Tiếng Việt và tiếng Anh đều OK (encoding UTF-8)
- File có ký tự đặc biệt (em dash, smart quotes) vẫn parse được
- Với BOOK, script ưu tiên cắt ở ranh giới chương → chunk có thể lệch ±20% size target để không cắt giữa chương

Files in this skill

  • SKILL.md7.4 KB
  • scripts/text_to_chunks.py35.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.