omgkit 2.1.0 → 2.2.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 (56) hide show
  1. package/package.json +1 -1
  2. package/plugin/skills/SKILL_STANDARDS.md +743 -0
  3. package/plugin/skills/databases/mongodb/SKILL.md +797 -28
  4. package/plugin/skills/databases/postgresql/SKILL.md +494 -18
  5. package/plugin/skills/databases/prisma/SKILL.md +776 -30
  6. package/plugin/skills/databases/redis/SKILL.md +885 -25
  7. package/plugin/skills/devops/aws/SKILL.md +686 -28
  8. package/plugin/skills/devops/docker/SKILL.md +466 -18
  9. package/plugin/skills/devops/github-actions/SKILL.md +684 -29
  10. package/plugin/skills/devops/kubernetes/SKILL.md +621 -24
  11. package/plugin/skills/frameworks/django/SKILL.md +920 -20
  12. package/plugin/skills/frameworks/express/SKILL.md +1361 -35
  13. package/plugin/skills/frameworks/fastapi/SKILL.md +1260 -33
  14. package/plugin/skills/frameworks/laravel/SKILL.md +1244 -31
  15. package/plugin/skills/frameworks/nestjs/SKILL.md +1005 -26
  16. package/plugin/skills/frameworks/nextjs/SKILL.md +407 -44
  17. package/plugin/skills/frameworks/rails/SKILL.md +594 -28
  18. package/plugin/skills/frameworks/react/SKILL.md +1006 -32
  19. package/plugin/skills/frameworks/spring/SKILL.md +528 -35
  20. package/plugin/skills/frameworks/vue/SKILL.md +1296 -27
  21. package/plugin/skills/frontend/accessibility/SKILL.md +1108 -34
  22. package/plugin/skills/frontend/frontend-design/SKILL.md +1304 -26
  23. package/plugin/skills/frontend/responsive/SKILL.md +847 -21
  24. package/plugin/skills/frontend/shadcn-ui/SKILL.md +976 -38
  25. package/plugin/skills/frontend/tailwindcss/SKILL.md +831 -35
  26. package/plugin/skills/frontend/threejs/SKILL.md +1298 -29
  27. package/plugin/skills/languages/javascript/SKILL.md +935 -31
  28. package/plugin/skills/languages/python/SKILL.md +489 -25
  29. package/plugin/skills/languages/typescript/SKILL.md +379 -30
  30. package/plugin/skills/methodology/brainstorming/SKILL.md +597 -23
  31. package/plugin/skills/methodology/defense-in-depth/SKILL.md +832 -34
  32. package/plugin/skills/methodology/dispatching-parallel-agents/SKILL.md +665 -31
  33. package/plugin/skills/methodology/executing-plans/SKILL.md +556 -24
  34. package/plugin/skills/methodology/finishing-development-branch/SKILL.md +595 -25
  35. package/plugin/skills/methodology/problem-solving/SKILL.md +429 -61
  36. package/plugin/skills/methodology/receiving-code-review/SKILL.md +536 -24
  37. package/plugin/skills/methodology/requesting-code-review/SKILL.md +632 -21
  38. package/plugin/skills/methodology/root-cause-tracing/SKILL.md +641 -30
  39. package/plugin/skills/methodology/sequential-thinking/SKILL.md +262 -3
  40. package/plugin/skills/methodology/systematic-debugging/SKILL.md +571 -32
  41. package/plugin/skills/methodology/test-driven-development/SKILL.md +779 -24
  42. package/plugin/skills/methodology/testing-anti-patterns/SKILL.md +691 -29
  43. package/plugin/skills/methodology/token-optimization/SKILL.md +598 -29
  44. package/plugin/skills/methodology/verification-before-completion/SKILL.md +543 -22
  45. package/plugin/skills/methodology/writing-plans/SKILL.md +590 -18
  46. package/plugin/skills/omega/omega-architecture/SKILL.md +838 -39
  47. package/plugin/skills/omega/omega-coding/SKILL.md +636 -39
  48. package/plugin/skills/omega/omega-sprint/SKILL.md +855 -48
  49. package/plugin/skills/omega/omega-testing/SKILL.md +940 -41
  50. package/plugin/skills/omega/omega-thinking/SKILL.md +703 -50
  51. package/plugin/skills/security/better-auth/SKILL.md +1065 -28
  52. package/plugin/skills/security/oauth/SKILL.md +968 -31
  53. package/plugin/skills/security/owasp/SKILL.md +894 -33
  54. package/plugin/skills/testing/playwright/SKILL.md +764 -38
  55. package/plugin/skills/testing/pytest/SKILL.md +873 -36
  56. package/plugin/skills/testing/vitest/SKILL.md +980 -35
