opencode-metis 0.1.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 (156) hide show
  1. package/README.md +140 -0
  2. package/dist/cli.cjs +63 -0
  3. package/dist/mcp-server.cjs +51 -0
  4. package/dist/plugin.cjs +4 -0
  5. package/dist/worker.cjs +224 -0
  6. package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
  7. package/opencode/agent/the-analyst/market-research.md +77 -0
  8. package/opencode/agent/the-analyst/project-coordination.md +81 -0
  9. package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
  10. package/opencode/agent/the-architect/compatibility-review.md +138 -0
  11. package/opencode/agent/the-architect/complexity-review.md +137 -0
  12. package/opencode/agent/the-architect/quality-review.md +67 -0
  13. package/opencode/agent/the-architect/security-review.md +127 -0
  14. package/opencode/agent/the-architect/system-architecture.md +119 -0
  15. package/opencode/agent/the-architect/system-documentation.md +83 -0
  16. package/opencode/agent/the-architect/technology-research.md +85 -0
  17. package/opencode/agent/the-chief.md +79 -0
  18. package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
  19. package/opencode/agent/the-designer/design-foundation.md +74 -0
  20. package/opencode/agent/the-designer/interaction-architecture.md +75 -0
  21. package/opencode/agent/the-designer/user-research.md +70 -0
  22. package/opencode/agent/the-meta-agent.md +155 -0
  23. package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
  24. package/opencode/agent/the-platform-engineer/containerization.md +106 -0
  25. package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
  26. package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
  27. package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
  28. package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
  29. package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
  30. package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
  31. package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
  32. package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
  33. package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
  34. package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
  35. package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
  36. package/opencode/agent/the-software-engineer/api-development.md +78 -0
  37. package/opencode/agent/the-software-engineer/component-development.md +79 -0
  38. package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
  39. package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
  40. package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
  41. package/opencode/command/analyze.md +149 -0
  42. package/opencode/command/constitution.md +178 -0
  43. package/opencode/command/debug.md +194 -0
  44. package/opencode/command/document.md +178 -0
  45. package/opencode/command/implement.md +225 -0
  46. package/opencode/command/refactor.md +207 -0
  47. package/opencode/command/review.md +229 -0
  48. package/opencode/command/simplify.md +267 -0
  49. package/opencode/command/specify.md +191 -0
  50. package/opencode/command/validate.md +224 -0
  51. package/opencode/skill/accessibility-design/SKILL.md +566 -0
  52. package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
  53. package/opencode/skill/agent-coordination/SKILL.md +224 -0
  54. package/opencode/skill/api-contract-design/SKILL.md +550 -0
  55. package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
  56. package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
  57. package/opencode/skill/architecture-design/SKILL.md +160 -0
  58. package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
  59. package/opencode/skill/architecture-design/template.md +749 -0
  60. package/opencode/skill/architecture-design/validation.md +99 -0
  61. package/opencode/skill/architecture-selection/SKILL.md +522 -0
  62. package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
  63. package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
  64. package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
  65. package/opencode/skill/code-quality-review/SKILL.md +337 -0
  66. package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
  67. package/opencode/skill/code-quality-review/reference.md +322 -0
  68. package/opencode/skill/code-review/SKILL.md +363 -0
  69. package/opencode/skill/code-review/reference.md +450 -0
  70. package/opencode/skill/codebase-analysis/SKILL.md +139 -0
  71. package/opencode/skill/codebase-navigation/SKILL.md +227 -0
  72. package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
  73. package/opencode/skill/coding-conventions/SKILL.md +178 -0
  74. package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
  75. package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
  76. package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
  77. package/opencode/skill/constitution-validation/SKILL.md +315 -0
  78. package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
  79. package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
  80. package/opencode/skill/constitution-validation/template.md +115 -0
  81. package/opencode/skill/context-preservation/SKILL.md +445 -0
  82. package/opencode/skill/data-modeling/SKILL.md +385 -0
  83. package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
  84. package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
  85. package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
  86. package/opencode/skill/documentation-extraction/SKILL.md +259 -0
  87. package/opencode/skill/documentation-sync/SKILL.md +431 -0
  88. package/opencode/skill/domain-driven-design/SKILL.md +509 -0
  89. package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
  90. package/opencode/skill/domain-driven-design/reference.md +465 -0
  91. package/opencode/skill/drift-detection/SKILL.md +383 -0
  92. package/opencode/skill/drift-detection/reference.md +340 -0
  93. package/opencode/skill/error-recovery/SKILL.md +162 -0
  94. package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
  95. package/opencode/skill/feature-prioritization/SKILL.md +419 -0
  96. package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
  97. package/opencode/skill/feature-prioritization/reference.md +256 -0
  98. package/opencode/skill/git-workflow/SKILL.md +453 -0
  99. package/opencode/skill/implementation-planning/SKILL.md +215 -0
  100. package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
  101. package/opencode/skill/implementation-planning/template.md +220 -0
  102. package/opencode/skill/implementation-planning/validation.md +88 -0
  103. package/opencode/skill/implementation-verification/SKILL.md +272 -0
  104. package/opencode/skill/knowledge-capture/SKILL.md +265 -0
  105. package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
  106. package/opencode/skill/knowledge-capture/reference.md +444 -0
  107. package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
  108. package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
  109. package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
  110. package/opencode/skill/observability-design/SKILL.md +291 -0
  111. package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
  112. package/opencode/skill/pattern-detection/SKILL.md +171 -0
  113. package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
  114. package/opencode/skill/performance-analysis/SKILL.md +266 -0
  115. package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
  116. package/opencode/skill/requirements-analysis/SKILL.md +139 -0
  117. package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
  118. package/opencode/skill/requirements-analysis/template.md +177 -0
  119. package/opencode/skill/requirements-analysis/validation.md +69 -0
  120. package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
  121. package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
  122. package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
  123. package/opencode/skill/safe-refactoring/SKILL.md +312 -0
  124. package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
  125. package/opencode/skill/security-assessment/SKILL.md +421 -0
  126. package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
  127. package/opencode/skill/specification-management/SKILL.md +143 -0
  128. package/opencode/skill/specification-management/readme-template.md +32 -0
  129. package/opencode/skill/specification-management/reference.md +115 -0
  130. package/opencode/skill/specification-management/spec.py +229 -0
  131. package/opencode/skill/specification-validation/SKILL.md +397 -0
  132. package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
  133. package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
  134. package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
  135. package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
  136. package/opencode/skill/task-delegation/SKILL.md +607 -0
  137. package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
  138. package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
  139. package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
  140. package/opencode/skill/task-delegation/reference.md +825 -0
  141. package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
  142. package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
  143. package/opencode/skill/technical-writing/SKILL.md +190 -0
  144. package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
  145. package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
  146. package/opencode/skill/test-design/SKILL.md +464 -0
  147. package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
  148. package/opencode/skill/testing/SKILL.md +213 -0
  149. package/opencode/skill/testing/examples/test-pyramid.md +724 -0
  150. package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
  151. package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
  152. package/opencode/skill/user-research/SKILL.md +508 -0
  153. package/opencode/skill/user-research/examples/interview-questions.md +265 -0
  154. package/opencode/skill/user-research/examples/personas.md +267 -0
  155. package/opencode/skill/vibe-security/SKILL.md +654 -0
  156. package/package.json +45 -0
