omgkit 2.2.0 → 2.3.1
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/README.md +3 -3
- package/package.json +1 -1
- package/plugin/skills/databases/database-management/SKILL.md +288 -0
- package/plugin/skills/databases/database-migration/SKILL.md +285 -0
- package/plugin/skills/databases/database-schema-design/SKILL.md +195 -0
- package/plugin/skills/databases/mongodb/SKILL.md +60 -776
- package/plugin/skills/databases/prisma/SKILL.md +53 -744
- package/plugin/skills/databases/redis/SKILL.md +53 -860
- package/plugin/skills/databases/supabase/SKILL.md +283 -0
- package/plugin/skills/devops/aws/SKILL.md +68 -672
- package/plugin/skills/devops/github-actions/SKILL.md +54 -657
- package/plugin/skills/devops/kubernetes/SKILL.md +67 -602
- package/plugin/skills/devops/performance-profiling/SKILL.md +59 -863
- package/plugin/skills/frameworks/django/SKILL.md +87 -853
- package/plugin/skills/frameworks/express/SKILL.md +95 -1301
- package/plugin/skills/frameworks/fastapi/SKILL.md +90 -1198
- package/plugin/skills/frameworks/laravel/SKILL.md +87 -1187
- package/plugin/skills/frameworks/nestjs/SKILL.md +106 -973
- package/plugin/skills/frameworks/react/SKILL.md +94 -962
- package/plugin/skills/frameworks/vue/SKILL.md +95 -1242
- package/plugin/skills/frontend/accessibility/SKILL.md +91 -1056
- package/plugin/skills/frontend/frontend-design/SKILL.md +69 -1262
- package/plugin/skills/frontend/responsive/SKILL.md +76 -799
- package/plugin/skills/frontend/shadcn-ui/SKILL.md +73 -921
- package/plugin/skills/frontend/tailwindcss/SKILL.md +60 -788
- package/plugin/skills/frontend/threejs/SKILL.md +72 -1266
- package/plugin/skills/languages/javascript/SKILL.md +106 -849
- package/plugin/skills/methodology/brainstorming/SKILL.md +70 -576
- package/plugin/skills/methodology/defense-in-depth/SKILL.md +79 -831
- package/plugin/skills/methodology/dispatching-parallel-agents/SKILL.md +81 -654
- package/plugin/skills/methodology/executing-plans/SKILL.md +86 -529
- package/plugin/skills/methodology/finishing-development-branch/SKILL.md +95 -586
- package/plugin/skills/methodology/problem-solving/SKILL.md +67 -681
- package/plugin/skills/methodology/receiving-code-review/SKILL.md +70 -533
- package/plugin/skills/methodology/requesting-code-review/SKILL.md +70 -610
- package/plugin/skills/methodology/root-cause-tracing/SKILL.md +70 -646
- package/plugin/skills/methodology/sequential-thinking/SKILL.md +70 -478
- package/plugin/skills/methodology/systematic-debugging/SKILL.md +66 -559
- package/plugin/skills/methodology/test-driven-development/SKILL.md +91 -752
- package/plugin/skills/methodology/testing-anti-patterns/SKILL.md +78 -687
- package/plugin/skills/methodology/token-optimization/SKILL.md +72 -602
- package/plugin/skills/methodology/verification-before-completion/SKILL.md +108 -529
- package/plugin/skills/methodology/writing-plans/SKILL.md +79 -566
- package/plugin/skills/omega/omega-architecture/SKILL.md +91 -752
- package/plugin/skills/omega/omega-coding/SKILL.md +161 -552
- package/plugin/skills/omega/omega-sprint/SKILL.md +132 -777
- package/plugin/skills/omega/omega-testing/SKILL.md +157 -845
- package/plugin/skills/omega/omega-thinking/SKILL.md +165 -606
- package/plugin/skills/security/better-auth/SKILL.md +46 -1034
- package/plugin/skills/security/oauth/SKILL.md +80 -934
- package/plugin/skills/security/owasp/SKILL.md +78 -862
- package/plugin/skills/testing/playwright/SKILL.md +77 -700
- package/plugin/skills/testing/pytest/SKILL.md +73 -811
- package/plugin/skills/testing/vitest/SKILL.md +60 -920
- package/plugin/skills/tools/document-processing/SKILL.md +111 -838
- package/plugin/skills/tools/image-processing/SKILL.md +126 -659
- package/plugin/skills/tools/mcp-development/SKILL.md +85 -758
- package/plugin/skills/tools/media-processing/SKILL.md +118 -735
- package/plugin/stdrules/SKILL_STANDARDS.md +490 -0
- package/plugin/skills/SKILL_STANDARDS.md +0 -743
|
@@ -1,606 +1,119 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: writing-plans
|
|
3
|
-
description:
|
|
4
|
-
category: methodology
|
|
5
|
-
triggers:
|
|
6
|
-
- writing plans
|
|
7
|
-
- implementation plan
|
|
8
|
-
- planning
|
|
9
|
-
- task breakdown
|
|
10
|
-
- project planning
|
|
11
|
-
- feature plan
|
|
12
|
-
- roadmap
|
|
3
|
+
description: AI agent creates structured implementation plans with task breakdown, dependency mapping, risk assessment, and file-level detail. Use when planning features, projects, or complex implementations.
|
|
13
4
|
---
|
|
14
5
|
|
|
15
6
|
# Writing Plans
|
|
16
7
|
|
|
17
|
-
|
|
8
|
+
## Quick Start
|
|
18
9
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
- Estimate effort and allocate resources
|
|
26
|
-
- Anticipate and mitigate risks
|
|
27
|
-
- Enable parallel execution where possible
|
|
28
|
-
- Create clear success criteria
|
|
29
|
-
- Document decisions and rationale
|
|
10
|
+
1. **Summarize** - Executive summary with goals, non-goals, background
|
|
11
|
+
2. **Design** - High-level approach, architecture diagram, key decisions
|
|
12
|
+
3. **Break Down** - Tasks in 2-4 hour chunks with file locations
|
|
13
|
+
4. **Map Dependencies** - Identify critical path and parallel opportunities
|
|
14
|
+
5. **Assess Risks** - Likelihood x Impact matrix with mitigations
|
|
15
|
+
6. **Estimate** - Three-point estimation with buffers
|
|
30
16
|
|
|
31
17
|
## Features
|
|
32
18
|
|
|
33
|
-
|
|
19
|
+
| Feature | Description | Guide |
|
|
20
|
+
|---------|-------------|-------|
|
|
21
|
+
| Plan Structure | Comprehensive template | Summary, design, tasks, testing, risks |
|
|
22
|
+
| Task Breakdown | Manageable work units | 2-4 hours, single owner, clear criteria |
|
|
23
|
+
| Dependency Mapping | Sequence and parallelize | Critical path, hard/soft dependencies |
|
|
24
|
+
| Risk Assessment | Anticipate problems | Likelihood x Impact matrix |
|
|
25
|
+
| Effort Estimation | Realistic timing | Three-point: (O + 4M + P) / 6 |
|
|
26
|
+
| File-Level Detail | Exact code locations | New files, modifications, line numbers |
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
# Plan: [Feature/Project Name]
|
|
28
|
+
## Common Patterns
|
|
37
29
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- Status: Draft | In Review | Approved | In Progress | Complete
|
|
42
|
-
- Estimated Duration: [X days/weeks]
|
|
43
|
-
- Priority: P0 | P1 | P2 | P3
|
|
30
|
+
```
|
|
31
|
+
# Plan Structure
|
|
32
|
+
# Plan: [Feature Name]
|
|
44
33
|
|
|
45
|
-
##
|
|
46
|
-
|
|
34
|
+
## Metadata
|
|
35
|
+
- Status: Draft | Approved | In Progress
|
|
36
|
+
- Estimated Duration: [X days]
|
|
37
|
+
- Priority: P0 | P1 | P2
|
|
47
38
|
|
|
48
39
|
## Goals & Non-Goals
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- [What this plan WILL accomplish]
|
|
52
|
-
- [Measurable outcome 1]
|
|
53
|
-
- [Measurable outcome 2]
|
|
54
|
-
|
|
55
|
-
### Non-Goals
|
|
56
|
-
- [What this plan will NOT address]
|
|
57
|
-
- [Explicitly out of scope items]
|
|
58
|
-
|
|
59
|
-
## Background & Context
|
|
60
|
-
[Why is this needed? What problem does it solve?]
|
|
61
|
-
|
|
62
|
-
### Current State
|
|
63
|
-
[Description of how things work today]
|
|
64
|
-
|
|
65
|
-
### Desired State
|
|
66
|
-
[Description of how things should work after]
|
|
40
|
+
Goals: [What this WILL accomplish]
|
|
41
|
+
Non-Goals: [What this will NOT address]
|
|
67
42
|
|
|
68
43
|
## Design Overview
|
|
69
|
-
[High-level approach
|
|
70
|
-
|
|
71
|
-
### Architecture Diagram
|
|
72
|
-
```
|
|
73
|
-
[Component A] ──► [Component B] ──► [Component C]
|
|
74
|
-
│ │
|
|
75
|
-
▼ ▼
|
|
76
|
-
[Database] [Cache]
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Key Decisions
|
|
80
|
-
| Decision | Options Considered | Choice | Rationale |
|
|
81
|
-
|----------|-------------------|--------|-----------|
|
|
82
|
-
| [Topic] | A, B, C | B | [Why B] |
|
|
44
|
+
[High-level approach, architecture diagram]
|
|
83
45
|
|
|
84
46
|
## Implementation Tasks
|
|
85
47
|
|
|
86
48
|
### Phase 1: [Foundation] - [X days]
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
- **Dependencies:** None
|
|
94
|
-
- **Acceptance Criteria:**
|
|
49
|
+
#### Task 1.1: [Name]
|
|
50
|
+
- Description: [What]
|
|
51
|
+
- Estimate: [X hours]
|
|
52
|
+
- Files: `src/file.ts:45-60`
|
|
53
|
+
- Dependencies: None
|
|
54
|
+
- Acceptance Criteria:
|
|
95
55
|
- [ ] [Criterion 1]
|
|
96
56
|
- [ ] [Criterion 2]
|
|
97
57
|
|
|
98
|
-
#### Task 1.2: [Task Name]
|
|
99
|
-
- **Description:** [What needs to be done]
|
|
100
|
-
- **Owner:** [Name/Team]
|
|
101
|
-
- **Estimate:** [X hours/days]
|
|
102
|
-
- **Files:** `path/to/file.ts:line`
|
|
103
|
-
- **Dependencies:** Task 1.1
|
|
104
|
-
- **Acceptance Criteria:**
|
|
105
|
-
- [ ] [Criterion 1]
|
|
106
|
-
|
|
107
|
-
### Phase 2: [Core Implementation] - [X days]
|
|
108
|
-
[Continue with tasks...]
|
|
109
|
-
|
|
110
|
-
## Testing Strategy
|
|
111
|
-
|
|
112
|
-
### Unit Tests
|
|
113
|
-
- [Component A] - [What to test]
|
|
114
|
-
- [Component B] - [What to test]
|
|
115
|
-
|
|
116
|
-
### Integration Tests
|
|
117
|
-
- [Flow 1] - [What to verify]
|
|
118
|
-
- [Flow 2] - [What to verify]
|
|
119
|
-
|
|
120
|
-
### E2E Tests
|
|
121
|
-
- [Critical path 1]
|
|
122
|
-
- [Critical path 2]
|
|
123
|
-
|
|
124
|
-
### Manual Testing
|
|
125
|
-
- [ ] [Scenario to test manually]
|
|
126
|
-
|
|
127
|
-
## Rollout Plan
|
|
128
|
-
|
|
129
|
-
### Phase 1: Internal Testing
|
|
130
|
-
- Deploy to staging
|
|
131
|
-
- Internal team testing
|
|
132
|
-
- Duration: [X days]
|
|
133
|
-
|
|
134
|
-
### Phase 2: Beta
|
|
135
|
-
- Feature flag: 5% of users
|
|
136
|
-
- Monitor metrics
|
|
137
|
-
- Duration: [X days]
|
|
138
|
-
|
|
139
|
-
### Phase 3: GA
|
|
140
|
-
- Gradual rollout: 25% → 50% → 100%
|
|
141
|
-
- Duration: [X days]
|
|
142
|
-
|
|
143
58
|
## Risks & Mitigations
|
|
144
|
-
|
|
145
59
|
| Risk | Likelihood | Impact | Mitigation |
|
|
146
60
|
|------|------------|--------|------------|
|
|
147
|
-
| [Risk
|
|
148
|
-
| [Risk 2] | Medium | Medium | [Strategy] |
|
|
149
|
-
|
|
150
|
-
## Success Metrics
|
|
151
|
-
- [Metric 1]: Baseline [X] → Target [Y]
|
|
152
|
-
- [Metric 2]: Baseline [X] → Target [Y]
|
|
153
|
-
|
|
154
|
-
## Open Questions
|
|
155
|
-
- [ ] [Question 1]
|
|
156
|
-
- [ ] [Question 2]
|
|
157
|
-
|
|
158
|
-
## References
|
|
159
|
-
- [Link to PRD]
|
|
160
|
-
- [Link to design doc]
|
|
161
|
-
- [Link to related work]
|
|
61
|
+
| [Risk] | High | High | [Strategy] |
|
|
162
62
|
```
|
|
163
63
|
|
|
164
|
-
### 2. Task Breakdown Framework
|
|
165
|
-
|
|
166
|
-
```markdown
|
|
167
|
-
## Task Sizing Guidelines
|
|
168
|
-
|
|
169
|
-
### Ideal Task Size
|
|
170
|
-
- Duration: 2-4 hours (half-day blocks)
|
|
171
|
-
- Max: 1 day (break down if larger)
|
|
172
|
-
- Clear completion criteria
|
|
173
|
-
- Single owner
|
|
174
|
-
|
|
175
|
-
### Breakdown Techniques
|
|
176
|
-
|
|
177
|
-
#### Horizontal Slicing (by layer)
|
|
178
|
-
```
|
|
179
|
-
Feature: User Profile Update
|
|
180
|
-
├── Database migration
|
|
181
|
-
├── API endpoint
|
|
182
|
-
├── Service logic
|
|
183
|
-
├── Frontend form
|
|
184
|
-
└── Tests
|
|
185
64
|
```
|
|
65
|
+
# Dependency Diagram
|
|
66
|
+
[START]
|
|
67
|
+
|
|
|
68
|
+
+----------+----------+
|
|
69
|
+
| | |
|
|
70
|
+
[Task 1] [Task 2] [Task 3] <- Parallel
|
|
71
|
+
| | |
|
|
72
|
+
+-----+----+ |
|
|
73
|
+
| |
|
|
74
|
+
[Task 4] [Task 5]
|
|
75
|
+
| |
|
|
76
|
+
+-------+-------+
|
|
77
|
+
|
|
|
78
|
+
[Task 6] <- Integration
|
|
79
|
+
|
|
|
80
|
+
[COMPLETE]
|
|
186
81
|
|
|
187
|
-
|
|
188
|
-
```
|
|
189
|
-
Feature: User Profile Update
|
|
190
|
-
├── Update name (DB → API → UI → Test)
|
|
191
|
-
├── Update email (DB → API → UI → Test)
|
|
192
|
-
├── Update avatar (DB → API → UI → Test)
|
|
193
|
-
└── Update preferences (DB → API → UI → Test)
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
#### Functional Decomposition
|
|
197
|
-
```
|
|
198
|
-
Feature: Payment Processing
|
|
199
|
-
├── Input validation
|
|
200
|
-
├── Payment gateway integration
|
|
201
|
-
├── Transaction logging
|
|
202
|
-
├── Error handling
|
|
203
|
-
├── Receipt generation
|
|
204
|
-
└── Notification sending
|
|
82
|
+
Critical Path: 1 -> 4 -> 6 (determines min duration)
|
|
205
83
|
```
|
|
206
84
|
|
|
207
|
-
### Task Template
|
|
208
|
-
```yaml
|
|
209
|
-
task:
|
|
210
|
-
id: "TASK-001"
|
|
211
|
-
title: "Add user email validation"
|
|
212
|
-
description: |
|
|
213
|
-
Implement email format validation in the user
|
|
214
|
-
registration flow with proper error messages.
|
|
215
|
-
|
|
216
|
-
type: feature | bugfix | refactor | test | docs
|
|
217
|
-
|
|
218
|
-
size: XS | S | M | L | XL
|
|
219
|
-
# XS: < 1 hour
|
|
220
|
-
# S: 1-2 hours
|
|
221
|
-
# M: 2-4 hours
|
|
222
|
-
# L: 4-8 hours
|
|
223
|
-
# XL: > 8 hours (should be broken down)
|
|
224
|
-
|
|
225
|
-
files:
|
|
226
|
-
- path: "src/validators/email.ts"
|
|
227
|
-
action: create
|
|
228
|
-
- path: "src/components/RegistrationForm.tsx"
|
|
229
|
-
action: modify
|
|
230
|
-
lines: "45-60"
|
|
231
|
-
|
|
232
|
-
dependencies:
|
|
233
|
-
- "TASK-000" # Must complete first
|
|
234
|
-
|
|
235
|
-
acceptance_criteria:
|
|
236
|
-
- Valid emails are accepted
|
|
237
|
-
- Invalid emails show error message
|
|
238
|
-
- Edge cases handled (empty, special chars)
|
|
239
|
-
|
|
240
|
-
testing:
|
|
241
|
-
unit:
|
|
242
|
-
- Email validator function
|
|
243
|
-
integration:
|
|
244
|
-
- Registration form submission
|
|
245
85
|
```
|
|
86
|
+
# Effort Estimation
|
|
87
|
+
Three-Point: (Optimistic + 4*MostLikely + Pessimistic) / 6
|
|
246
88
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
### Hard Dependencies
|
|
253
|
-
Must complete before starting next task.
|
|
254
|
-
```
|
|
255
|
-
[Task A] ──BLOCKS──► [Task B]
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
### Soft Dependencies
|
|
259
|
-
Preferred order but can work around.
|
|
260
|
-
```
|
|
261
|
-
[Task A] ──INFORMS──► [Task B]
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### Parallel Opportunities
|
|
265
|
-
No dependencies, can run concurrently.
|
|
266
|
-
```
|
|
267
|
-
[Task A] ║ [Task B] ║ [Task C]
|
|
268
|
-
║ ║
|
|
269
|
-
▼ ▼
|
|
270
|
-
[Task D: Integration]
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
### Dependency Diagram
|
|
274
|
-
```
|
|
275
|
-
┌─────────────────────────────────────────┐
|
|
276
|
-
│ START │
|
|
277
|
-
└──────────────┬──────────────────────────┘
|
|
278
|
-
│
|
|
279
|
-
┌───────────────────────┼───────────────────────┐
|
|
280
|
-
│ │ │
|
|
281
|
-
▼ ▼ ▼
|
|
282
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
283
|
-
│ Task 1 │ │ Task 2 │ │ Task 3 │
|
|
284
|
-
│ Database │ │ Design │ │ Research │
|
|
285
|
-
│ Schema │ │ Mockups │ │ API Docs │
|
|
286
|
-
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
|
|
287
|
-
│ │ │
|
|
288
|
-
│ │ │
|
|
289
|
-
▼ ▼ │
|
|
290
|
-
┌─────────────┐ ┌─────────────┐ │
|
|
291
|
-
│ Task 4 │ │ Task 5 │ │
|
|
292
|
-
│ API Layer │◄────────│ Frontend │ │
|
|
293
|
-
└──────┬──────┘ └─────────────┘ │
|
|
294
|
-
│ │
|
|
295
|
-
▼ ▼
|
|
296
|
-
┌─────────────┐ ┌─────────────┐
|
|
297
|
-
│ Task 6 │◄────────────────────────────────│ Task 7 │
|
|
298
|
-
│ Integration │ │ 3rd Party │
|
|
299
|
-
│ Testing │ │ Integration │
|
|
300
|
-
└──────┬──────┘ └─────────────┘
|
|
301
|
-
│
|
|
302
|
-
▼
|
|
303
|
-
┌─────────────┐
|
|
304
|
-
│ COMPLETE │
|
|
305
|
-
└─────────────┘
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Critical Path Analysis
|
|
309
|
-
```markdown
|
|
310
|
-
## Critical Path
|
|
311
|
-
|
|
312
|
-
The longest path through the dependency graph determines minimum duration.
|
|
313
|
-
|
|
314
|
-
Path Analysis:
|
|
315
|
-
- Path A: Task 1 → Task 4 → Task 6 = 5 days
|
|
316
|
-
- Path B: Task 2 → Task 5 = 3 days
|
|
317
|
-
- Path C: Task 3 → Task 7 → Task 6 = 6 days ← CRITICAL PATH
|
|
318
|
-
|
|
319
|
-
**Critical Path:** Task 3 → Task 7 → Task 6
|
|
320
|
-
**Minimum Duration:** 6 days
|
|
89
|
+
Example - OAuth Implementation:
|
|
90
|
+
- Optimistic: 4 hours (works first try)
|
|
91
|
+
- Most Likely: 8 hours (normal dev)
|
|
92
|
+
- Pessimistic: 16 hours (issues)
|
|
93
|
+
Estimate = (4 + 32 + 16) / 6 = 8.7 hours
|
|
321
94
|
|
|
322
|
-
|
|
323
|
-
-
|
|
324
|
-
-
|
|
325
|
-
-
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
### 4. Risk Assessment Matrix
|
|
329
|
-
|
|
330
|
-
```markdown
|
|
331
|
-
## Risk Assessment Framework
|
|
332
|
-
|
|
333
|
-
### Risk Categories
|
|
334
|
-
|
|
335
|
-
| Category | Examples |
|
|
336
|
-
|----------|----------|
|
|
337
|
-
| Technical | New technology, complexity, integration |
|
|
338
|
-
| Resource | Team availability, skills gap |
|
|
339
|
-
| External | Third-party dependencies, API changes |
|
|
340
|
-
| Timeline | Deadline pressure, scope creep |
|
|
341
|
-
| Business | Requirements change, priority shift |
|
|
342
|
-
|
|
343
|
-
### Likelihood Scale
|
|
344
|
-
| Level | Description | Probability |
|
|
345
|
-
|-------|-------------|-------------|
|
|
346
|
-
| Rare | Unlikely to occur | <10% |
|
|
347
|
-
| Low | Could occur | 10-25% |
|
|
348
|
-
| Medium | Likely to occur | 25-50% |
|
|
349
|
-
| High | Expected to occur | 50-75% |
|
|
350
|
-
| Very High | Almost certain | >75% |
|
|
351
|
-
|
|
352
|
-
### Impact Scale
|
|
353
|
-
| Level | Schedule | Cost | Quality |
|
|
354
|
-
|-------|----------|------|---------|
|
|
355
|
-
| Minimal | <1 day slip | <5% over | Cosmetic |
|
|
356
|
-
| Minor | 1-3 days | 5-10% | Minor bugs |
|
|
357
|
-
| Moderate | 1 week | 10-25% | Some features cut |
|
|
358
|
-
| Major | 2+ weeks | 25-50% | Core features affected |
|
|
359
|
-
| Severe | Project at risk | >50% | Failure |
|
|
360
|
-
|
|
361
|
-
### Risk Matrix
|
|
362
|
-
```
|
|
363
|
-
IMPACT
|
|
364
|
-
Low Medium High Severe
|
|
365
|
-
┌────────┬────────┬────────┬────────┐
|
|
366
|
-
High │ Medium │ High │Critical│Critical│
|
|
367
|
-
├────────┼────────┼────────┼────────┤
|
|
368
|
-
Medium │ Low │ Medium │ High │Critical│
|
|
369
|
-
LIKELY ├────────┼────────┼────────┼────────┤
|
|
370
|
-
Low │ Low │ Low │ Medium │ High │
|
|
371
|
-
├────────┼────────┼────────┼────────┤
|
|
372
|
-
Rare │ Accept │ Low │ Low │ Medium │
|
|
373
|
-
└────────┴────────┴────────┴────────┘
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
### Risk Register Template
|
|
377
|
-
```markdown
|
|
378
|
-
| ID | Risk | Category | Likelihood | Impact | Score | Mitigation | Owner | Status |
|
|
379
|
-
|----|------|----------|------------|--------|-------|------------|-------|--------|
|
|
380
|
-
| R1 | Third-party API down | External | Medium | High | High | Implement fallback, cache responses | @eng | Open |
|
|
381
|
-
| R2 | Performance regression | Technical | Low | Medium | Low | Add load testing to CI | @qa | Mitigated |
|
|
382
|
-
| R3 | Key developer unavailable | Resource | Medium | Medium | Medium | Document decisions, cross-train | @lead | Monitoring |
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
### 5. Effort Estimation
|
|
386
|
-
|
|
387
|
-
```markdown
|
|
388
|
-
## Estimation Techniques
|
|
389
|
-
|
|
390
|
-
### T-Shirt Sizing
|
|
391
|
-
Quick relative sizing for initial planning.
|
|
392
|
-
|
|
393
|
-
| Size | Hours | Description |
|
|
394
|
-
|------|-------|-------------|
|
|
395
|
-
| XS | <1 | Trivial change, well-understood |
|
|
396
|
-
| S | 1-2 | Small change, low risk |
|
|
397
|
-
| M | 2-4 | Standard task, some complexity |
|
|
398
|
-
| L | 4-8 | Larger task, may need research |
|
|
399
|
-
| XL | 8+ | Complex, should be broken down |
|
|
400
|
-
|
|
401
|
-
### Three-Point Estimation
|
|
402
|
-
For more accurate estimates:
|
|
403
|
-
|
|
404
|
-
```
|
|
405
|
-
Estimate = (Optimistic + 4×MostLikely + Pessimistic) / 6
|
|
406
|
-
|
|
407
|
-
Example:
|
|
408
|
-
Task: Implement OAuth flow
|
|
409
|
-
- Optimistic: 4 hours (if everything works first try)
|
|
410
|
-
- Most Likely: 8 hours (normal development)
|
|
411
|
-
- Pessimistic: 16 hours (unexpected issues)
|
|
412
|
-
|
|
413
|
-
Estimate = (4 + 4×8 + 16) / 6 = 8.7 hours
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
### Estimation Adjustments
|
|
417
|
-
|
|
418
|
-
| Factor | Multiplier | When to Apply |
|
|
419
|
-
|--------|------------|---------------|
|
|
420
|
-
| New technology | 1.5x | First time using |
|
|
421
|
-
| Complex integration | 1.3x | Multiple systems |
|
|
422
|
-
| Unclear requirements | 1.5x | Needs clarification |
|
|
423
|
-
| Junior developer | 1.5x | Less experience |
|
|
424
|
-
| Code review included | 1.2x | If not separate task |
|
|
425
|
-
| Testing included | 1.3x | If not separate task |
|
|
426
|
-
|
|
427
|
-
### Buffer Recommendations
|
|
428
|
-
- Individual tasks: 20% buffer
|
|
429
|
-
- Phase total: 30% buffer
|
|
430
|
-
- Project total: 40% buffer
|
|
431
|
-
|
|
432
|
-
```markdown
|
|
433
|
-
Example:
|
|
434
|
-
Raw estimate: 40 hours
|
|
435
|
-
With 30% buffer: 52 hours
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
### 6. File-Level Planning
|
|
439
|
-
|
|
440
|
-
```markdown
|
|
441
|
-
## Code Change Mapping
|
|
442
|
-
|
|
443
|
-
### New Files
|
|
444
|
-
```yaml
|
|
445
|
-
new_files:
|
|
446
|
-
- path: "src/services/PaymentService.ts"
|
|
447
|
-
purpose: "Handle payment processing logic"
|
|
448
|
-
size: ~200 lines
|
|
449
|
-
template: "service"
|
|
450
|
-
|
|
451
|
-
- path: "src/api/payments.ts"
|
|
452
|
-
purpose: "Payment API endpoints"
|
|
453
|
-
size: ~100 lines
|
|
454
|
-
template: "api-route"
|
|
455
|
-
|
|
456
|
-
- path: "tests/services/PaymentService.test.ts"
|
|
457
|
-
purpose: "Unit tests for payment service"
|
|
458
|
-
size: ~150 lines
|
|
459
|
-
```
|
|
460
|
-
|
|
461
|
-
### Modified Files
|
|
462
|
-
```yaml
|
|
463
|
-
modified_files:
|
|
464
|
-
- path: "src/routes/index.ts"
|
|
465
|
-
changes:
|
|
466
|
-
- line: 45
|
|
467
|
-
change: "Add payment routes import"
|
|
468
|
-
- line: 78
|
|
469
|
-
change: "Register payment router"
|
|
470
|
-
|
|
471
|
-
- path: "src/types/index.ts"
|
|
472
|
-
changes:
|
|
473
|
-
- line: "end"
|
|
474
|
-
change: "Add Payment types"
|
|
475
|
-
```
|
|
476
|
-
|
|
477
|
-
### Migration Files
|
|
478
|
-
```yaml
|
|
479
|
-
migrations:
|
|
480
|
-
- name: "add_payments_table"
|
|
481
|
-
up: |
|
|
482
|
-
CREATE TABLE payments (
|
|
483
|
-
id UUID PRIMARY KEY,
|
|
484
|
-
amount DECIMAL(10,2),
|
|
485
|
-
status VARCHAR(20),
|
|
486
|
-
created_at TIMESTAMP
|
|
487
|
-
)
|
|
488
|
-
down: "DROP TABLE payments"
|
|
489
|
-
```
|
|
490
|
-
```
|
|
491
|
-
|
|
492
|
-
## Use Cases
|
|
493
|
-
|
|
494
|
-
### API Feature Plan
|
|
495
|
-
|
|
496
|
-
```markdown
|
|
497
|
-
# Plan: Add User Preferences API
|
|
498
|
-
|
|
499
|
-
## Executive Summary
|
|
500
|
-
Add CRUD endpoints for user preferences to enable personalized
|
|
501
|
-
experiences across mobile and web clients.
|
|
502
|
-
|
|
503
|
-
## Implementation Tasks
|
|
504
|
-
|
|
505
|
-
### Phase 1: Database (Day 1)
|
|
506
|
-
|
|
507
|
-
#### Task 1.1: Create preferences table migration
|
|
508
|
-
- **Estimate:** 1 hour
|
|
509
|
-
- **Files:** `migrations/20240115_add_preferences.ts`
|
|
510
|
-
- **Dependencies:** None
|
|
511
|
-
- **Criteria:**
|
|
512
|
-
- [ ] Table with user_id, key, value, updated_at
|
|
513
|
-
- [ ] Foreign key to users table
|
|
514
|
-
- [ ] Unique constraint on (user_id, key)
|
|
515
|
-
|
|
516
|
-
#### Task 1.2: Add Prisma model
|
|
517
|
-
- **Estimate:** 30 min
|
|
518
|
-
- **Files:** `prisma/schema.prisma:lines 45-55`
|
|
519
|
-
- **Dependencies:** Task 1.1
|
|
520
|
-
- **Criteria:**
|
|
521
|
-
- [ ] Model defined with relations
|
|
522
|
-
- [ ] Types generated
|
|
523
|
-
|
|
524
|
-
### Phase 2: API Layer (Days 2-3)
|
|
525
|
-
|
|
526
|
-
#### Task 2.1: Create PreferencesService
|
|
527
|
-
- **Estimate:** 3 hours
|
|
528
|
-
- **Files:** `src/services/PreferencesService.ts`
|
|
529
|
-
- **Dependencies:** Task 1.2
|
|
530
|
-
- **Criteria:**
|
|
531
|
-
- [ ] getPreferences(userId)
|
|
532
|
-
- [ ] setPreference(userId, key, value)
|
|
533
|
-
- [ ] deletePreference(userId, key)
|
|
534
|
-
- [ ] Unit tests with 80%+ coverage
|
|
535
|
-
|
|
536
|
-
#### Task 2.2: Add API endpoints
|
|
537
|
-
- **Estimate:** 2 hours
|
|
538
|
-
- **Files:** `src/api/preferences.ts`
|
|
539
|
-
- **Dependencies:** Task 2.1
|
|
540
|
-
- **Criteria:**
|
|
541
|
-
- [ ] GET /users/:id/preferences
|
|
542
|
-
- [ ] PUT /users/:id/preferences/:key
|
|
543
|
-
- [ ] DELETE /users/:id/preferences/:key
|
|
544
|
-
- [ ] Request validation
|
|
545
|
-
- [ ] Error handling
|
|
546
|
-
|
|
547
|
-
### Phase 3: Testing & Documentation (Day 4)
|
|
548
|
-
|
|
549
|
-
#### Task 3.1: Integration tests
|
|
550
|
-
- **Estimate:** 2 hours
|
|
551
|
-
- **Files:** `tests/api/preferences.test.ts`
|
|
552
|
-
- **Dependencies:** Task 2.2
|
|
553
|
-
- **Criteria:**
|
|
554
|
-
- [ ] Happy path tests
|
|
555
|
-
- [ ] Auth required tests
|
|
556
|
-
- [ ] Validation error tests
|
|
557
|
-
|
|
558
|
-
#### Task 3.2: Update API documentation
|
|
559
|
-
- **Estimate:** 1 hour
|
|
560
|
-
- **Files:** `docs/api/preferences.md`
|
|
561
|
-
- **Dependencies:** Task 2.2
|
|
562
|
-
- **Criteria:**
|
|
563
|
-
- [ ] OpenAPI spec updated
|
|
564
|
-
- [ ] Examples for each endpoint
|
|
565
|
-
|
|
566
|
-
## Risks
|
|
567
|
-
| Risk | Likelihood | Impact | Mitigation |
|
|
568
|
-
|------|------------|--------|------------|
|
|
569
|
-
| Schema conflicts | Low | Medium | Run migrations in staging first |
|
|
570
|
-
| Performance at scale | Medium | High | Add caching, pagination |
|
|
95
|
+
Buffers:
|
|
96
|
+
- Individual tasks: 20%
|
|
97
|
+
- Phase total: 30%
|
|
98
|
+
- Project total: 40%
|
|
571
99
|
```
|
|
572
100
|
|
|
573
101
|
## Best Practices
|
|
574
102
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
-
|
|
591
|
-
-
|
|
592
|
-
- Don't ignore non-functional requirements
|
|
593
|
-
- Don't underestimate integration work
|
|
594
|
-
- Don't forget rollback plans
|
|
595
|
-
- Don't plan too far in detail (2 weeks max)
|
|
596
|
-
- Don't hide risks or uncertainties
|
|
597
|
-
- Don't skip the testing strategy
|
|
598
|
-
- Don't forget documentation tasks
|
|
599
|
-
- Don't assume requirements are complete
|
|
600
|
-
|
|
601
|
-
## References
|
|
602
|
-
|
|
603
|
-
- [Shape Up - Basecamp](https://basecamp.com/shapeup)
|
|
604
|
-
- [Agile Estimation](https://www.mountaingoatsoftware.com/agile/planning-poker)
|
|
605
|
-
- [Risk Management](https://www.pmi.org/learning/library/risk-identification-life-cycle-9135)
|
|
606
|
-
- [Critical Path Method](https://www.projectmanager.com/guides/critical-path-method)
|
|
103
|
+
| Do | Avoid |
|
|
104
|
+
|----|-------|
|
|
105
|
+
| Keep tasks to 2-4 hour chunks | Vague tasks ("implement feature") |
|
|
106
|
+
| Include exact file locations | Skipping background/context |
|
|
107
|
+
| Specify clear acceptance criteria | Ignoring non-functional requirements |
|
|
108
|
+
| Map dependencies explicitly | Underestimating integration work |
|
|
109
|
+
| Build in buffer for unknowns | Planning more than 2 weeks in detail |
|
|
110
|
+
| Include testing in the plan | Hiding risks or uncertainties |
|
|
111
|
+
| Review plan with stakeholders | Assuming requirements are complete |
|
|
112
|
+
| Update plan as you learn | Forgetting rollback plans |
|
|
113
|
+
|
|
114
|
+
## Related Skills
|
|
115
|
+
|
|
116
|
+
- `executing-plans` - Follow plans systematically
|
|
117
|
+
- `thinking-sequentially` - Structure reasoning for plans
|
|
118
|
+
- `brainstorming-ideas` - Generate options for plans
|
|
119
|
+
- `verifying-before-completion` - Validate plan completion
|