@tinkcarlos/skillora 0.2.0

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 (234) hide show
  1. package/.claude/skills/.temp-skill-index.md +245 -0
  2. package/.claude/skills/SKILL.md +264 -0
  3. package/.claude/skills/api-scaffolding/SKILL.md +431 -0
  4. package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
  5. package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
  6. package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
  7. package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
  8. package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
  9. package/.claude/skills/api-testing-observability/SKILL.md +583 -0
  10. package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
  11. package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
  12. package/.claude/skills/brainstorming/SKILL.md +283 -0
  13. package/.claude/skills/bug-fixing/SKILL.md +382 -0
  14. package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
  15. package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
  16. package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
  17. package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
  18. package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
  19. package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
  20. package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
  21. package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
  22. package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
  23. package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
  24. package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
  25. package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
  26. package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
  27. package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
  28. package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
  29. package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
  30. package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
  31. package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
  32. package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
  33. package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
  34. package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
  35. package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
  36. package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
  37. package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
  38. package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
  39. package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
  40. package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
  41. package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
  42. package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
  43. package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
  44. package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
  45. package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
  46. package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
  47. package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
  48. package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
  49. package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
  50. package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
  51. package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
  52. package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
  53. package/.claude/skills/code-review/SKILL.md +535 -0
  54. package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
  55. package/.claude/skills/code-review/references/automated-analysis.md +456 -0
  56. package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
  57. package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
  58. package/.claude/skills/code-review/references/backend-review.md +868 -0
  59. package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
  60. package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
  61. package/.claude/skills/code-review/references/common-patterns.md +321 -0
  62. package/.claude/skills/code-review/references/configuration-review.md +425 -0
  63. package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
  64. package/.claude/skills/code-review/references/database-review.md +298 -0
  65. package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
  66. package/.claude/skills/code-review/references/external-standards.md +51 -0
  67. package/.claude/skills/code-review/references/feature-review.md +329 -0
  68. package/.claude/skills/code-review/references/file-review-template.md +326 -0
  69. package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
  70. package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
  71. package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
  72. package/.claude/skills/code-review/references/frontend-review.md +783 -0
  73. package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
  74. package/.claude/skills/code-review/references/fullstack-review.md +477 -0
  75. package/.claude/skills/code-review/references/functional-completeness.md +386 -0
  76. package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
  77. package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
  78. package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
  79. package/.claude/skills/code-review/references/iteration-review.md +264 -0
  80. package/.claude/skills/code-review/references/job-review.md +335 -0
  81. package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
  82. package/.claude/skills/code-review/references/logic-completeness.md +535 -0
  83. package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
  84. package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
  85. package/.claude/skills/code-review/references/new-project-review.md +226 -0
  86. package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
  87. package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
  88. package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
  89. package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
  90. package/.claude/skills/code-review/references/python-patterns.md +494 -0
  91. package/.claude/skills/code-review/references/rca-techniques.md +362 -0
  92. package/.claude/skills/code-review/references/report-template.md +430 -0
  93. package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
  94. package/.claude/skills/code-review/references/review-dimensions.md +311 -0
  95. package/.claude/skills/code-review/references/review-guide.md +202 -0
  96. package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
  97. package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
  98. package/.claude/skills/code-review/references/review-record-template.md +195 -0
  99. package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
  100. package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
  101. package/.claude/skills/containerization/SKILL.md +313 -0
  102. package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
  103. package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
  104. package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
  105. package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
  106. package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
  107. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  108. package/.claude/skills/frontend-design/SKILL.md +587 -0
  109. package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
  110. package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
  111. package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
  112. package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
  113. package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
  114. package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
  115. package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
  116. package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
  117. package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
  118. package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
  119. package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
  120. package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
  121. package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
  122. package/.claude/skills/fullstack-developer/SKILL.md +512 -0
  123. package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
  124. package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
  125. package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
  126. package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
  127. package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
  128. package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
  129. package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
  130. package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
  131. package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
  132. package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
  133. package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
  134. package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
  135. package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
  136. package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
  137. package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
  138. package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
  139. package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
  140. package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
  141. package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
  142. package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
  143. package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
  144. package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
  145. package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
  146. package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
  147. package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
  148. package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
  149. package/.claude/skills/performance-optimization/SKILL.md +250 -0
  150. package/.claude/skills/product-requirements/SKILL.md +357 -0
  151. package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
  152. package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
  153. package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
  154. package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
  155. package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
  156. package/.claude/skills/product-requirements/references/external-standards.md +62 -0
  157. package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
  158. package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
  159. package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
  160. package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
  161. package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
  162. package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
  163. package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
  164. package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
  165. package/.claude/skills/react-best-practices/SKILL.md +198 -0
  166. package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
  167. package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
  168. package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
  169. package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
  170. package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
  171. package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
  172. package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
  173. package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
  174. package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
  175. package/.claude/skills/security-audit/SKILL.md +226 -0
  176. package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
  177. package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
  178. package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
  179. package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
  180. package/.claude/skills/shared-references/skill-call-graph.md +230 -0
  181. package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
  182. package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
  183. package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
  184. package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
  185. package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
  186. package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
  187. package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
  188. package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
  189. package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
  190. package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
  191. package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
  192. package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
  193. package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
  194. package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
  195. package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
  196. package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
  197. package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
  198. package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
  199. package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
  200. package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
  201. package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
  202. package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
  203. package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
  204. package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
  205. package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
  206. package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
  207. package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
  208. package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
  209. package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
  210. package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
  211. package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
  212. package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  213. package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
  214. package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
  215. package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
  216. package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
  217. package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
  218. package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
  219. package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
  220. package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
  221. package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
  222. package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
  223. package/.claude/skills/test-driven-development/SKILL.md +246 -0
  224. package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
  225. package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
  226. package/.claude/skills/using-skillstack/SKILL.md +127 -0
  227. package/.claude/skills/vercel-deploy/SKILL.md +166 -0
  228. package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
  229. package/.claude/skills/verification-before-completion/SKILL.md +305 -0
  230. package/.claude/skills/writing-plans/SKILL.md +259 -0
  231. package/README.md +69 -0
  232. package/bin/cli.js +468 -0
  233. package/lib/init.js +333 -0
  234. package/package.json +29 -0
