oh-my-customcode 0.12.1 → 0.12.2

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 (130) hide show
  1. package/README.md +4 -8
  2. package/dist/cli/index.js +137 -336
  3. package/dist/index.js +99 -260
  4. package/package.json +2 -4
  5. package/templates/.codex/agents/arch-documenter.md +0 -33
  6. package/templates/.codex/agents/arch-speckit-agent.md +0 -47
  7. package/templates/.codex/agents/be-express-expert.md +0 -30
  8. package/templates/.codex/agents/be-fastapi-expert.md +0 -43
  9. package/templates/.codex/agents/be-go-backend-expert.md +0 -43
  10. package/templates/.codex/agents/be-nestjs-expert.md +0 -28
  11. package/templates/.codex/agents/be-springboot-expert.md +0 -40
  12. package/templates/.codex/agents/db-postgres-expert.md +0 -36
  13. package/templates/.codex/agents/db-redis-expert.md +0 -36
  14. package/templates/.codex/agents/db-supabase-expert.md +0 -35
  15. package/templates/.codex/agents/de-airflow-expert.md +0 -34
  16. package/templates/.codex/agents/de-dbt-expert.md +0 -34
  17. package/templates/.codex/agents/de-kafka-expert.md +0 -81
  18. package/templates/.codex/agents/de-pipeline-expert.md +0 -32
  19. package/templates/.codex/agents/de-snowflake-expert.md +0 -36
  20. package/templates/.codex/agents/de-spark-expert.md +0 -36
  21. package/templates/.codex/agents/fe-svelte-agent.md +0 -29
  22. package/templates/.codex/agents/fe-vercel-agent.md +0 -37
  23. package/templates/.codex/agents/fe-vuejs-agent.md +0 -30
  24. package/templates/.codex/agents/infra-aws-expert.md +0 -47
  25. package/templates/.codex/agents/infra-docker-expert.md +0 -47
  26. package/templates/.codex/agents/lang-golang-expert.md +0 -43
  27. package/templates/.codex/agents/lang-java21-expert.md +0 -39
  28. package/templates/.codex/agents/lang-kotlin-expert.md +0 -43
  29. package/templates/.codex/agents/lang-python-expert.md +0 -43
  30. package/templates/.codex/agents/lang-rust-expert.md +0 -43
  31. package/templates/.codex/agents/lang-typescript-expert.md +0 -43
  32. package/templates/.codex/agents/mgr-claude-code-bible.md +0 -58
  33. package/templates/.codex/agents/mgr-creator.md +0 -39
  34. package/templates/.codex/agents/mgr-gitnerd.md +0 -45
  35. package/templates/.codex/agents/mgr-sauron.md +0 -161
  36. package/templates/.codex/agents/mgr-supplier.md +0 -35
  37. package/templates/.codex/agents/mgr-sync-checker.md +0 -38
  38. package/templates/.codex/agents/mgr-updater.md +0 -33
  39. package/templates/.codex/agents/qa-engineer.md +0 -32
  40. package/templates/.codex/agents/qa-planner.md +0 -73
  41. package/templates/.codex/agents/qa-writer.md +0 -27
  42. package/templates/.codex/agents/sys-memory-keeper.md +0 -43
  43. package/templates/.codex/agents/sys-naggy.md +0 -37
  44. package/templates/.codex/agents/tool-bun-expert.md +0 -26
  45. package/templates/.codex/agents/tool-npm-expert.md +0 -30
  46. package/templates/.codex/agents/tool-optimizer.md +0 -34
  47. package/templates/.codex/codex-native-hash.txt +0 -1
  48. package/templates/.codex/contexts/dev.md +0 -20
  49. package/templates/.codex/contexts/ecomode.md +0 -63
  50. package/templates/.codex/contexts/index.yaml +0 -41
  51. package/templates/.codex/contexts/research.md +0 -28
  52. package/templates/.codex/contexts/review.md +0 -23
  53. package/templates/.codex/hooks/hooks.json +0 -150
  54. package/templates/.codex/install-hooks.sh +0 -100
  55. package/templates/.codex/rules/MAY-optimization.md +0 -29
  56. package/templates/.codex/rules/MUST-agent-design.md +0 -57
  57. package/templates/.codex/rules/MUST-agent-identification.md +0 -29
  58. package/templates/.codex/rules/MUST-continuous-improvement.md +0 -25
  59. package/templates/.codex/rules/MUST-intent-transparency.md +0 -42
  60. package/templates/.codex/rules/MUST-language-policy.md +0 -27
  61. package/templates/.codex/rules/MUST-orchestrator-coordination.md +0 -128
  62. package/templates/.codex/rules/MUST-parallel-execution.md +0 -97
  63. package/templates/.codex/rules/MUST-permissions.md +0 -30
  64. package/templates/.codex/rules/MUST-safety.md +0 -23
  65. package/templates/.codex/rules/MUST-sync-verification.md +0 -125
  66. package/templates/.codex/rules/MUST-tool-identification.md +0 -82
  67. package/templates/.codex/rules/SHOULD-agent-teams.md +0 -39
  68. package/templates/.codex/rules/SHOULD-ecomode.md +0 -37
  69. package/templates/.codex/rules/SHOULD-error-handling.md +0 -33
  70. package/templates/.codex/rules/SHOULD-hud-statusline.md +0 -32
  71. package/templates/.codex/rules/SHOULD-interaction.md +0 -34
  72. package/templates/.codex/rules/SHOULD-memory-integration.md +0 -39
  73. package/templates/.codex/rules/index.yaml +0 -141
  74. package/templates/.codex/skills/airflow-best-practices/SKILL.md +0 -56
  75. package/templates/.codex/skills/audit-agents/SKILL.md +0 -116
  76. package/templates/.codex/skills/aws-best-practices/SKILL.md +0 -280
  77. package/templates/.codex/skills/claude-code-bible/SKILL.md +0 -100
  78. package/templates/.codex/skills/claude-code-bible/scripts/fetch-docs.js +0 -272
  79. package/templates/.codex/skills/create-agent/SKILL.md +0 -91
  80. package/templates/.codex/skills/dbt-best-practices/SKILL.md +0 -54
  81. package/templates/.codex/skills/de-lead-routing/SKILL.md +0 -243
  82. package/templates/.codex/skills/dev-lead-routing/SKILL.md +0 -94
  83. package/templates/.codex/skills/dev-refactor/SKILL.md +0 -123
  84. package/templates/.codex/skills/dev-review/SKILL.md +0 -81
  85. package/templates/.codex/skills/docker-best-practices/SKILL.md +0 -275
  86. package/templates/.codex/skills/fastapi-best-practices/SKILL.md +0 -270
  87. package/templates/.codex/skills/fix-refs/SKILL.md +0 -107
  88. package/templates/.codex/skills/go-backend-best-practices/SKILL.md +0 -338
  89. package/templates/.codex/skills/go-best-practices/SKILL.md +0 -203
  90. package/templates/.codex/skills/help/SKILL.md +0 -125
  91. package/templates/.codex/skills/intent-detection/SKILL.md +0 -215
  92. package/templates/.codex/skills/intent-detection/patterns/agent-triggers.yaml +0 -349
  93. package/templates/.codex/skills/kafka-best-practices/SKILL.md +0 -52
  94. package/templates/.codex/skills/kotlin-best-practices/SKILL.md +0 -256
  95. package/templates/.codex/skills/lists/SKILL.md +0 -78
  96. package/templates/.codex/skills/memory-management/SKILL.md +0 -195
  97. package/templates/.codex/skills/memory-recall/SKILL.md +0 -152
  98. package/templates/.codex/skills/memory-save/SKILL.md +0 -126
  99. package/templates/.codex/skills/monitoring-setup/SKILL.md +0 -115
  100. package/templates/.codex/skills/npm-audit/SKILL.md +0 -72
  101. package/templates/.codex/skills/npm-publish/SKILL.md +0 -63
  102. package/templates/.codex/skills/npm-version/SKILL.md +0 -75
  103. package/templates/.codex/skills/optimize-analyze/SKILL.md +0 -55
  104. package/templates/.codex/skills/optimize-bundle/SKILL.md +0 -67
  105. package/templates/.codex/skills/optimize-report/SKILL.md +0 -74
  106. package/templates/.codex/skills/pipeline-architecture-patterns/SKILL.md +0 -83
  107. package/templates/.codex/skills/postgres-best-practices/SKILL.md +0 -66
  108. package/templates/.codex/skills/python-best-practices/SKILL.md +0 -222
  109. package/templates/.codex/skills/qa-lead-routing/SKILL.md +0 -290
  110. package/templates/.codex/skills/react-best-practices/SKILL.md +0 -101
  111. package/templates/.codex/skills/redis-best-practices/SKILL.md +0 -83
  112. package/templates/.codex/skills/result-aggregation/SKILL.md +0 -164
  113. package/templates/.codex/skills/rust-best-practices/SKILL.md +0 -267
  114. package/templates/.codex/skills/sauron-watch/SKILL.md +0 -144
  115. package/templates/.codex/skills/secretary-routing/SKILL.md +0 -203
  116. package/templates/.codex/skills/snowflake-best-practices/SKILL.md +0 -65
  117. package/templates/.codex/skills/spark-best-practices/SKILL.md +0 -52
  118. package/templates/.codex/skills/springboot-best-practices/SKILL.md +0 -218
  119. package/templates/.codex/skills/status/SKILL.md +0 -153
  120. package/templates/.codex/skills/supabase-postgres-best-practices/SKILL.md +0 -99
  121. package/templates/.codex/skills/typescript-best-practices/SKILL.md +0 -321
  122. package/templates/.codex/skills/update-docs/SKILL.md +0 -140
  123. package/templates/.codex/skills/update-external/SKILL.md +0 -149
  124. package/templates/.codex/skills/vercel-deploy/SKILL.md +0 -73
  125. package/templates/.codex/skills/web-design-guidelines/SKILL.md +0 -118
  126. package/templates/.codex/skills/writing-clearly-and-concisely/SKILL.md +0 -64
  127. package/templates/.codex/uninstall-hooks.sh +0 -52
  128. package/templates/AGENTS.md.en +0 -39
  129. package/templates/AGENTS.md.ko +0 -39
  130. package/templates/manifest.codex.json +0 -43
