ai-developer-skill-os 8.1.4 → 8.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/knowledge/design-intelligence/components/buttons.md +25 -0
- package/.agents/knowledge/design-intelligence/components/cards.md +21 -0
- package/.agents/knowledge/design-intelligence/components/inputs.md +14 -0
- package/.agents/knowledge/design-intelligence/components/modals.md +14 -0
- package/.agents/knowledge/design-intelligence/industries/ecommerce.md +14 -1
- package/.agents/knowledge/design-intelligence/industries/fintech.md +14 -1
- package/.agents/knowledge/design-intelligence/industries/healthcare.md +14 -1
- package/.agents/knowledge/design-intelligence/patterns/data-display.md +18 -0
- package/.agents/knowledge/design-intelligence/patterns/empty-states.md +18 -0
- package/.agents/knowledge/design-intelligence/patterns/forms.md +15 -0
- package/.agents/knowledge/design-intelligence/references/accessibility.md +13 -0
- package/.agents/knowledge/design-intelligence/references/tailwind-preset.md +17 -0
- package/.agents/knowledge/design-intelligence/templates/auth.md +13 -0
- package/.agents/knowledge/design-intelligence/templates/dashboard.md +15 -0
- package/.agents/knowledge/design-intelligence/templates/landing-page.md +18 -0
- package/.agents/knowledge/design-intelligence/themes/minimal.md +15 -0
- package/.agents/knowledge/design-intelligence/themes/saas.md +16 -0
- package/.agents/knowledge/design-intelligence/visual-language/animation.md +20 -0
- package/.agents/knowledge/design-intelligence/visual-language/color.md +24 -0
- package/.agents/knowledge/design-intelligence/visual-language/layout.md +18 -0
- package/.agents/knowledge/design-intelligence/visual-language/spacing.md +19 -0
- package/.agents/knowledge/design-intelligence/visual-language/typography.md +23 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +13 -0
- package/package.json +2 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Buttons (Nút bấm) Intelligence
|
|
2
|
+
|
|
3
|
+
Nút bấm là thành phần tương tác quan trọng nhất. Phải luôn tuân thủ phân cấp và trạng thái.
|
|
4
|
+
|
|
5
|
+
## 1. Phân cấp thị giác (Hierarchy)
|
|
6
|
+
- **Primary Button**: Nổi bật nhất (Background màu nhấn, Text trắng). Chỉ có 1 nút Primary trên một khu vực/màn hình.
|
|
7
|
+
- *Tailwind: `bg-blue-600 text-white hover:bg-blue-700`*
|
|
8
|
+
- **Secondary / Default Button**: Nền nhạt hoặc xám, chữ đen/xám. Dành cho các hành động phụ (Hủy, Quay lại).
|
|
9
|
+
- *Tailwind: `bg-slate-100 text-slate-900 hover:bg-slate-200`*
|
|
10
|
+
- **Outline Button**: Viền màu, nền trong suốt. Thường dùng thay thế Secondary.
|
|
11
|
+
- *Tailwind: `border border-slate-300 text-slate-700 hover:bg-slate-50`*
|
|
12
|
+
- **Ghost / Text Button**: Không nền, không viền, chỉ hiện nền khi hover. Dùng cho hành động ít quan trọng.
|
|
13
|
+
- *Tailwind: `text-slate-600 hover:bg-slate-100 hover:text-slate-900`*
|
|
14
|
+
|
|
15
|
+
## 2. Trạng thái (States) - BẮT BUỘC
|
|
16
|
+
- **Hover**: Thay đổi sắc thái màu (đậm hơn hoặc nhạt hơn), thay đổi shadow.
|
|
17
|
+
- **Focus / Focus-visible**: Vô cùng quan trọng cho Accessibility (Bàn phím). Phải có Focus Ring mờ.
|
|
18
|
+
- *Tailwind: `focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2`*
|
|
19
|
+
- **Disabled**: Nền xám mờ, mờ chữ (`opacity-50`), con trỏ không cho phép (`cursor-not-allowed`).
|
|
20
|
+
- **Loading**: Bắt buộc khóa nút (`disabled`) và thay icon bằng Spinner xoay tròn.
|
|
21
|
+
|
|
22
|
+
## 3. Kích thước chuẩn
|
|
23
|
+
- **Size sm**: Chiều cao 32px (`h-8 px-3 text-sm`).
|
|
24
|
+
- **Size md (Base)**: Chiều cao 40px (`h-10 px-4 text-sm font-medium`).
|
|
25
|
+
- **Size lg**: Chiều cao 48px (`h-12 px-6 text-base`).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Cards (Thẻ thông tin) Intelligence
|
|
2
|
+
|
|
3
|
+
Card là đơn vị chứa (container) linh hoạt nhất để nhóm các thông tin liên quan.
|
|
4
|
+
|
|
5
|
+
## 1. Cấu trúc chuẩn (Anatomy)
|
|
6
|
+
- **Header**: Icon, Hình ảnh (Cover image), hoặc Tiêu đề + Badge.
|
|
7
|
+
- **Body**: Tiêu đề chính, đoạn văn mô tả ngắn (thường truncate 2-3 dòng).
|
|
8
|
+
- **Footer**: Nút hành động (CTA), thông tin Metadata (Thời gian, tác giả).
|
|
9
|
+
- Khoảng cách (Padding) trong Card phải đồng nhất (ví dụ: `p-5` hoặc `p-6` cho mọi phía).
|
|
10
|
+
|
|
11
|
+
## 2. Borders & Shadows (Viền & Đổ bóng)
|
|
12
|
+
Có hai trường phái chính, không nên trộn lẫn lộn xộn trong cùng 1 project:
|
|
13
|
+
- **Trường phái Flat (SaaS/Modern)**: Không bóng, viền mỏng.
|
|
14
|
+
- *Tailwind: `bg-white border border-slate-200 rounded-xl`*
|
|
15
|
+
- **Trường phái Elevated (App/Ecom)**: Không viền, đổ bóng đa lớp.
|
|
16
|
+
- *Tailwind: `bg-white shadow-sm hover:shadow-md transition-shadow rounded-xl`*
|
|
17
|
+
|
|
18
|
+
## 3. Trạng thái tương tác (Interactive Cards)
|
|
19
|
+
Nếu toàn bộ Card có thể click (Vd: Link tới bài viết, Sản phẩm):
|
|
20
|
+
- Khi hover: Bóng đổ lớn hơn một chút (`hover:shadow-md`), viền đổi màu (`hover:border-blue-500`), hoặc nhích nhẹ card lên trên (`hover:-translate-y-1 transition-transform`).
|
|
21
|
+
- Con trỏ phải là bàn tay (`cursor-pointer`).
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Inputs (Trường nhập liệu) Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Cấu trúc Input
|
|
4
|
+
- Input phải có chiều cao tương ứng với Button (sm: 32px, md: 40px, lg: 48px).
|
|
5
|
+
- Nền trắng (`bg-white`), viền nhạt (`border-slate-300`), chữ đen nhạt (`text-slate-900`).
|
|
6
|
+
- Trạng thái Focus: Viền đổi sang màu Primary và có tỏa bóng nhẹ. (Tailwind: `focus:border-blue-500 focus:ring-1 focus:ring-blue-500`).
|
|
7
|
+
|
|
8
|
+
## 2. Placeholder
|
|
9
|
+
- Không dùng Placeholder để thay thế cho Label.
|
|
10
|
+
- Chữ Placeholder phải mờ (`text-slate-400`) để không bị nhầm là đã nhập liệu.
|
|
11
|
+
|
|
12
|
+
## 3. Cấu trúc phức tạp
|
|
13
|
+
- Input có Icon bên trái (Search) hoặc bên phải (Show Password). Icon phải cùng màu với Placeholder.
|
|
14
|
+
- Input Group (Có tiền tố, vd: "https://", hoặc hậu tố ".com") cần nền xám nhạt cho phần tiền tố.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Modals / Dialogs Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Lớp phủ (Overlay/Backdrop)
|
|
4
|
+
- Sử dụng nền đen mờ (`bg-black/50`) hoặc làm mờ nhẹ đằng sau (`backdrop-blur-sm`) để khóa sự chú ý vào Modal.
|
|
5
|
+
|
|
6
|
+
## 2. Cấu trúc Modal
|
|
7
|
+
- **Header**: Tiêu đề rõ ràng, bắt buộc có nút "X" (Đóng) ở góc trên cùng bên phải.
|
|
8
|
+
- **Body**: Nội dung chính, không nên để Modal quá cao gây cuộn màn hình. (Nên max-height `max-h-[80vh]` và `overflow-y-auto`).
|
|
9
|
+
- **Footer**: Nút hành động. Nút Primary luôn nằm bên phải, nút Hủy (Cancel) nằm bên trái.
|
|
10
|
+
|
|
11
|
+
## 3. Hành vi
|
|
12
|
+
- Bấm vào Overlay (bên ngoài Modal) thì Modal phải đóng lại.
|
|
13
|
+
- Bấm phím `Escape` thì Modal phải đóng lại.
|
|
14
|
+
- Focus phải bị khóa (Trap focus) bên trong Modal khi đang mở.
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
# E-commerce Design Intelligence
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 1. Core Principles
|
|
4
|
+
- **Conversion-Optimized**: Mục tiêu tối thượng là tăng tỉ lệ chuyển đổi (Click to Cart, Checkout).
|
|
5
|
+
- **Visual Hierarchy**: Hình ảnh sản phẩm là vua, nút "Mua hàng" phải là thứ nổi bật nhất màn hình.
|
|
6
|
+
- **Scarcity & Urgency**: Sử dụng các pattern như đếm ngược, số lượng còn lại, đánh giá (Reviews).
|
|
7
|
+
|
|
8
|
+
## 2. Visual Language
|
|
9
|
+
- **Màu sắc**: Màu nhấn (Brand color) hoặc các màu kích thích hành động (Cam/Đỏ/Đen tuyền). Các nút phụ (Thêm vào wishlist) phải mờ nhạt hẳn so với nút Mua.
|
|
10
|
+
- **Typography**: Giá tiền thường dùng font weight đậm, giá khuyến mãi đi kèm giá gốc bị gạch ngang.
|
|
11
|
+
- **Hình ảnh**: Product card cần aspectRatio vuông (1:1) hoặc chữ nhật (4:5) có nền trắng/xám đồng nhất.
|
|
12
|
+
|
|
13
|
+
## 3. Component Patterns
|
|
14
|
+
- **Product Card**: Chứa Ảnh (có tag Giảm giá nổi bật), Tên sản phẩm (truncate 2 dòng), Đánh giá (Số sao vàng), Giá tiền, và nút Add to Cart dạng Icon hoặc Full Width.
|
|
15
|
+
- **Sticky CTA**: Trên Mobile, nút Mua/Thanh toán thường ghim chặt (Sticky) ở cạnh dưới màn hình.
|
|
16
|
+
- **Badges**: Các tem "Bán chạy", "Freeship", "Mới" dùng màu sắc sặc sỡ, font size rất nhỏ (`text-[10px]` hoặc `text-xs` uppercase font-bold).
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
# Fintech Design Intelligence
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 1. Core Principles
|
|
4
|
+
- **Trust & Security**: Giao diện phải mang lại cảm giác an toàn tuyệt đối.
|
|
5
|
+
- **Data Density**: Hiển thị nhiều dữ liệu (bảng biểu, số liệu) nhưng không lộn xộn.
|
|
6
|
+
- **Precision**: Các con số tiền tệ cần căn lề phải (right-aligned) và sử dụng tabular numbers (Tailwind: `tabular-nums`) để không bị giật khi số thay đổi.
|
|
7
|
+
|
|
8
|
+
## 2. Visual Language
|
|
9
|
+
- **Màu sắc**: Xanh dương (Blue/Indigo) tạo sự chuyên nghiệp và tin cậy; Xanh lá (Emerald) cho lợi nhuận/thành công; Đỏ (Rose) cho thua lỗ/chi tiêu.
|
|
10
|
+
- **Typography**: Phông chữ gọn gàng, rõ ràng (Inter, Roboto). Chú ý đặc biệt đến trọng lượng chữ cho các con số tổng tiền (Balance) thường dùng `font-semibold` hoặc `font-bold`, kích thước lớn.
|
|
11
|
+
- **Bảng (Tables)**: Không viền dọc, chỉ dùng viền ngang (horizontal dividers) nhạt (`border-slate-100`) với padding rộng rãi để dễ dò hàng.
|
|
12
|
+
|
|
13
|
+
## 3. Component Patterns
|
|
14
|
+
- **Cards**: Ít dùng shadow lớn. Thường dùng border 1px nhạt (`border border-slate-200`) hoặc shadow cực mỏng (`shadow-sm`).
|
|
15
|
+
- **Data Visualization**: Biểu đồ (Sparklines) đơn giản, dùng gradient mờ ảo.
|
|
16
|
+
- **Empty States**: Rất quan trọng để hướng dẫn người dùng liên kết thẻ, nạp tiền.
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
# Healthcare Design Intelligence
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 1. Core Principles
|
|
4
|
+
- **Accessibility First**: Tương phản cao, chữ lớn dễ đọc, phục vụ đối tượng lớn tuổi hoặc thị lực kém.
|
|
5
|
+
- **Calm & Empathy**: Giảm thiểu lo âu bằng khoảng trắng (white-space) nhiều, màu sắc dịu.
|
|
6
|
+
- **Clarity**: Không dùng các từ lóng hay thuật ngữ khó hiểu, luồng đi (User Flow) phải cực kỳ tuyến tính.
|
|
7
|
+
|
|
8
|
+
## 2. Visual Language
|
|
9
|
+
- **Màu sắc**: Trắng, Xanh biển nhạt (Light Blue), Xanh bạc hà (Teal), mang lại cảm giác vệ sinh, y khoa. Tránh dùng màu đỏ gắt trừ trường hợp cấp cứu (Emergency).
|
|
10
|
+
- **Typography**: System fonts hoặc các font có nét chữ dễ nhận diện (chữ l và chữ I không bị nhầm lẫn).
|
|
11
|
+
- **Spacing**: Tăng padding/margin lên 1 cấp so với bình thường. Các nút bấm (Touch targets) phải lớn hơn (tối thiểu 44x44px theo chuẩn Apple) để người lớn tuổi dễ bấm.
|
|
12
|
+
|
|
13
|
+
## 3. Component Patterns
|
|
14
|
+
- **Forms**: Rõ ràng, nhãn (Label) luôn nằm trên Input (Top-aligned) thay vì nằm bên trái. Bắt buộc có thông báo lỗi cực kỳ dễ hiểu.
|
|
15
|
+
- **Progress Bars**: Sử dụng cho các form đăng ký khám bệnh dài.
|
|
16
|
+
- **Status Badges**: Dùng để hiển thị trạng thái hồ sơ/lịch hẹn (Chờ khám, Đã xác nhận) với màu sắc Pastel.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Data Display Patterns
|
|
2
|
+
|
|
3
|
+
## 1. Tables (Bảng dữ liệu)
|
|
4
|
+
- **Thiết kế**: Dùng cho dữ liệu có cấu trúc. Bỏ viền dọc, giữ viền ngang nhạt (`border-b border-slate-200`).
|
|
5
|
+
- **Căn lề**:
|
|
6
|
+
- Text: Trái (Left).
|
|
7
|
+
- Số lượng, Tiền tệ: Phải (Right).
|
|
8
|
+
- Trạng thái (Status): Giữa hoặc Trái (Dùng Badge/Tag).
|
|
9
|
+
- **Phản hồi**: Hover vào từng hàng (`hover:bg-slate-50`) để người dùng không nhìn nhầm dòng.
|
|
10
|
+
|
|
11
|
+
## 2. Lists & Feeds (Danh sách)
|
|
12
|
+
- Thay vì dùng Card, các list item nên phân cách bằng border nhạt hoặc một khoảng trắng lớn (`gap-6`).
|
|
13
|
+
- Avatar, Tiêu đề, và Thời gian (Metadata) là 3 thứ bắt buộc phải có hệ thống phân cấp rõ ràng (Avatar lớn nhất, Tiêu đề đậm, Thời gian mờ).
|
|
14
|
+
|
|
15
|
+
## 3. Data Visualization (Biểu đồ)
|
|
16
|
+
- Không dùng quá 4 màu trong 1 biểu đồ tròn (Pie chart).
|
|
17
|
+
- Line chart nên có gradient fill phía dưới đường kẻ để tạo chiều sâu.
|
|
18
|
+
- Các trục (Axes) nên dùng màu mờ (`text-slate-400`) để không cạnh tranh với dữ liệu.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Empty States (Trạng thái rỗng)
|
|
2
|
+
|
|
3
|
+
Màn hình trống không được phép chỉ hiển thị "Chưa có dữ liệu". Phải luôn dẫn dắt người dùng.
|
|
4
|
+
|
|
5
|
+
## 1. Cấu trúc chuẩn
|
|
6
|
+
- **Hình ảnh/Icon**: Một hình minh họa tinh tế hoặc Icon lớn màu xám nhạt (`text-slate-300`).
|
|
7
|
+
- **Tiêu đề chính**: Giải thích rõ tại sao không có dữ liệu (Vd: "Bạn chưa có dự án nào").
|
|
8
|
+
- **Mô tả phụ**: Hướng dẫn người dùng phải làm gì tiếp theo.
|
|
9
|
+
- **Primary CTA (Nút)**: Nút hành động nổi bật (Vd: "Tạo dự án mới").
|
|
10
|
+
|
|
11
|
+
## 2. Các trường hợp sử dụng
|
|
12
|
+
- **Lần đầu sử dụng (Onboarding)**: Giới thiệu tính năng.
|
|
13
|
+
- **Xóa sạch dữ liệu (Cleared)**: Khi user đã hoàn thành công việc (Vd: Inbox Zero). Khen ngợi user!
|
|
14
|
+
- **Lỗi tìm kiếm (No Results)**: Cung cấp tùy chọn xóa bộ lọc (Clear Filters).
|
|
15
|
+
|
|
16
|
+
## 3. Visual Styling
|
|
17
|
+
- Nằm ở trung tâm khu vực hiển thị (Center-aligned).
|
|
18
|
+
- Giới hạn chiều rộng (`max-w-sm`) để text không bị dàn mỏng.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Form Design Patterns
|
|
2
|
+
|
|
3
|
+
## 1. Bố cục Form (Layout)
|
|
4
|
+
- **1 cột (Single Column)**: Mọi Input nên xếp thành 1 cột từ trên xuống. Đây là cách dễ điền nhất. Chỉ để 2 input trên cùng 1 hàng nếu chúng có quan hệ mật thiết (Vd: Họ và Tên).
|
|
5
|
+
- **Top-aligned Labels**: Nhãn (Label) luôn nằm trên Input, không nằm ngang hàng. Giúp việc quét mắt nhanh hơn.
|
|
6
|
+
- Phân tách Form dài: Chia thành nhiều phần (Sections) hoặc dùng Stepper.
|
|
7
|
+
|
|
8
|
+
## 2. Feedback & Validation
|
|
9
|
+
- **Inline Validation**: Báo lỗi ngay sau khi user nhập xong (onBlur), không chờ đến lúc bấm Submit.
|
|
10
|
+
- **Error Messages**: Phải có màu đỏ, kèm theo Icon cảnh báo, giải thích rõ cách sửa lỗi.
|
|
11
|
+
- Trạng thái thành công: Có dấu check màu xanh (`text-emerald-500`) bên trong input.
|
|
12
|
+
|
|
13
|
+
## 3. Nút Submit
|
|
14
|
+
- Không bao giờ đặt chữ "Submit". Hãy dùng Động từ cụ thể: "Tạo tài khoản", "Lưu thay đổi", "Gửi tin nhắn".
|
|
15
|
+
- Khi đang xử lý, nút phải bị disable và có spinner.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Accessibility (A11y) Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Focus Management
|
|
4
|
+
- KHÔNG BAO GIỜ loại bỏ `outline: none` mà không có trạng thái thay thế (như `box-shadow`).
|
|
5
|
+
- Tailwind: Luôn dùng `focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500` để Focus Ring chỉ hiện khi dùng phím Tab (bàn phím), không hiện khi dùng chuột click.
|
|
6
|
+
|
|
7
|
+
## 2. Screen Readers
|
|
8
|
+
- Những icon chỉ có tính trang trí (decorative) phải có `aria-hidden="true"`.
|
|
9
|
+
- Nút bấm chỉ chứa Icon phải có `aria-label="Tên hành động"` (Vd: aria-label="Đóng").
|
|
10
|
+
|
|
11
|
+
## 3. Tương phản (Contrast)
|
|
12
|
+
- Sử dụng công cụ đo tương phản để đảm bảo Text/Background đạt chuẩn WCAG AA (Tương phản >= 4.5:1).
|
|
13
|
+
- Chữ xám trên nền xám nhạt là kẻ thù của người cận thị. Luôn dùng ít nhất `text-slate-600` trên nền trắng.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Tailwind Preset Recommendations
|
|
2
|
+
|
|
3
|
+
## 1. Tùy chỉnh Cốt lõi (Core Configurations)
|
|
4
|
+
Để đạt chuẩn Pro-max, cấu hình `tailwind.config.js` nên thêm các mở rộng sau:
|
|
5
|
+
|
|
6
|
+
- **Colors**: Sử dụng `colors.slate` hoặc `colors.zinc` làm nền tảng xám.
|
|
7
|
+
- **Fonts**:
|
|
8
|
+
- `sans: ['Inter', 'sans-serif']` (Hiện đại, sạch sẽ)
|
|
9
|
+
- `serif: ['Merriweather', 'serif']` (Cho typography)
|
|
10
|
+
- `mono: ['JetBrains Mono', 'monospace']` (Cho code)
|
|
11
|
+
|
|
12
|
+
## 2. Custom Utilities
|
|
13
|
+
- Định nghĩa các bóng đổ riêng mượt hơn mặc định của Tailwind (Radix UI shadow patterns).
|
|
14
|
+
- Định nghĩa keyframes cho micro-animations (slideUpAndFade, scaleIn).
|
|
15
|
+
|
|
16
|
+
## 3. Design System Plugin
|
|
17
|
+
Khuyến khích tích hợp CVA (Class Variance Authority) hoặc Tailwind Merge để quản lý state của Component dễ dàng hơn trong React/Vue.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Authentication Template Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Split Screen Layout
|
|
4
|
+
- Chế độ chia đôi màn hình: Trái (hoặc phải) là form Đăng nhập/Đăng ký. Nửa còn lại là Hình ảnh minh họa chất lượng cao hoặc Quote (Trích dẫn) từ khách hàng.
|
|
5
|
+
- Nửa chứa hình ảnh thường ẩn đi trên Mobile (`hidden lg:block`).
|
|
6
|
+
|
|
7
|
+
## 2. Card Centered Layout
|
|
8
|
+
- Form đăng nhập được đặt trong một Card nằm chính giữa màn hình. Background của trang thường là màu xám nhạt hoặc có subtle pattern.
|
|
9
|
+
|
|
10
|
+
## 3. Form Focus
|
|
11
|
+
- Bỏ đi NavBar/Footer thừa thãi để user tập trung 100% vào việc đăng nhập.
|
|
12
|
+
- Luôn có nút "Sign in with Google/Apple" (Social Login) nằm trên cùng hoặc dưới cùng, dùng outline style.
|
|
13
|
+
- Liên kết "Quên mật khẩu?" luôn nằm cùng hàng với nhãn "Mật khẩu".
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Dashboard Template Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Cấu trúc Layout phổ biến
|
|
4
|
+
- **Sidebar Navigation**: Menu bên trái, nội dung bên phải. Sidebar thường rộng 240px-280px.
|
|
5
|
+
- **Top Navigation**: Menu nằm ngang phía trên. Phù hợp cho app ít tính năng.
|
|
6
|
+
- **Hybrid**: Sidebar cho các module chính, Topbar cho Search, Notifications, và Profile.
|
|
7
|
+
|
|
8
|
+
## 2. Kích thước & Lưới
|
|
9
|
+
- Dùng CSS Grid cho các thẻ thống kê (Stats Cards): `grid-cols-1 md:grid-cols-2 lg:grid-cols-4`.
|
|
10
|
+
- Khu vực hiển thị (Main Content): Cần có padding cố định (Vd: `p-6` hoặc `p-8`), nền xám rất nhạt (`bg-slate-50`) để tách biệt với nền trắng của các Card.
|
|
11
|
+
|
|
12
|
+
## 3. Phân cấp thông tin
|
|
13
|
+
- Dòng trên cùng: Các con số KPI quan trọng nhất (Doanh thu, Người dùng).
|
|
14
|
+
- Dòng thứ 2: Biểu đồ xu hướng (Charts).
|
|
15
|
+
- Phía dưới: Bảng dữ liệu chi tiết (Data Table) hoặc Hoạt động gần đây (Recent Activity).
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Landing Page Template Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Hero Section (Mặt tiền)
|
|
4
|
+
Quan trọng nhất, quyết định 80% tỉ lệ chuyển đổi.
|
|
5
|
+
- **Tiêu đề chính (H1)**: Chữ cực lớn (text-5xl đến 7xl), font đậm (bold/extrabold), tracking-tight.
|
|
6
|
+
- **Đoạn mô tả (Subtitle)**: Màu xám trung tính (`text-slate-500`), max-width 2xl.
|
|
7
|
+
- **CTA Group**: 1 nút Primary lớn, 1 nút Secondary (hoặc Video Link).
|
|
8
|
+
- **Social Proof**: "Được tin dùng bởi..." + Logo các đối tác màu xám mờ.
|
|
9
|
+
|
|
10
|
+
## 2. Features Section (Tính năng)
|
|
11
|
+
- Layout Z-Pattern: Chữ bên trái, Ảnh bên phải -> Hàng tiếp theo đổi lại (Ảnh trái, Chữ phải).
|
|
12
|
+
- Hoặc Layout Grid: 3-4 Card chứa Icon, Tiêu đề nhỏ, Mô tả.
|
|
13
|
+
|
|
14
|
+
## 3. Pricing Section (Bảng giá)
|
|
15
|
+
- Phải có ít nhất 3 cột. Cột ở giữa (Gói phổ biến) cần được làm nổi bật (Viền màu, Scale lớn hơn một chút, có thẻ "Most Popular").
|
|
16
|
+
|
|
17
|
+
## 4. Footer
|
|
18
|
+
- Background tối màu (`bg-slate-900`), chữ sáng màu. Chia lưới 4-5 cột cho các link điều hướng.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Minimal / Apple-like Theme Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Đặc trưng thị giác (Aesthetics)
|
|
4
|
+
- **Less is More**: Tập trung hoàn toàn vào nội dung, loại bỏ mọi đường kẻ ngang/dọc (borders) nếu không thực sự cần thiết. Phân cách bằng khoảng trắng (Whitespace).
|
|
5
|
+
- **Monochrome Focus**: Chủ yếu dùng Đen, Trắng, và các dải Xám. Chỉ dùng màu nhấn ở đúng vị trí tương tác (Link, Active state).
|
|
6
|
+
- **Rounded Corners**: Bo góc mềm mại nhưng không quá lố (thường `rounded-2xl` cho thẻ lớn, `rounded-lg` cho nút). Tương đương Apple iOS / macOS.
|
|
7
|
+
|
|
8
|
+
## 2. Spacing
|
|
9
|
+
- Cực kỳ phóng khoáng. Padding và Margin rất lớn để tạo cảm giác "thở" cho giao diện.
|
|
10
|
+
- Không lèn chặt thông tin. Giữa tiêu đề và nội dung là khoảng trống rõ ràng.
|
|
11
|
+
|
|
12
|
+
## 3. Typography
|
|
13
|
+
- Kích thước chữ lớn hơn bình thường (Large Typography).
|
|
14
|
+
- Tiêu đề dùng font weight Bold (700) kết hợp `tracking-tight`.
|
|
15
|
+
- Màu text: Đen nhạt (`text-gray-900`) thay vì đen tuyền để dịu mắt, xám vừa (`text-gray-500`) cho subtitle.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# SaaS / Vercel-like Theme Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Đặc trưng thị giác (Aesthetics)
|
|
4
|
+
- **Tech-forward, Slick & Precise**: Đại diện cho sự hiện đại, công nghệ cao (Thường thấy ở Vercel, Linear, Stripe, Raycast).
|
|
5
|
+
- **Borders & Shadows**: Sử dụng viền 1px siêu mỏng (`border-slate-200` hoặc `border-white/10` trong dark mode), kết hợp với shadow có độ mờ nhạt và đổ bóng nhiều lớp (multi-layered shadows).
|
|
6
|
+
- **Micro-interactions**: Hover effects tinh tế, transition mượt (`transition-all duration-200`).
|
|
7
|
+
|
|
8
|
+
## 2. Dark Mode Focus (Chủ đạo)
|
|
9
|
+
- Thay vì đen hoàn toàn, nền chính thường là `#09090b` (Zinc 950) hoặc `#020617` (Slate 950).
|
|
10
|
+
- Text: Dùng các sắc thái xám khác nhau để phân cấp (Primary text: `text-slate-200`, Secondary text: `text-slate-400`).
|
|
11
|
+
- Glow effects: Dùng box-shadow dạng glow hoặc `radial-gradient` làm nền mờ ảo sau các nút bấm chính hoặc card quan trọng.
|
|
12
|
+
|
|
13
|
+
## 3. Typography
|
|
14
|
+
- **Inter** hoặc các font Sans-serif trung tính.
|
|
15
|
+
- Tracking (Letter spacing) hơi khít (`tracking-tight`) cho tiêu đề lớn để trông hiện đại hơn.
|
|
16
|
+
- Text `transparent bg-clip-text bg-gradient-to-r` cực kỳ phổ biến cho tiêu đề (H1).
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Animation & Micro-interactions Intelligence
|
|
2
|
+
|
|
3
|
+
## 1. Principles
|
|
4
|
+
- **Mục đích**: Animation không bao giờ được dùng chỉ để "trang trí". Nó phải giúp người dùng hiểu trạng thái của hệ thống (Vd: Modal mở ra từ đâu, Nút bấm đã được nhấn chưa).
|
|
5
|
+
- **Tốc độ (Duration)**: Nhanh gọn. Thường từ \`150ms\` đến \`300ms\`. Không bao giờ kéo dài quá \`500ms\` (Trừ các Splash screen).
|
|
6
|
+
- **Easing**: Dùng các đường cong easing mượt mà (Tailwind: \`ease-out\` khi vào màn hình, \`ease-in\` khi thoát ra).
|
|
7
|
+
|
|
8
|
+
## 2. Micro-interactions chuẩn
|
|
9
|
+
- **Hover Nút**: Thay đổi độ sáng/shadow trong \`200ms\`. (Tailwind: \`transition-all duration-200 ease-in-out\`).
|
|
10
|
+
- **Click Nút (Active)**: Phản hồi nhún xuống 1 chút (Scale). (Tailwind: \`active:scale-95\`).
|
|
11
|
+
- **Card Hover**: Trượt nhẹ lên trên (\`-translate-y-1\`) và tăng đổ bóng (\`shadow-md\`).
|
|
12
|
+
|
|
13
|
+
## 3. Chuyển cảnh (Transitions & Modals)
|
|
14
|
+
- **Modal/Dialog**: Nên trượt nhẹ từ dưới lên (Slide Up) hoặc phóng to nhẹ từ giữa (Scale In) kết hợp mờ dần (Fade In).
|
|
15
|
+
- **Dropdown/Popover**: Mở nhanh (\`150ms ease-out\`) từ điểm trigger.
|
|
16
|
+
- **Accordion/Collapse**: Không bị giật chiều cao. Nội dung mở ra cần mượt mà.
|
|
17
|
+
|
|
18
|
+
## 4. Performance
|
|
19
|
+
- Chỉ animate \`transform\` và \`opacity\`.
|
|
20
|
+
- TUYỆT ĐỐI KHÔNG animate các thuộc tính layout như \`width\`, \`height\`, \`top\`, \`left\`, \`margin\`, \`padding\` (Gây Reflow, làm giật lag trình duyệt).
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Color Intelligence (Hệ thống màu sắc & Tương phản)
|
|
2
|
+
|
|
3
|
+
## 1. Quy tắc 60-30-10
|
|
4
|
+
Áp dụng cho mọi giao diện để tạo cân bằng thị giác:
|
|
5
|
+
- **60% (Màu nền - Background)**: Thường là trắng, xám nhạt (Light mode) hoặc đen, xám đậm (Dark mode). Tailwind: `bg-white` / `bg-slate-900`.
|
|
6
|
+
- **30% (Màu phụ - Secondary/Surface)**: Các thành phần phân cách như Card background, Sidebar, Border. Tailwind: `bg-slate-50` / `border-slate-200`.
|
|
7
|
+
- **10% (Màu nhấn - Primary/Accent)**: CTA Buttons, link, icon đang active. Tạo sự thu hút chú ý ngay lập tức.
|
|
8
|
+
|
|
9
|
+
## 2. Semantic Colors (Màu ngữ nghĩa)
|
|
10
|
+
Không bao giờ dùng màu đỏ cho nút OK, không dùng xanh lá cho Cảnh báo.
|
|
11
|
+
- **Primary**: Brand color (Vd: Blue-600).
|
|
12
|
+
- **Success**: Green (Tailwind: `emerald-500`).
|
|
13
|
+
- **Warning**: Yellow/Orange (Tailwind: `amber-500`).
|
|
14
|
+
- **Danger/Destructive**: Red (Tailwind: `rose-500` hoặc `red-500`).
|
|
15
|
+
- **Info**: Blue (Tailwind: `blue-500`).
|
|
16
|
+
|
|
17
|
+
## 3. Quản lý Dark Mode (SaaS Trend)
|
|
18
|
+
Thay vì dùng màu đen tuyền `#000000`, hãy dùng các tone xám ám màu nhẹ (Tinted Grays) để bớt chói mắt:
|
|
19
|
+
- **Slate** (Ám xanh dương) - Phù hợp Tech/SaaS.
|
|
20
|
+
- **Zinc** (Xám trung tính) - Phù hợp Minimal/Editorial.
|
|
21
|
+
- Text trong Dark Mode không bao giờ dùng trắng tinh (`#ffffff`), nên dùng xám rất nhạt (Tailwind: `text-slate-200`).
|
|
22
|
+
|
|
23
|
+
## 4. Accessibility (Độ tương phản A11y)
|
|
24
|
+
Luôn đảm bảo độ tương phản giữa Text và Background đạt tối thiểu **4.5:1** (WCAG AA). Text nhỏ cần tương phản cao hơn text lớn.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Layout Intelligence (Bố cục)
|
|
2
|
+
|
|
3
|
+
## 1. Container & Max-Width
|
|
4
|
+
Không bao giờ để văn bản chạy tràn màn hình siêu rộng (Ultra-wide).
|
|
5
|
+
- Đọc tối ưu: Đoạn văn chỉ nên dài từ 60-80 ký tự/dòng. (Tailwind: `max-w-prose` hoặc `max-w-2xl`).
|
|
6
|
+
- Main Layout: Thường bọc trong một container có max-width (Tailwind: `max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`).
|
|
7
|
+
|
|
8
|
+
## 2. Flex vs Grid
|
|
9
|
+
- **Flexbox**: Dành cho giao diện 1 chiều (hàng hoặc cột). Ví dụ: Navbar, Danh sách tag, Nhóm nút bấm.
|
|
10
|
+
- **CSS Grid**: Dành cho bố cục 2 chiều, các Card đều nhau. (Tailwind: `grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`).
|
|
11
|
+
|
|
12
|
+
## 3. Responsive Breakpoints
|
|
13
|
+
Tư duy Mobile-First:
|
|
14
|
+
- Code mặc định luôn áp dụng cho Mobile (Màn hình dọc).
|
|
15
|
+
- `sm:` (640px) - Tablet nhỏ.
|
|
16
|
+
- `md:` (768px) - Tablet ngang / iPad.
|
|
17
|
+
- `lg:` (1024px) - Desktop / Laptop.
|
|
18
|
+
- Tránh dùng quá nhiều breakpoint trên 1 class, chỉ dùng khi layout thực sự vỡ.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Spacing Intelligence (Khoảng cách & Lưới)
|
|
2
|
+
|
|
3
|
+
## 1. Hệ thống Lưới 8pt (8-Point Grid System)
|
|
4
|
+
Khoảng cách (Margin/Padding), kích thước Icon, chiều cao Component **PHẢI** là bội số của 8 (hoặc 4 đối với chi tiết nhỏ).
|
|
5
|
+
- 4px (`gap-1`, `p-1`)
|
|
6
|
+
- 8px (`gap-2`, `p-2`)
|
|
7
|
+
- 12px (`gap-3`, `p-3`) - Phổ biến cho padding bên trong nút bấm.
|
|
8
|
+
- 16px (`gap-4`, `p-4`) - Base padding cho Card, Container nhỏ.
|
|
9
|
+
- 24px (`gap-6`, `p-6`) - Khoảng cách giữa các sections nhỏ.
|
|
10
|
+
- 32px (`gap-8`, `p-8`) - Padding tiêu chuẩn cho Container lớn.
|
|
11
|
+
- 48px (`gap-12`, `p-12`) / 64px (`gap-16`) - Khoảng cách giữa các Section chính của Landing Page.
|
|
12
|
+
|
|
13
|
+
## 2. Quy luật gần gũi (Law of Proximity)
|
|
14
|
+
Các thành phần có liên quan logic với nhau phải nằm gần nhau hơn so với các phần khác.
|
|
15
|
+
- Ví dụ Card: Khoảng cách giữa Icon và Text (8px) phải nhỏ hơn khoảng cách từ Text đến Border (16px).
|
|
16
|
+
- Label và Input: `gap-1` (4px). Giữa 2 Field Form: `gap-4` (16px). Giữa Form và Submit Button: `gap-6` (24px).
|
|
17
|
+
|
|
18
|
+
## 3. Optical Alignment (Căn chỉnh quang học)
|
|
19
|
+
Đôi khi một icon tròn trông sẽ nhỏ hơn một icon vuông có cùng kích thước (bounding box). Tránh dùng số lẻ, sử dụng lưới 8pt để tự động căn bằng.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Typography Intelligence (Font Scale & Pairing)
|
|
2
|
+
|
|
3
|
+
## 1. Hệ thống tỉ lệ (Scale System)
|
|
4
|
+
Dựa trên nguyên lý phổ biến của thị trường (như Tailwind, Radix UI):
|
|
5
|
+
- **Base (16px / 1rem)**: Nội dung đoạn văn mặc định. (Tailwind: `text-base`)
|
|
6
|
+
- **Small (14px / 0.875rem)**: Chú thích, phụ đề nhỏ, label form. (Tailwind: `text-sm`)
|
|
7
|
+
- **Tiny (12px / 0.75rem)**: Badge, tag, footnote. (Tailwind: `text-xs`)
|
|
8
|
+
- **H3 / Subheading (20px / 1.25rem)**: Tiêu đề phụ, card title. (Tailwind: `text-xl`)
|
|
9
|
+
- **H2 / Section Title (24px / 1.5rem)**: Tiêu đề mục lớn. (Tailwind: `text-2xl`)
|
|
10
|
+
- **H1 / Hero Title (36px+ / 2.25rem+)**: Tiêu đề trang, landing page hero. (Tailwind: `text-4xl` hoặc `text-5xl`)
|
|
11
|
+
|
|
12
|
+
## 2. Line Height (Chiều cao dòng)
|
|
13
|
+
- Tiêu đề (H1, H2): Dùng `1.1` đến `1.2` (Tailwind: `leading-tight`) để tránh khoảng trống thừa.
|
|
14
|
+
- Đoạn văn (Paragraph): Dùng `1.5` đến `1.6` (Tailwind: `leading-relaxed`) để dễ đọc.
|
|
15
|
+
|
|
16
|
+
## 3. Font Pairing (Ghép cặp font chuẩn)
|
|
17
|
+
- **Modern SaaS**: Inter (Sans-serif) cho toàn bộ, hoặc Cal Sans cho tiêu đề + Inter cho nội dung.
|
|
18
|
+
- **Editorial / Blog**: Merriweather (Serif) cho tiêu đề + Roboto (Sans-serif) cho nội dung.
|
|
19
|
+
- **Developer / Tech**: Fira Code hoặc JetBrains Mono cho code/badge + System UI (San Francisco/Segoe UI) cho UI.
|
|
20
|
+
|
|
21
|
+
## 4. Trọng lượng chữ (Font Weight)
|
|
22
|
+
- Tránh dùng Semibold (600) tràn lan. Dùng Medium (500) cho button/label và Bold (700) cho tiêu đề.
|
|
23
|
+
- Body text luôn là Regular (400).
|
|
@@ -48,6 +48,19 @@ knowledge_scope:
|
|
|
48
48
|
references:
|
|
49
49
|
- design-system
|
|
50
50
|
|
|
51
|
+
decision_boundary:
|
|
52
|
+
owns:
|
|
53
|
+
- tokens
|
|
54
|
+
- ui-system
|
|
55
|
+
does_not_own:
|
|
56
|
+
- page implementation
|
|
57
|
+
- visual direction
|
|
58
|
+
conflicts_with:
|
|
59
|
+
- qk-design-system-engineering
|
|
60
|
+
|
|
61
|
+
knowledge_dependencies:
|
|
62
|
+
- design-intelligence
|
|
63
|
+
|
|
51
64
|
# ── V8: Verification ───────────────────────────────────────
|
|
52
65
|
verification:
|
|
53
66
|
required: true
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-developer-skill-os",
|
|
3
|
-
"version": "8.1.
|
|
4
|
-
"description": "Agent Engineering OS
|
|
3
|
+
"version": "8.1.5",
|
|
4
|
+
"description": "Agent Engineering OS: A deterministic capability graph, governance rules, and dynamic knowledge base for AI coding agents.",
|
|
5
5
|
"main": "bin/install.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"bin",
|