beeops 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.
- package/LICENSE +21 -0
- package/README.ja.md +156 -0
- package/README.md +80 -0
- package/bin/beeops.js +502 -0
- package/command/bo.md +120 -0
- package/contexts/agent-modes.json +100 -0
- package/contexts/code-reviewer.md +118 -0
- package/contexts/coder.md +247 -0
- package/contexts/default.md +1 -0
- package/contexts/en/agent-modes.json +100 -0
- package/contexts/en/code-reviewer.md +129 -0
- package/contexts/en/coder.md +247 -0
- package/contexts/en/default.md +1 -0
- package/contexts/en/fb.md +15 -0
- package/contexts/en/leader.md +158 -0
- package/contexts/en/log.md +16 -0
- package/contexts/en/queen.md +240 -0
- package/contexts/en/review-leader.md +190 -0
- package/contexts/en/reviewer-base.md +27 -0
- package/contexts/en/security-reviewer.md +200 -0
- package/contexts/en/test-auditor.md +146 -0
- package/contexts/en/tester.md +135 -0
- package/contexts/en/worker-base.md +69 -0
- package/contexts/fb.md +15 -0
- package/contexts/ja/agent-modes.json +100 -0
- package/contexts/ja/code-reviewer.md +129 -0
- package/contexts/ja/coder.md +247 -0
- package/contexts/ja/default.md +1 -0
- package/contexts/ja/fb.md +15 -0
- package/contexts/ja/leader.md +158 -0
- package/contexts/ja/log.md +17 -0
- package/contexts/ja/queen.md +240 -0
- package/contexts/ja/review-leader.md +190 -0
- package/contexts/ja/reviewer-base.md +27 -0
- package/contexts/ja/security-reviewer.md +200 -0
- package/contexts/ja/test-auditor.md +146 -0
- package/contexts/ja/tester.md +135 -0
- package/contexts/ja/worker-base.md +68 -0
- package/contexts/leader.md +158 -0
- package/contexts/log.md +16 -0
- package/contexts/queen.md +240 -0
- package/contexts/review-leader.md +190 -0
- package/contexts/reviewer-base.md +27 -0
- package/contexts/security-reviewer.md +200 -0
- package/contexts/test-auditor.md +146 -0
- package/contexts/tester.md +135 -0
- package/contexts/worker-base.md +69 -0
- package/hooks/checkpoint.py +89 -0
- package/hooks/prompt-context.py +139 -0
- package/hooks/resolve-log-path.py +93 -0
- package/hooks/run-log.py +429 -0
- package/package.json +42 -0
- package/scripts/launch-leader.sh +282 -0
- package/scripts/launch-worker.sh +184 -0
- package/skills/bo-dispatch/SKILL.md +299 -0
- package/skills/bo-issue-sync/SKILL.md +103 -0
- package/skills/bo-leader-dispatch/SKILL.md +211 -0
- package/skills/bo-log-writer/SKILL.md +101 -0
- package/skills/bo-review-backend/SKILL.md +234 -0
- package/skills/bo-review-database/SKILL.md +243 -0
- package/skills/bo-review-frontend/SKILL.md +236 -0
- package/skills/bo-review-operations/SKILL.md +268 -0
- package/skills/bo-review-process/SKILL.md +181 -0
- package/skills/bo-review-security/SKILL.md +214 -0
- package/skills/bo-review-security/references/finance-security.md +351 -0
- package/skills/bo-self-improver/SKILL.md +145 -0
- package/skills/bo-self-improver/refs/agent-manager.md +61 -0
- package/skills/bo-self-improver/refs/command-manager.md +46 -0
- package/skills/bo-self-improver/refs/skill-manager.md +59 -0
- package/skills/bo-self-improver/scripts/analyze.py +359 -0
- package/skills/bo-task-decomposer/SKILL.md +130 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bo-review-frontend
|
|
3
|
+
description: Triggered for frontend code and component design reviews. [Required pair: bo-review-security] Targets: React/Vue etc. (.tsx/.vue), frontend design docs (doc/design/frontend). Use bo-review-backend for backend, bo-review-database for DB.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Usage Contract
|
|
7
|
+
|
|
8
|
+
When using this skill, always include the following at the beginning of your output:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
[SKILL_USED: bo-review-frontend]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Frontend Review Guide
|
|
17
|
+
|
|
18
|
+
Checklist for reviewing frontend code.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Component Design
|
|
23
|
+
|
|
24
|
+
### Separation of Concerns
|
|
25
|
+
|
|
26
|
+
- [ ] Does each component have a single responsibility?
|
|
27
|
+
- [ ] Is business logic leaking into UI components?
|
|
28
|
+
- [ ] Is the separation of Server Components and Client Components appropriate?
|
|
29
|
+
|
|
30
|
+
### Component Size
|
|
31
|
+
|
|
32
|
+
- [ ] Have components exceeding 100 lines been considered for splitting?
|
|
33
|
+
- [ ] If props exceed 5, has the design been reconsidered?
|
|
34
|
+
- [ ] Is there logic that should be extracted into custom hooks?
|
|
35
|
+
|
|
36
|
+
### Props Design
|
|
37
|
+
|
|
38
|
+
- [ ] Are required/optional props clearly defined?
|
|
39
|
+
- [ ] Are default values appropriate?
|
|
40
|
+
- [ ] Are type definitions accurate (TypeScript)?
|
|
41
|
+
- [ ] Is prop drilling avoided?
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## State Management
|
|
46
|
+
|
|
47
|
+
### State Placement
|
|
48
|
+
|
|
49
|
+
| State Type | Placement |
|
|
50
|
+
| ----------------- | --------------------- |
|
|
51
|
+
| Local UI state | useState |
|
|
52
|
+
| Shared UI state | Context / Zustand |
|
|
53
|
+
| Server state | TanStack Query / SWR |
|
|
54
|
+
| URL state | Router |
|
|
55
|
+
| Form state | React Hook Form |
|
|
56
|
+
|
|
57
|
+
- [ ] Is state placed at the minimum necessary scope?
|
|
58
|
+
- [ ] Are unnecessary global states being created?
|
|
59
|
+
- [ ] Is derived state being held as state?
|
|
60
|
+
|
|
61
|
+
### State Updates
|
|
62
|
+
|
|
63
|
+
- [ ] Is immutability maintained?
|
|
64
|
+
- [ ] Is the state update logic clear?
|
|
65
|
+
- [ ] Is there a possibility of infinite loops?
|
|
66
|
+
|
|
67
|
+
### Side Effects
|
|
68
|
+
|
|
69
|
+
- [ ] Is the useEffect dependency array accurate?
|
|
70
|
+
- [ ] Are cleanup functions implemented as needed?
|
|
71
|
+
- [ ] Is useEffect being overused (React 19 optimizes with compiler)?
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Performance (Core Web Vitals)
|
|
76
|
+
|
|
77
|
+
### Target Values
|
|
78
|
+
|
|
79
|
+
| Metric | Target | Description |
|
|
80
|
+
| ------ | ------- | ------------------------- |
|
|
81
|
+
| LCP | < 2.5s | Largest Contentful Paint |
|
|
82
|
+
| INP | < 200ms | Interaction to Next Paint |
|
|
83
|
+
| CLS | < 0.1 | Cumulative Layout Shift |
|
|
84
|
+
| FCP | < 1.8s | First Contentful Paint |
|
|
85
|
+
|
|
86
|
+
### High-Impact Optimizations (Priority)
|
|
87
|
+
|
|
88
|
+
- [ ] Is React Compiler being used (React 19+)?
|
|
89
|
+
- [ ] Is Code Splitting / Lazy Loading applied?
|
|
90
|
+
- [ ] Are images optimized (next/image, etc.)?
|
|
91
|
+
- [ ] Is the state management architecture appropriate?
|
|
92
|
+
|
|
93
|
+
### Rendering Optimization
|
|
94
|
+
|
|
95
|
+
- [ ] Are unnecessary re-renders prevented?
|
|
96
|
+
- [ ] Are React.memo / useMemo / useCallback used **only when necessary**?
|
|
97
|
+
- With React 19 + Compiler, auto-memoization makes these unnecessary in many cases
|
|
98
|
+
- [ ] Are expensive computations memoized?
|
|
99
|
+
|
|
100
|
+
### Bundle Size
|
|
101
|
+
|
|
102
|
+
- [ ] Are there unnecessary dependencies?
|
|
103
|
+
- [ ] Are imports tree-shakeable?
|
|
104
|
+
- [ ] Is Dynamic Import being used?
|
|
105
|
+
|
|
106
|
+
### List Optimization
|
|
107
|
+
|
|
108
|
+
- [ ] Has virtualization (react-window, etc.) been considered for long lists?
|
|
109
|
+
- [ ] Are keys properly set (avoid index)?
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Accessibility (WCAG 2.2)
|
|
114
|
+
|
|
115
|
+
### Semantics
|
|
116
|
+
|
|
117
|
+
- [ ] Are appropriate HTML elements used (avoid div soup)?
|
|
118
|
+
- [ ] Are heading levels (h1-h6) appropriate?
|
|
119
|
+
- [ ] Are landmark elements (nav, main, aside, etc.) used?
|
|
120
|
+
- [ ] Are buttons using `<button>` (not div + onClick)?
|
|
121
|
+
|
|
122
|
+
### Keyboard Operation
|
|
123
|
+
|
|
124
|
+
- [ ] Are all interactive elements keyboard-accessible?
|
|
125
|
+
- [ ] Is the focus order logical?
|
|
126
|
+
- [ ] Is the focus state visually clear?
|
|
127
|
+
- [ ] Are focus traps (modals, etc.) appropriate?
|
|
128
|
+
|
|
129
|
+
### Screen Reader
|
|
130
|
+
|
|
131
|
+
- [ ] Do images have alt attributes?
|
|
132
|
+
- [ ] Do icon buttons have aria-label?
|
|
133
|
+
- [ ] Are dynamic content updates announced (aria-live)?
|
|
134
|
+
- [ ] Are form inputs associated with labels?
|
|
135
|
+
|
|
136
|
+
### Contrast & Color
|
|
137
|
+
|
|
138
|
+
- [ ] Is text contrast ratio 4.5:1 or higher?
|
|
139
|
+
- [ ] Is large text (18pt+) 3:1 or higher?
|
|
140
|
+
- [ ] Is information conveyed through color alone avoided?
|
|
141
|
+
|
|
142
|
+
### Motion
|
|
143
|
+
|
|
144
|
+
- [ ] Is `prefers-reduced-motion` respected?
|
|
145
|
+
- [ ] Can auto-playing animations be stopped?
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Error Handling
|
|
150
|
+
|
|
151
|
+
- [ ] Are API errors handled appropriately?
|
|
152
|
+
- [ ] Are user-friendly error messages displayed?
|
|
153
|
+
- [ ] Are Error Boundaries configured?
|
|
154
|
+
- [ ] Are loading states displayed?
|
|
155
|
+
- [ ] Is Suspense used appropriately?
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Testing
|
|
160
|
+
|
|
161
|
+
### Test Perspectives
|
|
162
|
+
|
|
163
|
+
- [ ] Are critical user flows tested?
|
|
164
|
+
- [ ] Is component behavior tested?
|
|
165
|
+
- [ ] Are tests written from the user's perspective, not implementation details?
|
|
166
|
+
- [ ] Are edge cases considered?
|
|
167
|
+
|
|
168
|
+
### Testing Library
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
// Good: user perspective
|
|
172
|
+
screen.getByRole('button', { name: 'Submit' });
|
|
173
|
+
|
|
174
|
+
// Bad: implementation details
|
|
175
|
+
container.querySelector('.submit-btn');
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Test Quality
|
|
179
|
+
|
|
180
|
+
- [ ] Can tests be read as specifications?
|
|
181
|
+
- [ ] Are tests tightly coupled to implementation details?
|
|
182
|
+
- [ ] Has Visual Regression Testing been considered?
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Security
|
|
187
|
+
|
|
188
|
+
- [ ] XSS prevention: is dangerouslySetInnerHTML avoided?
|
|
189
|
+
- [ ] Is user input sanitized?
|
|
190
|
+
- [ ] Is sensitive information not exposed to the client?
|
|
191
|
+
- [ ] Is HTTPS used?
|
|
192
|
+
- [ ] Is CSP (Content Security Policy) configured?
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Build Tools
|
|
197
|
+
|
|
198
|
+
| Tool | Use Case |
|
|
199
|
+
| --------- | ----------------------------- |
|
|
200
|
+
| Vite | Dev server, build |
|
|
201
|
+
| Turbopack | Fast build for Next.js |
|
|
202
|
+
| Bun | Runtime + build |
|
|
203
|
+
|
|
204
|
+
- [ ] Is build time within acceptable range?
|
|
205
|
+
- [ ] Does HMR work properly?
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Output Format
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
## Frontend Review Result
|
|
213
|
+
[LGTM / Needs Changes / Needs Discussion]
|
|
214
|
+
|
|
215
|
+
## Check Results
|
|
216
|
+
| Category | Status | Notes |
|
|
217
|
+
|----------|--------|-------|
|
|
218
|
+
| Component Design | OK/NG | ... |
|
|
219
|
+
| State Management | OK/NG | ... |
|
|
220
|
+
| Performance | OK/NG | ... |
|
|
221
|
+
| Accessibility | OK/NG | ... |
|
|
222
|
+
| Testing | OK/NG | ... |
|
|
223
|
+
|
|
224
|
+
## Issues Found
|
|
225
|
+
- Problem: [what is the issue]
|
|
226
|
+
- Location: [file:line_number]
|
|
227
|
+
- Suggestion: [how to fix]
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## References
|
|
233
|
+
|
|
234
|
+
- [React Best Practices 2025](https://talent500.com/blog/modern-frontend-best-practices-with-react-and-next-js-2025/)
|
|
235
|
+
- [Web Vitals](https://web.dev/vitals/)
|
|
236
|
+
- [WCAG 2.2](https://www.w3.org/TR/WCAG22/)
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bo-review-operations
|
|
3
|
+
description: "[Limited trigger] Triggered only for infrastructure, deployment, and monitoring configuration reviews. Targets: Dockerfile, k8s, CI/CD, monitoring config, operations docs. Not triggered for normal code reviews. SLO/SLA, availability, logging, incident response."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Usage Contract
|
|
7
|
+
|
|
8
|
+
When using this skill, always include the following at the beginning of your output:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
[SKILL_USED: bo-review-operations]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Operations Review Guide
|
|
17
|
+
|
|
18
|
+
Checklist for non-functional requirements and operational concerns.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## SLO / SLA
|
|
23
|
+
|
|
24
|
+
### Definitions
|
|
25
|
+
|
|
26
|
+
- [ ] Are SLIs (Service Level Indicators) defined?
|
|
27
|
+
- [ ] Are SLOs (Service Level Objectives) set?
|
|
28
|
+
- [ ] Is the error budget calculated?
|
|
29
|
+
|
|
30
|
+
### Key SLIs
|
|
31
|
+
|
|
32
|
+
| SLI | Formula | Target Example |
|
|
33
|
+
| ------------ | ------------------------------- | -------------- |
|
|
34
|
+
| Availability | Successful requests / Total | 99.9% |
|
|
35
|
+
| Latency | p99 response time | < 500ms |
|
|
36
|
+
| Throughput | Requests/second | > 1000 RPS |
|
|
37
|
+
| Error rate | Errors / Total requests | < 0.1% |
|
|
38
|
+
|
|
39
|
+
### Error Budget
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Monthly error budget (99.9% SLO):
|
|
43
|
+
43,200 min x 0.1% = 43.2 min/month
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- [ ] Are actions defined for when error budget is consumed?
|
|
47
|
+
- [ ] Is there a release freeze when budget is exceeded?
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Availability & Reliability
|
|
52
|
+
|
|
53
|
+
### Failure Preparedness
|
|
54
|
+
|
|
55
|
+
- [ ] Are there no Single Points of Failure?
|
|
56
|
+
- [ ] Is a failover mechanism in place?
|
|
57
|
+
- [ ] Is Circuit Breaker implemented?
|
|
58
|
+
- [ ] Is Graceful Degradation designed?
|
|
59
|
+
|
|
60
|
+
### Redundancy
|
|
61
|
+
|
|
62
|
+
| Component | Redundancy Method |
|
|
63
|
+
| ------------ | ------------------------------ |
|
|
64
|
+
| Application | Multiple instances + LB |
|
|
65
|
+
| Database | Primary-Replica |
|
|
66
|
+
| Cache | Cluster or replication |
|
|
67
|
+
| Queue | Cluster |
|
|
68
|
+
|
|
69
|
+
### Timeouts & Retries
|
|
70
|
+
|
|
71
|
+
- [ ] Are timeouts set for external communication?
|
|
72
|
+
- [ ] Is there a retry strategy (Exponential Backoff)?
|
|
73
|
+
- [ ] Is a retry limit set?
|
|
74
|
+
- [ ] Is Idempotency Key implemented?
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Monitoring & Observability
|
|
79
|
+
|
|
80
|
+
### Three Pillars
|
|
81
|
+
|
|
82
|
+
| Pillar | Purpose | Tool Examples |
|
|
83
|
+
| ------- | ------------------- | --------------------- |
|
|
84
|
+
| Metrics | Time-series data | Prometheus, Datadog |
|
|
85
|
+
| Logs | Event recording | Loki, CloudWatch Logs |
|
|
86
|
+
| Traces | Request tracking | Jaeger, Tempo |
|
|
87
|
+
|
|
88
|
+
### Metrics
|
|
89
|
+
|
|
90
|
+
- [ ] Are RED metrics (Rate, Errors, Duration) being measured?
|
|
91
|
+
- [ ] Are USE metrics (Utilization, Saturation, Errors) being measured?
|
|
92
|
+
- [ ] Are custom business metrics in place?
|
|
93
|
+
|
|
94
|
+
### Alerting
|
|
95
|
+
|
|
96
|
+
- [ ] Are alerting rules configured?
|
|
97
|
+
- [ ] Are alert severities (Critical, Warning, Info) classified?
|
|
98
|
+
- [ ] Is there an on-call rotation?
|
|
99
|
+
- [ ] Are alert fatigue countermeasures in place?
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Logging
|
|
104
|
+
|
|
105
|
+
### Log Levels
|
|
106
|
+
|
|
107
|
+
| Level | Usage |
|
|
108
|
+
| ----- | ---------------------------------- |
|
|
109
|
+
| ERROR | System errors, immediate action |
|
|
110
|
+
| WARN | Warnings, attention needed |
|
|
111
|
+
| INFO | Normal significant events |
|
|
112
|
+
| DEBUG | Debug info (disabled in production)|
|
|
113
|
+
|
|
114
|
+
### Structured Logging
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"timestamp": "2025-01-01T12:00:00Z",
|
|
119
|
+
"level": "INFO",
|
|
120
|
+
"message": "Order created",
|
|
121
|
+
"orderId": "123",
|
|
122
|
+
"userId": "456",
|
|
123
|
+
"traceId": "abc-123"
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Checklist
|
|
128
|
+
|
|
129
|
+
- [ ] Are structured logs (JSON) used?
|
|
130
|
+
- [ ] Are trace IDs attached?
|
|
131
|
+
- [ ] Is sensitive information masked?
|
|
132
|
+
- [ ] Is log rotation configured?
|
|
133
|
+
- [ ] Is log retention period defined?
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Deployment Strategy
|
|
138
|
+
|
|
139
|
+
### Strategy Selection
|
|
140
|
+
|
|
141
|
+
| Strategy | Risk | Rollback Speed | Use Case |
|
|
142
|
+
| ---------- | ---- | -------------- | ---------------- |
|
|
143
|
+
| Blue-Green | Low | Immediate | High availability|
|
|
144
|
+
| Canary | Low | Immediate | Gradual rollout |
|
|
145
|
+
| Rolling | Med | Minutes | General purpose |
|
|
146
|
+
| Recreate | High | Slow | Dev environment |
|
|
147
|
+
|
|
148
|
+
### Checklist
|
|
149
|
+
|
|
150
|
+
- [ ] Is the deployment strategy defined?
|
|
151
|
+
- [ ] Is the rollback procedure clear?
|
|
152
|
+
- [ ] Has rollback been tested?
|
|
153
|
+
- [ ] Are Feature Flags used?
|
|
154
|
+
- [ ] Are DB migrations forward-compatible?
|
|
155
|
+
|
|
156
|
+
### Zero-Downtime Deployment
|
|
157
|
+
|
|
158
|
+
- [ ] Can old and new versions coexist?
|
|
159
|
+
- [ ] Does the DB schema work with both versions?
|
|
160
|
+
- [ ] Is the API backward-compatible?
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Incident Response
|
|
165
|
+
|
|
166
|
+
### Incident Flow
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
Detection -> Triage -> Mitigation -> Root Cause Analysis -> Prevention
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Preparation
|
|
173
|
+
|
|
174
|
+
- [ ] Are Runbooks maintained?
|
|
175
|
+
- [ ] Is the escalation path clear?
|
|
176
|
+
- [ ] Is there an incident management tool?
|
|
177
|
+
- [ ] Are incident drills (Game Day) conducted?
|
|
178
|
+
|
|
179
|
+
### Troubleshooting
|
|
180
|
+
|
|
181
|
+
- [ ] Is it easy to identify the failure point?
|
|
182
|
+
- [ ] Can dependent service status be checked?
|
|
183
|
+
- [ ] Are health check endpoints available?
|
|
184
|
+
|
|
185
|
+
### Health Checks
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
/health - Basic liveness check
|
|
189
|
+
/health/ready - Readiness including dependencies
|
|
190
|
+
/health/live - Process liveness check
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Backup & Recovery
|
|
196
|
+
|
|
197
|
+
### RPO / RTO
|
|
198
|
+
|
|
199
|
+
| Metric | Meaning | Example |
|
|
200
|
+
| ------ | ---------------------------- | ------- |
|
|
201
|
+
| RPO | Acceptable data loss period | 1 hour |
|
|
202
|
+
| RTO | Acceptable downtime | 4 hours |
|
|
203
|
+
|
|
204
|
+
### Checklist
|
|
205
|
+
|
|
206
|
+
- [ ] Are backups running on schedule?
|
|
207
|
+
- [ ] Has restore from backup been tested?
|
|
208
|
+
- [ ] Are backups in a different region/site?
|
|
209
|
+
- [ ] Is Point-in-Time Recovery available?
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Security Operations
|
|
214
|
+
|
|
215
|
+
See bo-review-security for details.
|
|
216
|
+
|
|
217
|
+
- [ ] Is secret rotation automated?
|
|
218
|
+
- [ ] Are vulnerability scans run regularly?
|
|
219
|
+
- [ ] Are dependency updates tracked?
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Cost
|
|
224
|
+
|
|
225
|
+
- [ ] Is resource sizing appropriate?
|
|
226
|
+
- [ ] Is auto-scaling configured?
|
|
227
|
+
- [ ] Are unused resources deleted?
|
|
228
|
+
- [ ] Are cost alerts set?
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Documentation
|
|
233
|
+
|
|
234
|
+
- [ ] Is the architecture diagram up to date?
|
|
235
|
+
- [ ] Are Runbooks maintained?
|
|
236
|
+
- [ ] Is there a dependency service list?
|
|
237
|
+
- [ ] Is there onboarding documentation?
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Output Format
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
## Operations Review Result
|
|
245
|
+
[LGTM / Needs Improvement / Needs Discussion]
|
|
246
|
+
|
|
247
|
+
## Check Results
|
|
248
|
+
| Category | Status | Notes |
|
|
249
|
+
|----------|--------|-------|
|
|
250
|
+
| SLO/SLA | OK/NG | ... |
|
|
251
|
+
| Availability | OK/NG | ... |
|
|
252
|
+
| Monitoring | OK/NG | ... |
|
|
253
|
+
| Logging | OK/NG | ... |
|
|
254
|
+
| Deployment | OK/NG | ... |
|
|
255
|
+
| Incident Response | OK/NG | ... |
|
|
256
|
+
|
|
257
|
+
## Issues Found
|
|
258
|
+
- Problem: [what is the issue]
|
|
259
|
+
- Risk: [impact if it occurs]
|
|
260
|
+
- Suggestion: [how to improve]
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## References
|
|
266
|
+
|
|
267
|
+
- [Google SRE Book](https://sre.google/sre-book/table-of-contents/)
|
|
268
|
+
- [The Art of SLOs](https://sre.google/resources/practices-and-processes/art-of-slos/)
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bo-review-process
|
|
3
|
+
description: "[Meta skill] Triggered only for review process quality questions and improvements. Targets: PR writing, comment conventions, review team structure and rules. Not triggered during actual code reviews."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Usage Contract
|
|
7
|
+
|
|
8
|
+
When using this skill, always include the following at the beginning of your output:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
[SKILL_USED: bo-review-process]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Code Review Process Guide
|
|
17
|
+
|
|
18
|
+
Defines the process and rules for code reviews.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Core Principles
|
|
23
|
+
|
|
24
|
+
### PR Size
|
|
25
|
+
|
|
26
|
+
| Size | Lines | Verdict |
|
|
27
|
+
| ---- | ----------- | -------------------- |
|
|
28
|
+
| S | up to 200 | Ideal |
|
|
29
|
+
| M | 201-400 | Acceptable |
|
|
30
|
+
| L | over 400 | Consider splitting |
|
|
31
|
+
|
|
32
|
+
**Splitting principle**: 1 PR = 1 logical change. Separate refactoring from feature additions.
|
|
33
|
+
|
|
34
|
+
### Human vs Automation
|
|
35
|
+
|
|
36
|
+
| Automation | Human Review |
|
|
37
|
+
| ----------------------------------- | -------------------------------- |
|
|
38
|
+
| Formatting, Lint, type checking | Design & architecture |
|
|
39
|
+
| Security scanning, test execution | Business logic correctness |
|
|
40
|
+
| Coverage checks | Naming, readability, edge cases |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Comment Classification
|
|
45
|
+
|
|
46
|
+
| Prefix | Meaning | Action |
|
|
47
|
+
| ---------- | ---------------- | ------------------------ |
|
|
48
|
+
| `[MUST]` | Required fix | Must address before merge|
|
|
49
|
+
| `[SHOULD]` | Recommended | Author's judgment |
|
|
50
|
+
| `[NIT]` | Minor issue | Optional to address |
|
|
51
|
+
| `[Q]` | Question | Reply required |
|
|
52
|
+
|
|
53
|
+
**Principle**: Criticize the code, not the person. Explain "why" and suggest alternatives.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Checklists
|
|
58
|
+
|
|
59
|
+
### Reviewer
|
|
60
|
+
|
|
61
|
+
- [ ] Do I understand the purpose of the PR?
|
|
62
|
+
- [ ] Is the change scope appropriate (scope creep)?
|
|
63
|
+
- [ ] Are tests sufficient?
|
|
64
|
+
- [ ] Does documentation need updating?
|
|
65
|
+
- [ ] Are there breaking changes?
|
|
66
|
+
- [ ] Are there security concerns?
|
|
67
|
+
|
|
68
|
+
**Time allocation guide**:
|
|
69
|
+
|
|
70
|
+
| Phase | Time Ratio |
|
|
71
|
+
| ------------------ | ---------- |
|
|
72
|
+
| Understanding overview | 10% |
|
|
73
|
+
| Code review | 60% |
|
|
74
|
+
| Test verification | 20% |
|
|
75
|
+
| Writing comments | 10% |
|
|
76
|
+
|
|
77
|
+
### Author (Before PR creation)
|
|
78
|
+
|
|
79
|
+
- [ ] Performed self-review?
|
|
80
|
+
- [ ] CI is passing?
|
|
81
|
+
- [ ] PR description is sufficient?
|
|
82
|
+
- [ ] Related Issue/ticket is linked?
|
|
83
|
+
- [ ] Screenshots attached (for UI changes)?
|
|
84
|
+
|
|
85
|
+
**PR description template**:
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
## Summary
|
|
89
|
+
|
|
90
|
+
[What changed and why]
|
|
91
|
+
|
|
92
|
+
## Changes
|
|
93
|
+
|
|
94
|
+
- [Change 1]
|
|
95
|
+
- [Change 2]
|
|
96
|
+
|
|
97
|
+
## Test Plan
|
|
98
|
+
|
|
99
|
+
- [Verification steps]
|
|
100
|
+
|
|
101
|
+
## Related
|
|
102
|
+
|
|
103
|
+
- Closes #123
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Review Anti-Patterns
|
|
109
|
+
|
|
110
|
+
Patterns where reviews become dysfunctional. Correct these when detected.
|
|
111
|
+
|
|
112
|
+
### Excessive Comments
|
|
113
|
+
|
|
114
|
+
**Symptom**: More than 10 comments on a single PR
|
|
115
|
+
|
|
116
|
+
| Cause | Fix |
|
|
117
|
+
| ------------------------ | -------------------------- |
|
|
118
|
+
| PR is too large | Ask to split the PR |
|
|
119
|
+
| Requirements were vague | Do design review first |
|
|
120
|
+
| No coding conventions | Solve with automation |
|
|
121
|
+
|
|
122
|
+
**Rule**: If > 10 comments, suggest PR split
|
|
123
|
+
|
|
124
|
+
### Preference Reviews
|
|
125
|
+
|
|
126
|
+
**Symptom**: "I would write it this way" proliferates
|
|
127
|
+
|
|
128
|
+
| Identification | Response |
|
|
129
|
+
| --------------------- | -------------------------------- |
|
|
130
|
+
| No impact on behavior | Tag as [NIT], make optional |
|
|
131
|
+
| Not in conventions | Add to conventions or let it go |
|
|
132
|
+
| Affects readability | Explain reasoning, use [SHOULD] |
|
|
133
|
+
|
|
134
|
+
**Rule**: Distinguish "preference" from "quality"
|
|
135
|
+
|
|
136
|
+
### Unresolved Spec Reviews
|
|
137
|
+
|
|
138
|
+
**Symptom**: "Should this feature even..." appears in comments
|
|
139
|
+
|
|
140
|
+
| Cause | Fix |
|
|
141
|
+
| ------------------------- | ---------------------------- |
|
|
142
|
+
| Skipped design review | Close PR, start from design |
|
|
143
|
+
| Requirements changed | Close PR, redesign |
|
|
144
|
+
|
|
145
|
+
**Rule**: Don't do design discussions in PR reviews
|
|
146
|
+
|
|
147
|
+
### Rubber Stamp Approvals
|
|
148
|
+
|
|
149
|
+
**Symptom**: "LGTM" only, instant approval
|
|
150
|
+
|
|
151
|
+
| Cause | Fix |
|
|
152
|
+
| -------------------- | ---------------------------- |
|
|
153
|
+
| No time for review | Adjust team workload |
|
|
154
|
+
| Too much trust | Random detailed reviews |
|
|
155
|
+
|
|
156
|
+
**Rule**: Ask at least one question even if nothing found
|
|
157
|
+
|
|
158
|
+
### Blocking Reviews
|
|
159
|
+
|
|
160
|
+
**Symptom**: Review abandoned for 48+ hours
|
|
161
|
+
|
|
162
|
+
| Cause | Fix |
|
|
163
|
+
| -------------------- | ----------------------- |
|
|
164
|
+
| Reviewer is busy | Assign multiple reviewers|
|
|
165
|
+
| PR is too complex | Request pair review |
|
|
166
|
+
|
|
167
|
+
**Rule**: Escalate after 48 hours
|
|
168
|
+
|
|
169
|
+
### Emotional Reviews
|
|
170
|
+
|
|
171
|
+
**Symptom**: Aggressive or sarcastic comments
|
|
172
|
+
|
|
173
|
+
**Response**: Intervene immediately. Edit or delete comment. Give feedback in 1-on-1.
|
|
174
|
+
|
|
175
|
+
**Rule**: Criticize the code, not the person
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## References
|
|
180
|
+
|
|
181
|
+
- [Google Engineering Practices](https://google.github.io/eng-practices/review/)
|