@@ -1,222 +0,0 @@
1
- ---
2
- name: python-best-practices
3
- description: Pythonic patterns from PEP 8 and PEP 20
4
- user-invocable: false
5
- ---
6
-
7
- ## Purpose
8
-
9
- Apply idiomatic Python patterns and best practices from official Python documentation.
10
-
11
- ## The Zen of Python (PEP 20)
12
-
13
- ```
14
- Beautiful is better than ugly.
15
- Explicit is better than implicit.
16
- Simple is better than complex.
17
- Complex is better than complicated.
18
- Flat is better than nested.
19
- Sparse is better than dense.
20
- Readability counts.
21
- Special cases aren't special enough to break the rules.
22
- Although practicality beats purity.
23
- Errors should never pass silently.
24
- Unless explicitly silenced.
25
- In the face of ambiguity, refuse the temptation to guess.
26
- There should be one-- and preferably only one --obvious way to do it.
27
- Although that way may not be obvious at first unless you're Dutch.
28
- Now is better than never.
29
- Although never is often better than *right* now.
30
- If the implementation is hard to explain, it's a bad idea.
31
- If the implementation is easy to explain, it may be a good idea.
32
- Namespaces are one honking great idea -- let's do more of those!
33
- ```
34
-
35
- ## Rules
36
-
37
- ### 1. Code Layout
38
-
39
- ```yaml
40
- indentation:
41
- - Use 4 spaces per indentation level
42
- - Never mix tabs and spaces
43
- - Continuation lines align vertically or use hanging indent
44
-
45
- line_length:
46
- - Maximum 79 characters for code
47
- - Maximum 72 characters for docstrings/comments
48
- - Teams may agree on 99 characters for code
49
-
50
- blank_lines:
51
- - Two blank lines around top-level definitions
52
- - One blank line between method definitions
53
- - Use sparingly inside functions
54
- ```
55
-
56
- ### 2. Imports
57
-
58
- ```yaml
59
- rules:
60
- - One import per line
61
- - Position at file top, after docstrings
62
- - Group order: standard library → third-party → local
63
- - Separate groups with blank lines
64
- - Prefer absolute imports
65
- - Avoid wildcard imports (from X import *)
66
-
67
- example: |
68
- import os
69
- import sys
70
-
71
- from third_party import lib
72
-
73
- from myproject import module
74
- ```
75
-
76
- ### 3. Whitespace
77
-
78
- ```yaml
79
- avoid:
80
- - Extra spaces inside parentheses/brackets
81
- - Spaces before commas or colons
82
- - Spaces between function name and parenthesis
83
- - Multiple spaces for alignment
84
-
85
- required:
86
- - Single space around binary operators
87
- - Spaces around -> in annotations
88
- - No spaces around = for default parameters
89
- ```
90
-
91
- ### 4. Naming Conventions
92
-
93
- ```yaml
94
- modules_packages:
95
- style: lowercase_with_underscores
96
- example: my_module
97
-
98
- classes:
99
- style: CapWords
100
- example: MyClass
101
-
102
- functions_variables:
103
- style: lowercase_with_underscores
104
- example: my_function, my_variable
105
-
106
- constants:
107
- style: ALL_CAPS_WITH_UNDERSCORES
108
- example: MAX_SIZE, DEFAULT_VALUE
109
-
110
- exceptions:
111
- style: CapWords + Error suffix
112
- example: ValueError, CustomError
113
-
114
- private:
115
- single_underscore: _internal (weak internal)
116
- double_underscore: __private (name mangling)
117
- trailing_underscore: class_ (avoid keyword conflict)
118
-
119
- avoid:
120
- - Single characters l, O, I (ambiguous)
121
- ```
122
-
123
- ### 5. Comments and Docstrings
124
-
125
- ```yaml
126
- principles:
127
- - Comments contradicting code are worse than none
128
- - Use complete sentences
129
- - Keep comments up to date
130
-
131
- block_comments:
132
- - Indent at same level as code
133
- - Start each line with # and space
134
-
135
- inline_comments:
136
- - Minimum two spaces from code
137
- - Avoid obvious statements
138
-
139
- docstrings:
140
- - Write for all public modules, functions, classes, methods
141
- - Use triple quotes
142
- - First line: concise summary
143
- - Blank line before detailed description
144
- ```
145
-
146
- ### 6. Programming Recommendations
147
-
148
- ```yaml
149
- comparisons:
150
- - Use 'is' and 'is not' for None, True, False
151
- - Prefer isinstance() over type()
152
- - Use 'is not' rather than 'not ... is'
153
-
154
- sequences:
155
- - Test empty: if not seq: (not if len(seq) == 0)
156
- - Use .startswith() and .endswith()
157
-
158
- exceptions:
159
- - Derive from Exception, not BaseException
160
- - Catch specific exceptions
161
- - Avoid bare except clauses
162
- - Use 'raise X from Y' for chaining
163
-
164
- functions:
165
- - Use def, not lambda assignment
166
- - Consistent return statements
167
- - Use with for resource management
168
-
169
- type_hints:
170
- - Follow PEP 484 syntax
171
- - Space after colon in annotations
172
- - No space before colon
173
- ```
174
-
175
- ### 7. Pythonic Idioms
176
-
177
- ```yaml
178
- list_comprehension:
179
- prefer: "[x*2 for x in items if x > 0]"
180
- over: |
181
- result = []
182
- for x in items:
183
- if x > 0:
184
- result.append(x*2)
185
-
186
- context_managers:
187
- prefer: "with open('file') as f:"
188
- over: |
189
- f = open('file')
190
- try:
191
- ...
192
- finally:
193
- f.close()
194
-
195
- unpacking:
196
- prefer: "a, b = b, a"
197
- over: |
198
- temp = a
199
- a = b
200
- b = temp
201
-
202
- enumerate:
203
- prefer: "for i, item in enumerate(items):"
204
- over: "for i in range(len(items)):"
205
-
206
- dictionary:
207
- prefer: "d.get(key, default)"
208
- over: "d[key] if key in d else default"
209
- ```
210
-
211
- ## Application
212
-
213
- When writing or reviewing Python code:
214
-
215
- 1. **Always** follow PEP 8 formatting
216
- 2. **Always** write docstrings for public APIs
217
- 3. **Prefer** explicit over implicit
218
- 4. **Prefer** simple over complex
219
- 5. **Prefer** flat over nested
220
- 6. **Avoid** premature optimization
221
- 7. **Use** list comprehensions when readable
222
- 8. **Use** context managers for resources
@@ -1,290 +0,0 @@
1
- ---
2
- name: qa-lead-routing
3
- description: Coordinates QA workflow across planning, writing, and execution agents. Use when user requests testing, quality assurance, or test documentation.
4
- user-invocable: false
5
- ---
6
-
7
- # QA Lead Routing Skill
8
-
9
- ## Purpose
10
-
11
- Coordinates QA team activities by routing tasks to qa-planner, qa-writer, and qa-engineer agents. This skill contains the coordination logic for orchestrating the complete quality assurance workflow.
12
-
13
- ## QA Team Agents
14
-
15
- | Agent | Role | Output |
16
- |-------|------|--------|
17
- | qa-planner | Test planning | QA plans, test scenarios, acceptance criteria |
18
- | qa-writer | Documentation | Test cases, test reports, templates |
19
- | qa-engineer | Execution | Test results, defect reports, coverage reports |
20
-
21
- ## Command Routing
22
-
23
- ```
24
- QA Request → Routing → QA Agent(s)
25
-
26
- test_planning → qa-planner
27
- test_documentation → qa-writer
28
- test_execution → qa-engineer
29
- quality_analysis → qa-planner + qa-engineer (parallel)
30
- full_qa_cycle → all agents (sequential)
31
- ```
32
-
33
- ## Routing Rules
34
-
35
- ### 1. Test Planning
36
-
37
- ```
38
- User: "Create test plan for feature X"
39
-
40
- Route:
41
- Task(qa-planner role → create test plan, model: "balanced")
42
-
43
- Output:
44
- - Test scenarios
45
- - Coverage targets
46
- - Acceptance criteria
47
- - Risk assessment
48
- ```
49
-
50
- ### 2. Test Documentation
51
-
52
- ```
53
- User: "Document test cases for API"
54
-
55
- Route:
56
- Task(qa-writer role → document test cases, model: "balanced")
57
-
58
- Output:
59
- - Test case specifications
60
- - Test data requirements
61
- - Expected results
62
- - Test templates
63
- ```
64
-
65
- ### 3. Test Execution
66
-
67
- ```
68
- User: "Execute tests for module Y"
69
-
70
- Route:
71
- Task(qa-engineer role → execute tests, model: "balanced")
72
-
73
- Output:
74
- - Test execution results
75
- - Pass/fail metrics
76
- - Defect reports
77
- - Coverage reports
78
- ```
79
-
80
- ### 4. Quality Analysis
81
-
82
- When analysis is needed (parallel execution):
83
-
84
- ```
85
- User: "Analyze quality metrics"
86
-
87
- Route (parallel):
88
- Task(qa-planner role → analyze strategy, model: "balanced")
89
- Task(qa-engineer role → analyze results, model: "balanced")
90
-
91
- Aggregate:
92
- Strategy insights + execution data
93
- ```
94
-
95
- ### 5. Full QA Cycle (Sequential)
96
-
97
- For complete quality assurance workflow:
98
-
99
- ```
100
- User: "Run full QA cycle for feature Z"
101
-
102
- Route (sequential):
103
- 1. Task(qa-planner role → create test plan, model: "balanced")
104
- 2. Task(qa-writer role → document test cases, model: "balanced")
105
- 3. Task(qa-engineer role → execute tests, model: "balanced")
106
- 4. Task(qa-writer role → generate report, model: "balanced")
107
-
108
- Aggregate and present final report
109
- ```
110
-
111
- ## Full QA Cycle Workflow
112
-
113
- ```
114
- 1. Planning Phase (qa-planner)
115
- - Analyze requirements
116
- - Define test scenarios
117
- - Set acceptance criteria
118
- - Identify risks
119
-
120
- 2. Documentation Phase (qa-writer)
121
- - Write test cases
122
- - Define test data
123
- - Document expected results
124
- - Create templates
125
-
126
- 3. Execution Phase (qa-engineer)
127
- - Execute test cases
128
- - Record results
129
- - Report defects
130
- - Calculate coverage
131
-
132
- 4. Reporting Phase (qa-writer)
133
- - Aggregate results
134
- - Generate reports
135
- - Document findings
136
- - Provide recommendations
137
-
138
- 5. Aggregation (qa-lead routing)
139
- - Combine all phases
140
- - Present unified status
141
- - Highlight critical issues
142
- ```
143
-
144
- ## Sequential vs Parallel Execution
145
-
146
- ### Sequential (typical for QA workflow)
147
-
148
- QA workflow is typically sequential because each phase depends on the previous:
149
- - Planning must complete before documentation
150
- - Documentation must complete before execution
151
- - Execution must complete before reporting
152
-
153
- ```
154
- qa-planner → qa-writer → qa-engineer → qa-writer
155
- (plan) (document) (execute) (report)
156
- ```
157
-
158
- ### Parallel (rare, for independent analyses)
159
-
160
- Only when tasks are truly independent:
161
- - Quality analysis (strategy + results)
162
- - Multi-module testing (independent modules)
163
-
164
- ```
165
- Example:
166
- Task(qa-engineer role → test module A, model: "balanced")
167
- Task(qa-engineer role → test module B, model: "balanced")
168
- Task(qa-engineer role → test module C, model: "balanced")
169
- ```
170
-
171
- ## Sub-agent Model Selection
172
-
173
- ### Model Mapping
174
-
175
- | Agent | Recommended Model | Reason |
176
- |-------|-------------------|--------|
177
- | qa-planner | `balanced` | Strategy requires balanced reasoning |
178
- | qa-writer | `balanced` | Documentation quality matters |
179
- | qa-engineer | `balanced` | Test execution needs accuracy |
180
-
181
- All QA agents typically use `balanced` for balanced quality output.
182
-
183
- ### Task Call Examples
184
-
185
- ```
186
- # Test planning
187
- Task(
188
- subagent_type: "general-purpose",
189
- prompt: "Create comprehensive test plan for authentication feature following qa-planner guidelines",
190
- model: "balanced"
191
- )
192
-
193
- # Test documentation
194
- Task(
195
- subagent_type: "general-purpose",
196
- prompt: "Document test cases for API endpoints following qa-writer guidelines",
197
- model: "balanced"
198
- )
199
-
200
- # Test execution
201
- Task(
202
- subagent_type: "general-purpose",
203
- prompt: "Execute integration tests and report results following qa-engineer guidelines",
204
- model: "balanced"
205
- )
206
- ```
207
-
208
- ## Display Format
209
-
210
- ### Full QA Cycle
211
-
212
- ```
213
- [Planning] Delegating to qa-planner...
214
- → Test plan created (15 scenarios)
215
-
216
- [Documentation] Delegating to qa-writer...
217
- → 15 test cases documented
218
-
219
- [Execution] Delegating to qa-engineer...
220
- → 13 passed, 2 failed
221
-
222
- [Report] Generating summary...
223
- Coverage: 85%
224
- Pass Rate: 87%
225
- Defects: 2 (1 High, 1 Medium)
226
-
227
- [Done] QA cycle completed
228
- ```
229
-
230
- ### Parallel Quality Analysis
231
-
232
- ```
233
- [Analyzing] Spawning parallel analysis...
234
-
235
- [Instance 1] strategy-analysis:balanced → qa-planner
236
- [Instance 2] results-analysis:balanced → qa-engineer
237
-
238
- [Progress] ████████████ 2/2
239
-
240
- [Summary]
241
- Strategy: Coverage targets met, add edge cases
242
- Results: 85% pass rate, 2 critical defects
243
-
244
- Analysis completed.
245
- ```
246
-
247
- ## Integration with Other Agents
248
-
249
- - **Receives requirements from**: arch-speckit-agent (sw-architect)
250
- - **Reports quality status to**: dev-lead
251
- - **Coordinates with**: Language experts for automated tests
252
- - **Provides feedback to**: Development team via dev-lead
253
-
254
- ## Metrics Tracking
255
-
256
- QA lead routing should aggregate these metrics:
257
-
258
- ```yaml
259
- metrics:
260
- test_coverage: percentage
261
- pass_rate: percentage
262
- defect_count: number
263
- defect_severity: [critical, high, medium, low]
264
- execution_time: duration
265
- test_case_count: number
266
- ```
267
-
268
- ## Agent Teams Awareness
269
-
270
- Before routing via Task tool, check if Agent Teams is available (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` or TeamCreate/SendMessage tools present).
271
-
272
- **Self-check:** Does this task need 3+ agents, shared state, or inter-agent communication? If yes, prefer Agent Teams over Task tool. See R018 for the full decision matrix.
273
-
274
- | Scenario | Preferred |
275
- |----------|-----------|
276
- | Single QA phase (plan/write/execute) | Task Tool |
277
- | Full QA cycle (plan + write + execute + report) | Agent Teams |
278
- | Quality analysis (parallel strategy + results) | Agent Teams |
279
- | Quick test validation | Task Tool |
280
-
281
- ## Usage
282
-
283
- This skill is NOT user-invocable. It should be automatically triggered when the main conversation detects QA intent.
284
-
285
- Detection criteria:
286
- - User requests testing
287
- - User mentions quality assurance
288
- - User asks for test plan/cases/execution
289
- - User requests QA metrics/reports
290
- - System detects need for quality verification
@@ -1,101 +0,0 @@
1
- ---
2
- name: react-best-practices
3
- description: React/Next.js performance optimization with 40+ rules in 8 categories
4
- user-invocable: false
5
- ---
6
-
7
- ## When to Use
8
-
9
- - Writing React/Next.js components
10
- - Data fetching implementation
11
- - Performance review
12
- - Bundle size optimization
13
-
14
- ## Categories by Priority
15
-
16
- ### Critical Priority
17
-
18
- #### Waterfall Elimination
19
- ```
20
- - Avoid sequential data fetching
21
- - Use parallel data fetching
22
- - Implement proper loading states
23
- - Prefetch critical data
24
- ```
25
-
26
- #### Bundle Optimization
27
- ```
28
- - Minimize client-side JavaScript
29
- - Use dynamic imports
30
- - Tree-shake unused code
31
- - Analyze bundle with tools
32
- ```
33
-
34
- ### High Priority
35
-
36
- #### Server-Side Performance
37
- ```
38
- - Use Server Components by default
39
- - Minimize 'use client' directives
40
- - Implement streaming where possible
41
- - Cache server responses
42
- ```
43
-
44
- ### Medium-High Priority
45
-
46
- #### Client-Side Fetching
47
- ```
48
- - Use SWR or React Query
49
- - Implement optimistic updates
50
- - Handle loading/error states
51
- - Cache API responses
52
- ```
53
-
54
- ### Medium Priority
55
-
56
- #### Rendering
57
- ```
58
- - Avoid unnecessary re-renders
59
- - Use React.memo strategically
60
- - Implement useMemo/useCallback properly
61
- - Virtualize long lists
62
- ```
63
-
64
- #### Caching
65
- ```
66
- - Implement proper cache headers
67
- - Use ISR for dynamic content
68
- - Cache database queries
69
- - CDN caching strategies
70
- ```
71
-
72
- #### Code Splitting
73
- ```
74
- - Split by route
75
- - Lazy load below-fold content
76
- - Dynamic import heavy libraries
77
- - Preload critical chunks
78
- ```
79
-
80
- ### Low-Medium Priority
81
-
82
- #### Image Optimization
83
- ```
84
- - Use next/image
85
- - Implement proper sizing
86
- - Use modern formats (WebP, AVIF)
87
- - Lazy load off-screen images
88
- ```
89
-
90
- ## Execution Flow
91
-
92
- ```
93
- 1. Identify optimization area
94
- 2. Check relevant category rules
95
- 3. Apply recommendations
96
- 4. Verify improvements
97
- ```
98
-
99
- ## Scripts
100
-
101
- See `scripts/` directory for automation helpers.
@@ -1,83 +0,0 @@
1
- ---
2
- name: redis-best-practices
3
- description: Redis best practices for caching, data structures, and in-memory data architecture
4
- user-invocable: false
5
- ---
6
-
7
- # Redis Best Practices
8
-
9
- ## Caching Patterns
10
-
11
- ### Cache-Aside (CRITICAL)
12
- - Read: check cache → miss → read DB → set cache
13
- - Write: update DB → invalidate cache
14
- - Best for read-heavy workloads
15
-
16
- ### Write-Through
17
- - Write: update cache AND DB simultaneously
18
- - Ensures consistency
19
- - Higher write latency
20
-
21
- ### Write-Behind
22
- - Write: update cache → async DB update
23
- - Lowest latency
24
- - Risk of data loss
25
-
26
- ## Data Structures
27
-
28
- ### String
29
- - Simple key-value: `SET key value`
30
- - Counters: `INCR`, `DECR`, `INCRBY`
31
- - Bit operations: `SETBIT`, `BITCOUNT`
32
-
33
- ### Hash
34
- - Object storage: `HSET user:1 name "Alice"`
35
- - Partial updates: `HINCRBY user:1 visits 1`
36
- - Memory efficient for small hashes
37
-
38
- ### List
39
- - Queues: `LPUSH`, `RPOP` (FIFO)
40
- - Stacks: `LPUSH`, `LPOP` (LIFO)
41
- - Capped collections: `LTRIM`
42
-
43
- ### Set
44
- - Unique collections: `SADD`, `SMEMBERS`
45
- - Intersections: `SINTER`
46
- - Random sampling: `SRANDMEMBER`
47
-
48
- ### Sorted Set
49
- - Leaderboards: `ZADD`, `ZRANGEBYSCORE`
50
- - Rate limiting: `ZADD timestamp`
51
- - Priority queues
52
-
53
- ### Stream
54
- - Event log: `XADD`, `XREAD`
55
- - Consumer groups: `XGROUP`, `XACK`
56
- - Pub/Sub with persistence
57
-
58
- ## Performance
59
-
60
- ### Memory Optimization
61
- - Set maxmemory policy: `allkeys-lru`, `volatile-lru`
62
- - Monitor memory: `INFO memory`
63
- - Use appropriate data structures (Hash vs String)
64
-
65
- ### Pipelining
66
- - Batch multiple commands
67
- - Reduces round-trip latency
68
- - Use for bulk operations
69
-
70
- ## High Availability
71
-
72
- ### Redis Cluster
73
- - Horizontal scaling
74
- - Automatic sharding (16384 slots)
75
- - Multi-master replication
76
-
77
- ### Redis Sentinel
78
- - Automatic failover
79
- - Monitoring and notifications
80
- - Configuration provider
81
-
82
- ## References
83
- - [Redis Best Practices](https://redis.io/docs/manual/patterns/)