@@ -1,32 +1,553 @@
1
1
  ---
2
2
  name: verification-before-completion
3
- description: Evidence-based verification. Use before marking tasks complete.
3
+ description: Evidence-based verification with comprehensive checklists, quality gates, and proof-of-work validation
4
+ category: methodology
5
+ triggers:
6
+ - verification
7
+ - before completion
8
+ - quality check
9
+ - validation
10
+ - done criteria
11
+ - acceptance testing
12
+ - sign off
4
13
  ---
5
14
 
6
- # Verification Before Completion Skill
15
+ # Verification Before Completion
7
16
 
8
- ## Checklist
9
- Before marking complete:
17
+ Master **evidence-based verification** to ensure work meets quality standards before marking complete. This skill provides comprehensive checklists, automated validation, and proof-of-work documentation.
10
18
 
11
- - [ ] **Tests pass** - All tests green
12
- - [ ] **Manual test** - Verified manually
13
- - [ ] **Edge cases** - Considered and handled
14
- - [ ] **Errors** - Error handling works
15
- - [ ] **Types** - No type errors
16
- - [ ] **Lint** - No lint errors
19
+ ## Purpose
17
20
 
18
- ## Verification Steps
19
- 1. Run full test suite
20
- 2. Test happy path manually
21
- 3. Test error cases
22
- 4. Check type safety
23
- 5. Verify in production-like env
21
+ Ensure quality through systematic verification:
22
+
23
+ - Validate all acceptance criteria are met
24
+ - Prove functionality through evidence
25
+ - Catch issues before they reach production
26
+ - Document verification for audit trails
27
+ - Build confidence in releases
28
+ - Reduce rework and bug reports
29
+ - Enable faster code reviews
30
+
31
+ ## Features
32
+
33
+ ### 1. Verification Checklist Framework
34
+
35
+ ```markdown
36
+ ## Universal Verification Checklist
37
+
38
+ ### Functional Verification
39
+ - [ ] **Acceptance criteria** - All criteria from ticket met
40
+ - [ ] **Happy path** - Primary use case works correctly
41
+ - [ ] **Edge cases** - Boundary conditions handled
42
+ - [ ] **Error handling** - Errors caught and displayed properly
43
+ - [ ] **Validation** - Input validation works as expected
44
+
45
+ ### Technical Verification
46
+ - [ ] **Tests pass** - All unit, integration, and E2E tests green
47
+ - [ ] **Coverage** - Code coverage meets threshold (80%+)
48
+ - [ ] **Type safety** - No TypeScript/type errors
49
+ - [ ] **Lint clean** - No linting errors or warnings
50
+ - [ ] **Build succeeds** - Production build completes
51
+
52
+ ### Security Verification
53
+ - [ ] **No secrets exposed** - No hardcoded credentials
54
+ - [ ] **Input sanitized** - User input properly escaped
55
+ - [ ] **Auth/authz** - Permissions checked correctly
56
+ - [ ] **HTTPS only** - No insecure connections
57
+ - [ ] **Dependency audit** - No critical vulnerabilities
58
+
59
+ ### Performance Verification
60
+ - [ ] **Response time** - Within acceptable limits
61
+ - [ ] **No N+1 queries** - Database queries optimized
62
+ - [ ] **Memory usage** - No memory leaks detected
63
+ - [ ] **Bundle size** - No significant increase
64
+
65
+ ### Documentation Verification
66
+ - [ ] **Code comments** - Complex logic explained
67
+ - [ ] **API docs** - Endpoints documented
68
+ - [ ] **README updated** - Setup instructions current
69
+ - [ ] **Changelog** - Changes documented
70
+
71
+ ### Accessibility Verification
72
+ - [ ] **Keyboard navigation** - All actions keyboard accessible
73
+ - [ ] **Screen reader** - Labels and ARIA attributes correct
74
+ - [ ] **Color contrast** - Meets WCAG requirements
75
+ - [ ] **Focus indicators** - Visible focus states
76
+ ```
77
+
78
+ ### 2. Evidence Collection
79
+
80
+ ```markdown
81
+ ## Evidence Documentation Template
82
+
83
+ ### Change Summary
84
+ **Ticket:** [TICKET-ID]
85
+ **Title:** [Brief description]
86
+ **Author:** [Name]
87
+ **Date:** [Date]
88
+
89
+ ---
90
+
91
+ ### Test Evidence
92
+
93
+ #### Unit Tests
94
+ ```bash
95
+ $ npm test
96
+
97
+ PASS src/services/UserService.test.ts
98
+ PASS src/components/UserProfile.test.tsx
99
+
100
+ Test Suites: 15 passed, 15 total
101
+ Tests: 87 passed, 87 total
102
+ Snapshots: 5 passed, 5 total
103
+ Time: 12.45s
104
+
105
+ Coverage: 85.2% (target: 80%)
106
+ ```
107
+
108
+ #### Integration Tests
109
+ ```bash
110
+ $ npm run test:integration
111
+
112
+ PASS tests/api/users.test.ts
113
+ ✓ GET /users returns user list (125ms)
114
+ ✓ POST /users creates new user (89ms)
115
+ ✓ PUT /users/:id updates user (76ms)
116
+ ✓ DELETE /users/:id removes user (45ms)
117
+
118
+ All integration tests passed.
119
+ ```
120
+
121
+ #### E2E Tests
122
+ ```bash
123
+ $ npm run test:e2e
124
+
125
+ Running: cypress/e2e/user-management.cy.ts
126
+
127
+ User Management
128
+ ✓ can create new user (3.2s)
129
+ ✓ can update user profile (2.8s)
130
+ ✓ can delete user (1.5s)
131
+
132
+ 3 passing (7.5s)
133
+ ```
134
+
135
+ ---
136
+
137
+ ### Manual Verification
138
+
139
+ #### Happy Path
140
+ | Step | Action | Expected | Actual | Status |
141
+ |------|--------|----------|--------|--------|
142
+ | 1 | Navigate to /users | User list displayed | List shows 10 users | ✅ |
143
+ | 2 | Click "Add User" | Form appears | Modal opens | ✅ |
144
+ | 3 | Fill form and submit | User created | Success message shown | ✅ |
145
+ | 4 | Verify in list | New user appears | User at top of list | ✅ |
146
+
147
+ #### Edge Cases
148
+ | Case | Input | Expected | Actual | Status |
149
+ |------|-------|----------|--------|--------|
150
+ | Empty name | "" | Error: Name required | Error displayed | ✅ |
151
+ | Long name | 256 chars | Truncate or error | Error at 100 chars | ✅ |
152
+ | Duplicate email | existing@test.com | Error: Email taken | Error displayed | ✅ |
153
+ | Special chars | O'Brien | Accepted | Works correctly | ✅ |
154
+
155
+ #### Error Cases
156
+ | Case | Action | Expected | Actual | Status |
157
+ |------|--------|----------|--------|--------|
158
+ | Network failure | Disconnect network | Error message | "Connection lost" shown | ✅ |
159
+ | 500 error | Force server error | Graceful handling | Error boundary caught | ✅ |
160
+ | Timeout | Slow response | Loading indicator | Spinner + timeout msg | ✅ |
161
+
162
+ ---
163
+
164
+ ### Screenshots/Recordings
165
+
166
+ #### Feature Demo
167
+ ![User Creation Flow](./evidence/user-creation.gif)
168
+
169
+ #### Mobile View
170
+ ![Mobile Responsive](./evidence/mobile-view.png)
171
+
172
+ #### Error States
173
+ ![Error Handling](./evidence/error-states.png)
174
+
175
+ ---
176
+
177
+ ### Build Verification
178
+
179
+ ```bash
180
+ $ npm run build
181
+
182
+ > myapp@1.0.0 build
183
+ > next build
184
+
185
+ Creating an optimized production build...
186
+ Compiled successfully.
187
+
188
+ Route (app) Size First Load JS
189
+ ─ ○ / 5.2 kB 89.5 kB
190
+ ─ ○ /users 3.1 kB 87.4 kB
191
+ ─ ○ /users/[id] 2.8 kB 87.1 kB
192
+
193
+ ○ (Static) prerendered as static content
194
+
195
+ Build completed successfully.
196
+ ```
197
+
198
+ ---
199
+
200
+ ### Performance Metrics
201
+
202
+ | Metric | Baseline | Current | Change | Status |
203
+ |--------|----------|---------|--------|--------|
204
+ | Bundle size | 245 KB | 248 KB | +3 KB | ✅ |
205
+ | First paint | 1.2s | 1.1s | -100ms | ✅ |
206
+ | API response | 150ms | 145ms | -5ms | ✅ |
207
+ | Lighthouse | 92 | 94 | +2 | ✅ |
208
+
209
+ ---
210
+
211
+ ### Verification Sign-off
212
+ - [x] All tests pass
213
+ - [x] Manual testing complete
214
+ - [x] No regressions found
215
+ - [x] Ready for review
216
+
217
+ **Verified by:** [Name]
218
+ **Date:** [Date]
219
+ ```
220
+
221
+ ### 3. Automated Verification Pipeline
222
+
223
+ ```typescript
224
+ // scripts/verify.ts
225
+ import { execSync } from 'child_process';
226
+ import chalk from 'chalk';
227
+
228
+ interface VerificationStep {
229
+ name: string;
230
+ command: string;
231
+ required: boolean;
232
+ }
233
+
234
+ const verificationSteps: VerificationStep[] = [
235
+ { name: 'TypeScript Check', command: 'npm run typecheck', required: true },
236
+ { name: 'Lint Check', command: 'npm run lint', required: true },
237
+ { name: 'Unit Tests', command: 'npm test', required: true },
238
+ { name: 'Integration Tests', command: 'npm run test:integration', required: true },
239
+ { name: 'Build', command: 'npm run build', required: true },
240
+ { name: 'Bundle Analysis', command: 'npm run analyze', required: false },
241
+ { name: 'Security Audit', command: 'npm audit --audit-level=high', required: true },
242
+ { name: 'E2E Tests', command: 'npm run test:e2e', required: false },
243
+ ];
244
+
245
+ async function runVerification(): Promise<void> {
246
+ console.log(chalk.blue('\n🔍 Starting Verification Pipeline\n'));
247
+
248
+ const results: { step: string; success: boolean; time: number }[] = [];
249
+ let allPassed = true;
250
+
251
+ for (const step of verificationSteps) {
252
+ const startTime = Date.now();
253
+ process.stdout.write(` ${step.name}... `);
254
+
255
+ try {
256
+ execSync(step.command, { stdio: 'pipe' });
257
+ const time = Date.now() - startTime;
258
+ console.log(chalk.green(`✓ (${time}ms)`));
259
+ results.push({ step: step.name, success: true, time });
260
+ } catch (error) {
261
+ const time = Date.now() - startTime;
262
+ console.log(chalk.red(`✗ (${time}ms)`));
263
+ results.push({ step: step.name, success: false, time });
264
+
265
+ if (step.required) {
266
+ allPassed = false;
267
+ console.log(chalk.red(`\n ❌ ${step.name} failed (required)`));
268
+ console.log(chalk.gray(` Run "${step.command}" for details\n`));
269
+ } else {
270
+ console.log(chalk.yellow(` ⚠ ${step.name} failed (optional)`));
271
+ }
272
+ }
273
+ }
274
+
275
+ // Summary
276
+ console.log(chalk.blue('\n📊 Verification Summary\n'));
277
+ console.log(' Step Status Time');
278
+ console.log(' ' + '─'.repeat(45));
279
+
280
+ for (const result of results) {
281
+ const status = result.success ? chalk.green('PASS') : chalk.red('FAIL');
282
+ const time = `${result.time}ms`.padStart(8);
283
+ console.log(` ${result.step.padEnd(24)} ${status} ${time}`);
284
+ }
285
+
286
+ console.log(' ' + '─'.repeat(45));
287
+ const totalTime = results.reduce((sum, r) => sum + r.time, 0);
288
+ console.log(` Total time: ${(totalTime / 1000).toFixed(2)}s\n`);
289
+
290
+ if (allPassed) {
291
+ console.log(chalk.green('✅ All required verifications passed!\n'));
292
+ process.exit(0);
293
+ } else {
294
+ console.log(chalk.red('❌ Some required verifications failed.\n'));
295
+ process.exit(1);
296
+ }
297
+ }
298
+
299
+ runVerification();
300
+ ```
301
+
302
+ ### 4. Type-Specific Verification
303
+
304
+ ```markdown
305
+ ## Feature Verification Checklist
306
+
307
+ ### UI Component
308
+ - [ ] Renders correctly in all supported browsers
309
+ - [ ] Responsive on mobile, tablet, desktop
310
+ - [ ] Loading states implemented
311
+ - [ ] Error states implemented
312
+ - [ ] Empty states implemented
313
+ - [ ] Keyboard accessible
314
+ - [ ] Screen reader compatible
315
+ - [ ] Matches design specs
316
+ - [ ] Animations smooth (60fps)
317
+ - [ ] No console errors
318
+
319
+ ### API Endpoint
320
+ - [ ] Returns correct status codes
321
+ - [ ] Response format matches schema
322
+ - [ ] Handles malformed requests
323
+ - [ ] Rate limiting works
324
+ - [ ] Authentication required
325
+ - [ ] Authorization enforced
326
+ - [ ] Input validated
327
+ - [ ] SQL injection protected
328
+ - [ ] Response time acceptable
329
+ - [ ] Documented in OpenAPI
330
+
331
+ ### Database Migration
332
+ - [ ] Migration runs successfully
333
+ - [ ] Rollback works correctly
334
+ - [ ] No data loss
335
+ - [ ] Indexes added for queries
336
+ - [ ] Foreign keys correct
337
+ - [ ] Default values set
338
+ - [ ] Tested on production-like data
339
+ - [ ] Performance impact assessed
340
+
341
+ ### Bug Fix
342
+ - [ ] Root cause identified
343
+ - [ ] Fix addresses root cause (not symptom)
344
+ - [ ] Regression test added
345
+ - [ ] Related code checked for similar issues
346
+ - [ ] No new bugs introduced
347
+ - [ ] Original reporter can verify
348
+ - [ ] Documentation updated if needed
349
+
350
+ ### Performance Optimization
351
+ - [ ] Baseline metrics documented
352
+ - [ ] Improvement measured
353
+ - [ ] No regressions in other areas
354
+ - [ ] Works under load
355
+ - [ ] Memory usage stable
356
+ - [ ] CPU usage reasonable
357
+ - [ ] Tested with realistic data volume
358
+ ```
359
+
360
+ ### 5. Verification Workflows
361
+
362
+ ```yaml
363
+ # .github/workflows/verify.yml
364
+ name: Verification Pipeline
365
+
366
+ on:
367
+ pull_request:
368
+ branches: [main, develop]
369
+
370
+ jobs:
371
+ verify:
372
+ runs-on: ubuntu-latest
373
+
374
+ steps:
375
+ - uses: actions/checkout@v4
376
+
377
+ - name: Setup Node.js
378
+ uses: actions/setup-node@v4
379
+ with:
380
+ node-version: '20'
381
+ cache: 'npm'
382
+
383
+ - name: Install dependencies
384
+ run: npm ci
385
+
386
+ - name: TypeScript Check
387
+ run: npm run typecheck
388
+
389
+ - name: Lint Check
390
+ run: npm run lint
391
+
392
+ - name: Unit Tests
393
+ run: npm test -- --coverage
394
+
395
+ - name: Upload Coverage
396
+ uses: codecov/codecov-action@v3
397
+ with:
398
+ file: ./coverage/lcov.info
399
+ fail_ci_if_error: true
400
+ minimum_coverage: 80
401
+
402
+ - name: Build
403
+ run: npm run build
404
+
405
+ - name: Bundle Size Check
406
+ uses: preactjs/compressed-size-action@v2
407
+ with:
408
+ pattern: '.next/**/*.js'
409
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
410
+
411
+ - name: Security Audit
412
+ run: npm audit --audit-level=high
413
+
414
+ - name: Integration Tests
415
+ run: npm run test:integration
416
+
417
+ - name: E2E Tests
418
+ run: npm run test:e2e
419
+
420
+ - name: Lighthouse CI
421
+ uses: treosh/lighthouse-ci-action@v10
422
+ with:
423
+ configPath: './lighthouserc.json'
424
+ uploadArtifacts: true
425
+
426
+ verification-summary:
427
+ needs: verify
428
+ runs-on: ubuntu-latest
429
+ if: always()
430
+
431
+ steps:
432
+ - name: Create Summary
433
+ run: |
434
+ echo "## Verification Results" >> $GITHUB_STEP_SUMMARY
435
+ echo "" >> $GITHUB_STEP_SUMMARY
436
+ if [ "${{ needs.verify.result }}" == "success" ]; then
437
+ echo "✅ All verifications passed" >> $GITHUB_STEP_SUMMARY
438
+ else
439
+ echo "❌ Some verifications failed" >> $GITHUB_STEP_SUMMARY
440
+ fi
441
+ ```
442
+
443
+ ### 6. Pre-Commit Verification
444
+
445
+ ```typescript
446
+ // .husky/pre-commit
447
+ #!/bin/sh
448
+ . "$(dirname "$0")/_/husky.sh"
449
+
450
+ echo "🔍 Running pre-commit verification..."
451
+
452
+ # Stage-only verification
453
+ npx lint-staged
454
+
455
+ # Quick verification
456
+ npm run typecheck
457
+ npm run test -- --bail --findRelatedTests $(git diff --cached --name-only)
458
+
459
+ echo "✅ Pre-commit verification passed"
460
+ ```
461
+
462
+ ```json
463
+ // lint-staged.config.js
464
+ module.exports = {
465
+ '*.{ts,tsx}': [
466
+ 'eslint --fix',
467
+ 'prettier --write',
468
+ () => 'tsc --noEmit',
469
+ ],
470
+ '*.{css,scss}': [
471
+ 'stylelint --fix',
472
+ 'prettier --write',
473
+ ],
474
+ '*.{json,md}': [
475
+ 'prettier --write',
476
+ ],
477
+ };
478
+ ```
479
+
480
+ ## Use Cases
481
+
482
+ ### Pull Request Verification
24
483
 
