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.
Files changed (174) hide show
  1. package/LICENSE +187 -0
  2. package/README.md +94 -95
  3. package/bin/heraspec.js +195 -80
  4. package/bin/heraspec.js.map +2 -2
  5. package/dist/core/templates/skills/README.md +41 -38
  6. package/dist/core/templates/skills/campaign-plan/skill.md +76 -0
  7. package/dist/core/templates/skills/campaign-plan/skill.vi.md +76 -0
  8. package/dist/core/templates/skills/campaign-plan-skill.md +76 -0
  9. package/dist/core/templates/skills/campaign-plan-skill.vi.md +76 -0
  10. package/dist/core/templates/skills/code-review/skill.md +70 -0
  11. package/dist/core/templates/skills/code-review/skill.vi.md +70 -0
  12. package/dist/core/templates/skills/code-review-skill.md +70 -0
  13. package/dist/core/templates/skills/code-review-skill.vi.md +70 -0
  14. package/dist/core/templates/skills/content-creation/skill.md +69 -0
  15. package/dist/core/templates/skills/content-creation/skill.vi.md +69 -0
  16. package/dist/core/templates/skills/content-creation-skill.md +69 -0
  17. package/dist/core/templates/skills/content-creation-skill.vi.md +69 -0
  18. package/dist/core/templates/skills/content-optimization/skill.md +104 -0
  19. package/dist/core/templates/skills/debug/skill.md +69 -0
  20. package/dist/core/templates/skills/debug/skill.vi.md +69 -0
  21. package/dist/core/templates/skills/debug-skill.md +69 -0
  22. package/dist/core/templates/skills/debug-skill.vi.md +69 -0
  23. package/dist/core/templates/skills/deploy-documentation/skill.md +408 -0
  24. package/dist/core/templates/skills/design-system/knowledge/design-systems/airbnb/DESIGN.md +246 -0
  25. package/dist/core/templates/skills/design-system/knowledge/design-systems/airtable/DESIGN.md +89 -0
  26. package/dist/core/templates/skills/design-system/knowledge/design-systems/apple/DESIGN.md +313 -0
  27. package/dist/core/templates/skills/design-system/knowledge/design-systems/bmw/DESIGN.md +180 -0
  28. package/dist/core/templates/skills/design-system/knowledge/design-systems/cal/DESIGN.md +259 -0
  29. package/dist/core/templates/skills/design-system/knowledge/design-systems/claude/DESIGN.md +312 -0
  30. package/dist/core/templates/skills/design-system/knowledge/design-systems/clay/DESIGN.md +304 -0
  31. package/dist/core/templates/skills/design-system/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
  32. package/dist/core/templates/skills/design-system/knowledge/design-systems/cohere/DESIGN.md +266 -0
  33. package/dist/core/templates/skills/design-system/knowledge/design-systems/coinbase/DESIGN.md +129 -0
  34. package/dist/core/templates/skills/design-system/knowledge/design-systems/composio/DESIGN.md +307 -0
  35. package/dist/core/templates/skills/design-system/knowledge/design-systems/cursor/DESIGN.md +309 -0
  36. package/dist/core/templates/skills/design-system/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
  37. package/dist/core/templates/skills/design-system/knowledge/design-systems/expo/DESIGN.md +281 -0
  38. package/dist/core/templates/skills/design-system/knowledge/design-systems/figma/DESIGN.md +220 -0
  39. package/dist/core/templates/skills/design-system/knowledge/design-systems/framer/DESIGN.md +246 -0
  40. package/dist/core/templates/skills/design-system/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
  41. package/dist/core/templates/skills/design-system/knowledge/design-systems/ibm/DESIGN.md +332 -0
  42. package/dist/core/templates/skills/design-system/knowledge/design-systems/index.json +72 -0
  43. package/dist/core/templates/skills/design-system/knowledge/design-systems/intercom/DESIGN.md +146 -0
  44. package/dist/core/templates/skills/design-system/knowledge/design-systems/kraken/DESIGN.md +125 -0
  45. package/dist/core/templates/skills/design-system/knowledge/design-systems/linear.app/DESIGN.md +367 -0
  46. package/dist/core/templates/skills/design-system/knowledge/design-systems/lovable/DESIGN.md +298 -0
  47. package/dist/core/templates/skills/design-system/knowledge/design-systems/minimax/DESIGN.md +257 -0
  48. package/dist/core/templates/skills/design-system/knowledge/design-systems/mintlify/DESIGN.md +326 -0
  49. package/dist/core/templates/skills/design-system/knowledge/design-systems/miro/DESIGN.md +108 -0
  50. package/dist/core/templates/skills/design-system/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
  51. package/dist/core/templates/skills/design-system/knowledge/design-systems/mongodb/DESIGN.md +266 -0
  52. package/dist/core/templates/skills/design-system/knowledge/design-systems/notion/DESIGN.md +309 -0
  53. package/dist/core/templates/skills/design-system/knowledge/design-systems/nvidia/DESIGN.md +293 -0
  54. package/dist/core/templates/skills/design-system/knowledge/design-systems/ollama/DESIGN.md +267 -0
  55. package/dist/core/templates/skills/design-system/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
  56. package/dist/core/templates/skills/design-system/knowledge/design-systems/pinterest/DESIGN.md +230 -0
  57. package/dist/core/templates/skills/design-system/knowledge/design-systems/posthog/DESIGN.md +256 -0
  58. package/dist/core/templates/skills/design-system/knowledge/design-systems/raycast/DESIGN.md +268 -0
  59. package/dist/core/templates/skills/design-system/knowledge/design-systems/replicate/DESIGN.md +261 -0
  60. package/dist/core/templates/skills/design-system/knowledge/design-systems/resend/DESIGN.md +303 -0
  61. package/dist/core/templates/skills/design-system/knowledge/design-systems/revolut/DESIGN.md +185 -0
  62. package/dist/core/templates/skills/design-system/knowledge/design-systems/runwayml/DESIGN.md +244 -0
  63. package/dist/core/templates/skills/design-system/knowledge/design-systems/sanity/DESIGN.md +357 -0
  64. package/dist/core/templates/skills/design-system/knowledge/design-systems/sentry/DESIGN.md +262 -0
  65. package/dist/core/templates/skills/design-system/knowledge/design-systems/spacex/DESIGN.md +194 -0
  66. package/dist/core/templates/skills/design-system/knowledge/design-systems/spotify/DESIGN.md +246 -0
  67. package/dist/core/templates/skills/design-system/knowledge/design-systems/stripe/DESIGN.md +322 -0
  68. package/dist/core/templates/skills/design-system/knowledge/design-systems/supabase/DESIGN.md +255 -0
  69. package/dist/core/templates/skills/design-system/knowledge/design-systems/superhuman/DESIGN.md +252 -0
  70. package/dist/core/templates/skills/design-system/knowledge/design-systems/together.ai/DESIGN.md +263 -0
  71. package/dist/core/templates/skills/design-system/knowledge/design-systems/uber/DESIGN.md +295 -0
  72. package/dist/core/templates/skills/design-system/knowledge/design-systems/vercel/DESIGN.md +310 -0
  73. package/dist/core/templates/skills/design-system/knowledge/design-systems/voltagent/DESIGN.md +323 -0
  74. package/dist/core/templates/skills/design-system/knowledge/design-systems/warp/DESIGN.md +253 -0
  75. package/dist/core/templates/skills/design-system/knowledge/design-systems/webflow/DESIGN.md +92 -0
  76. package/dist/core/templates/skills/design-system/knowledge/design-systems/wise/DESIGN.md +173 -0
  77. package/dist/core/templates/skills/design-system/knowledge/design-systems/x.ai/DESIGN.md +257 -0
  78. package/dist/core/templates/skills/design-system/knowledge/design-systems/zapier/DESIGN.md +328 -0
  79. package/dist/core/templates/skills/design-system/skill.md +176 -0
  80. package/dist/core/templates/skills/documents/skill.md +104 -0
  81. package/dist/core/templates/skills/e2e-test/skill.md +119 -0
  82. package/dist/core/templates/skills/email-sequence/skill.md +68 -0
  83. package/dist/core/templates/skills/email-sequence/skill.vi.md +68 -0
  84. package/dist/core/templates/skills/email-sequence-skill.md +68 -0
  85. package/dist/core/templates/skills/email-sequence-skill.vi.md +68 -0
  86. package/dist/core/templates/skills/git-embed/skill.md +57 -0
  87. package/dist/core/templates/skills/integration-test/skill.md +118 -0
  88. package/dist/core/templates/skills/knowledge/README.md +63 -63
  89. package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -72
  90. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -27
  91. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -137
  92. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -39
  93. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +207 -207
  94. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -51
  95. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -369
  96. package/dist/core/templates/skills/knowledge/index.json +65 -65
  97. package/dist/core/templates/skills/perfex-module/module-codebase/skill.md +110 -0
  98. package/dist/core/templates/skills/project-memory/skill.md +222 -0
  99. package/dist/core/templates/skills/project-memory/skill.vi.md +223 -0
  100. package/dist/core/templates/skills/seo-audit/skill.md +75 -0
  101. package/dist/core/templates/skills/seo-audit/skill.vi.md +75 -0
  102. package/dist/core/templates/skills/seo-audit-skill.md +75 -0
  103. package/dist/core/templates/skills/seo-audit-skill.vi.md +75 -0
  104. package/dist/core/templates/skills/smart-explore/skill.md +141 -0
  105. package/dist/core/templates/skills/sourcecode-analyzer/skill.md +210 -0
  106. package/dist/core/templates/skills/sourcecode-analyzer/skill.vi.md +210 -0
  107. package/dist/core/templates/skills/spec-writer/skill.md +61 -0
  108. package/dist/core/templates/skills/spec-writer/skill.vi.md +61 -0
  109. package/dist/core/templates/skills/spec-writer-skill.md +61 -0
  110. package/dist/core/templates/skills/spec-writer-skill.vi.md +61 -0
  111. package/dist/core/templates/skills/sql-queries/skill.md +67 -0
  112. package/dist/core/templates/skills/sql-queries/skill.vi.md +67 -0
  113. package/dist/core/templates/skills/sql-queries-skill.md +67 -0
  114. package/dist/core/templates/skills/sql-queries-skill.vi.md +67 -0
  115. package/dist/core/templates/skills/suggestion/skill.md +118 -0
  116. package/dist/core/templates/skills/system-design/skill.md +70 -0
  117. package/dist/core/templates/skills/system-design/skill.vi.md +70 -0
  118. package/dist/core/templates/skills/system-design-skill.md +70 -0
  119. package/dist/core/templates/skills/system-design-skill.vi.md +70 -0
  120. package/dist/core/templates/skills/tech-debt/skill.md +70 -0
  121. package/dist/core/templates/skills/tech-debt/skill.vi.md +70 -0
  122. package/dist/core/templates/skills/tech-debt-skill.md +70 -0
  123. package/dist/core/templates/skills/tech-debt-skill.vi.md +70 -0
  124. package/dist/core/templates/skills/ui-ux/data/charts.csv +26 -0
  125. package/dist/core/templates/skills/ui-ux/data/colors.csv +97 -0
  126. package/dist/core/templates/skills/ui-ux/data/design-systems.csv +54 -0
  127. package/dist/core/templates/skills/ui-ux/data/landing.csv +31 -0
  128. package/dist/core/templates/skills/ui-ux/data/pages-proposed.csv +22 -0
  129. package/dist/core/templates/skills/ui-ux/data/pages.csv +10 -0
  130. package/dist/core/templates/skills/ui-ux/data/products.csv +97 -0
  131. package/dist/core/templates/skills/ui-ux/data/prompts.csv +24 -0
  132. package/dist/core/templates/skills/ui-ux/data/stacks/flutter.csv +53 -0
  133. package/dist/core/templates/skills/ui-ux/data/stacks/html-tailwind.csv +56 -0
  134. package/dist/core/templates/skills/ui-ux/data/stacks/nextjs.csv +53 -0
  135. package/dist/core/templates/skills/ui-ux/data/stacks/react-native.csv +52 -0
  136. package/dist/core/templates/skills/ui-ux/data/stacks/react.csv +54 -0
  137. package/dist/core/templates/skills/ui-ux/data/stacks/svelte.csv +54 -0
  138. package/dist/core/templates/skills/ui-ux/data/stacks/swiftui.csv +51 -0
  139. package/dist/core/templates/skills/ui-ux/data/stacks/vue.csv +50 -0
  140. package/dist/core/templates/skills/ui-ux/data/styles.csv +59 -0
  141. package/dist/core/templates/skills/ui-ux/data/typography.csv +58 -0
  142. package/dist/core/templates/skills/ui-ux/data/ux-guidelines.csv +100 -0
  143. package/dist/core/templates/skills/ui-ux/scripts/CODE_EXPLANATION.md +394 -0
  144. package/dist/core/templates/skills/ui-ux/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -0
  145. package/dist/core/templates/skills/ui-ux/scripts/SEARCH_MODES_GUIDE.md +238 -0
  146. package/dist/core/templates/skills/ui-ux/scripts/core.py +391 -0
  147. package/dist/core/templates/skills/ui-ux/scripts/search.py +73 -0
  148. package/dist/core/templates/skills/ui-ux/skill.md +595 -0
  149. package/dist/core/templates/skills/ui-ux/templates/accessibility-checklist.md +40 -0
  150. package/dist/core/templates/skills/ui-ux/templates/example-prompt-full-theme.md +333 -0
  151. package/dist/core/templates/skills/ui-ux/templates/page-types-guide.md +338 -0
  152. package/dist/core/templates/skills/ui-ux/templates/pages-proposed-summary.md +273 -0
  153. package/dist/core/templates/skills/ui-ux/templates/pre-delivery-checklist.md +42 -0
  154. package/dist/core/templates/skills/ui-ux/templates/prompt-template-full-theme.md +313 -0
  155. package/dist/core/templates/skills/ui-ux/templates/responsive-design.md +40 -0
  156. package/dist/core/templates/skills/unit-test/skill.md +111 -0
  157. package/dist/core/templates/skills/wordpress/plugin-check/skill.md +151 -0
  158. package/dist/core/templates/skills/wordpress/plugin-directory/skill.md +396 -0
  159. package/dist/core/templates/skills/wordpress/plugin-standard/skill.md +100 -0
  160. package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-dashboard.php +47 -0
  161. package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-settings.php +60 -0
  162. package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-css.css +22 -0
  163. package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-js.js +15 -0
  164. package/dist/core/templates/skills/wordpress/plugin-standard/templates/plugin-main.php +169 -0
  165. package/dist/core/templates/skills/wordpress/plugin-standard/templates/readme.txt +41 -0
  166. package/dist/core/templates/skills/wordpress/plugin-standard/templates/uninstall.php +21 -0
  167. package/dist/core/templates/skills/wordpress/ux-element/skill.md +83 -0
  168. package/dist/core/templates/skills/wordpress/ux-element/templates/Controller.php +50 -0
  169. package/dist/core/templates/skills/wordpress/ux-element/templates/Shortcode.php +23 -0
  170. package/dist/core/templates/skills/wordpress/ux-element/templates/Template.html +20 -0
  171. package/dist/core/templates/skills/wordpress/ux-element/templates/Thumbnail.svg +8 -0
  172. package/dist/core/templates/skills/wordpress/ux-element/templates/View.php +21 -0
  173. package/dist/index.js +195 -79
  174. 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