@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,246 @@
1
+ ---
2
+ name: test-driven-development
3
+ description: |
4
+ Strict TDD workflow with RED-GREEN-REFACTOR cycle.
5
+
6
+ Use when:
7
+ - Writing new features or functionality
8
+ - Fixing bugs (write failing test first)
9
+ - Refactoring existing code
10
+ - Any behavior changes
11
+
12
+ Key Features:
13
+ - Iron Law: NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
14
+ - Mandatory "Watch it fail" verification
15
+ - Minimal code to pass tests
16
+ - Frequent commits after each green
17
+
18
+ Exceptions (ask human first): Throwaway prototypes, generated code, config files.
19
+ allowed-tools: [read, write, execute, grep, glob]
20
+ ---
21
+
22
+ # Test-Driven Development (TDD)
23
+
24
+ **Core Principle**: Write the test first. Watch it fail. Write minimal code to pass.
25
+
26
+ ## The Iron Law
27
+
28
+ ```
29
+ NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
30
+ ```
31
+
32
+ If you wrote code before the test? **Delete it. Start over.** No keeping it as "reference" or adapting it.
33
+
34
+ ## When to Use
35
+
36
+ **Always:**
37
+ - New features
38
+ - Bug fixes
39
+ - Refactoring
40
+ - Behavior changes
41
+
42
+ **Exceptions (ask your human partner):**
43
+ - Throwaway prototypes
44
+ - Generated code
45
+ - Configuration files
46
+
47
+ ## The RED-GREEN-REFACTOR Cycle
48
+
49
+ ### 🔴 RED - Write Failing Test
50
+
51
+ 1. **One behavior per test** - Test exactly one thing
52
+ 2. **Clear descriptive name** - `test_user_can_login_with_valid_credentials`
53
+ 3. **Use real code** - Mocks only if unavoidable
54
+ 4. **Arrange-Act-Assert** pattern
55
+
56
+ ```python
57
+ def test_calculate_total_with_discount():
58
+ # Arrange
59
+ cart = Cart()
60
+ cart.add_item(Item(price=100))
61
+
62
+ # Act
63
+ total = cart.calculate_total(discount=0.1)
64
+
65
+ # Assert
66
+ assert total == 90
67
+ ```
68
+
69
+ ### ⚠️ VERIFY RED - Watch It Fail
70
+
71
+ **MANDATORY. NEVER SKIP.**
72
+
73
+ 1. Run the test
74
+ 2. Confirm it **fails** (not errors)
75
+ 3. Verify it fails for the **expected reason**
76
+
77
+ ```bash
78
+ # Run single test
79
+ pytest tests/test_cart.py::test_calculate_total_with_discount -v
80
+
81
+ # Expected output: FAILED (not ERROR)
82
+ # Expected reason: "AttributeError: 'Cart' has no attribute 'calculate_total'"
83
+ ```
84
+
85
+ **If test passes immediately**: Your test is wrong. Delete and rewrite.
86
+
87
+ ### 🟢 GREEN - Minimal Code
88
+
89
+ Write the **simplest code** to make the test pass.
90
+
91
+ **DO:**
92
+ - Return hardcoded values if that passes
93
+ - Write the most naive implementation
94
+ - Focus only on passing this one test
95
+
96
+ **DON'T:**
97
+ - Add features not tested
98
+ - Over-engineer
99
+ - "Improve" while implementing
100
+
101
+ ```python
102
+ # Minimal implementation to pass
103
+ def calculate_total(self, discount=0):
104
+ total = sum(item.price for item in self.items)
105
+ return total * (1 - discount)
106
+ ```
107
+
108
+ ### ⚠️ VERIFY GREEN - Watch It Pass
109
+
110
+ **MANDATORY.**
111
+
112
+ 1. Run the test
113
+ 2. Confirm it **passes**
114
+ 3. Confirm **all other tests** still pass
115
+ 4. Output is **clean** (no warnings)
116
+
117
+ ```bash
118
+ # Run all tests
119
+ pytest -v
120
+
121
+ # Expected: ALL PASSED
122
+ ```
123
+
124
+ ### 🔵 REFACTOR - Clean Up
125
+
126
+ **Only after green.** Keep tests green throughout.
127
+
128
+ **DO:**
129
+ - Remove duplication
130
+ - Improve names
131
+ - Extract helpers
132
+ - Simplify logic
133
+
134
+ **DON'T:**
135
+ - Add new behavior
136
+ - Change what tests verify
137
+ - Skip running tests
138
+
139
+ ```bash
140
+ # After each refactor change
141
+ pytest -v # Must stay green
142
+ ```
143
+
144
+ ### 📝 COMMIT - Lock In Progress
145
+
146
+ After each successful RED-GREEN-REFACTOR cycle:
147
+
148
+ ```bash
149
+ git add .
150
+ git commit -m "feat: add discount calculation to cart"
151
+ ```
152
+
153
+ ## Common Rationalizations (All Invalid)
154
+
155
+ | Rationalization | Why It's Wrong |
156
+ |-----------------|----------------|
157
+ | "Too simple to test" | Simple code breaks too |
158
+ | "I'll test after" | Tests passing immediately prove nothing |
159
+ | "Already manually tested" | Ad-hoc ≠ systematic |
160
+ | "Deleting X hours is wasteful" | Sunk cost fallacy |
161
+ | "Just this once" | Slippery slope |
162
+ | "Keep as reference" | Reference becomes production |
163
+
164
+ ## Red Flags - STOP and Start Over
165
+
166
+ - ❌ Code written before test
167
+ - ❌ Test passes immediately
168
+ - ❌ Rationalizing "just this once"
169
+ - ❌ "Keep as reference"
170
+ - ❌ Multiple behaviors in one test
171
+ - ❌ Skipping "watch it fail" step
172
+
173
+ ## 🔴 Failure Escalation Protocol
174
+
175
+ | 失败次数 | 动作 |
176
+ |---------|------|
177
+ | 1次 | 重试,检查测试逻辑 |
178
+ | 2次 | 审视设计假设 |
179
+ | 3次 | **停止!质疑架构/设计** |
180
+
181
+ **3次测试失败后必须:**
182
+ 1. 暂停当前实现
183
+ 2. 重新审视需求理解
184
+ 3. 考虑是否需要重新设计
185
+ 4. 询问用户是否继续
186
+
187
+ ## 🔴 Mandatory code-review
188
+
189
+ After completing TDD cycle, **MUST** invoke `code-review` skill before declaring done.
190
+
191
+ ## Quick Reference
192
+
193
+ | Phase | Action | Verify |
194
+ |-------|--------|--------|
195
+ | 🔴 RED | Write failing test | Test FAILS for expected reason |
196
+ | 🟢 GREEN | Write minimal code | Test PASSES, all tests pass |
197
+ | 🔵 REFACTOR | Clean up code | All tests still pass |
198
+ | 📝 COMMIT | Lock in progress | Clean commit |
199
+
200
+ ## Verification Checklist
201
+
202
+ Before declaring "done":
203
+
204
+ - [ ] Every function has a test
205
+ - [ ] Watched each test fail first
206
+ - [ ] Wrote minimal code to pass
207
+ - [ ] All tests pass with clean output
208
+ - [ ] Edge cases covered
209
+ - [ ] Committed after each cycle
210
+
211
+ ## Output Contract
212
+
213
+ ```markdown
214
+ ## TDD Session Report
215
+
216
+ ### Tests Written
217
+ | Test | Purpose | Verified Fail | Verified Pass |
218
+ |------|---------|---------------|---------------|
219
+ | test_xxx | ... | ✅ | ✅ |
220
+
221
+ ### Implementation
222
+ [What was implemented]
223
+
224
+ ### Commits
225
+ - `abc123` - feat: add X
226
+ - `def456` - feat: add Y
227
+
228
+ ### Verification
229
+ - [ ] All tests pass
230
+ - [ ] No skipped "watch it fail" steps
231
+ - [ ] Minimal code written
232
+ ```
233
+
234
+ ## The Final Rule
235
+
236
+ > "Production code exists → test exists and failed first. Otherwise → not TDD."
237
+
238
+ ---
239
+
240
+ ## Reference Navigation
241
+
242
+ | Situation | Read This |
243
+ |-----------|-----------|
244
+ | Common testing mistakes | `references/testing-anti-patterns.md` |
245
+ | Test naming and structure | `references/testing-anti-patterns.md` |
246
+ | Testing skills themselves | `../skill-creator/references/testing-skills-with-subagents.md` |
@@ -0,0 +1,192 @@
1
+ # Testing Anti-Patterns
2
+
3
+ > 来源: Superpowers 项目最佳实践
4
+
5
+ ## 常见测试反模式
6
+
7
+ ### 1. 测试后写 (Test-After)
8
+
9
+ **反模式**:
10
+ ```python
11
+ # 先写实现
12
+ def calculate_total(items):
13
+ return sum(item.price for item in items)
14
+
15
+ # 然后写测试
16
+ def test_calculate_total():
17
+ assert calculate_total([Item(10), Item(20)]) == 30
18
+ ```
19
+
20
+ **问题**: 测试立即通过,你不知道它是否测试了正确的东西。
21
+
22
+ **正确做法**: 先写测试,看它失败,然后实现。
23
+
24
+ ### 2. 测试实现而非行为
25
+
26
+ **反模式**:
27
+ ```python
28
+ def test_uses_sum_function():
29
+ # 测试内部实现
30
+ with patch('builtins.sum') as mock_sum:
31
+ calculate_total([Item(10)])
32
+ mock_sum.assert_called_once()
33
+ ```
34
+
35
+ **问题**: 实现改变时测试就会失败,即使行为正确。
36
+
37
+ **正确做法**: 测试输入/输出行为。
38
+
39
+ ### 3. 过度 Mock
40
+
41
+ **反模式**:
42
+ ```python
43
+ def test_user_login():
44
+ mock_db = Mock()
45
+ mock_hasher = Mock()
46
+ mock_session = Mock()
47
+ mock_logger = Mock()
48
+ # ... 10 个 mock
49
+ ```
50
+
51
+ **问题**: 测试变得脆弱,不测试真实行为。
52
+
53
+ **正确做法**: 只 mock 外部依赖 (数据库、网络),使用真实对象。
54
+
55
+ ### 4. 测试太多东西
56
+
57
+ **反模式**:
58
+ ```python
59
+ def test_user_registration():
60
+ # 测试注册
61
+ user = register("test@example.com", "password")
62
+ assert user.email == "test@example.com"
63
+
64
+ # 也测试登录
65
+ session = login("test@example.com", "password")
66
+ assert session.is_valid
67
+
68
+ # 也测试权限
69
+ assert user.can_access("dashboard")
70
+ ```
71
+
72
+ **问题**: 一个测试失败,不知道哪个功能坏了。
73
+
74
+ **正确做法**: 一个测试一个行为。
75
+
76
+ ### 5. 不确定性测试
77
+
78
+ **反模式**:
79
+ ```python
80
+ def test_random_selection():
81
+ result = select_random_item([1, 2, 3])
82
+ assert result in [1, 2, 3] # 总是通过
83
+ ```
84
+
85
+ **问题**: 测试不验证任何有意义的东西。
86
+
87
+ **正确做法**: 使用种子或测试分布。
88
+
89
+ ### 6. 睡眠等待
90
+
91
+ **反模式**:
92
+ ```python
93
+ def test_async_operation():
94
+ start_async_task()
95
+ time.sleep(5) # 希望它完成了
96
+ assert get_result() == expected
97
+ ```
98
+
99
+ **问题**: 慢、不可靠、可能在 CI 中失败。
100
+
101
+ **正确做法**: 使用轮询或回调。
102
+
103
+ ### 7. 测试私有方法
104
+
105
+ **反模式**:
106
+ ```python
107
+ def test_internal_helper():
108
+ obj = MyClass()
109
+ result = obj._private_helper(data)
110
+ assert result == expected
111
+ ```
112
+
113
+ **问题**: 私有方法是实现细节,可能改变。
114
+
115
+ **正确做法**: 通过公共 API 测试。
116
+
117
+ ### 8. 共享状态
118
+
119
+ **反模式**:
120
+ ```python
121
+ class TestUser:
122
+ user = None # 共享状态
123
+
124
+ def test_create(self):
125
+ self.user = create_user()
126
+
127
+ def test_update(self):
128
+ self.user.name = "new" # 依赖前一个测试
129
+ ```
130
+
131
+ **问题**: 测试顺序依赖,难以隔离失败。
132
+
133
+ **正确做法**: 每个测试独立设置。
134
+
135
+ ## 测试质量检查清单
136
+
137
+ ### 每个测试应该:
138
+
139
+ - [ ] 测试一个行为
140
+ - [ ] 有描述性名称
141
+ - [ ] 独立运行
142
+ - [ ] 快速执行 (< 1秒)
143
+ - [ ] 确定性 (每次相同结果)
144
+
145
+ ### 测试套件应该:
146
+
147
+ - [ ] 覆盖所有公共 API
148
+ - [ ] 包含边界情况
149
+ - [ ] 包含错误情况
150
+ - [ ] 在 CI 中运行
151
+ - [ ] 快速完成 (< 5分钟)
152
+
153
+ ## 好测试的特征
154
+
155
+ | 特征 | 描述 |
156
+ |------|------|
157
+ | **Fast** | 毫秒级执行 |
158
+ | **Isolated** | 不依赖其他测试 |
159
+ | **Repeatable** | 每次相同结果 |
160
+ | **Self-validating** | 自动判断通过/失败 |
161
+ | **Timely** | 在代码之前写 |
162
+
163
+ ## 测试命名规范
164
+
165
+ ```python
166
+ # 格式: test_<被测方法>_<场景>_<预期结果>
167
+
168
+ def test_calculate_total_with_empty_cart_returns_zero():
169
+ ...
170
+
171
+ def test_login_with_invalid_password_raises_error():
172
+ ...
173
+
174
+ def test_user_can_access_own_profile():
175
+ ...
176
+ ```
177
+
178
+ ## 测试结构 (AAA)
179
+
180
+ ```python
181
+ def test_example():
182
+ # Arrange - 设置
183
+ user = User(name="test")
184
+ cart = Cart()
185
+ cart.add_item(Item(price=100))
186
+
187
+ # Act - 执行
188
+ total = cart.calculate_total(user)
189
+
190
+ # Assert - 验证
191
+ assert total == 100
192
+ ```
@@ -0,0 +1,266 @@
1
+ ---
2
+ name: using-git-worktrees
3
+ description: |
4
+ Create isolated development environments using git worktrees.
5
+
6
+ Use when:
7
+ - Starting a new feature after design approval
8
+ - Need isolated workspace for development
9
+ - Working on multiple features in parallel
10
+
11
+ Key Features:
12
+ - Isolated branch and directory
13
+ - Clean test baseline verification
14
+ - Project setup automation
15
+ - Easy cleanup when done
16
+
17
+ Workflow: brainstorming → using-git-worktrees → writing-plans → development
18
+ allowed-tools: [read, write, execute, grep, glob]
19
+ ---
20
+
21
+ # Using Git Worktrees
22
+
23
+ **Core Principle**: Create isolated workspaces for each feature to prevent cross-contamination and enable parallel development.
24
+
25
+ ## 🔒 Directory Priority
26
+
27
+ 查找 worktree 目录的优先级:
28
+
29
+ 1. `.worktrees/` (项目内,推荐)
30
+ 2. `worktrees/` (项目内)
31
+ 3. `CLAUDE.md` 中指定的路径
32
+ 4. 询问用户
33
+
34
+ ## 🔒 Safety Verification (MANDATORY)
35
+
36
+ 创建 worktree 前必须验证:
37
+
38
+ ```bash
39
+ # 1. 检查目录是否被 gitignore (应该被忽略)
40
+ git check-ignore -v <worktree-path>
41
+
42
+ # 2. 检查 worktree 是否已存在
43
+ git worktree list | grep <branch-name>
44
+
45
+ # 3. 检查分支是否已存在
46
+ git branch --list <branch-name>
47
+ ```
48
+
49
+ **如果目录未被 gitignore:** 警告用户,worktree 可能被意外提交
50
+ **如果 worktree 已存在:** 使用现有 worktree 或选择新名称
51
+ **如果分支已存在:** 询问用户是否使用现有分支
52
+
53
+ ## When to Use
54
+
55
+ - After design approval from brainstorming
56
+ - Before writing implementation plans
57
+ - When starting any significant feature
58
+
59
+ **Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
60
+
61
+ ## What is a Git Worktree?
62
+
63
+ A git worktree allows you to have multiple working directories attached to the same repository, each on a different branch.
64
+
65
+ ```
66
+ project/ # Main worktree (main branch)
67
+ project-feature-auth/ # Worktree for auth feature
68
+ project-feature-api/ # Worktree for API feature
69
+ ```
70
+
71
+ ## Workflow
72
+
73
+ ```
74
+ 1. Create worktree with new branch
75
+ 2. Navigate to worktree
76
+ 3. Run project setup (install deps, etc.)
77
+ 4. Verify clean test baseline
78
+ 5. Start development
79
+ 6. When done: merge/PR and cleanup
80
+ ```
81
+
82
+ ## Creating a Worktree
83
+
84
+ ### Step 1: Create Worktree with New Branch
85
+
86
+ ```bash
87
+ # From main project directory
88
+ git worktree add ../project-feature-name -b feature/feature-name
89
+
90
+ # Example
91
+ git worktree add ../myapp-user-auth -b feature/user-auth
92
+ ```
93
+
94
+ ### Step 2: Navigate to Worktree
95
+
96
+ ```bash
97
+ cd ../project-feature-name
98
+ ```
99
+
100
+ ### Step 3: Run Project Setup
101
+
102
+ ```bash
103
+ # Node.js
104
+ npm install
105
+
106
+ # Python
107
+ python -m venv venv
108
+ source venv/bin/activate # or venv\Scripts\activate on Windows
109
+ pip install -r requirements.txt
110
+
111
+ # Rust
112
+ cargo build
113
+ ```
114
+
115
+ ### Step 4: Verify Clean Test Baseline
116
+
117
+ **MANDATORY**: All tests must pass before starting development.
118
+
119
+ ```bash
120
+ # Run tests
121
+ npm test # Node.js
122
+ pytest # Python
123
+ cargo test # Rust
124
+
125
+ # Expected: ALL TESTS PASS
126
+ ```
127
+
128
+ If tests fail:
129
+ 1. Do NOT proceed with development
130
+ 2. Fix issues in main branch first
131
+ 3. Pull changes into worktree
132
+
133
+ ## Worktree Commands Reference
134
+
135
+ | Command | Purpose |
136
+ |---------|---------|
137
+ | `git worktree add <path> -b <branch>` | Create new worktree with new branch |
138
+ | `git worktree add <path> <existing-branch>` | Create worktree for existing branch |
139
+ | `git worktree list` | List all worktrees |
140
+ | `git worktree remove <path>` | Remove a worktree |
141
+ | `git worktree prune` | Clean up stale worktree references |
142
+
143
+ ## Naming Convention
144
+
145
+ ```
146
+ <project-name>-<feature-short-name>
147
+
148
+ Examples:
149
+ - myapp-user-auth
150
+ - myapp-api-v2
151
+ - myapp-dashboard-redesign
152
+ ```
153
+
154
+ ## Keeping Worktree Updated
155
+
156
+ If main branch has changes you need:
157
+
158
+ ```bash
159
+ # In worktree directory
160
+ git fetch origin
161
+ git rebase origin/main
162
+
163
+ # Or merge if you prefer
164
+ git merge origin/main
165
+ ```
166
+
167
+ ## Finishing with a Worktree
168
+
169
+ When feature is complete, use `/finishing-a-development-branch` skill.
170
+
171
+ Quick reference:
172
+
173
+ ```bash
174
+ # 1. Ensure all tests pass
175
+ npm test
176
+
177
+ # 2. Push branch
178
+ git push -u origin feature/feature-name
179
+
180
+ # 3. Create PR or merge
181
+ # (depends on your workflow)
182
+
183
+ # 4. Return to main project
184
+ cd ../project
185
+
186
+ # 5. Remove worktree
187
+ git worktree remove ../project-feature-name
188
+
189
+ # 6. Delete branch if merged
190
+ git branch -d feature/feature-name
191
+ ```
192
+
193
+ ## Troubleshooting
194
+
195
+ ### "fatal: 'path' is already checked out"
196
+
197
+ The branch is already checked out in another worktree.
198
+
199
+ ```bash
200
+ # List worktrees to find where
201
+ git worktree list
202
+
203
+ # Either use that worktree or create new branch
204
+ git worktree add ../new-path -b feature/new-branch
205
+ ```
206
+
207
+ ### "Worktree directory not empty"
208
+
209
+ ```bash
210
+ # Remove the directory first
211
+ rm -rf ../project-feature-name
212
+
213
+ # Then create worktree
214
+ git worktree add ../project-feature-name -b feature/name
215
+ ```
216
+
217
+ ### Tests fail in worktree but pass in main
218
+
219
+ ```bash
220
+ # Ensure dependencies are installed
221
+ npm install # or pip install -r requirements.txt
222
+
223
+ # Check for environment differences
224
+ diff .env ../main-project/.env
225
+ ```
226
+
227
+ ## Output Contract
228
+
229
+ ```markdown
230
+ ## Worktree Created
231
+
232
+ **Location:** `../project-feature-name`
233
+ **Branch:** `feature/feature-name`
234
+
235
+ **Setup Status:**
236
+ - [ ] Worktree created
237
+ - [ ] Dependencies installed
238
+ - [ ] Tests passing (baseline verified)
239
+
240
+ **Ready for:** `/writing-plans` to create implementation plan
241
+ ```
242
+
243
+ ## Integration with Other Skills
244
+
245
+ | After | Use |
246
+ |-------|-----|
247
+ | `/brainstorming` | Create worktree for approved design |
248
+ | Worktree ready | `/writing-plans` to create plan |
249
+ | Development done | `/finishing-a-development-branch` |
250
+
251
+ ## Quick Start Template
252
+
253
+ ```bash
254
+ # 1. Create worktree
255
+ git worktree add ../myapp-feature-name -b feature/feature-name
256
+
257
+ # 2. Setup
258
+ cd ../myapp-feature-name
259
+ npm install # or equivalent
260
+
261
+ # 3. Verify baseline
262
+ npm test
263
+
264
+ # 4. Ready for development!
265
+ echo "Worktree ready. Use /writing-plans to create implementation plan."
266
+ ```