25
- ## Evidence
26
- Document verification:
27
484
  ```markdown
28
- ## Verification
29
- - Tests: ✅ 45 passed
30
- - Manual: Tested [scenario]
31
- - Edge cases: ✅ Handled [case]
485
+ ## PR Verification Report
486
+
487
+ ### PR: #1234 - Add user profile editing
488
+
489
+ #### Automated Checks
490
+ | Check | Status | Details |
491
+ |-------|--------|---------|
492
+ | TypeScript | ✅ | No errors |
493
+ | ESLint | ✅ | No warnings |
494
+ | Unit Tests | ✅ | 45/45 passed |
495
+ | Coverage | ✅ | 87.3% (≥80%) |
496
+ | Build | ✅ | 45s |
497
+ | Bundle Size | ✅ | +2.1 KB |
498
+ | Security | ✅ | No vulnerabilities |
499
+ | E2E | ✅ | 12/12 passed |
500
+
501
+ #### Manual Verification
502
+ - [x] Tested profile edit flow
503
+ - [x] Tested validation errors
504
+ - [x] Tested mobile view
505
+ - [x] Tested with slow network
506
+ - [x] Tested accessibility
507
+
508
+ #### Screenshots
509
+ [Profile Edit Flow](./screenshots/profile-edit.png)
510
+ [Mobile View](./screenshots/mobile.png)
511
+
512
+ #### Verification Notes
513
+ - Tested in Chrome, Firefox, Safari
514
+ - Tested on iOS and Android
515
+ - No issues found
516
+
517
+ **Ready for review: YES**
32
518
  ```