@@ -0,0 +1,374 @@
1
+ # 快速导航索引 (Quick Navigation Index)
2
+
3
+ > 最后更新: 2025-01-17
4
+ > 用途: 快速定位所需文档和工具
5
+
6
+ ---
7
+
8
+ ## 目录
9
+
10
+ 1. [按任务类型导航](#1-按任务类型导航)
11
+ 2. [按学习路径导航](#2-按学习路径导航)
12
+ 3. [核心文档速查](#3-核心文档速查)
13
+ 4. [工具命令速查](#4-工具命令速查)
14
+ 5. [常见问题快速定位](#5-常见问题快速定位)
15
+
16
+ ---
17
+
18
+ ## 1. 按任务类型导航
19
+
20
+ ### 1.1 创建新 Skill
21
+
22
+ ```
23
+ 开始 → SKILL.md (主入口)
24
+
25
+ Step 0: 专家化准备 → latest-knowledge-acquisition.md
26
+
27
+ Step 0: 深度研究 → deep-research-methodology.md
28
+
29
+ Step 0: 领域专家化 → domain-expertise-protocol.md
30
+
31
+ 选择模板 → skill-templates.md
32
+
33
+ 初始化项目 → scripts/init_skill.py
34
+
35
+ 编写内容 → writing-style-guide.md
36
+
37
+ 验证 → quick_validate.py + universal_validate.py
38
+ ```
39
+
40
+ ### 1.2 优化现有 Skill
41
+
42
+ ```
43
+ 开始 → SKILL.md (主入口)
44
+
45
+ Step 0: 获取最新知识 → latest-knowledge-acquisition.md
46
+
47
+ MCP 回退方案 → mcp-fallback-strategies.md
48
+
49
+ Step 0: 领域专家化 → domain-expertise-protocol.md
50
+
51
+ 优化内容 → skills-knowledge-base.md
52
+
53
+ 验证 → quick_validate.py + universal_validate.py
54
+
55
+ 对比官方 → scripts/diff_with_official.py
56
+ ```
57
+
58
+ ### 1.3 打包分发
59
+
60
+ ```
61
+ 完成 → SKILL.md (主入口)
62
+
63
+ 打包 → scripts/package_skill.py
64
+
65
+ 验证 → skills-knowledge-base.md
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 2. 按学习路径导航
71
+
72
+ ### 2.1 快速上手 (30 分钟)
73
+
74
+ ```
75
+ 1. 阅读官方最佳实践 (10 分钟)
76
+ → official-best-practices.md
77
+
78
+ 2. 查看示例 (10 分钟)
79
+ → examples.md
80
+
81
+ 3. 选择模板开始实践 (10 分钟)
82
+ → skill-templates.md
83
+ ```
84
+
85
+ ### 2.2 深入学习 (2 小时)
86
+
87
+ ```
88
+ 1. 理解核心原则 (30 分钟)
89
+ → skills-knowledge-base.md (第 1-3 节)
90
+
91
+ 2. 学习领域专家化 (30 分钟)
92
+ → domain-expertise-protocol.md
93
+
94
+ 3. 掌握研究方法 (30 分钟)
95
+ → latest-knowledge-acquisition.md
96
+ → deep-research-methodology.md
97
+
98
+ 4. 实践创建 Skill (30 分钟)
99
+ → examples.md → 自己动手
100
+ ```
101
+
102
+ ### 2.3 成为专家 (1 周)
103
+
104
+ ```
105
+ Day 1: 核心概念与原则
106
+ → official-best-practices.md
107
+ → skills-knowledge-base.md (全部)
108
+
109
+ Day 2: 领域专家化流程
110
+ → domain-expertise-protocol.md
111
+ → deep-research-methodology.md
112
+
113
+ Day 3: 知识获取与验证
114
+ → latest-knowledge-acquisition.md
115
+ → knowledge-validation-checklist.md
116
+
117
+ Day 4: 写作与样式规范
118
+ → writing-style-guide.md
119
+ → universality-guide.md
120
+
121
+ Day 5: 工具与脚本
122
+ → tools-guide.md
123
+ → 阅读 scripts/ 源码
124
+
125
+ Day 6: 模式与最佳实践
126
+ → patterns.md
127
+ → examples.md (深入研究)
128
+
129
+ Day 7: 领域知识库
130
+ → domain-knowledge/_index.md
131
+ → 选择相关领域深入学习
132
+ ```
133
+
134
+ ---
135
+
136
+ ## 3. 核心文档速查
137
+
138
+ ### 3.1 必读文档 (按优先级)
139
+
140
+ | 优先级 | 文档 | 用途 | 何时阅读 |
141
+ |--------|------|------|----------|
142
+ | 🔴🔴🔴 | official-best-practices.md | Anthropic 官方指南 | 第一优先 |
143
+ | 🔴🔴🔴 | latest-knowledge-acquisition.md | 知识获取协议 | 创建/优化 Skill 前 |
144
+ | 🔴🔴 | domain-expertise-protocol.md | 领域专家化流程 | 深度研究前 |
145
+ | 🔴 | deep-research-methodology.md | 深度研究方法 | 成为专家 |
146
+ | 🔴 | examples.md | 3 个完整示例 | 不确定时 |
147
+ | 🟡 | skill-templates.md | 5 个模板 | 开始创建 |
148
+
149
+ ### 3.2 按需阅读文档
150
+
151
+ | 任务类型 | 首选文档 | 备选文档 |
152
+ |----------|----------|----------|
153
+ | 写 description | writing-style-guide.md (第 1 节) | official-best-practices.md |
154
+ | 写正文 | writing-style-guide.md (第 2 节) | skills-knowledge-base.md |
155
+ | 写 references | skills-knowledge-base.md (第 4 节) | universality-guide.md |
156
+ | 测试模式 | patterns.md (第 3 节) | testing-patterns.md |
157
+ | 工作流设计 | patterns.md (第 1 节) | examples.md |
158
+
159
+ ---
160
+
161
+ ## 4. 工具命令速查
162
+
163
+ ### 4.1 初始化与验证
164
+
165
+ ```bash
166
+ # 初始化新 Skill
167
+ python scripts/init_skill.py my-new-skill --path .claude/skills
168
+
169
+ # 快速验证
170
+ python scripts/quick_validate.py .claude/skills/my-skill
171
+
172
+ # 通用性验证
173
+ python scripts/universal_validate.py .claude/skills/my-skill
174
+
175
+ # 两者都运行
176
+ python scripts/quick_validate.py .claude/skills/my-skill && \
177
+ python scripts/universal_validate.py .claude/skills/my-skill
178
+ ```
179
+
180
+ ### 4.2 分析与打包
181
+
182
+ ```bash
183
+ # 触发词分析
184
+ python scripts/analyze_trigger.py .claude/skills/my-skill
185
+
186
+ # 打包 Skill
187
+ python scripts/package_skill.py .claude/skills/my-skill ./dist
188
+
189
+ # 对比官方版本
190
+ python scripts/diff_with_official.py .claude/skills/my-skill
191
+
192
+ # 升级旧版 Skill
193
+ python scripts/upgrade_skill.py .claude/skills/my-skill
194
+ ```
195
+
196
+ ### 4.3 安装依赖
197
+
198
+ ```bash
199
+ # 进入项目目录
200
+ cd .claude/skills/skill-expert-skills
201
+
202
+ # 安装依赖
203
+ pip install -r scripts/requirements.txt
204
+
205
+ # 或使用虚拟环境(推荐)
206
+ python -m venv venv
207
+ source venv/bin/activate # Windows: venv\Scripts\activate
208
+ pip install -r scripts/requirements.txt
209
+ ```
210
+
211
+ ---
212
+
213
+ ## 5. 常见问题快速定位
214
+
215
+ ### 5.1 创建 Skill 问题
216
+
217
+ | 问题 | 定位文档 | 关键章节 |
218
+ |------|----------|----------|
219
+ | 不知道从哪里开始 | examples.md, skill-templates.md | 快速选择 |
220
+ | description 怎么写 | writing-style-guide.md | 第 1 节 |
221
+ | SKILL.md 写什么 | official-best-practices.md | Progressive Disclosure |
222
+ | 需要什么知识 | domain-expertise-protocol.md | 步骤 1-2 |
223
+
224
+ ### 5.2 优化 Skill 问题
225
+
226
+ | 问题 | 定位文档 | 关键章节 |
227
+ |------|----------|----------|
228
+ | 如何获取最新知识 | latest-knowledge-acquisition.md | 全部 |
229
+ | MCP 工具不可用 | mcp-fallback-strategies.md | 全部 |
230
+ | 如何深度研究 | deep-research-methodology.md | 全部 |
231
+ | 领域知识在哪里 | domain-knowledge/_index.md | 列表 |
232
+
233
+ ### 5.3 验证问题
234
+
235
+ | 问题 | 定位文档 | 关键章节 |
236
+ |------|----------|----------|
237
+ | quick_validate 报错 | troubleshooting.md | 第 4 节 |
238
+ | universal_validate 报错 | troubleshooting.md | 第 4 节 |
239
+ | SKILL.md 太长 | official-best-practices.md | Conciseness |
240
+ | 通用性问题 | universality-guide.md | Red Flags |
241
+
242
+ ### 5.4 跨项目问题
243
+
244
+ | 问题 | 定位文档 | 关键章节 |
245
+ |------|----------|----------|
246
+ | 项目路径问题 | universality-guide.md | Red Flags |
247
+ | 项目特定内容 | universality-guide.md | 抽象化步骤 |
248
+ | 依赖问题 | troubleshooting.md | 第 4 节 |
249
+
250
+ ---
251
+
252
+ ## 6. 快速决策树
253
+
254
+ ### 6.1 创建 Skill 决策树
255
+
256
+ ```
257
+ ┌─────────────────────────────────────────┐
258
+ │ 创建 Skill 决策树 │
259
+ ├─────────────────────────────────────────┤
260
+ │ │
261
+ │ 第一次创建? │
262
+ │ ├─ 是 → examples.md + skill-templates.md (选模板)
263
+ │ └─ 否 → 查看现有 Skill,参考结构
264
+ │ │
265
+ │ 需要专业知识? │
266
+ │ ├─ 是 → domain-knowledge/_index.md (查是否已有)
267
+ │ └─ 否 → 从 skill-templates.md 开始
268
+ │ │
269
+ │ MCP 工具可用? │
270
+ │ ├─ 是 → latest-knowledge-acquisition.md
271
+ │ └─ 否 → mcp-fallback-strategies.md
272
+ └─────────────────────────────────────────┘
273
+ ```
274
+
275
+ ### 6.2 优化 Skill 决策树
276
+
277
+ ```
278
+ ┌─────────────────────────────────────────┐
279
+ │ 优化 Skill 决策树 │
280
+ ├─────────────────────────────────────────┤
281
+ │ │
282
+ │ 需要最新知识? │
283
+ │ ├─ 是 → latest-knowledge-acquisition.md
284
+ │ └─ 否 → 跳过,直接优化
285
+ │ │
286
+ │ 需要深度研究? │
287
+ │ ├─ 是 → deep-research-methodology.md
288
+ │ └─ 否 → 跳过,使用现有知识
289
+ │ │
290
+ │ 有领域知识库? │
291
+ │ ├─ 是 → domain-knowledge/xxx-expertise.md
292
+ │ └─ 否 → 跳过,使用通用知识
293
+ │ │
294
+ │ 优化后验证? │
295
+ │ ├─ 是 → quick_validate.py + universal_validate.py
296
+ │ └─ 否 → 跳过验证(不推荐)
297
+ └─────────────────────────────────────────┘
298
+ ```
299
+
300
+ ---
301
+
302
+ ## 7. 领域知识库快速定位
303
+
304
+ ### 7.1 领域知识库映射
305
+
306
+ | 开发任务 | 推荐知识库 | 文件 |
307
+ |----------|------------|------|
308
+ | Bug 修复 | Bug Fixing | domain-knowledge/bug-fixing-expertise.md |
309
+ | 代码审查 | Code Review | domain-knowledge/code-review-expertise.md |
310
+ | 前端开发 | Frontend | domain-knowledge/frontend-expertise.md |
311
+ | 后端开发 | Backend | domain-knowledge/backend-expertise.md |
312
+ | API 设计 | API Design | domain-knowledge/api-design-expertise.md |
313
+ | 安全实现 | Security | domain-knowledge/security-expertise.md |
314
+ | 数据库操作 | Database | domain-knowledge/database-expertise.md |
315
+ | DevOps 部署 | DevOps | domain-knowledge/devops-expertise.md |
316
+
317
+ ### 7.2 领域知识库现状
318
+
319
+ | 状态 | 领域 | 数量 |
320
+ |------|------|------|
321
+ | ✅ 已创建 | Bug 修复, 代码审查, 前端, 后端 | 4 |
322
+ | ⚠️ 待创建 (P1) | 安全, 数据库 | 2 |
323
+ | 📝 待创建 (P2) | DevOps, API 设计 | 2 |
324
+ | 📝 待创建 (P3) | UI/UX 设计 | 1 |
325
+
326
+ ---
327
+
328
+ ## 8. 学习检查清单
329
+
330
+ ### 8.1 快速上手检查
331
+
332
+ - [ ] 已阅读 official-best-practices.md
333
+ - [ ] 已查看 examples.md
334
+ - [ ] 已选择 skill-templates.md 中的模板
335
+ - [ ] 已运行 init_skill.py 初始化项目
336
+ - [ ] 已编写 frontmatter (name, description)
337
+ - [ ] 已编写正文内容 (保持简炼)
338
+ - [ ] 已运行 quick_validate.py 验证
339
+
340
+ ### 8.2 深入学习检查
341
+
342
+ - [ ] 已完成一周学习路径 (见 2.3 节)
343
+ - [ ] 已理解渐进式披露模式
344
+ - [ ] 已掌握领域专家化流程
345
+ - [ ] 已理解知识获取协议
346
+ - [ ] 已掌握写作规范
347
+ - [ ] 已创建至少一个完整 Skill
348
+ - [ ] 已通过所有验证检查
349
+ - [ ] 已参与代码审查或 peer review
350
+
351
+ ---
352
+
353
+ ## 9. 版本信息
354
+
355
+ - 本索引版本: v1.0
356
+ - 最后更新: 2025-01-17
357
+ - 维护者: Claude Agent
358
+ - 相关文档: 16 个 references 文件
359
+
360
+ ---
361
+
362
+ ## 10. 获取帮助
363
+
364
+ 如果本索引无法解决问题:
365
+
366
+ 1. **查看完整文档列表**:references/ 目录
367
+ 2. **查看知识验证**:knowledge-validation-checklist.md
368
+ 3. **查看故障排除**:troubleshooting.md
369
+ 4. **查看官方资源**:official-best-practices.md 末尾
370
+
371
+ **快速反馈路径**:
372
+ - GitHub Issues: https://github.com/anthropics/skills/issues
373
+ - Discord: https://discord.gg/anthropic
374
+ - 文档: https://platform.claude.com/docs/en/agents-and-tools/agent-skills/
@@ -0,0 +1,247 @@
1
+ ---
2
+ name: skill-expert-skills
3
+ description: |
4
+ Creates, optimizes, validates, and packages Claude Agent Skills (.claude/skills/*).
5
+
6
+ ⛔ MANDATORY WORKFLOW (violation = invalid output):
7
+ 1. READ this SKILL.md completely FIRST
8
+ 2. Step 0: Acquire domain expertise via MCP tools (mcp__context7, mcp__exa)
9
+ 3. Step 1-5: Follow the Decision Tree strictly
10
+ 4. Validate with quick_validate.py + universal_validate.py
11
+
12
+ Triggers when: creating new skills, writing SKILL.md, optimizing skill descriptions,
13
+ improving trigger rates, validating skill structure, packaging skills for distribution.
14
+
15
+ Not for: regular programming or business logic (use domain-specific skills).
16
+
17
+ license: Apache-2.0
18
+ compatibility: Requires Python 3.8+ for validation scripts
19
+ allowed-tools: Read Write Bash Grep Glob
20
+ # Note: metadata below contains non-standard extension fields for local use
21
+ metadata:
22
+ display_name_zh: skill专家的skills
23
+ language: en
24
+ last_updated: 2025-01-17
25
+ version: 1.1.0
26
+ ---
27
+
28
+ # Skill Expert (Skills)
29
+
30
+ Transform vague "create/optimize a Skill" requests into **triggerable, reusable,
31
+ maintainable, verifiable** Skill packages.
32
+
33
+ > **Core Principles**: 🔴 **Expertise First** | 🔴 **Latest Knowledge First** |
34
+ > Conciseness | Universality | Progressive Disclosure | No Extra Docs
35
+
36
+ ---
37
+
38
+ ## ⛔⛔⛔ STOP - MANDATORY PRE-FLIGHT CHECK
39
+
40
+ **Before ANY action, confirm you have:**
41
+
42
+ | # | Checkpoint | Status |
43
+ |---|------------|--------|
44
+ | 1 | Read this ENTIRE SKILL.md? | ☐ |
45
+ | 2 | Identified task type? (Create / Optimize / Validate) | ☐ |
46
+ | 3 | Ready to execute Step 0 FIRST? (Acquire Knowledge) | ☐ |
47
+
48
+ **⛔ If ANY checkbox is unchecked → STOP and complete it first!**
49
+
50
+ **Workflow Sequence (MUST follow in order):**
51
+ ```
52
+ Step 0 (Knowledge) → Step 1 (Structure) → Step 2 (Validate) → Step 3 (Refine) → Done
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 🔴🔴🔴 Step 0: Become a Domain Expert (ABSOLUTE FIRST)
58
+
59
+ **Whether creating or optimizing a Skill, the first step MUST be becoming an expert in that domain!**
60
+
61
+ ```
62
+ User Request → Step 0a: Requirement Elicitation → Step 0b: LLM's Own Knowledge → Step 1: Acquire Latest Knowledge → Step 2: Knowledge Validation → Step 3: Knowledge Fusion → Step 4: Generate Docs → Step 5: Self-Check → Write SKILL.md
63
+ ```
64
+
65
+ **🔴 Core Principle**: When knowledge conflicts, latest acquired knowledge takes precedence!
66
+
67
+ → **Requirement Elicitation**: `references/requirement-elicitation-protocol.md` (显性+隐性需求挖掘)
68
+ → **Full Protocol**: `references/latest-knowledge-acquisition.md` (tools/fusion/research flow)
69
+ → **Knowledge Validation**: `references/knowledge-validation-checklist.md` (最新性/准确性/完整性)
70
+ → **Docs Generation**: `references/docs-generation-workflow.md` (文档生成工作流)
71
+ → **Expert Protocol**: `references/domain-expertise-protocol.md`
72
+ → **Research Methodology**: `references/deep-research-methodology.md`
73
+
74
+ ## 🔴 SKILL.md Positioning (NON-NEGOTIABLE)
75
+
76
+ **SKILL.md is a navigation index, not an encyclopedia!**
77
+
78
+ ```
79
+ ┌─────────────────────────────────────────────────────────────────┐
80
+ │ SKILL.md SHOULD be: │
81
+ │ ✅ A table of contents scannable in 30 seconds │
82
+ │ ✅ Decision tree: tells AI "what situation → which file" │
83
+ │ ✅ Command reference: one-line key commands/scripts │
84
+ │ ✅ Minimal necessary constraints/contracts │
85
+ │ │
86
+ │ SKILL.md should NOT be: │
87
+ │ ❌ Detailed knowledge base/tutorials │
88
+ │ ❌ Complete protocol/specification explanations │
89
+ │ ❌ Long examples/code blocks │
90
+ │ ❌ Background knowledge/principle explanations │
91
+ │ │
92
+ │ → All detailed content MUST go to references/ │
93
+ └─────────────────────────────────────────────────────────────────┘
94
+ ```
95
+
96
+ **Conciseness Checklist** (verify before writing/modifying SKILL.md):
97
+ - [ ] 🔴 **Is new content > 20 lines?** → Must go to references/
98
+ - [ ] Does AI need this "every time"? → If not, move to references/
99
+ - [ ] Can this be replaced with a one-line navigation? → Use `→ references/xxx.md`
100
+ - [ ] Is body < 500 lines? → If over, must split (hard limit 800 lines)
101
+ - [ ] 🔴 **Contains tech-stack specific content?** → Must abstract or move to references/
102
+
103
+ ## Decision Tree
104
+
105
+ ```
106
+ 【Create New Skill】
107
+ 0. 🔴🔴🔴 **Acquire Latest Knowledge + Become Expert (ABSOLUTE FIRST!)** ← Skip = Invalid Skill
108
+ a. Priority 1 (MCP): Use MCP tools for latest docs:
109
+ - mcp__context7__query-docs (library/framework docs)
110
+ - mcp__exa__web_search_exa (deep search)
111
+ - mcp__exa__get_code_context_exa (code context)
112
+ - WebSearch (latest trends)
113
+ b. Priority 2 (Fallback): If MCP unavailable → Use native tools → mcp-fallback-strategies.md
114
+ c. Check if domain-knowledge/ has related knowledge base
115
+ d. Deep research → deep-research-methodology.md
116
+ e. Persist knowledge → domain-knowledge/[domain]-expertise.md
117
+ f. Pass expert self-check
118
+ 1. python scripts/init_skill.py <name> --path .claude/skills
119
+ 2. Write frontmatter + body (🔴 body < 500 lines!)
120
+ 3. Detailed content → references/*.md (NOT SKILL.md)
121
+ 4. Validate → quick_validate.py + universal_validate.py
122
+
123
+ 【Optimize Existing Skill】
124
+ 0. 🔴🔴🔴 **Acquire Latest Knowledge + Add Expertise (ABSOLUTE FIRST!)** ← Skip = Invalid Skill
125
+ a. Priority 1 (MCP): Use MCP tools for latest docs:
126
+ - mcp__context7__query-docs (check for API updates)
127
+ - mcp__exa__web_search_exa (search latest best practices)
128
+ - WebSearch (check for Breaking Changes)
129
+ b. Priority 2 (Fallback): If MCP unavailable → Use native tools → mcp-fallback-strategies.md
130
+ c. Check if domain-knowledge/ has related knowledge base
131
+ d. Research online to fill knowledge gaps
132
+ e. Update knowledge base
133
+ 1. 🔴 **Mandatory Pre-check**
134
+ - Current SKILL.md line count? (must < 500 recommended / < 800 hard limit)
135
+ - Is new content > 20 lines? → Must go to references/
136
+ - Is new content tech-stack specific? → Must abstract or go to references/
137
+ 2. Conciseness check: Is SKILL.md bloated? → Immediately split to references/
138
+ 3. Abstract → references/universality-guide.md
139
+ 4. Collect trigger examples (3-5)
140
+ 5. Refine description + compress body
141
+ 6. Run validation
142
+
143
+ ⛔ Absolutely Forbidden (violation = Invalid Skill):
144
+ - Skip acquiring latest knowledge and write Skill directly
145
+ - Not using latest knowledge when conflicts exist
146
+ - Adding 30-line checklists directly to SKILL.md
147
+ - Adding example code or tables in SKILL.md
148
+ - Modifying without checking line count
149
+
150
+ 【Validate/Package Only】
151
+ → quick_validate.py / universal_validate.py / package_skill.py
152
+ ```
153
+
154
+ ## Command Reference
155
+
156
+ ```bash
157
+ # Initialize
158
+ python scripts/init_skill.py <skill-name> --path .claude/skills
159
+
160
+ # Validate (required)
161
+ python scripts/quick_validate.py .claude/skills/<skill-name>
162
+ python scripts/universal_validate.py .claude/skills/<skill-name>
163
+
164
+ # Package (optional)
165
+ python scripts/package_skill.py .claude/skills/<skill-name> ./dist
166
+
167
+ # Advanced maintenance
168
+ python scripts/upgrade_skill.py .claude/skills/<skill-name> # Upgrade old version Skill
169
+ python scripts/diff_with_official.py .claude/skills/<skill-name> # Compare with official version
170
+ ```
171
+
172
+ ## Key Constraints
173
+
174
+ | Item | Constraint |
175
+ |------|------------|
176
+ | `name` | hyphen-case, ≤64 chars, must match directory name |
177
+ | `description` | No `< >`, ≤1024 chars, **third person**, cover 3-5 triggers |
178
+ | `license` | Optional, license name or reference to bundled file |
179
+ | `compatibility` | Optional, ≤500 chars, environment requirements |
180
+ | `allowed-tools` | Optional, **space-delimited** tool names (e.g., "Read Write Bash") |
181
+ | 🔴 **SKILL.md body** | **< 500 lines** (recommended), details → references/ |
182
+ | SKILL.md total | <500 lines (recommended) / <800 lines (hard limit) |
183
+ | Universality | No project paths/placeholders, synthetic portable examples |
184
+
185
+ ## Output Contract
186
+
187
+ **Required**: Updated `SKILL.md` + change summary (triggers/domains/validation results)
188
+
189
+ **On-demand**: `references/` | `scripts/` | `assets/`
190
+
191
+ ## References Navigation
192
+
193
+ | 🔴 `QUICK_NAVIGATION.md` | Quick navigation index | When starting work |
194
+ | `mcp-fallback-strategies.md` | **MCP tools unavailable fallback** | **When MCP tools fail** |
195
+ | 🔴 `integration-examples.md` | **Complete Skill integration examples** | When integrating multiple Skills |
196
+ | 🔴 `mcp-tools-guide.md` | MCP tools detailed guide | When using MCP tools |
197
+ | 🔴 `official-best-practices.md` | **Anthropic Official Best Practices** | **FIRST** as authoritative reference |
198
+ | 🔴 `latest-knowledge-acquisition.md` | Latest knowledge acquisition protocol | **FIRST** when creating/optimizing any skill |
199
+ | 🔴 `requirement-elicitation-protocol.md` | Requirement elicitation (显性+隐性需求) | **FIRST** when gathering requirements |
200
+ | 🔴 `knowledge-validation-checklist.md` | Knowledge validation checklist | After knowledge acquisition |
201
+ | 🔴 `docs-generation-workflow.md` | Docs generation workflow | When generating docs from knowledge |
202
+ | 🔴 `mcp-fallback-strategies.md` | **MCP tools unavailable fallback** | **When MCP tools fail** |
203
+ | 🔴 `domain-expertise-protocol.md` | Domain expertise protocol | **FIRST** when deep domain research needed |
204
+ | 🔴 `deep-research-methodology.md` | Deep research methodology (PhD-level) | When becoming authoritative expert |
205
+ | 🔴 `domain-knowledge-template.md` | Domain knowledge base template | When persisting knowledge |
206
+ | `domain-knowledge/_index.md` | Index of existing knowledge bases | When checking available domain knowledge |
207
+ | `skills-knowledge-base.md` | Complete knowledge base: format/spec/best practices | For comprehensive reference |
208
+ | `universality-guide.md` | Universality guide | When optimizing skills, **required reading** |
209
+ | `examples.md` | 3 complete practical examples | When unsure about structure |
210
+ | `patterns.md` | Workflow + output + testing patterns | When designing workflows or evaluation |
211
+ | `skill-templates.md` | 5 Skill templates | When choosing Skill type |
212
+ | `writing-style-guide.md` | Writing style guide | When writing descriptions |
213
+ | `troubleshooting.md` | Troubleshooting guide | When validation fails |
214
+
215
+ **Official Resources**:
216
+ - [AgentSkills.io](https://agentskills.io/) - Open standard specification (Dec 2025)
217
+ - [Skills Overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview)
218
+ - [Best Practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)
219
+ - [Anthropic Skills Repo](https://github.com/anthropics/skills) - Official examples (43k+ stars)
220
+
221
+ ## Definition of Done
222
+
223
+ **⛔ MANDATORY: Complete ALL checkboxes before declaring done!**
224
+
225
+ ### Pre-Flight (Must complete FIRST)
226
+ - [ ] 🔴🔴🔴 **Read this SKILL.md completely** before starting work
227
+ - [ ] 🔴🔴🔴 **Identified task type** (Create / Optimize / Validate)
228
+ - [ ] 🔴🔴🔴 **Executed Step 0** (Acquire Knowledge) before any other step
229
+
230
+ ### Knowledge Acquisition
231
+ - [ ] 🔴 **Acquired latest knowledge** using MCP tools (preferred) OR native tools/manual verification (acceptable) → mcp-fallback-strategies.md
232
+ - [ ] 🔴 **Knowledge source documented** in frontmatter/description if using fallback
233
+ - [ ] 🔴 **Deep research completed** (knowledge base created/updated)
234
+ - [ ] 🔴 **Expert self-check passed** (no critical unknowns)
235
+ - [ ] 🔴 **Source date < 1 year** (ensure knowledge freshness)
236
+
237
+ ### Quality Gates
238
+ - [ ] Domain expertise completed
239
+ - [ ] description covers 3-5 triggers, **uses third person**
240
+ - [ ] SKILL.md < 500 lines
241
+ - [ ] quick_validate.py passed
242
+ - [ ] universal_validate.py passed
243
+ - [ ] No project-specific information
244
+
245
+ ### Self-Verification Question
246
+ **Ask yourself**: "Did I follow Step 0 → Step 1 → ... sequence, or did I skip steps?"
247
+ If you skipped steps → Go back and redo properly!