arcanea 3.0.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.
- package/CLAUDE.md +169 -0
- package/README.md +376 -0
- package/agents/arcanea-ai-specialist.md +732 -0
- package/agents/arcanea-architect.md +351 -0
- package/agents/arcanea-backend.md +809 -0
- package/agents/arcanea-character-crafter.md +381 -0
- package/agents/arcanea-development.md +304 -0
- package/agents/arcanea-devops.md +736 -0
- package/agents/arcanea-frontend.md +543 -0
- package/agents/arcanea-lore-master.md +366 -0
- package/agents/arcanea-master-orchestrator.md +223 -0
- package/agents/arcanea-story-master.md +144 -0
- package/agents/arcanea-world-expander.md +380 -0
- package/agents/coding/arcanea-architect.md +72 -0
- package/agents/coding/arcanea-coder.md +78 -0
- package/agents/coding/arcanea-debugger.md +113 -0
- package/agents/coding/arcanea-reviewer.md +102 -0
- package/agents/creation-architect.md +176 -0
- package/agents/design-sage.md +213 -0
- package/agents/developer-documentation.md +373 -0
- package/agents/developer-qa-engineer.md +345 -0
- package/agents/luminor-oracle.md +125 -0
- package/agents/production/format-master.md +208 -0
- package/agents/production/sound-designer.md +199 -0
- package/agents/production/visual-director.md +176 -0
- package/agents/prompt-sage.md +227 -0
- package/agents/research/archivist.md +174 -0
- package/agents/research/muse.md +163 -0
- package/agents/research/sage.md +177 -0
- package/agents/research/scout.md +143 -0
- package/agents/teacher-assessor.md +287 -0
- package/agents/teacher-companion.md +243 -0
- package/agents/teacher-curriculum-designer.md +261 -0
- package/agents/teacher-mentor.md +175 -0
- package/agents/visionary-futurist.md +290 -0
- package/agents/visionary-innovator.md +291 -0
- package/agents/visionary-strategist.md +321 -0
- package/agents/visionary-synthesizer.md +310 -0
- package/agents/writing/continuity-guardian.md +156 -0
- package/agents/writing/line-editor.md +129 -0
- package/agents/writing/prose-weaver.md +113 -0
- package/agents/writing/story-architect.md +96 -0
- package/agents/writing/voice-alchemist.md +124 -0
- package/commands/arcanea-author.md +177 -0
- package/commands/arcanea-build.md +241 -0
- package/commands/arcanea-council.md +143 -0
- package/commands/arcanea-db.md +272 -0
- package/commands/arcanea-deploy.md +176 -0
- package/commands/arcanea-dev.md +29 -0
- package/commands/arcanea-lore-expand.md +142 -0
- package/commands/arcanea-sync.md +281 -0
- package/commands/arcanea-team.md +130 -0
- package/commands/arcanea-test.md +151 -0
- package/commands/bestiary.md +38 -0
- package/commands/character-forge.md +55 -0
- package/commands/check-continuity.md +119 -0
- package/commands/compose-theme.md +134 -0
- package/commands/craft-prompt.md +40 -0
- package/commands/edit-chapter.md +118 -0
- package/commands/export-book.md +146 -0
- package/commands/luminor.md +46 -0
- package/commands/outline-story.md +79 -0
- package/commands/story-help.md +40 -0
- package/commands/teacher-team.md +43 -0
- package/commands/ultrabook.md +147 -0
- package/commands/ultraworld.md +201 -0
- package/commands/ultrawrite.md +103 -0
- package/commands/visionary-team.md +78 -0
- package/commands/visualize.md +126 -0
- package/commands/world-build.md +41 -0
- package/commands/write-chapter.md +97 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2675 -0
- package/dist/index.d.ts +117 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +425 -0
- package/dist/install.d.ts +13 -0
- package/dist/install.d.ts.map +1 -0
- package/package.json +54 -0
- package/skills/ai-symbiosis.md +266 -0
- package/skills/arcanea/arcanea-anti-trope.md +60 -0
- package/skills/arcanea/arcanea-canon/SKILL.md +596 -0
- package/skills/arcanea/arcanea-creator-academy/SKILL.md +418 -0
- package/skills/arcanea/arcanea-design-system/SKILL.md +626 -0
- package/skills/arcanea/arcanea-lore/ENHANCEMENT_SUMMARY.md +908 -0
- package/skills/arcanea/arcanea-lore/ONBOARDING_NARRATIVES.md +642 -0
- package/skills/arcanea/arcanea-lore/SKILL.md +1534 -0
- package/skills/arcanea/arcanea-voice/SKILL.md +510 -0
- package/skills/arcanea/centaur-mode/SKILL.md +399 -0
- package/skills/arcanea/design-system/SKILL.md +601 -0
- package/skills/arcanea/luminor-wisdom/SKILL.md +359 -0
- package/skills/arcanea/prompt-craft/SKILL.md +400 -0
- package/skills/character-alchemist.md +242 -0
- package/skills/creative/bestiary-nav/SKILL.md +425 -0
- package/skills/creative/character-forge/SKILL.md +443 -0
- package/skills/creative/story-weave/SKILL.md +441 -0
- package/skills/creative/world-build/SKILL.md +513 -0
- package/skills/creative-bestiary.md +231 -0
- package/skills/development/code-review/SKILL.md +412 -0
- package/skills/development/systematic-debug/SKILL.md +480 -0
- package/skills/development/tdd/SKILL.md +450 -0
- package/skills/luminor-council.md +241 -0
- package/skills/story-weaver.md +308 -0
- package/skills/world-architect.md +253 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# Creative Bestiary - Navigating the Creatures of the Mind
|
|
2
|
+
|
|
3
|
+
> *"The creative life is inhabited by creatures—not physical beings, but psychological presences that every creator encounters. Know them by name, and you can negotiate with them. Ignore them, and they will ambush you."*
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Activation
|
|
8
|
+
|
|
9
|
+
This skill activates when the user faces creative blocks, psychological obstacles, self-doubt, or any of the internal challenges that plague creators. Use the Bestiary framework to name, understand, and navigate these creatures.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## The Creatures
|
|
14
|
+
|
|
15
|
+
### I. Creatures of Beginning
|
|
16
|
+
|
|
17
|
+
#### The Blank Terror
|
|
18
|
+
**What it is**: The paralysis before the empty page, canvas, or screen
|
|
19
|
+
**How it manifests**: Infinite scrolling, research rabbit holes, "just one more preparation"
|
|
20
|
+
**The truth it hides**: Beginning destroys infinite possibility and commits to one path
|
|
21
|
+
|
|
22
|
+
**Navigation Protocol**:
|
|
23
|
+
1. Make it smaller - reduce scope until starting feels possible
|
|
24
|
+
2. Make meaningless marks - break the blankness with anything
|
|
25
|
+
3. Set a timer - 10 minutes of terrible work is still work
|
|
26
|
+
4. Remember: The Blank Terror is always larger from outside than inside
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
#### The Perfect Phantom
|
|
31
|
+
**What it is**: The shimmering ideal that makes all actual work seem inadequate
|
|
32
|
+
**How it manifests**: Endless revision, inability to ship, comparing drafts to finished works
|
|
33
|
+
**The truth it hides**: The phantom is a hallucination - it doesn't exist
|
|
34
|
+
|
|
35
|
+
**Navigation Protocol**:
|
|
36
|
+
1. Compare to your past work, not the phantom
|
|
37
|
+
2. Use it as compass (direction) not judge (evaluation)
|
|
38
|
+
3. Ask: "Is the phantom helping me improve or stopping me from finishing?"
|
|
39
|
+
4. Ship despite the phantom's whispers
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
#### The Starter Swarm
|
|
44
|
+
**What it is**: Too many ideas competing for attention
|
|
45
|
+
**How it manifests**: Starting many projects, finishing none; constant pivoting
|
|
46
|
+
**The truth it hides**: Commitment anxiety disguised as creative abundance
|
|
47
|
+
|
|
48
|
+
**Navigation Protocol**:
|
|
49
|
+
1. Write all ideas down - get them out of your head
|
|
50
|
+
2. Choose ONE to pursue
|
|
51
|
+
3. Create a "someday" file for the others
|
|
52
|
+
4. Remember: You can always return. Commitment is not forever. But without commitment, nothing is completed.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### II. Creatures of the Middle
|
|
57
|
+
|
|
58
|
+
#### The Bog of Doubt
|
|
59
|
+
**What it is**: The swampy middle where every step is effort and nothing seems to work
|
|
60
|
+
**How it manifests**: Loss of enthusiasm, questioning the entire project, feeling lost
|
|
61
|
+
**The truth it hides**: This is normal. Every project has a bog. You're not failing - you're in the middle.
|
|
62
|
+
|
|
63
|
+
**Navigation Protocol**:
|
|
64
|
+
1. Expect it - knowing it's coming removes some power
|
|
65
|
+
2. Take smaller steps - inch through, don't stride
|
|
66
|
+
3. Suspend judgment - everything looks terrible in the bog
|
|
67
|
+
4. Find fellow travelers - others are in bogs too
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
#### The Distraction Fox
|
|
72
|
+
**What it is**: The quick, bright creature that leads you away from work
|
|
73
|
+
**How it manifests**: Social media, notifications, "quick research," anything not-the-work
|
|
74
|
+
**The truth it hides**: The fox protects you from intensity. But protection must be balanced with work.
|
|
75
|
+
|
|
76
|
+
**Navigation Protocol**:
|
|
77
|
+
1. Don't chase - you can't catch it
|
|
78
|
+
2. Remove its habitat - close browsers, silence phones
|
|
79
|
+
3. Schedule feeding times - "I will check social media at 3 PM for 15 minutes"
|
|
80
|
+
4. Recognize its service - the fox isn't evil, just unhelpful in excess
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
#### The Perfectionist Serpent
|
|
85
|
+
**What it is**: The coiled critic that hisses "not good enough" at every attempt
|
|
86
|
+
**How it manifests**: Endless revision, inability to call anything "done," paralysis by criticism
|
|
87
|
+
**The truth it hides**: Perfection is impossible. The serpent promises what it cannot deliver.
|
|
88
|
+
|
|
89
|
+
**Navigation Protocol**:
|
|
90
|
+
1. Set revision limits before starting - "Three drafts, then ship"
|
|
91
|
+
2. Ask: "Is this revision improving or just changing?"
|
|
92
|
+
3. Accept that the serpent will always hiss
|
|
93
|
+
4. Learn to ship with the hissing in your ears
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### III. Creatures of Crisis
|
|
98
|
+
|
|
99
|
+
#### The Failure Wraith
|
|
100
|
+
**What it is**: The haunting presence after a significant failure or rejection
|
|
101
|
+
**How it manifests**: Replaying the failure, extrapolating to all future work, shame spirals
|
|
102
|
+
**The truth it hides**: Failure is data, not identity. The wraith lies about what failure means.
|
|
103
|
+
|
|
104
|
+
**Navigation Protocol**:
|
|
105
|
+
1. Don't argue with it - wraiths can't be reasoned away
|
|
106
|
+
2. Wait - wraiths fade with time, though they feel eternal
|
|
107
|
+
3. Talk to others who've been visited - every creator knows the wraith
|
|
108
|
+
4. Perform the Failure Ritual (see below)
|
|
109
|
+
|
|
110
|
+
**The Failure Ritual**:
|
|
111
|
+
1. Name the failure specifically (not vaguely)
|
|
112
|
+
2. Identify what you learned (not what you "should have known")
|
|
113
|
+
3. Identify what you'll do differently (specific, actionable)
|
|
114
|
+
4. Create something small to prove you still can
|
|
115
|
+
5. Move forward, wraith or no wraith
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
#### The Comparison Chimera
|
|
120
|
+
**What it is**: A beast with many heads, each wearing the face of someone more successful
|
|
121
|
+
**How it manifests**: Social media scrolling, award envy, feeling "behind"
|
|
122
|
+
**The truth it hides**: The chimera shows highlights, not full pictures. Every success has hidden struggle.
|
|
123
|
+
|
|
124
|
+
**Navigation Protocol**:
|
|
125
|
+
1. Limit exposure - reduce social media during vulnerable periods
|
|
126
|
+
2. Reframe comparison - "They did it, so I can" not "They did it, so why bother"
|
|
127
|
+
3. Focus on your own path - the chimera only exists when you look at others
|
|
128
|
+
4. Remember: Someone is comparing themselves to you right now
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
#### The Imposter Shade
|
|
133
|
+
**What it is**: A shadowy version of yourself whispering "You don't belong here"
|
|
134
|
+
**How it manifests**: Discounting achievements, waiting to be "found out," anxiety about recognition
|
|
135
|
+
**The truth it hides**: The shade is nearly universal. Its presence doesn't mean you're an imposter - it means you're a creator.
|
|
136
|
+
|
|
137
|
+
**Navigation Protocol**:
|
|
138
|
+
1. Name it - "I'm experiencing the Imposter Shade" diminishes its power
|
|
139
|
+
2. Collect evidence - keep a file of genuine achievements
|
|
140
|
+
3. Talk to other creators - they all know the shade
|
|
141
|
+
4. Function despite it - success with the shade is still success
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### IV. Creatures of the Dark
|
|
146
|
+
|
|
147
|
+
#### The Void
|
|
148
|
+
**What it is**: The absence beneath all creation - meaninglessness itself
|
|
149
|
+
**How it manifests**: Existential despair, "what's the point," loss of all motivation
|
|
150
|
+
**The truth it hides**: The void is a truth, not THE truth. Beyond it, there are others.
|
|
151
|
+
|
|
152
|
+
**Navigation Protocol**:
|
|
153
|
+
1. Do not fall in - approach the edge, but don't cross
|
|
154
|
+
2. Build meaning ON TOP of the void, not in spite of it
|
|
155
|
+
3. If slipping, seek help immediately - the void cannot be navigated alone
|
|
156
|
+
4. Remember: Many creators have stood at the edge. You're not alone.
|
|
157
|
+
|
|
158
|
+
**IMPORTANT**: If the Void feels overwhelming, this is beyond creative guidance. Seek professional support.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
#### The Burnout Beast
|
|
163
|
+
**What it is**: Total exhaustion that removes all desire to create
|
|
164
|
+
**How it manifests**: Inability to work, loss of enjoyment, physical symptoms
|
|
165
|
+
**The truth it hides**: The beast grew from ignored warnings. Prevention is easier than cure.
|
|
166
|
+
|
|
167
|
+
**Navigation Protocol**:
|
|
168
|
+
1. If the beast has arrived - REST. Do not fight it.
|
|
169
|
+
2. Recovery takes time - months, sometimes. Be patient.
|
|
170
|
+
3. Rebuild slowly - return to creation gradually
|
|
171
|
+
4. Change the conditions that summoned it - or it will return
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
### V. Creatures of Light
|
|
176
|
+
|
|
177
|
+
#### The Muse
|
|
178
|
+
**What it is**: Sudden inspiration, knowing what to create and how
|
|
179
|
+
**How it manifests**: Flow states, ideas that arrive fully formed, effortless work
|
|
180
|
+
**The truth it reveals**: Creation can be joyful. But the muse is unreliable.
|
|
181
|
+
|
|
182
|
+
**Engagement Protocol**:
|
|
183
|
+
1. Work regularly whether the muse appears or not - discipline attracts the muse
|
|
184
|
+
2. Create conditions that welcome it - comfort, openness, scheduled time
|
|
185
|
+
3. When it appears, work immediately - the muse doesn't wait
|
|
186
|
+
4. Learn to work without it - the muse respects those who don't depend on it
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
#### The Flow Eagle
|
|
191
|
+
**What it is**: The state where time disappears and work creates itself through you
|
|
192
|
+
**How it manifests**: Hours passing like minutes, effortless focus, unity with the work
|
|
193
|
+
**The truth it reveals**: This is why we create. This is the reward.
|
|
194
|
+
|
|
195
|
+
**Engagement Protocol**:
|
|
196
|
+
1. Match challenge to skill - too easy bores, too hard frustrates
|
|
197
|
+
2. Remove all distractions - the eagle needs full attention
|
|
198
|
+
3. Have clear goals and immediate feedback
|
|
199
|
+
4. Enter often - flow becomes easier to access with practice
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
#### The Joy Sprite
|
|
204
|
+
**What it is**: Pure delight in creation, regardless of outcome
|
|
205
|
+
**How it manifests**: Laughing at your work, playing without purpose, creative delight
|
|
206
|
+
**The truth it reveals**: Joy is not the reward for creation - it's the fuel.
|
|
207
|
+
|
|
208
|
+
**Engagement Protocol**:
|
|
209
|
+
1. Play - make something for no purpose
|
|
210
|
+
2. Laugh at failures - the sprite likes lightness
|
|
211
|
+
3. Remember why you began - before ambition, there was joy
|
|
212
|
+
4. Protect the sprite from darker creatures - don't let seriousness banish play entirely
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## The Ecology of Creatures
|
|
217
|
+
|
|
218
|
+
The creatures exist in relationship. When one is strong, others shift.
|
|
219
|
+
|
|
220
|
+
**Common Patterns**:
|
|
221
|
+
- Defeating the Blank Terror often awakens the Perfectionist Serpent
|
|
222
|
+
- The Comparison Chimera feeds the Imposter Shade
|
|
223
|
+
- The Joy Sprite weakens almost every dark creature
|
|
224
|
+
- The Bog of Doubt is where the Failure Wraith likes to visit
|
|
225
|
+
- The Muse and Flow Eagle often arrive together
|
|
226
|
+
|
|
227
|
+
**The Creator's Work**: Not to eliminate creatures but to live among them wisely.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
*"You cannot make the creatures disappear. You can only learn their names, know their habits, and create anyway."*
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arcanea-code-review
|
|
3
|
+
description: Conduct thorough, constructive code reviews that improve code quality and team knowledge. Focuses on what matters - architecture, logic, security, maintainability - while avoiding bikeshedding.
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
author: Arcanea
|
|
6
|
+
tags: [code-review, quality, collaboration, development]
|
|
7
|
+
triggers:
|
|
8
|
+
- review
|
|
9
|
+
- code review
|
|
10
|
+
- PR
|
|
11
|
+
- pull request
|
|
12
|
+
- check my code
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# The Art of Code Review
|
|
16
|
+
|
|
17
|
+
> *"A review is not a judgment. It is a gift of attention that makes both the code and the coder stronger."*
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## The Review Philosophy
|
|
22
|
+
|
|
23
|
+
### What Code Review IS
|
|
24
|
+
```
|
|
25
|
+
✓ Knowledge sharing
|
|
26
|
+
✓ Quality assurance
|
|
27
|
+
✓ Learning opportunity
|
|
28
|
+
✓ Documentation check
|
|
29
|
+
✓ Collaboration ritual
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### What Code Review is NOT
|
|
33
|
+
```
|
|
34
|
+
❌ Gatekeeping
|
|
35
|
+
❌ Proving superiority
|
|
36
|
+
❌ Stylistic bikeshedding
|
|
37
|
+
❌ Blocking progress
|
|
38
|
+
❌ Personal criticism
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## The Review Hierarchy
|
|
44
|
+
|
|
45
|
+
Focus effort where it matters most:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
╔════════════════════════════════════════════════════════════╗
|
|
49
|
+
║ REVIEW PRIORITY ║
|
|
50
|
+
╠════════════════════════════════════════════════════════════╣
|
|
51
|
+
║ ║
|
|
52
|
+
║ 🔴 CRITICAL (Block merge) ║
|
|
53
|
+
║ ├── Security vulnerabilities ║
|
|
54
|
+
║ ├── Data loss risks ║
|
|
55
|
+
║ ├── Breaking changes without migration ║
|
|
56
|
+
║ └── Logic errors affecting correctness ║
|
|
57
|
+
║ ║
|
|
58
|
+
║ 🟠 IMPORTANT (Should fix before merge) ║
|
|
59
|
+
║ ├── Bugs and edge cases ║
|
|
60
|
+
║ ├── Performance issues ║
|
|
61
|
+
║ ├── Missing tests for new logic ║
|
|
62
|
+
║ └── Architectural concerns ║
|
|
63
|
+
║ ║
|
|
64
|
+
║ 🟡 SUGGESTIONS (Nice to have) ║
|
|
65
|
+
║ ├── Readability improvements ║
|
|
66
|
+
║ ├── Better naming ║
|
|
67
|
+
║ ├── Documentation additions ║
|
|
68
|
+
║ └── Minor refactoring opportunities ║
|
|
69
|
+
║ ║
|
|
70
|
+
║ ⚪ NITPICKS (Optional, don't block) ║
|
|
71
|
+
║ ├── Style preferences ║
|
|
72
|
+
║ ├── Formatting ║
|
|
73
|
+
║ └── Subjective choices ║
|
|
74
|
+
║ ║
|
|
75
|
+
╚════════════════════════════════════════════════════════════╝
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## The Review Checklist
|
|
81
|
+
|
|
82
|
+
### 1. Security Review
|
|
83
|
+
```
|
|
84
|
+
□ No hardcoded secrets/credentials
|
|
85
|
+
□ Input validation present
|
|
86
|
+
□ No SQL injection risks
|
|
87
|
+
□ No XSS vulnerabilities
|
|
88
|
+
□ Authentication/authorization correct
|
|
89
|
+
□ Sensitive data handled properly
|
|
90
|
+
□ Dependencies are up to date
|
|
91
|
+
□ No debug/admin backdoors
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 2. Logic Review
|
|
95
|
+
```
|
|
96
|
+
□ Code does what it claims to do
|
|
97
|
+
□ Edge cases handled
|
|
98
|
+
□ Error handling is appropriate
|
|
99
|
+
□ Null/undefined handled safely
|
|
100
|
+
□ Race conditions considered
|
|
101
|
+
□ State management is correct
|
|
102
|
+
□ No obvious bugs
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 3. Architecture Review
|
|
106
|
+
```
|
|
107
|
+
□ Follows project patterns
|
|
108
|
+
□ Separation of concerns
|
|
109
|
+
□ Dependencies flow correctly
|
|
110
|
+
□ No circular dependencies
|
|
111
|
+
□ Appropriate abstraction level
|
|
112
|
+
□ DRY (Don't Repeat Yourself)
|
|
113
|
+
□ SOLID principles where applicable
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 4. Maintainability Review
|
|
117
|
+
```
|
|
118
|
+
□ Code is readable
|
|
119
|
+
□ Functions are reasonably sized
|
|
120
|
+
□ Names are clear and accurate
|
|
121
|
+
□ Complex logic is commented
|
|
122
|
+
□ No magic numbers/strings
|
|
123
|
+
□ Easy to modify in future
|
|
124
|
+
□ No unnecessary complexity
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 5. Testing Review
|
|
128
|
+
```
|
|
129
|
+
□ Tests exist for new functionality
|
|
130
|
+
□ Tests cover edge cases
|
|
131
|
+
□ Tests are readable
|
|
132
|
+
□ Tests actually test something
|
|
133
|
+
□ No testing implementation details
|
|
134
|
+
□ Existing tests still pass
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 6. Performance Review
|
|
138
|
+
```
|
|
139
|
+
□ No obvious performance issues
|
|
140
|
+
□ Database queries are efficient
|
|
141
|
+
□ No N+1 query problems
|
|
142
|
+
□ Appropriate caching
|
|
143
|
+
□ Memory usage reasonable
|
|
144
|
+
□ No blocking operations on main thread
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Review Communication
|
|
150
|
+
|
|
151
|
+
### The Feedback Format
|
|
152
|
+
```markdown
|
|
153
|
+
**Level**: [Critical/Important/Suggestion/Nitpick]
|
|
154
|
+
|
|
155
|
+
**What**: [Specific issue]
|
|
156
|
+
|
|
157
|
+
**Why**: [Impact or concern]
|
|
158
|
+
|
|
159
|
+
**How**: [Suggested fix or alternative]
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Examples
|
|
163
|
+
|
|
164
|
+
#### Critical Issue
|
|
165
|
+
```markdown
|
|
166
|
+
🔴 **Critical: SQL Injection Risk**
|
|
167
|
+
|
|
168
|
+
**Line 45**: `db.query("SELECT * FROM users WHERE id = " + userId)`
|
|
169
|
+
|
|
170
|
+
This is vulnerable to SQL injection. An attacker could delete data
|
|
171
|
+
or access unauthorized information.
|
|
172
|
+
|
|
173
|
+
**Suggested fix**:
|
|
174
|
+
```js
|
|
175
|
+
db.query("SELECT * FROM users WHERE id = ?", [userId])
|
|
176
|
+
```
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
#### Important Suggestion
|
|
180
|
+
```markdown
|
|
181
|
+
🟠 **Important: Missing Error Handling**
|
|
182
|
+
|
|
183
|
+
**Line 78**: `const data = await fetchUser(id)`
|
|
184
|
+
|
|
185
|
+
If fetchUser throws, this will crash the request handler and
|
|
186
|
+
return a 500 to the user.
|
|
187
|
+
|
|
188
|
+
**Suggested fix**:
|
|
189
|
+
```js
|
|
190
|
+
try {
|
|
191
|
+
const data = await fetchUser(id);
|
|
192
|
+
} catch (error) {
|
|
193
|
+
logger.error('Failed to fetch user', { id, error });
|
|
194
|
+
return res.status(404).json({ error: 'User not found' });
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### Suggestion
|
|
200
|
+
```markdown
|
|
201
|
+
🟡 **Suggestion: Naming Clarity**
|
|
202
|
+
|
|
203
|
+
**Line 32**: `const d = new Date()`
|
|
204
|
+
|
|
205
|
+
Single-letter variable names reduce readability.
|
|
206
|
+
|
|
207
|
+
**Consider**: `const createdAt = new Date()`
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### Nitpick
|
|
211
|
+
```markdown
|
|
212
|
+
⚪ **Nitpick** (optional, non-blocking)
|
|
213
|
+
|
|
214
|
+
**Line 15**: Would prefer `const` over `let` here since it's never reassigned.
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Tone Guidelines
|
|
218
|
+
```
|
|
219
|
+
AVOID:
|
|
220
|
+
- "You should..."
|
|
221
|
+
- "This is wrong"
|
|
222
|
+
- "Why would you..."
|
|
223
|
+
- "Obviously..."
|
|
224
|
+
|
|
225
|
+
PREFER:
|
|
226
|
+
- "Consider..."
|
|
227
|
+
- "What if we..."
|
|
228
|
+
- "I wonder if..."
|
|
229
|
+
- "One option might be..."
|
|
230
|
+
|
|
231
|
+
Questions often work better than commands:
|
|
232
|
+
"Could this throw if the user doesn't exist?"
|
|
233
|
+
vs
|
|
234
|
+
"This will crash when user doesn't exist!"
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Review Strategies
|
|
240
|
+
|
|
241
|
+
### The First Pass: Overview
|
|
242
|
+
```
|
|
243
|
+
1. Read the PR description
|
|
244
|
+
2. Understand the goal
|
|
245
|
+
3. Scan all files changed
|
|
246
|
+
4. Get the big picture
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### The Second Pass: Detail
|
|
250
|
+
```
|
|
251
|
+
1. Read each file carefully
|
|
252
|
+
2. Check logic flow
|
|
253
|
+
3. Look for bugs and issues
|
|
254
|
+
4. Note questions
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### The Third Pass: Context
|
|
258
|
+
```
|
|
259
|
+
1. Check how it fits with existing code
|
|
260
|
+
2. Consider future implications
|
|
261
|
+
3. Look for missing tests
|
|
262
|
+
4. Consider edge cases
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Large PR Strategy
|
|
266
|
+
```
|
|
267
|
+
If PR is too big to review effectively:
|
|
268
|
+
|
|
269
|
+
1. Request it be split into smaller PRs
|
|
270
|
+
2. Focus on highest-risk files first
|
|
271
|
+
3. Review in multiple sessions
|
|
272
|
+
4. Trust tests for mechanical changes
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Common Review Scenarios
|
|
278
|
+
|
|
279
|
+
### The Refactoring PR
|
|
280
|
+
```
|
|
281
|
+
Key questions:
|
|
282
|
+
- Does behavior remain identical?
|
|
283
|
+
- Are there tests proving behavior is preserved?
|
|
284
|
+
- Is the new structure actually better?
|
|
285
|
+
- Is this the right time for this refactor?
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### The Bug Fix PR
|
|
289
|
+
```
|
|
290
|
+
Key questions:
|
|
291
|
+
- Does it actually fix the bug?
|
|
292
|
+
- Is there a test that would have caught this?
|
|
293
|
+
- Could this fix break something else?
|
|
294
|
+
- Is the root cause addressed?
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### The New Feature PR
|
|
298
|
+
```
|
|
299
|
+
Key questions:
|
|
300
|
+
- Does it meet requirements?
|
|
301
|
+
- Is it complete or partial?
|
|
302
|
+
- Are there edge cases?
|
|
303
|
+
- Is it testable and tested?
|
|
304
|
+
- Does it fit the architecture?
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### The Dependencies Update PR
|
|
308
|
+
```
|
|
309
|
+
Key questions:
|
|
310
|
+
- Is this update necessary?
|
|
311
|
+
- Are there breaking changes?
|
|
312
|
+
- Have changelogs been reviewed?
|
|
313
|
+
- Do tests still pass?
|
|
314
|
+
- Any security advisories?
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Self-Review Checklist
|
|
320
|
+
|
|
321
|
+
Before requesting review, check:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
□ Code compiles/passes linter
|
|
325
|
+
□ Tests pass
|
|
326
|
+
□ Changes match PR description
|
|
327
|
+
□ No debug code left in
|
|
328
|
+
□ No commented-out code
|
|
329
|
+
□ No unrelated changes
|
|
330
|
+
□ Commit messages are clear
|
|
331
|
+
□ Documentation updated if needed
|
|
332
|
+
□ PR is reasonably sized
|
|
333
|
+
□ Ready for someone else to read
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Being a Good Reviewer
|
|
339
|
+
|
|
340
|
+
### Timeliness
|
|
341
|
+
```
|
|
342
|
+
Review within 24 hours if possible.
|
|
343
|
+
Blocked authors = blocked productivity.
|
|
344
|
+
If you can't review, say so.
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Completeness
|
|
348
|
+
```
|
|
349
|
+
Review thoroughly the first time.
|
|
350
|
+
Multiple rounds of "one more thing" is frustrating.
|
|
351
|
+
Group all feedback in one review.
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Approachability
|
|
355
|
+
```
|
|
356
|
+
Praise what's good, not just what's wrong.
|
|
357
|
+
"Nice approach to this problem"
|
|
358
|
+
"Clean solution for the edge case"
|
|
359
|
+
Genuine appreciation builds trust.
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### Ownership
|
|
363
|
+
```
|
|
364
|
+
Reviews aren't about winning.
|
|
365
|
+
The goal is better code AND better coders.
|
|
366
|
+
Be willing to be wrong.
|
|
367
|
+
Defer to author on judgment calls.
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Quick Reference
|
|
373
|
+
|
|
374
|
+
### Review Comment Prefixes
|
|
375
|
+
```
|
|
376
|
+
🔴 CRITICAL: - Must fix before merge
|
|
377
|
+
🟠 IMPORTANT: - Should fix before merge
|
|
378
|
+
🟡 SUGGESTION: - Improvement idea
|
|
379
|
+
⚪ NIT: - Take it or leave it
|
|
380
|
+
❓ QUESTION: - Need clarification
|
|
381
|
+
💭 THOUGHT: - Something to consider
|
|
382
|
+
👍 NICE: - Positive feedback
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### The 10-Minute Review
|
|
386
|
+
```
|
|
387
|
+
If you only have 10 minutes:
|
|
388
|
+
1. Read PR description (1 min)
|
|
389
|
+
2. Scan file changes (2 min)
|
|
390
|
+
3. Check highest-risk code (5 min)
|
|
391
|
+
4. Verify tests exist (2 min)
|
|
392
|
+
|
|
393
|
+
Flag if needs deeper review.
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### Review Red Flags
|
|
397
|
+
```
|
|
398
|
+
- Very large diffs (>500 lines)
|
|
399
|
+
- No tests for new logic
|
|
400
|
+
- Commented-out code
|
|
401
|
+
- TODOs without tickets
|
|
402
|
+
- Copy-pasted code blocks
|
|
403
|
+
- Complex nested logic
|
|
404
|
+
- Magic numbers/strings
|
|
405
|
+
- Ignored error handling
|
|
406
|
+
- Hardcoded values
|
|
407
|
+
- Console.log/print statements
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
*"Review the code, not the coder. The goal is software we're all proud of."*
|