heraspec 0.1.14 → 0.1.15
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/LICENSE +187 -0
- package/README.md +94 -95
- package/bin/heraspec.js +195 -80
- package/bin/heraspec.js.map +2 -2
- package/dist/core/templates/skills/README.md +41 -38
- package/dist/core/templates/skills/campaign-plan/skill.md +76 -0
- package/dist/core/templates/skills/campaign-plan/skill.vi.md +76 -0
- package/dist/core/templates/skills/campaign-plan-skill.md +76 -0
- package/dist/core/templates/skills/campaign-plan-skill.vi.md +76 -0
- package/dist/core/templates/skills/code-review/skill.md +70 -0
- package/dist/core/templates/skills/code-review/skill.vi.md +70 -0
- package/dist/core/templates/skills/code-review-skill.md +70 -0
- package/dist/core/templates/skills/code-review-skill.vi.md +70 -0
- package/dist/core/templates/skills/content-creation/skill.md +69 -0
- package/dist/core/templates/skills/content-creation/skill.vi.md +69 -0
- package/dist/core/templates/skills/content-creation-skill.md +69 -0
- package/dist/core/templates/skills/content-creation-skill.vi.md +69 -0
- package/dist/core/templates/skills/content-optimization/skill.md +104 -0
- package/dist/core/templates/skills/debug/skill.md +69 -0
- package/dist/core/templates/skills/debug/skill.vi.md +69 -0
- package/dist/core/templates/skills/debug-skill.md +69 -0
- package/dist/core/templates/skills/debug-skill.vi.md +69 -0
- package/dist/core/templates/skills/deploy-documentation/skill.md +408 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/airbnb/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/airtable/DESIGN.md +89 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/apple/DESIGN.md +313 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/bmw/DESIGN.md +180 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cal/DESIGN.md +259 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/claude/DESIGN.md +312 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/clay/DESIGN.md +304 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cohere/DESIGN.md +266 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/coinbase/DESIGN.md +129 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/composio/DESIGN.md +307 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cursor/DESIGN.md +309 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/expo/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/figma/DESIGN.md +220 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/framer/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/ibm/DESIGN.md +332 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/index.json +72 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/intercom/DESIGN.md +146 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/kraken/DESIGN.md +125 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/linear.app/DESIGN.md +367 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/lovable/DESIGN.md +298 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/minimax/DESIGN.md +257 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mintlify/DESIGN.md +326 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/miro/DESIGN.md +108 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mongodb/DESIGN.md +266 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/notion/DESIGN.md +309 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/nvidia/DESIGN.md +293 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/ollama/DESIGN.md +267 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/pinterest/DESIGN.md +230 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/posthog/DESIGN.md +256 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/raycast/DESIGN.md +268 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/replicate/DESIGN.md +261 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/resend/DESIGN.md +303 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/revolut/DESIGN.md +185 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/runwayml/DESIGN.md +244 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/sanity/DESIGN.md +357 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/sentry/DESIGN.md +262 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/spacex/DESIGN.md +194 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/spotify/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/stripe/DESIGN.md +322 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/supabase/DESIGN.md +255 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/superhuman/DESIGN.md +252 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/together.ai/DESIGN.md +263 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/uber/DESIGN.md +295 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/vercel/DESIGN.md +310 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/voltagent/DESIGN.md +323 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/warp/DESIGN.md +253 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/webflow/DESIGN.md +92 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/wise/DESIGN.md +173 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/x.ai/DESIGN.md +257 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/zapier/DESIGN.md +328 -0
- package/dist/core/templates/skills/design-system/skill.md +176 -0
- package/dist/core/templates/skills/documents/skill.md +104 -0
- package/dist/core/templates/skills/e2e-test/skill.md +119 -0
- package/dist/core/templates/skills/email-sequence/skill.md +68 -0
- package/dist/core/templates/skills/email-sequence/skill.vi.md +68 -0
- package/dist/core/templates/skills/email-sequence-skill.md +68 -0
- package/dist/core/templates/skills/email-sequence-skill.vi.md +68 -0
- package/dist/core/templates/skills/git-embed/skill.md +57 -0
- package/dist/core/templates/skills/integration-test/skill.md +118 -0
- package/dist/core/templates/skills/knowledge/README.md +63 -63
- package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -72
- package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -27
- package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -137
- package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -39
- package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +207 -207
- package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -51
- package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -369
- package/dist/core/templates/skills/knowledge/index.json +65 -65
- package/dist/core/templates/skills/perfex-module/module-codebase/skill.md +110 -0
- package/dist/core/templates/skills/project-memory/skill.md +222 -0
- package/dist/core/templates/skills/project-memory/skill.vi.md +223 -0
- package/dist/core/templates/skills/seo-audit/skill.md +75 -0
- package/dist/core/templates/skills/seo-audit/skill.vi.md +75 -0
- package/dist/core/templates/skills/seo-audit-skill.md +75 -0
- package/dist/core/templates/skills/seo-audit-skill.vi.md +75 -0
- package/dist/core/templates/skills/smart-explore/skill.md +141 -0
- package/dist/core/templates/skills/sourcecode-analyzer/skill.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer/skill.vi.md +210 -0
- package/dist/core/templates/skills/spec-writer/skill.md +61 -0
- package/dist/core/templates/skills/spec-writer/skill.vi.md +61 -0
- package/dist/core/templates/skills/spec-writer-skill.md +61 -0
- package/dist/core/templates/skills/spec-writer-skill.vi.md +61 -0
- package/dist/core/templates/skills/sql-queries/skill.md +67 -0
- package/dist/core/templates/skills/sql-queries/skill.vi.md +67 -0
- package/dist/core/templates/skills/sql-queries-skill.md +67 -0
- package/dist/core/templates/skills/sql-queries-skill.vi.md +67 -0
- package/dist/core/templates/skills/suggestion/skill.md +118 -0
- package/dist/core/templates/skills/system-design/skill.md +70 -0
- package/dist/core/templates/skills/system-design/skill.vi.md +70 -0
- package/dist/core/templates/skills/system-design-skill.md +70 -0
- package/dist/core/templates/skills/system-design-skill.vi.md +70 -0
- package/dist/core/templates/skills/tech-debt/skill.md +70 -0
- package/dist/core/templates/skills/tech-debt/skill.vi.md +70 -0
- package/dist/core/templates/skills/tech-debt-skill.md +70 -0
- package/dist/core/templates/skills/tech-debt-skill.vi.md +70 -0
- package/dist/core/templates/skills/ui-ux/data/charts.csv +26 -0
- package/dist/core/templates/skills/ui-ux/data/colors.csv +97 -0
- package/dist/core/templates/skills/ui-ux/data/design-systems.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/landing.csv +31 -0
- package/dist/core/templates/skills/ui-ux/data/pages-proposed.csv +22 -0
- package/dist/core/templates/skills/ui-ux/data/pages.csv +10 -0
- package/dist/core/templates/skills/ui-ux/data/products.csv +97 -0
- package/dist/core/templates/skills/ui-ux/data/prompts.csv +24 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/flutter.csv +53 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/html-tailwind.csv +56 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/nextjs.csv +53 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/react-native.csv +52 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/react.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/svelte.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/swiftui.csv +51 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/vue.csv +50 -0
- package/dist/core/templates/skills/ui-ux/data/styles.csv +59 -0
- package/dist/core/templates/skills/ui-ux/data/typography.csv +58 -0
- package/dist/core/templates/skills/ui-ux/data/ux-guidelines.csv +100 -0
- package/dist/core/templates/skills/ui-ux/scripts/CODE_EXPLANATION.md +394 -0
- package/dist/core/templates/skills/ui-ux/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -0
- package/dist/core/templates/skills/ui-ux/scripts/SEARCH_MODES_GUIDE.md +238 -0
- package/dist/core/templates/skills/ui-ux/scripts/core.py +391 -0
- package/dist/core/templates/skills/ui-ux/scripts/search.py +73 -0
- package/dist/core/templates/skills/ui-ux/skill.md +595 -0
- package/dist/core/templates/skills/ui-ux/templates/accessibility-checklist.md +40 -0
- package/dist/core/templates/skills/ui-ux/templates/example-prompt-full-theme.md +333 -0
- package/dist/core/templates/skills/ui-ux/templates/page-types-guide.md +338 -0
- package/dist/core/templates/skills/ui-ux/templates/pages-proposed-summary.md +273 -0
- package/dist/core/templates/skills/ui-ux/templates/pre-delivery-checklist.md +42 -0
- package/dist/core/templates/skills/ui-ux/templates/prompt-template-full-theme.md +313 -0
- package/dist/core/templates/skills/ui-ux/templates/responsive-design.md +40 -0
- package/dist/core/templates/skills/unit-test/skill.md +111 -0
- package/dist/core/templates/skills/wordpress/plugin-check/skill.md +151 -0
- package/dist/core/templates/skills/wordpress/plugin-directory/skill.md +396 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/skill.md +100 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-dashboard.php +47 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-settings.php +60 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-css.css +22 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-js.js +15 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/plugin-main.php +169 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/readme.txt +41 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/uninstall.php +21 -0
- package/dist/core/templates/skills/wordpress/ux-element/skill.md +83 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Controller.php +50 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Shortcode.php +23 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Template.html +20 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Thumbnail.svg +8 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/View.php +21 -0
- package/dist/index.js +195 -79
- package/package.json +1 -1
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-memory
|
|
3
|
+
description: Hệ thống bộ nhớ dự án bổ trợ cho AI agent. Ghi lại các quan sát, quyết định và tóm tắt phiên làm việc để duy trì ngữ cảnh giữa các phiên phát triển. Ngăn ngừa việc làm trùng lặp, theo dõi các quyết định kiến trúc và cho phép truy xuất ngữ cảnh tối ưu token.
|
|
4
|
+
projectType: all
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Memory Skill
|
|
8
|
+
|
|
9
|
+
## Mục đích
|
|
10
|
+
|
|
11
|
+
Cho phép AI agent duy trì **ngữ cảnh dự án bền vững** qua các phiên làm việc bằng cách tiếp cận bổ trợ (không can thiệp). Hệ thống bộ nhớ ghi lại những gì đã làm, đã học được và những quyết định đã đưa ra — để các phiên trong tương lai bắt đầu với ngữ cảnh có liên quan thay vì phải đọc lại toàn bộ mã nguồn (codebase).
|
|
12
|
+
|
|
13
|
+
## Khi nào nên dùng
|
|
14
|
+
|
|
15
|
+
- **Trước khi triển khai tính năng mới**: Tìm kiếm bộ nhớ xem có công việc tương tự nào đã làm trước đó không.
|
|
16
|
+
- **Sau khi hoàn thành một nhiệm vụ quan trọng**: Ghi lại quan sát (observation) để lưu lại những gì đã thực hiện.
|
|
17
|
+
- **Vào cuối một phiên làm việc (session)**: Tóm tắt phiên làm việc để tham khảo sau này.
|
|
18
|
+
- **Khi bắt đầu một phiên làm việc phức tạp**: Đọc ngữ cảnh để hiểu lịch sử của dự án.
|
|
19
|
+
|
|
20
|
+
## Cách tiếp cận bổ trợ (Complementary Approach)
|
|
21
|
+
|
|
22
|
+
> **Skill này mang tính BỔ TRỢ, không bắt buộc.** AI agent sử dụng bộ nhớ KHI HỮU ÍCH, không phải ở mọi bước.
|
|
23
|
+
>
|
|
24
|
+
> - Nhiệm vụ đơn giản (sửa lỗi chính tả, format code): Bỏ qua bộ nhớ hoàn toàn → tốn 0 token.
|
|
25
|
+
> - Nhiệm vụ phức tạp (tính năng mới, thay đổi kiến trúc): Dùng bộ nhớ → tiết kiệm 10-30x token so với việc đọc lại codebase.
|
|
26
|
+
|
|
27
|
+
## Các Lệnh Có Sẵn
|
|
28
|
+
|
|
29
|
+
### 1. Ghi lại quan sát (Log an Observation - Post-Task)
|
|
30
|
+
Ghi lại những gì đã làm sau khi hoàn thành một nhiệm vụ quan trọng:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
heraspec memory log \
|
|
34
|
+
--type <decision|bugfix|feature|refactor|discovery|change> \
|
|
35
|
+
--title "Tiêu đề mô tả ngắn gọn" \
|
|
36
|
+
--narrative "Mô tả chi tiết về những gì đã làm và lý do" \
|
|
37
|
+
--concepts "tag1,tag2,tag3" \
|
|
38
|
+
--files-modified "src/file1.ts,src/file2.ts"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Các loại quan sát (Observation types):**
|
|
42
|
+
| Loại (Type) | Icon | Khi nào dùng |
|
|
43
|
+
|------|------|------------|
|
|
44
|
+
| `decision` | ⚖️ | Quyết định về kiến trúc hoặc thiết kế kèm theo lý do |
|
|
45
|
+
| `bugfix` | 🔴 | Sửa lỗi kèm theo nguyên nhân gốc rễ |
|
|
46
|
+
| `feature` | 🟢 | Triển khai tính năng mới |
|
|
47
|
+
| `refactor` | 🔄 | Tái cấu trúc hoặc tối ưu hóa mã nguồn |
|
|
48
|
+
| `discovery` | 🔵 | Những phát hiện quan trọng về codebase hoặc hành vi |
|
|
49
|
+
| `change` | ✅ | Các thay đổi code chung chung |
|
|
50
|
+
|
|
51
|
+
### 2. Tìm kiếm trong bộ nhớ (Search Memory - Pre-Implementation)
|
|
52
|
+
Kiểm tra xem các công việc liên quan có tồn tại không trước khi triển khai tính năng mới:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
heraspec memory search "authentication middleware"
|
|
56
|
+
heraspec memory search --type feature --concepts "auth,login"
|
|
57
|
+
heraspec memory search --id 42 # Lấy chi tiết đầy đủ của observation #42
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. Tạo ngữ cảnh (Generate Context - Session Start)
|
|
61
|
+
Nhận bản tóm tắt các hoạt động gần đây của dự án:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
heraspec memory context # In ra stdout
|
|
65
|
+
heraspec memory context --output file # Ghi vào file heraspec/memory/context.md
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 4. Tóm tắt phiên làm việc (Summarize Session - Session End)
|
|
69
|
+
Ghi lại những thành quả đạt được trong phiên làm việc này:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
heraspec memory summarize \
|
|
73
|
+
--request "Người dùng đã yêu cầu gì?" \
|
|
74
|
+
--completed "Những gì đã được thực hiện?" \
|
|
75
|
+
--learned "Những hiểu biết (insights) quan trọng đã phát hiện" \
|
|
76
|
+
--next-steps "Những việc còn lại cần làm" \
|
|
77
|
+
--files-edited "src/file1.ts,src/file2.ts"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 5. Xem trạng thái (View Status)
|
|
81
|
+
Kiểm tra số liệu thống kê bộ nhớ:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
heraspec memory status # Số lượng observation, top concepts, top files
|
|
85
|
+
heraspec memory timeline # Xem hoạt động theo thứ tự thời gian
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 6. Báo cáo Phân tích Token (Token Analytics Report)
|
|
89
|
+
Xem bảng so sánh chi tiết token đã dùng và tiết kiệm theo từng dự án:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
heraspec memory analytics # Bảng + biểu đồ về hiệu quả token
|
|
93
|
+
heraspec memory analytics --history # Đính kèm thêm 13 mốc thời gian file DB thay đổi kích thước
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Kết quả bao gồm:
|
|
97
|
+
- **Bảng (Table)**: Tên dự án, Số thao tác, Token khi dùng Memory, Token khi không dùng Memory, % Tiết kiệm, **Kích thước DB**
|
|
98
|
+
- **Biểu đồ thanh (Bar Chart)**: So sánh trực quan số token đã tránh được cho mỗi dự án
|
|
99
|
+
- **Tổng cộng (Totals)**: Tổng hợp tiết kiệm trên tất cả dự án
|
|
100
|
+
- **Lịch sử (History - Tùy chọn)**: Bảng thời gian (Chronological delta chart) cho thấy file `.db` đã thay đổi kích thước ra sao qua các lần cập nhật.
|
|
101
|
+
|
|
102
|
+
### 7. Bảo trì (Maintenance)
|
|
103
|
+
```bash
|
|
104
|
+
heraspec memory prune 90 # Xóa các observation cũ hơn 90 ngày
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Quy trình làm việc cho AI Agent
|
|
108
|
+
|
|
109
|
+
### Khi nào nên dùng Memory (Cây Quyết Định)
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Nhận nhiệm vụ từ user
|
|
113
|
+
├── Nhiệm vụ đơn giản/nhỏ lẻ? → Bỏ qua bộ nhớ, làm luôn
|
|
114
|
+
├── Tính năng mới hay thay đổi lớn?
|
|
115
|
+
│ ├── Tìm kiếm bộ nhớ: "heraspec memory search <từ khóa>"
|
|
116
|
+
│ ├── Tìm thấy kết quả? → Đọc observation liên quan, tránh làm lại từ đầu
|
|
117
|
+
│ └── Không có kết quả? → Tiến hành bình thường
|
|
118
|
+
├── Sau khi hoàn thành nhiệm vụ:
|
|
119
|
+
│ ├── Quan trọng/Lớn? → Ghi lại observation
|
|
120
|
+
│ └── Nhỏ lẻ? → Bỏ qua ghi log
|
|
121
|
+
└── Kết thúc phiên làm việc?
|
|
122
|
+
└── Đã hoàn thành nhiều nhiệm vụ? → Tạo tóm tắt phiên (session summary)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Các Nguyên Tắc Chính
|
|
126
|
+
|
|
127
|
+
1. **Đừng gượng ép**: Chỉ sử dụng bộ nhớ khi nó thực sự giúp tiết kiệm thời gian hoặc tránh sai sót.
|
|
128
|
+
2. **Chất lượng hơn số lượng**: Một observation chi tiết còn hơn mười cái hời hợt.
|
|
129
|
+
3. **Concept là cốt lõi**: Việc gắn thẻ concept chuẩn (`auth`, `database`, `api`, `ui`) giúp tìm kiếm hiệu quả.
|
|
130
|
+
4. **File cũng rất quan trọng**: Ghi lại file nào đã sửa giúp cho AI lần sau điều hướng dễ dàng hơn.
|
|
131
|
+
|
|
132
|
+
## Cấu hình
|
|
133
|
+
|
|
134
|
+
Cấu hình bộ nhớ được lưu trữ tại `heraspec/memory/config.json`:
|
|
135
|
+
|
|
136
|
+
```json
|
|
137
|
+
{
|
|
138
|
+
"totalObservationCount": 50,
|
|
139
|
+
"fullObservationCount": 5,
|
|
140
|
+
"sessionCount": 5,
|
|
141
|
+
"maxTokens": 6000,
|
|
142
|
+
"showLastSummary": true
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Tối ưu (Token Economics)
|
|
147
|
+
|
|
148
|
+
| Hành động | Chi phí Token | Token Tiết kiệm được |
|
|
149
|
+
|--------|-----------|---------------|
|
|
150
|
+
| Đọc ngữ cảnh (context) | ~2,000-4,000 | so với ~50,000-120,000 khi đọc lại codebase |
|
|
151
|
+
| Tìm kiếm bộ nhớ (search)| ~500-1,000 | so với ~5,000-15,000 nếu phải làm lại mã nguồn |
|
|
152
|
+
| Ghi lại observation | ~200-500 | Đầu tư dài hạn cho các phiên sau |
|
|
153
|
+
| Smart explore (outline) | ~1,000-2,000 | so với ~12,000+ nếu đọc toàn bộ file |
|
|
154
|
+
|
|
155
|
+
Để xem bảng phân tích trực tiếp về số token đã tiết kiệm, chạy:
|
|
156
|
+
```bash
|
|
157
|
+
heraspec memory analytics
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Tích hợp dữ liệu cũ (Bootstrapping Existing Projects)
|
|
161
|
+
|
|
162
|
+
Nếu bạn vừa thêm skill `project-memory` vào một **dự án cũ** đã và đang làm việc theo quy trình HeraSpec (đã có thư mục `heraspec/specs/` và `heraspec/archives/`), bạn có thể "tích hợp" dữ liệu về bộ nhớ rất dễ dàng mà không cần lập trình thêm.
|
|
163
|
+
|
|
164
|
+
Chỉ cần gửi duy nhất một prompt sau cho AI Agent (MỘT LẦN VÀ DUY NHẤT):
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
Sử dụng skill project-memory.
|
|
168
|
+
Bạn hãy khởi tạo memory cho dự án này từ các specs và archives đã có.
|
|
169
|
+
Mở thư mục: heraspec/specs/ và heraspec/archives/
|
|
170
|
+
Với MỖI sub-folder/file có trong đó, hãy đọc lướt để hiểu nội dung, sau đó chạy lệnh:
|
|
171
|
+
|
|
172
|
+
heraspec memory log \
|
|
173
|
+
--type feature \
|
|
174
|
+
--title "[Trích xuất tên spec/change]" \
|
|
175
|
+
--narrative "[Tóm tắt ngắn gọn những gì đã được triển khai trong spec này]" \
|
|
176
|
+
--concepts "[Trích xuất các thẻ/công nghệ chính]" \
|
|
177
|
+
--files-modified "[Trích xuất hoặc suy thoái các file bị ảnh hưởng]"
|
|
178
|
+
|
|
179
|
+
Lặp lại việc này cho đến khi di chuyển (migrate) hoàn tất tất cả spec cũ vào hệ thống memory.
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Ngoài ra, có thể sử dụng **lệnh CLI có sẵn** (nhanh hơn, không tốn AI token):
|
|
183
|
+
```bash
|
|
184
|
+
heraspec memory bootstrap # Tương tác — hỏi xác nhận trước khi chạy
|
|
185
|
+
heraspec memory bootstrap --yes # Không tương tác — tự động xác nhận
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Lệnh này sẽ tự động quét `heraspec/specs/`, `heraspec/archives/` và `heraspec/changes/`, trích xuất tiêu đề/nội dung/file từ mỗi markdown spec, rồi chèn vào cơ sở dữ liệu memory.
|
|
189
|
+
|
|
190
|
+
> **Lưu ý:** Các tiêu đề trùng lặp sẽ tự động bị bỏ qua, nên chạy lệnh nhiều lần vẫn an toàn.
|
|
191
|
+
|
|
192
|
+
## Báo cáo do Agent kích hoạt (Agent-Triggered Reporting)
|
|
193
|
+
|
|
194
|
+
Khi user yêu cầu AI agent xem báo cáo bộ nhớ, phân tích token hoặc thống kê tiết kiệm — agent nên chạy lệnh CLI và hiển thị kết quả cho user:
|
|
195
|
+
|
|
196
|
+
```text
|
|
197
|
+
User: "Cho tôi xem báo cáo phân tích memory"
|
|
198
|
+
User: "Hệ thống memory đã tiết kiệm bao nhiêu token?"
|
|
199
|
+
User: "Xem báo cáo token usage"
|
|
200
|
+
User: "Show me the memory analytics report"
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Hành động của Agent:** Chạy lệnh sau và hiển thị kết quả cho user:
|
|
204
|
+
```bash
|
|
205
|
+
heraspec memory analytics
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Để xem trạng thái nhanh:
|
|
209
|
+
```bash
|
|
210
|
+
heraspec memory status
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Để xem dòng thời gian:
|
|
214
|
+
```bash
|
|
215
|
+
heraspec memory timeline
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Hạn chế (Limitations)
|
|
219
|
+
|
|
220
|
+
- Bộ nhớ chỉ mang tính cục bộ (local) của dự án (lưu trong `heraspec/memory/`).
|
|
221
|
+
- Yêu cầu gói npm `better-sqlite3`.
|
|
222
|
+
- Tìm kiếm FTS5 là tìm kiếm dựa trên từ khóa (keyword-based), không phải theo ngữ nghĩa (semantic).
|
|
223
|
+
- Agent phải tự quyết định thời điểm thích hợp để sử dụng bộ nhớ (cách tiếp cận bổ trợ).
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Skill: SEO Audit (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Run a comprehensive SEO audit — keyword research, on-page analysis, content gaps, technical checks, and competitor comparison to generate a prioritized SEO action plan.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When assessing a website's overall SEO health and indexation status.
|
|
10
|
+
- When researching keyword opportunities and identifying high-volume, low-difficulty search queries.
|
|
11
|
+
- When identifying content gaps where competitors rank higher.
|
|
12
|
+
- When reviewing technical website issues (crawlability, page speed, structured schema data).
|
|
13
|
+
|
|
14
|
+
## Step-by-Step Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Keyword & Competitor Research
|
|
17
|
+
- Extract primary and secondary keywords relevant to the business/domain.
|
|
18
|
+
- Group keywords by search intent (informational, navigational, commercial, transactional).
|
|
19
|
+
- Identify top 2-3 organic competitors.
|
|
20
|
+
|
|
21
|
+
### Step 2: On-Page SEO Analysis
|
|
22
|
+
- Verify title tag length (50-60 chars) and meta description length (150-160 chars).
|
|
23
|
+
- Confirm presence of exactly one H1 tag per page.
|
|
24
|
+
- Evaluate subheading hierarchy (H2/H3) and keyword usage.
|
|
25
|
+
- Assess image alt text and URL clean structure.
|
|
26
|
+
|
|
27
|
+
### Step 3: Content Gap & Freshness Review
|
|
28
|
+
- Detect topics covered by competitors but missing on the site.
|
|
29
|
+
- Identify pages with thin content (<300 words) or content older than 12 months.
|
|
30
|
+
|
|
31
|
+
### Step 4: Technical SEO Audit
|
|
32
|
+
- Review Robots.txt and XML sitemap configurations.
|
|
33
|
+
- Check canonical tags, HTTPS mixed content, and 404 broken links.
|
|
34
|
+
- Review Page Speed and Core Web Vitals (LCP, INP, CLS) markers.
|
|
35
|
+
|
|
36
|
+
### Step 5: Prioritized Action Plan Formulation
|
|
37
|
+
- Group recommendations into "Quick Wins" (<2h effort, high impact) and "Strategic Investments" (long-term, pillar pages).
|
|
38
|
+
|
|
39
|
+
## Required Input
|
|
40
|
+
|
|
41
|
+
- **Domain/URL**: The website to audit.
|
|
42
|
+
- **Audit Type**: Full site audit, keyword research, content gap, or technical SEO check.
|
|
43
|
+
- **Target Keywords** (Optional): Specific terms already being targeted.
|
|
44
|
+
- **Competitors** (Optional): Specific competitor URLs/domains.
|
|
45
|
+
|
|
46
|
+
## Expected Output
|
|
47
|
+
|
|
48
|
+
- **Executive Summary**: 3-5 sentence overview of SEO health and top 3 priorities.
|
|
49
|
+
- **Keyword Table**: Formatted table with Estimated Difficulty, Opportunity Score, and Intent.
|
|
50
|
+
- **On-Page Issues Table**: Issues categorized by Severity (Critical, High, Medium, Low).
|
|
51
|
+
- **Technical SEO Checklist**: Status (Pass, Fail, Warning) of crawlability, speed, and schema.
|
|
52
|
+
- **Prioritized Action Plan**: Split into Quick Wins and Strategic Investments.
|
|
53
|
+
|
|
54
|
+
## Tone & Rules
|
|
55
|
+
|
|
56
|
+
- Write in a professional, marketing-focused, data-driven tone.
|
|
57
|
+
- Do not make generic claims; base recommendations on specific, quantifiable SEO principles.
|
|
58
|
+
- Use bullet points and markdown tables for maximum scannability.
|
|
59
|
+
|
|
60
|
+
## Available Templates
|
|
61
|
+
|
|
62
|
+
- None
|
|
63
|
+
|
|
64
|
+
## Available Scripts
|
|
65
|
+
|
|
66
|
+
- None
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
See `examples/` directory.
|
|
71
|
+
|
|
72
|
+
## Links to Other Skills
|
|
73
|
+
|
|
74
|
+
- **documents**: Use to draft the final SEO audit report or content briefs.
|
|
75
|
+
- **ui-ux**: Use to optimize pages for Core Web Vitals and mobile responsiveness.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Kỹ năng: Kiểm toán SEO (SEO Audit) (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
|
|
5
|
+
Thực hiện kiểm toán SEO toàn diện — nghiên cứu từ khóa, phân tích trên trang (on-page), tìm khoảng trống nội dung, kiểm tra kỹ thuật (technical SEO), và so sánh đối thủ cạnh tranh để lập kế hoạch hành động SEO tối ưu.
|
|
6
|
+
|
|
7
|
+
## Khi nào sử dụng
|
|
8
|
+
|
|
9
|
+
- Khi đánh giá sức khỏe SEO tổng thể và trạng thái lập chỉ mục (indexation) của một website.
|
|
10
|
+
- Khi tìm kiếm cơ hội từ khóa và xác định các truy vấn tìm kiếm có lưu lượng cao nhưng độ khó thấp.
|
|
11
|
+
- Khi phát hiện các khoảng trống nội dung mà đối thủ đang xếp hạng cao hơn.
|
|
12
|
+
- Khi rà soát các vấn đề kỹ thuật của website (khả năng thu thập thông tin - crawlability, tốc độ trang, dữ liệu cấu trúc schema).
|
|
13
|
+
|
|
14
|
+
## Quy trình từng bước
|
|
15
|
+
|
|
16
|
+
### Bước 1: Nghiên cứu Từ khóa & Đối thủ cạnh tranh
|
|
17
|
+
- Trích xuất từ khóa chính và phụ liên quan đến lĩnh vực kinh doanh/tên miền.
|
|
18
|
+
- Phân nhóm từ khóa theo mục đích tìm kiếm (thông tin, điều hướng, thương mại, giao dịch).
|
|
19
|
+
- Xác định 2-3 đối thủ cạnh tranh trực tiếp trên kết quả tìm kiếm tự nhiên.
|
|
20
|
+
|
|
21
|
+
### Bước 2: Phân tích SEO On-Page
|
|
22
|
+
- Kiểm tra độ dài thẻ tiêu đề (50-60 ký tự) và thẻ mô tả meta (150-160 ký tự).
|
|
23
|
+
- Đảm bảo mỗi trang chỉ có duy nhất một thẻ H1.
|
|
24
|
+
- Đánh giá cấu trúc phân cấp tiêu đề (H2/H3) và cách phân bổ từ khóa.
|
|
25
|
+
- Đánh giá thuộc tính alt của ảnh và cấu trúc đường dẫn (URL) thân thiện.
|
|
26
|
+
|
|
27
|
+
### Bước 3: Đánh giá Khoảng trống & Độ mới của Nội dung
|
|
28
|
+
- Phát hiện các chủ đề đối thủ đã bao phủ nhưng trang web của bạn chưa có.
|
|
29
|
+
- Xác định các trang có nội dung mỏng (<300 từ) hoặc không được cập nhật trong vòng 12 tháng qua.
|
|
30
|
+
|
|
31
|
+
### Bước 4: Kiểm toán Kỹ thuật (Technical SEO)
|
|
32
|
+
- Kiểm tra cấu hình file Robots.txt và sơ đồ trang XML sitemap.
|
|
33
|
+
- Kiểm tra thẻ canonical, lỗi bảo mật hỗn hợp HTTPS và các liên kết gãy 404.
|
|
34
|
+
- Đánh giá tốc độ tải trang và các chỉ số Core Web Vitals (LCP, INP, CLS).
|
|
35
|
+
|
|
36
|
+
### Bước 5: Lập Kế hoạch Hành động Ưu tiên
|
|
37
|
+
- Phân nhóm các đề xuất thành "Thành công nhanh" (Quick Wins - tốn ít hơn 2h thực hiện, hiệu quả ngay) và "Đầu tư Chiến lược" (Strategic Investments - dài hạn, xây dựng cụm chủ đề pillar page).
|
|
38
|
+
|
|
39
|
+
## Input yêu cầu
|
|
40
|
+
|
|
41
|
+
- **Domain/URL**: Trang web cần kiểm toán.
|
|
42
|
+
- **Loại kiểm toán**: Kiểm toán toàn bộ trang, nghiên cứu từ khóa, phân tích khoảng trống nội dung, hoặc kiểm tra SEO kỹ thuật.
|
|
43
|
+
- **Từ khóa mục tiêu** (Không bắt buộc): Các cụm từ cụ thể mà dự án đang muốn nhắm tới.
|
|
44
|
+
- **Đối thủ cạnh tranh** (Không bắt buộc): Tên miền của các đối thủ cần so sánh.
|
|
45
|
+
|
|
46
|
+
## Output mong đợi
|
|
47
|
+
|
|
48
|
+
- **Tóm tắt điều hành**: Bản tóm tắt 3-5 câu về tình trạng SEO của website và 3 ưu tiên hàng đầu.
|
|
49
|
+
- **Bảng Từ khóa**: Bảng định dạng rõ ràng gồm Độ khó ước tính, Điểm cơ hội và Ý định tìm kiếm.
|
|
50
|
+
- **Bảng lỗi On-Page**: Danh sách các lỗi được phân loại theo mức độ nghiêm trọng (Nghiêm trọng, Cao, Trung bình, Thấp).
|
|
51
|
+
- **Checklist SEO Kỹ thuật**: Trạng thái (Đạt, Lỗi, Cảnh báo) của các mục crawlability, tốc độ và dữ liệu cấu trúc schema.
|
|
52
|
+
- **Kế hoạch hành động**: Được chia thành Quick Wins và Strategic Investments.
|
|
53
|
+
|
|
54
|
+
## Giọng điệu & Quy tắc
|
|
55
|
+
|
|
56
|
+
- Sử dụng giọng điệu chuyên nghiệp, định hướng marketing và dựa trên dữ liệu thực tế.
|
|
57
|
+
- Tránh đưa ra các nhận định chung chung; các đề xuất phải dựa trên các nguyên tắc SEO cụ thể, có thể định lượng được.
|
|
58
|
+
- Sử dụng các danh sách dạng dấu chấm và bảng markdown để đảm bảo dễ đọc nhất.
|
|
59
|
+
|
|
60
|
+
## Templates có sẵn
|
|
61
|
+
|
|
62
|
+
- Không có
|
|
63
|
+
|
|
64
|
+
## Scripts có sẵn
|
|
65
|
+
|
|
66
|
+
- Không có
|
|
67
|
+
|
|
68
|
+
## Ví dụ
|
|
69
|
+
|
|
70
|
+
Xem thư mục `examples/`.
|
|
71
|
+
|
|
72
|
+
## Liên kết với các kỹ năng khác
|
|
73
|
+
|
|
74
|
+
- **documents**: Dùng để viết báo cáo kiểm toán SEO cuối cùng hoặc lập dàn ý nội dung (content briefs).
|
|
75
|
+
- **ui-ux**: Dùng để tối ưu hóa trang web cho Core Web Vitals và khả năng tương thích trên thiết bị di động.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Skill: SEO Audit (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Run a comprehensive SEO audit — keyword research, on-page analysis, content gaps, technical checks, and competitor comparison to generate a prioritized SEO action plan.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When assessing a website's overall SEO health and indexation status.
|
|
10
|
+
- When researching keyword opportunities and identifying high-volume, low-difficulty search queries.
|
|
11
|
+
- When identifying content gaps where competitors rank higher.
|
|
12
|
+
- When reviewing technical website issues (crawlability, page speed, structured schema data).
|
|
13
|
+
|
|
14
|
+
## Step-by-Step Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Keyword & Competitor Research
|
|
17
|
+
- Extract primary and secondary keywords relevant to the business/domain.
|
|
18
|
+
- Group keywords by search intent (informational, navigational, commercial, transactional).
|
|
19
|
+
- Identify top 2-3 organic competitors.
|
|
20
|
+
|
|
21
|
+
### Step 2: On-Page SEO Analysis
|
|
22
|
+
- Verify title tag length (50-60 chars) and meta description length (150-160 chars).
|
|
23
|
+
- Confirm presence of exactly one H1 tag per page.
|
|
24
|
+
- Evaluate subheading hierarchy (H2/H3) and keyword usage.
|
|
25
|
+
- Assess image alt text and URL clean structure.
|
|
26
|
+
|
|
27
|
+
### Step 3: Content Gap & Freshness Review
|
|
28
|
+
- Detect topics covered by competitors but missing on the site.
|
|
29
|
+
- Identify pages with thin content (<300 words) or content older than 12 months.
|
|
30
|
+
|
|
31
|
+
### Step 4: Technical SEO Audit
|
|
32
|
+
- Review Robots.txt and XML sitemap configurations.
|
|
33
|
+
- Check canonical tags, HTTPS mixed content, and 404 broken links.
|
|
34
|
+
- Review Page Speed and Core Web Vitals (LCP, INP, CLS) markers.
|
|
35
|
+
|
|
36
|
+
### Step 5: Prioritized Action Plan Formulation
|
|
37
|
+
- Group recommendations into "Quick Wins" (<2h effort, high impact) and "Strategic Investments" (long-term, pillar pages).
|
|
38
|
+
|
|
39
|
+
## Required Input
|
|
40
|
+
|
|
41
|
+
- **Domain/URL**: The website to audit.
|
|
42
|
+
- **Audit Type**: Full site audit, keyword research, content gap, or technical SEO check.
|
|
43
|
+
- **Target Keywords** (Optional): Specific terms already being targeted.
|
|
44
|
+
- **Competitors** (Optional): Specific competitor URLs/domains.
|
|
45
|
+
|
|
46
|
+
## Expected Output
|
|
47
|
+
|
|
48
|
+
- **Executive Summary**: 3-5 sentence overview of SEO health and top 3 priorities.
|
|
49
|
+
- **Keyword Table**: Formatted table with Estimated Difficulty, Opportunity Score, and Intent.
|
|
50
|
+
- **On-Page Issues Table**: Issues categorized by Severity (Critical, High, Medium, Low).
|
|
51
|
+
- **Technical SEO Checklist**: Status (Pass, Fail, Warning) of crawlability, speed, and schema.
|
|
52
|
+
- **Prioritized Action Plan**: Split into Quick Wins and Strategic Investments.
|
|
53
|
+
|
|
54
|
+
## Tone & Rules
|
|
55
|
+
|
|
56
|
+
- Write in a professional, marketing-focused, data-driven tone.
|
|
57
|
+
- Do not make generic claims; base recommendations on specific, quantifiable SEO principles.
|
|
58
|
+
- Use bullet points and markdown tables for maximum scannability.
|
|
59
|
+
|
|
60
|
+
## Available Templates
|
|
61
|
+
|
|
62
|
+
- None
|
|
63
|
+
|
|
64
|
+
## Available Scripts
|
|
65
|
+
|
|
66
|
+
- None
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
See `examples/` directory.
|
|
71
|
+
|
|
72
|
+
## Links to Other Skills
|
|
73
|
+
|
|
74
|
+
- **documents**: Use to draft the final SEO audit report or content briefs.
|
|
75
|
+
- **ui-ux**: Use to optimize pages for Core Web Vitals and mobile responsiveness.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Kỹ năng: Kiểm toán SEO (SEO Audit) (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
|
|
5
|
+
Thực hiện kiểm toán SEO toàn diện — nghiên cứu từ khóa, phân tích trên trang (on-page), tìm khoảng trống nội dung, kiểm tra kỹ thuật (technical SEO), và so sánh đối thủ cạnh tranh để lập kế hoạch hành động SEO tối ưu.
|
|
6
|
+
|
|
7
|
+
## Khi nào sử dụng
|
|
8
|
+
|
|
9
|
+
- Khi đánh giá sức khỏe SEO tổng thể và trạng thái lập chỉ mục (indexation) của một website.
|
|
10
|
+
- Khi tìm kiếm cơ hội từ khóa và xác định các truy vấn tìm kiếm có lưu lượng cao nhưng độ khó thấp.
|
|
11
|
+
- Khi phát hiện các khoảng trống nội dung mà đối thủ đang xếp hạng cao hơn.
|
|
12
|
+
- Khi rà soát các vấn đề kỹ thuật của website (khả năng thu thập thông tin - crawlability, tốc độ trang, dữ liệu cấu trúc schema).
|
|
13
|
+
|
|
14
|
+
## Quy trình từng bước
|
|
15
|
+
|
|
16
|
+
### Bước 1: Nghiên cứu Từ khóa & Đối thủ cạnh tranh
|
|
17
|
+
- Trích xuất từ khóa chính và phụ liên quan đến lĩnh vực kinh doanh/tên miền.
|
|
18
|
+
- Phân nhóm từ khóa theo mục đích tìm kiếm (thông tin, điều hướng, thương mại, giao dịch).
|
|
19
|
+
- Xác định 2-3 đối thủ cạnh tranh trực tiếp trên kết quả tìm kiếm tự nhiên.
|
|
20
|
+
|
|
21
|
+
### Bước 2: Phân tích SEO On-Page
|
|
22
|
+
- Kiểm tra độ dài thẻ tiêu đề (50-60 ký tự) và thẻ mô tả meta (150-160 ký tự).
|
|
23
|
+
- Đảm bảo mỗi trang chỉ có duy nhất một thẻ H1.
|
|
24
|
+
- Đánh giá cấu trúc phân cấp tiêu đề (H2/H3) và cách phân bổ từ khóa.
|
|
25
|
+
- Đánh giá thuộc tính alt của ảnh và cấu trúc đường dẫn (URL) thân thiện.
|
|
26
|
+
|
|
27
|
+
### Bước 3: Đánh giá Khoảng trống & Độ mới của Nội dung
|
|
28
|
+
- Phát hiện các chủ đề đối thủ đã bao phủ nhưng trang web của bạn chưa có.
|
|
29
|
+
- Xác định các trang có nội dung mỏng (<300 từ) hoặc không được cập nhật trong vòng 12 tháng qua.
|
|
30
|
+
|
|
31
|
+
### Bước 4: Kiểm toán Kỹ thuật (Technical SEO)
|
|
32
|
+
- Kiểm tra cấu hình file Robots.txt và sơ đồ trang XML sitemap.
|
|
33
|
+
- Kiểm tra thẻ canonical, lỗi bảo mật hỗn hợp HTTPS và các liên kết gãy 404.
|
|
34
|
+
- Đánh giá tốc độ tải trang và các chỉ số Core Web Vitals (LCP, INP, CLS).
|
|
35
|
+
|
|
36
|
+
### Bước 5: Lập Kế hoạch Hành động Ưu tiên
|
|
37
|
+
- Phân nhóm các đề xuất thành "Thành công nhanh" (Quick Wins - tốn ít hơn 2h thực hiện, hiệu quả ngay) và "Đầu tư Chiến lược" (Strategic Investments - dài hạn, xây dựng cụm chủ đề pillar page).
|
|
38
|
+
|
|
39
|
+
## Input yêu cầu
|
|
40
|
+
|
|
41
|
+
- **Domain/URL**: Trang web cần kiểm toán.
|
|
42
|
+
- **Loại kiểm toán**: Kiểm toán toàn bộ trang, nghiên cứu từ khóa, phân tích khoảng trống nội dung, hoặc kiểm tra SEO kỹ thuật.
|
|
43
|
+
- **Từ khóa mục tiêu** (Không bắt buộc): Các cụm từ cụ thể mà dự án đang muốn nhắm tới.
|
|
44
|
+
- **Đối thủ cạnh tranh** (Không bắt buộc): Tên miền của các đối thủ cần so sánh.
|
|
45
|
+
|
|
46
|
+
## Output mong đợi
|
|
47
|
+
|
|
48
|
+
- **Tóm tắt điều hành**: Bản tóm tắt 3-5 câu về tình trạng SEO của website và 3 ưu tiên hàng đầu.
|
|
49
|
+
- **Bảng Từ khóa**: Bảng định dạng rõ ràng gồm Độ khó ước tính, Điểm cơ hội và Ý định tìm kiếm.
|
|
50
|
+
- **Bảng lỗi On-Page**: Danh sách các lỗi được phân loại theo mức độ nghiêm trọng (Nghiêm trọng, Cao, Trung bình, Thấp).
|
|
51
|
+
- **Checklist SEO Kỹ thuật**: Trạng thái (Đạt, Lỗi, Cảnh báo) của các mục crawlability, tốc độ và dữ liệu cấu trúc schema.
|
|
52
|
+
- **Kế hoạch hành động**: Được chia thành Quick Wins và Strategic Investments.
|
|
53
|
+
|
|
54
|
+
## Giọng điệu & Quy tắc
|
|
55
|
+
|
|
56
|
+
- Sử dụng giọng điệu chuyên nghiệp, định hướng marketing và dựa trên dữ liệu thực tế.
|
|
57
|
+
- Tránh đưa ra các nhận định chung chung; các đề xuất phải dựa trên các nguyên tắc SEO cụ thể, có thể định lượng được.
|
|
58
|
+
- Sử dụng các danh sách dạng dấu chấm và bảng markdown để đảm bảo dễ đọc nhất.
|
|
59
|
+
|
|
60
|
+
## Templates có sẵn
|
|
61
|
+
|
|
62
|
+
- Không có
|
|
63
|
+
|
|
64
|
+
## Scripts có sẵn
|
|
65
|
+
|
|
66
|
+
- Không có
|
|
67
|
+
|
|
68
|
+
## Ví dụ
|
|
69
|
+
|
|
70
|
+
Xem thư mục `examples/`.
|
|
71
|
+
|
|
72
|
+
## Liên kết với các kỹ năng khác
|
|
73
|
+
|
|
74
|
+
- **documents**: Dùng để viết báo cáo kiểm toán SEO cuối cùng hoặc lập dàn ý nội dung (content briefs).
|
|
75
|
+
- **ui-ux**: Dùng để tối ưu hóa trang web cho Core Web Vitals và khả năng tương thích trên thiết bị di động.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: smart-explore
|
|
3
|
+
description: Token-efficient code exploration — view file structure, search symbols, and read specific implementations without loading full files. Reduces token usage by 4-18x compared to reading entire files.
|
|
4
|
+
projectType: all
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Smart Explore Skill
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Enable AI agents to **explore codebases efficiently** by viewing structural outlines, searching for symbols, and extracting specific implementations — without reading entire files. This dramatically reduces token consumption when navigating large projects.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- **Understanding a new file**: Use `outline` instead of reading the full file
|
|
16
|
+
- **Finding where something is defined**: Use `search` to locate symbols across the project
|
|
17
|
+
- **Reading a specific function**: Use `unfold` to extract just that function's code
|
|
18
|
+
|
|
19
|
+
## Token Savings
|
|
20
|
+
|
|
21
|
+
| Method | Typical Token Cost | Notes |
|
|
22
|
+
|--------|-------------------|-------|
|
|
23
|
+
| Read full file | ~12,000+ | All content, most irrelevant |
|
|
24
|
+
| **Outline** | ~1,000-2,000 | Structural skeleton only |
|
|
25
|
+
| **Search** | ~2,000-6,000 | Symbol locations across codebase |
|
|
26
|
+
| **Unfold** | ~400-2,100 | Exact function/class source |
|
|
27
|
+
|
|
28
|
+
**Savings: 4-18x** compared to reading full files.
|
|
29
|
+
|
|
30
|
+
## Available Commands
|
|
31
|
+
|
|
32
|
+
### 1. Outline — Structural Skeleton
|
|
33
|
+
|
|
34
|
+
View all symbols (functions, classes, interfaces, exports) in a file without reading the full source:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
heraspec explore outline src/core/memory/memory-store.ts
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Output example:**
|
|
41
|
+
```
|
|
42
|
+
## 📄 src/core/memory/memory-store.ts
|
|
43
|
+
*typescript | 285 lines | ~71250 tokens*
|
|
44
|
+
|
|
45
|
+
🏛️ export class MemoryStore (L20-285)
|
|
46
|
+
↳ open() (L32-58)
|
|
47
|
+
↳ close() (L63-68)
|
|
48
|
+
↳ addObservation(input) (L88-120)
|
|
49
|
+
↳ getObservationById(id) (L125-132)
|
|
50
|
+
↳ getRecentObservations(project, limit) (L140-160)
|
|
51
|
+
↳ addSummary(input) (L165-195)
|
|
52
|
+
↳ getStatus(project) (L200-260)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2. Search — Find Symbols Across Codebase
|
|
56
|
+
|
|
57
|
+
Search for functions, classes, interfaces by name across the project:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
heraspec explore search "MemoryStore" src/
|
|
61
|
+
heraspec explore search "addObservation" src/ --limit 10
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Output example:**
|
|
65
|
+
```
|
|
66
|
+
## Symbol Search: "MemoryStore" (3 results)
|
|
67
|
+
|
|
68
|
+
| Rel | Type | Name | File | Lines |
|
|
69
|
+
|-----|------|------|------|-------|
|
|
70
|
+
| 100% | 🏛️ class | MemoryStore | src/core/memory/memory-store.ts | L20-285 |
|
|
71
|
+
| 60% | ⚡ function | MemoryStoreFactory | src/core/memory/index.ts | L10-15 |
|
|
72
|
+
| 40% | 📌 variable | memoryStore | src/commands/memory.ts | L25-25 |
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 3. Unfold — Extract Specific Symbol Source
|
|
76
|
+
|
|
77
|
+
Read just the implementation of a specific function or class:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
heraspec explore unfold src/core/memory/memory-store.ts addObservation
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Output example:**
|
|
84
|
+
```
|
|
85
|
+
## method: addObservation
|
|
86
|
+
*src/core/memory/memory-store.ts:L88-120 | ~800 tokens (vs ~71250 full file)*
|
|
87
|
+
|
|
88
|
+
addObservation(input: ObservationInput): Observation {
|
|
89
|
+
this.ensureOpen();
|
|
90
|
+
// ... full implementation
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Supported Languages
|
|
95
|
+
|
|
96
|
+
| Language | Extensions | Symbols Detected |
|
|
97
|
+
|----------|-----------|-----------------|
|
|
98
|
+
| TypeScript | `.ts`, `.tsx` | class, interface, type, enum, function, method, variable |
|
|
99
|
+
| JavaScript | `.js`, `.jsx`, `.mjs` | class, function, method, variable |
|
|
100
|
+
| Python | `.py` | class, function, method, variable |
|
|
101
|
+
| PHP | `.php` | class, interface, function |
|
|
102
|
+
| Go | `.go` | struct, interface, func |
|
|
103
|
+
| Rust | `.rs` | struct, trait, enum, fn |
|
|
104
|
+
| Java | `.java` | class, interface, method |
|
|
105
|
+
| C# | `.cs` | class, interface, method |
|
|
106
|
+
| Vue | `.vue` | Same as TypeScript |
|
|
107
|
+
| Svelte | `.svelte` | Same as TypeScript |
|
|
108
|
+
|
|
109
|
+
## Workflow for AI Agents
|
|
110
|
+
|
|
111
|
+
### Exploration Strategy
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Need to understand a file?
|
|
115
|
+
├── Step 1: heraspec explore outline <file>
|
|
116
|
+
│ → See all functions, classes, interfaces (~1K tokens)
|
|
117
|
+
├── Step 2: Identify relevant symbols from outline
|
|
118
|
+
├── Step 3: heraspec explore unfold <file> <symbol>
|
|
119
|
+
│ → Read just the relevant function (~400-2K tokens)
|
|
120
|
+
└── Only read full file if you need comprehensive understanding
|
|
121
|
+
|
|
122
|
+
Need to find where something is?
|
|
123
|
+
├── heraspec explore search "<name>" <path>
|
|
124
|
+
│ → Find symbol locations across codebase
|
|
125
|
+
├── Then use unfold to read specific implementations
|
|
126
|
+
└── Avoid grep-like full-text search when possible
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Key Principles
|
|
130
|
+
|
|
131
|
+
1. **Outline first, read later**: Always check the outline before reading full files
|
|
132
|
+
2. **Unfold specific symbols**: Don't read entire files when you only need one function
|
|
133
|
+
3. **Search before browsing**: Find what you need by name rather than scanning directories
|
|
134
|
+
4. **Skip node_modules, dist, .git**: Automatically excluded from search
|
|
135
|
+
|
|
136
|
+
## Limitations
|
|
137
|
+
|
|
138
|
+
- Uses regex-based parsing (not AST) — may miss some complex patterns
|
|
139
|
+
- Symbol end-line detection is approximate (brace/indent counting)
|
|
140
|
+
- Method detection within classes requires proper indentation
|
|
141
|
+
- Does not handle dynamically generated code or macros
|