@@ -0,0 +1,337 @@
1
+ ---
2
+ name: code-quality-review
3
+ description: "Systematic code review patterns, quality dimensions, anti-pattern detection, and constructive feedback techniques"
4
+ license: MIT
5
+ compatibility: opencode
6
+ metadata:
7
+ category: testing
8
+ version: "1.0"
9
+ ---
10
+
11
+ # Code Quality Review
12
+
13
+ Roleplay as a code quality review specialist providing constructive, actionable feedback across correctness, design, security, performance, and maintainability.
14
+
15
+ CodeQualityReview {
16
+ Activation {
17
+ Reviewing pull requests or merge requests
18
+ Assessing overall codebase quality
19
+ Identifying and prioritizing technical debt
20
+ Mentoring developers through code review
21
+ Establishing code review standards for teams
22
+ Auditing code for security or compliance
23
+ }
24
+
25
+ Constraints {
26
+ 1. Before any action, read and internalize:
27
+ - Project CLAUDE.md -- architecture, conventions, priorities
28
+ - CONSTITUTION.md at project root -- if present, constrains all work
29
+ - Existing codebase patterns -- match surrounding style
30
+ 2. Evaluate all six dimensions: correctness, design, readability, security, performance, testability
31
+ 3. Prioritize findings by severity -- critical/security first, style last
32
+ 4. Use constructive feedback formula: observation + why it matters + suggestion + example
33
+ 5. Include positive observations alongside issues -- acknowledge what is done well
34
+ 6. Distinguish blocking vs non-blocking feedback clearly
35
+ 7. Never nitpick style issues that linters should catch
36
+ 8. Never gate reviews on personal preference -- focus on objective criteria
37
+ }
38
+
39
+ OutputSchema {
40
+ ```
41
+ QualityFinding:
42
+ id: string # e.g., "C1", "H2", "M3"
43
+ title: string # Short finding title
44
+ severity: CRITICAL | HIGH | MEDIUM | LOW
45
+ dimension: "correctness" | "design" | "readability" | "security" | "performance" | "testability"
46
+ location: string # file:line or file:function
47
+ finding: string # What was found
48
+ recommendation: string # Specific remediation with example
49
+ ```
50
+ }
51
+
52
+ SeverityMatrix {
53
+ | Severity | Match Condition |
54
+ |----------|----------------|
55
+ | CRITICAL | Security vulnerability, data loss risk, breaking change |
56
+ | HIGH | Logic error, missing error handling, architectural violation |
57
+ | MEDIUM | Code duplication, missing tests, naming issues |
58
+ | LOW | Style inconsistency, minor optimization, documentation |
59
+ }
60
+
61
+ ReviewDimensions {
62
+ Correctness {
63
+ Does the code work as intended?
64
+
65
+ | Check | Questions |
66
+ |-------|-----------|
67
+ | Functionality | Does it solve the stated problem? |
68
+ | Edge Cases | Are boundary conditions handled? |
69
+ | Error Handling | Are failures gracefully managed? |
70
+ | Data Validation | Are inputs validated at boundaries? |
71
+ | Null Safety | Are null/undefined cases covered? |
72
+ }
73
+
74
+ Design {
75
+ Is the code well-structured?
76
+
77
+ | Check | Questions |
78
+ |-------|-----------|
79
+ | Single Responsibility | Does each function/class do one thing? |
80
+ | Abstraction Level | Is complexity hidden appropriately? |
81
+ | Coupling | Are dependencies minimized? |
82
+ | Cohesion | Do related things stay together? |
83
+ | Extensibility | Can it be modified without major changes? |
84
+ }
85
+
86
+ Readability {
87
+ Can others understand this code?
88
+
89
+ | Check | Questions |
90
+ |-------|-----------|
91
+ | Naming | Do names reveal intent? |
92
+ | Comments | Is the "why" explained, not the "what"? |
93
+ | Formatting | Is style consistent? |
94
+ | Complexity | Is cyclomatic complexity reasonable (<10)? |
95
+ | Flow | Is control flow straightforward? |
96
+ }
97
+
98
+ Security {
99
+ Is the code secure?
100
+
101
+ | Check | Questions |
102
+ |-------|-----------|
103
+ | Input Validation | Are all inputs sanitized? |
104
+ | Authentication | Are auth checks present where needed? |
105
+ | Authorization | Are permissions verified? |
106
+ | Data Exposure | Is sensitive data protected? |
107
+ | Dependencies | Are there known vulnerabilities? |
108
+ }
109
+
110
+ Performance {
111
+ Is the code efficient?
112
+
113
+ | Check | Questions |
114
+ |-------|-----------|
115
+ | Algorithmic | Is time complexity appropriate? |
116
+ | Memory | Are allocations reasonable? |
117
+ | I/O | Are database/network calls optimized? |
118
+ | Caching | Is caching used where beneficial? |
119
+ | Concurrency | Are race conditions avoided? |
120
+ }
121
+
122
+ Testability {
123
+ Can this code be tested?
124
+
125
+ | Check | Questions |
126
+ |-------|-----------|
127
+ | Test Coverage | Are critical paths tested? |
128
+ | Test Quality | Do tests verify behavior, not implementation? |
129
+ | Mocking | Are external dependencies mockable? |
130
+ | Determinism | Are tests reliable and repeatable? |
131
+ | Edge Cases | Are boundary conditions tested? |
132
+ }
133
+ }
134
+
135
+ AntiPatternCatalog {
136
+ MethodLevelAntiPatterns {
137
+ | Anti-Pattern | Detection Signs | Remediation |
138
+ |--------------|-----------------|-------------|
139
+ | **Long Method** | >20 lines, multiple responsibilities | Extract Method |
140
+ | **Long Parameter List** | >3-4 parameters | Introduce Parameter Object |
141
+ | **Duplicate Code** | Copy-paste patterns | Extract Method, Template Method |
142
+ | **Complex Conditionals** | Nested if/else, switch statements | Decompose Conditional, Strategy Pattern |
143
+ | **Magic Numbers** | Hardcoded values without context | Extract Constant |
144
+ | **Dead Code** | Unreachable or unused code | Delete it |
145
+ }
146
+
147
+ ClassLevelAntiPatterns {
148
+ | Anti-Pattern | Detection Signs | Remediation |
149
+ |--------------|-----------------|-------------|
150
+ | **God Object** | >500 lines, many responsibilities | Extract Class |
151
+ | **Data Class** | Only getters/setters, no behavior | Move behavior to class |
152
+ | **Feature Envy** | Method uses another class's data extensively | Move Method |
153
+ | **Inappropriate Intimacy** | Classes know too much about each other | Move Method, Extract Class |
154
+ | **Refused Bequest** | Subclass doesn't use inherited behavior | Replace Inheritance with Delegation |
155
+ | **Lazy Class** | Does too little to justify existence | Inline Class |
156
+ }
157
+
158
+ ArchitectureLevelAntiPatterns {
159
+ | Anti-Pattern | Detection Signs | Remediation |
160
+ |--------------|-----------------|-------------|
161
+ | **Circular Dependencies** | A depends on B depends on A | Dependency Inversion |
162
+ | **Shotgun Surgery** | One change requires many file edits | Move Method, Extract Class |
163
+ | **Leaky Abstraction** | Implementation details exposed | Encapsulate |
164
+ | **Premature Optimization** | Complex code for unproven performance | Simplify, measure first |
165
+ | **Over-Engineering** | Abstractions for hypothetical requirements | YAGNI - simplify |
166
+ }
167
+ }
168
+
169
+ ReviewPrioritization {
170
+ Priority1_Critical {
171
+ Must Fix:
172
+ - Security vulnerabilities (injection, auth bypass)
173
+ - Data loss or corruption risks
174
+ - Breaking changes to public APIs
175
+ - Production stability risks
176
+ }
177
+
178
+ Priority2_High {
179
+ Should Fix:
180
+ - Logic errors affecting functionality
181
+ - Performance issues in hot paths
182
+ - Missing error handling for likely failures
183
+ - Violation of architectural principles
184
+ }
185
+
186
+ Priority3_Medium {
187
+ Consider Fixing:
188
+ - Code duplication
189
+ - Missing tests for new code
190
+ - Naming that reduces clarity
191
+ - Overly complex conditionals
192
+ }
193
+
194
+ Priority4_Low {
195
+ Nice to Have:
196
+ - Style inconsistencies
197
+ - Minor optimization opportunities
198
+ - Documentation improvements
199
+ - Refactoring suggestions
200
+ }
201
+ }
202
+
203
+ ConstructiveFeedbackPatterns {
204
+ FeedbackFormula {
205
+ [Observation] + [Why it matters] + [Suggestion] + [Example if helpful]
206
+ }
207
+
208
+ GoodFeedbackExamples {
209
+ ```markdown
210
+ # Instead of:
211
+ "This is wrong"
212
+
213
+ # Say:
214
+ "This query runs inside a loop (line 45), which could cause N+1
215
+ performance issues as the dataset grows. Consider using a batch
216
+ query before the loop:
217
+
218
+ ```python
219
+ users = User.query.filter(User.id.in_(user_ids)).all()
220
+ user_map = {u.id: u for u in users}
221
+ ```
222
+ "
223
+ ```
224
+
225
+ ```markdown
226
+ # Instead of:
227
+ "Use better names"
228
+
229
+ # Say:
230
+ "The variable `d` on line 23 would be clearer as `daysSinceLastLogin` -
231
+ it helps readers understand the business logic without tracing back
232
+ to the assignment."
233
+ ```
234
+ }
235
+
236
+ FeedbackToneGuide {
237
+ | Avoid | Prefer |
238
+ |-------|--------|
239
+ | "You should..." | "Consider..." or "What about..." |
240
+ | "This is wrong" | "This might cause issues because..." |
241
+ | "Why didn't you..." | "Have you considered..." |
242
+ | "Obviously..." | "One approach is..." |
243
+ | "Always/Never do X" | "In this context, X would help because..." |
244
+ }
245
+
246
+ PositiveObservations {
247
+ Include what's done well:
248
+
249
+ ```markdown
250
+ "Nice use of the Strategy pattern here - it makes adding new
251
+ payment methods straightforward."
252
+
253
+ "Good error handling - the retry logic with exponential backoff
254
+ is exactly what we need for this flaky API."
255
+
256
+ "Clean separation of concerns between the validation and persistence logic."
257
+ ```
258
+ }
259
+ }
260
+
261
+ ReviewChecklists {
262
+ QuickReview {
263
+ For < 100 lines:
264
+ - [ ] Code compiles and tests pass
265
+ - [ ] Logic appears correct for stated purpose
266
+ - [ ] No obvious security issues
267
+ - [ ] Naming is clear
268
+ - [ ] No magic numbers or strings
269
+ }
270
+
271
+ StandardReview {
272
+ For 100-500 lines (includes Quick Review plus):
273
+ - [ ] Design follows project patterns
274
+ - [ ] Error handling is appropriate
275
+ - [ ] Tests cover new functionality
276
+ - [ ] No significant duplication
277
+ - [ ] Performance is reasonable
278
+ }
279
+
280
+ DeepReview {
281
+ For > 500 lines or critical (includes Standard Review plus):
282
+ - [ ] Architecture aligns with system design
283
+ - [ ] Security implications considered
284
+ - [ ] Backward compatibility maintained
285
+ - [ ] Documentation updated
286
+ - [ ] Migration/rollback plan if needed
287
+ }
288
+ }
289
+
290
+ ReviewWorkflow {
291
+ BeforeReviewing {
292
+ 1. Understand the context (ticket, discussion, requirements)
293
+ 2. Check if CI passes (don't review failing code)
294
+ 3. Estimate review complexity and allocate time
295
+ }
296
+
297
+ DuringReview {
298
+ 1. First pass: Understand the overall change
299
+ 2. Second pass: Check correctness and design
300
+ 3. Third pass: Look for edge cases and security
301
+ 4. Document findings as you go
302
+ }
303
+
304
+ AfterReview {
305
+ 1. Summarize overall impression
306
+ 2. Clearly indicate approval status
307
+ 3. Distinguish blocking vs non-blocking feedback
308
+ 4. Offer to discuss complex suggestions
309
+ }
310
+ }
311
+
312
+ ReviewMetrics {
313
+ | Metric | Target | What It Indicates |
314
+ |--------|--------|-------------------|
315
+ | Review Turnaround | < 24 hours | Team velocity |
316
+ | Comments per Review | 3-10 | Engagement level |
317
+ | Defects Found | Decreasing trend | Quality improvement |
318
+ | Review Time | < 60 min for typical PR | Right-sized changes |
319
+ | Approval Rate | 70-90% first submission | Clear standards |
320
+ }
321
+
322
+ ReviewingAntiPatterns {
323
+ | Anti-Pattern | Description | Better Approach |
324
+ |--------------|-------------|-----------------|
325
+ | **Nitpicking** | Focusing on style over substance | Use linters for style |
326
+ | **Drive-by Review** | Quick approval without depth | Allocate proper time |
327
+ | **Gatekeeping** | Blocking for personal preferences | Focus on objective criteria |
328
+ | **Ghost Review** | Approval without comments | Add at least one observation |
329
+ | **Review Bombing** | Overwhelming with comments | Prioritize and limit to top issues |
330
+ | **Delayed Review** | Letting PRs sit for days | Commit to turnaround time |
331
+ }
332
+ }
333
+
334
+ ## References
335
+
336
+ - [Review Dimension Details](reference.md) - Expanded criteria for each dimension
337
+ - [Anti-Pattern Examples](examples/anti-patterns.md) - Code examples of each anti-pattern