519
+
520
+ ## Best Practices
521
+
522
+ ### Do's
523
+
524
+ - Run all tests before marking complete
525
+ - Document evidence of verification
526
+ - Test both happy and unhappy paths
527
+ - Verify on multiple browsers/devices
528
+ - Check performance impact
529
+ - Review your own code first
530
+ - Use automated verification where possible
531
+ - Include screenshots for UI changes
532
+ - Test with production-like data
533
+ - Verify accessibility requirements
534
+
535
+ ### Don'ts
536
+
537
+ - Don't skip verification steps
538
+ - Don't mark complete without evidence
539
+ - Don't assume tests are enough
540
+ - Don't ignore edge cases
541
+ - Don't skip security checks
542
+ - Don't merge without green CI
543
+ - Don't forget mobile testing
544
+ - Don't ignore performance regressions
545
+ - Don't skip documentation updates
546
+ - Don't rush verification
547
+
548
+ ## References
549
+
550
+ - [Definition of Done](https://www.agilealliance.org/glossary/definition-of-done/)
551
+ - [Testing Best Practices](https://testing-library.com/docs/)
552
+ - [CI/CD Best Practices](https://www.atlassian.com/continuous-delivery/principles)
553
+ - [Code Review Guidelines](https://google.github.io/eng-practices/review/)