# Tài Liệu Agent Skills

Chào mừng đến với tài liệu Agent Skills của GoodGo Platform. Đây là các hướng dẫn chuyên biệt giúp bạn triển khai các mẫu thiết kế nhất quán, sẵn sàng cho production.

## Agent Skills Là Gì?

Agent Skills là các module kiến thức có cấu trúc cung cấp:
- **Best practices** cho các lĩnh vực kỹ thuật cụ thể
- **Code patterns** với ví dụ thực tế từ platform
- **Lỗi thường gặp** cần tránh
- **Tham chiếu nhanh** cho phát triển nhanh

Mỗi skill được thiết kế để có thể áp dụng ngay vào công việc của bạn.

## Skills Theo Danh Mục

### 🏗️ Kiến Trúc & Thiết Kế

Làm chủ các mẫu kiến trúc của GoodGo microservices.

- **[Thiết Kế RESTful API](./api-design.md)** - Tiêu chuẩn cho APIs nhất quán, dễ bảo trì với MediatR
- **[CQRS & MediatR](./cqrs-mediatr.md)** - Tách biệt operations đọc/ghi với pipeline behaviors
- **[Domain-Driven Design](./domain-driven-design.md)** - Rich domain models, aggregates, và domain events

### 💾 Truy Xuất Dữ Liệu

Các mẫu truy xuất dữ liệu hiệu quả và mở rộng.

- **[Repository Pattern](./repository-pattern.md)** - Entity Framework Core repositories và Unit of Work
- **[Redis Caching](./redis-caching.md)** - Chiến lược caching phân tán với invalidation patterns

### 🔐 Bảo Mật & Xác Thực

Bảo vệ services và người dùng.

- **[Mẫu Bảo Mật](./security.md)** - Authentication, authorization, và data protection với Duende IdentityServer

### ⚡ Xử Lý Lỗi & Khả Năng Phục Hồi

Xây dựng services mạnh mẽ, chịu lỗi tốt.

- **[Mẫu Xử Lý Lỗi](./error-handling-patterns.md)** - Global exception handling, Result pattern, và Polly resilience

### 🧪 Kiểm Thử

Đảm bảo chất lượng qua testing toàn diện.

- **[Mẫu Testing](./testing-patterns.md)** - Unit, integration, và functional tests với xUnit và Testcontainers

### 🚀 Hạ Tầng & Triển Khai

Triển khai và giám sát production services.

- **[Docker & Traefik](./docker-traefik.md)** - Containerization và reverse proxy configuration
- **[Triển Khai Kubernetes](./deployment-kubernetes.md)** - Pods, Services, Ingress, và Helm Charts
- **[Observability](./observability.md)** - Monitoring với Prometheus, Grafana, và distributed tracing

### 🔄 Giao Tiếp

Kết nối liên dịch vụ mượt mà.

- **[Giao Tiếp Liên Dịch Vụ](./inter-service-communication.md)** - Event Bus (RabbitMQ), HTTP clients với Polly, và gRPC

### 📝 Tài Liệu & Phát Triển

Duy trì tài liệu và coding standards chất lượng.

- **[Hướng Dẫn Viết Tài Liệu](./documentation.md)** - Tiêu chuẩn tài liệu song ngữ (EN/VI)
- **[Quy Chuẩn Comment Code](./comment-code.md)** - Comments song ngữ và XML documentation
- **[Viết Agent Skills](./skill-authoring.md)** - Cách tạo và duy trì Agent Skills
- **[Quy Tắc Dự Án](./project-rules.md)** - Coding standards và kiến trúc toàn platform

## Cách Sử Dụng Skills

### 1. Tìm Skill Phù Hợp

Duyệt theo danh mục ở trên hoặc tìm kiếm các pattern cụ thể bạn cần triển khai.

### 2. Hiểu Ngữ Cảnh

Mỗi skill bắt đầu với phần "When to Use" (Khi Nào Sử Dụng) giúp bạn xác định xem có áp dụng được không.

### 3. Học Các Mẫu

Nghiên cứu code examples và diagrams. Tất cả ví dụ đều dựa trên code production thực tế từ GoodGo platform.

### 4. Tránh Lỗi Thường Gặp

Xem phần "Common Mistakes" để tiết kiệm thời gian và tránh các lỗi đã biết.

### 5. Tham Chiếu Nhanh

Sử dụng phần "Quick Reference" để tra cứu nhanh trong quá trình phát triển.

## Phát Triển Skills

Skills là tài liệu sống phát triển cùng platform. Nếu bạn phát hiện patterns tốt hơn hoặc muốn đóng góp:

1. Xem hướng dẫn [Viết Agent Skills](./skill-authoring.md)
2. Tuân theo cấu trúc và format song ngữ đã thiết lập
3. Bao gồm ví dụ thực tế từ codebase
4. Submit để review

## Liên Kết Nhanh

### Theo Stack Công Nghệ

- **.NET / C#**: [API Design](./api-design.md), [CQRS](./cqrs-mediatr.md), [Repository](./repository-pattern.md), [Testing](./testing-patterns.md)
- **Infrastructure**: [Docker](./docker-traefik.md), [Kubernetes](./deployment-kubernetes.md), [Observability](./observability.md)
- **Security**: [Security Patterns](./security.md), [Error Handling](./error-handling-patterns.md)
- **Documentation**: [Docs Guidelines](./documentation.md), [Code Comments](./comment-code.md)

### Theo Use Case

- **Bắt đầu service mới**: [Project Rules](./project-rules.md) → [API Design](./api-design.md) → [CQRS](./cqrs-mediatr.md) → [Repository](./repository-pattern.md)
- **Thêm authentication**: [Security Patterns](./security.md)
- **Cải thiện performance**: [Redis Caching](./redis-caching.md)
- **Deploy lên production**: [Docker](./docker-traefik.md) → [Kubernetes](./deployment-kubernetes.md) → [Observability](./observability.md)
- **Viết tests**: [Testing Patterns](./testing-patterns.md)

## Tài Nguyên Bổ Sung

- [Tài Liệu Kiến Trúc](../architecture/system-design.md) - Overall system design
- [Hướng Dẫn Phát Triển](../guides/getting-started.md) - Bắt đầu với local development
- [API Specifications](../api/openapi/) - Tài liệu OpenAPI

---

**Lưu ý**: Tất cả skills tuân theo tiêu chuẩn tài liệu song ngữ (English/Vietnamese). Phiên bản tiếng Anh có sẵn tại [`docs/en/skills/`](../../en/skills/index.md).
