8.0 KiB
8.0 KiB
🧠 NAP-DMS Agent Skills (v1.8.6)
ไฟล์นี้กำหนดทักษะและความสามารถเฉพาะทางของ Document Intelligence Engine สำหรับโครงการ LCBP3 v1.8.6 เพื่อรักษามาตรฐานสูงสุดด้าน Security และ Data Integrity
Status: Production Ready | Last Updated: 2026-04-14 | Total Skills: 20
🏗️ Architectural & Data Integrity
- Identifier Strategy Mastery (ADR-019):
- บังคับใช้ UUIDv7 เป็น Public ID ใน API และ URL เสมอ
- ตรวจสอบและป้องกันการใช้
parseInt(),Number(), หรือตัวดำเนินการทางคณิตศาสตร์ (+) กับ UUID - ตรวจสอบว่า Entity มีการใช้
@Exclude()บน Primary Key ที่เป็นINT AUTO_INCREMENTเพื่อไม่ให้หลุดออกไปยัง API
- Strict Validation Engine:
- บังคับใช้ Zod สำหรับการทำ Form Validation ฝั่ง Frontend
- บังคับใช้ class-validator สำหรับ Backend DTOs
- ตรวจสอบการส่ง Idempotency-Key ใน Header สำหรับทุก Mutation Request (POST/PUT/PATCH)
⚙️ Workflow & Concurrency Control
- DMS Workflow Engine Proficiency:
- มีความเชี่ยวชาญใน DSL-based state machines; ตรวจสอบทุกการเปลี่ยนสถานะเอกสารเทียบกับกฎใน DSL Parser เสมอ
- ป้องกันการอนุมัติซ้ำซ้อนโดยการตรวจสอบสถานะปัจจุบันจากฐานข้อมูลก่อนเริ่ม Logic การเปลี่ยน State ทุกครั้ง
- Collision-Free Numbering (ADR-002):
- ใช้ทักษะการทำ Distributed Locking ผ่าน Redis Redlock ร่วมกับ TypeORM
@VersionColumnสำหรับการเจนเลขที่เอกสาร (Document Numbering) - ห้ามเจนเลขโดยใช้ Logic ฝั่ง Application เพียงอย่างเดียวเด็ดขาด
- ใช้ทักษะการทำ Distributed Locking ผ่าน Redis Redlock ร่วมกับ TypeORM
- Asynchronous Task Orchestration (ADR-008):
- แยกงานที่ใช้เวลานาน (เช่น การส่ง Notification, การทำ Correspondence Routing) ไปทำที่ BullMQ เท่านั้น
🛡️ Security & Integrity Audit
- RBAC Matrix Enforcement (ADR-016):
- บังคับใช้ JwtAuthGuard, RolesGuard และ CASL AbilityFactory ในทุก Controller ใหม่
- ตรวจสอบการมีอยู่ของ
AuditLogInterceptorสำหรับทุก API ที่มีการเปลี่ยนแปลงข้อมูล
- Secure File Lifecycle:
- ใช้ Logic Two-Phase Upload: Upload → Temp → ClamAV Scan → Commit → Permanent
- บังคับใช้ Whitelist File Extension และ Max Size 50MB ตามที่กำหนดใน ADR-016
🤖 AI Boundary & Privacy (ADR-018/020)
- Data Isolation:
- รับรองว่าฟีเจอร์ AI จะรันผ่าน Ollama (On-premises) เท่านั้น และไม่ส่งข้อมูลออกนอกเน็ตเวิร์ก
- AI จะเข้าถึงข้อมูลผ่าน DMS API เท่านั้น (ห้ามต่อ Database หรือ Storage โดยตรง)
- Human-in-the-loop Validation:
- ออกแบบให้ผลลัพธ์จาก AI (เช่น การดึง Metadata เอกสาร) ต้องผ่านการยืนยันจาก User ก่อนบันทึกลงระบบเสมอ
🏷️ Domain Terminology Consistency
- Term Correction: แก้ไขคำศัพท์ให้ถูกต้องตาม Glossary ทันที (เช่น เปลี่ยน Letter เป็น Correspondence, Approval Flow เป็น Workflow Engine)
- i18n Guidelines: ห้ามเขียน Thai/English String ลงใน Component โดยตรง ต้องใช้ i18n Keys เท่านั้น
🔄 Skill Dependency Matrix
| Skill | Dependencies | Handoffs To | Notes |
|---|---|---|---|
| speckit-constitution | None | speckit-specify | Project governance foundation |
| speckit-specify | speckit-constitution | speckit-clarify | Feature specification |
| speckit-clarify | speckit-specify | speckit-plan | Resolve ambiguities |
| speckit-plan | speckit-clarify | speckit-tasks, speckit-checklist | Technical design |
| speckit-tasks | speckit-plan | speckit-implement | Task breakdown |
| speckit-implement | speckit-tasks | speckit-checker | Code implementation |
| speckit-checker | speckit-implement | speckit-tester | Static analysis |
| speckit-tester | speckit-checker | speckit-reviewer | Test execution |
| speckit-reviewer | speckit-tester | speckit-validate | Code review |
| speckit-validate | speckit-reviewer | None | Requirements validation |
| speckit-analyze | speckit-tasks | None | Cross-artifact consistency |
| speckit-migrate | None | speckit-plan | Legacy code import |
| speckit-quizme | speckit-specify | speckit-plan | Logic validation |
| speckit-diff | None | speckit-plan | Version comparison |
| speckit-status | None | None | Progress tracking |
| speckit-taskstoissues | speckit-tasks | None | Issue sync |
| speckit-checklist | speckit-plan | None | Requirements validation |
| nestjs-best-practices | None | speckit-implement | Backend patterns |
| next-best-practices | None | speckit-implement | Frontend patterns |
| speckit-security-audit | None | speckit-reviewer | Security validation |
🛠️ Skill Health Monitoring
Health Check Scripts
- Bash:
./scripts/bash/audit-skills.sh- Comprehensive skill health audit - PowerShell:
./scripts/powershell/audit-skills.ps1- Windows equivalent
Validation Scripts
- Version Check:
./scripts/bash/validate-versions.sh- Ensure version consistency - Workflow Sync:
./scripts/bash/sync-workflows.sh- Verify workflow integration
Health Metrics
- Total Skills: 20 implemented
- Version Alignment: v1.8.6 across all skills
- Template Coverage: 100% for skills requiring templates
- Documentation: Complete front matter and sections
Maintenance Schedule
- Daily: Run
audit-skills.shfor health monitoring - Weekly: Run
validate-versions.shfor version consistency - Monthly: Review skill dependencies and update documentation