lite-kits 0.1.1__py3-none-any.whl → 0.3.1__py3-none-any.whl

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 (63) hide show
  1. lite_kits/__init__.py +56 -4
  2. lite_kits/cli.py +696 -185
  3. lite_kits/core/__init__.py +6 -0
  4. lite_kits/core/banner.py +1 -1
  5. lite_kits/core/conflict_checker.py +115 -0
  6. lite_kits/core/detector.py +140 -0
  7. lite_kits/core/installer.py +236 -351
  8. lite_kits/core/manifest.py +146 -146
  9. lite_kits/core/validator.py +146 -0
  10. lite_kits/kits/README.md +6 -6
  11. lite_kits/kits/dev/README.md +241 -241
  12. lite_kits/kits/dev/{claude/commands → commands/.claude}/audit.md +143 -143
  13. lite_kits/kits/dev/{claude/commands → commands/.claude}/cleanup.md +2 -2
  14. lite_kits/kits/{git/claude/commands → dev/commands/.claude}/commit.md +2 -2
  15. lite_kits/kits/{project/claude/commands → dev/commands/.claude}/orient.md +3 -4
  16. lite_kits/kits/{git/claude/commands → dev/commands/.claude}/pr.md +1 -1
  17. lite_kits/kits/{git/claude/commands → dev/commands/.claude}/review.md +202 -202
  18. lite_kits/kits/{project/claude/commands → dev/commands/.claude}/stats.md +162 -162
  19. lite_kits/kits/{project/github/prompts → dev/commands/.github}/audit.prompt.md +143 -143
  20. lite_kits/kits/{git/github/prompts → dev/commands/.github}/cleanup.prompt.md +2 -2
  21. lite_kits/kits/{git/github/prompts → dev/commands/.github}/commit.prompt.md +2 -2
  22. lite_kits/kits/dev/{github/prompts → commands/.github}/orient.prompt.md +3 -4
  23. lite_kits/kits/{git/github/prompts → dev/commands/.github}/pr.prompt.md +1 -1
  24. lite_kits/kits/{git/github/prompts → dev/commands/.github}/review.prompt.md +202 -202
  25. lite_kits/kits/dev/{github/prompts → commands/.github}/stats.prompt.md +163 -163
  26. lite_kits/kits/kits.yaml +497 -180
  27. lite_kits/kits/multiagent/README.md +6 -6
  28. lite_kits/kits/multiagent/{claude/commands → commands/.claude}/sync.md +331 -331
  29. lite_kits/kits/multiagent/{github/prompts → commands/.github}/sync.prompt.md +73 -69
  30. lite_kits/kits/multiagent/memory/git-worktrees-protocol.md +370 -370
  31. lite_kits/kits/multiagent/memory/parallel-work-protocol.md +536 -536
  32. lite_kits/kits/multiagent/memory/pr-workflow-guide.md +275 -275
  33. lite_kits/kits/multiagent/templates/collaboration-structure/README.md +166 -166
  34. lite_kits/kits/multiagent/templates/decision.md +79 -79
  35. lite_kits/kits/multiagent/templates/handoff.md +95 -95
  36. lite_kits/kits/multiagent/templates/session-log.md +68 -68
  37. lite_kits-0.3.1.dist-info/METADATA +259 -0
  38. lite_kits-0.3.1.dist-info/RECORD +41 -0
  39. {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/licenses/LICENSE +21 -21
  40. lite_kits/kits/dev/claude/commands/commit.md +0 -612
  41. lite_kits/kits/dev/claude/commands/orient.md +0 -146
  42. lite_kits/kits/dev/claude/commands/pr.md +0 -593
  43. lite_kits/kits/dev/claude/commands/review.md +0 -202
  44. lite_kits/kits/dev/claude/commands/stats.md +0 -162
  45. lite_kits/kits/dev/github/prompts/audit.prompt.md +0 -143
  46. lite_kits/kits/dev/github/prompts/cleanup.prompt.md +0 -382
  47. lite_kits/kits/dev/github/prompts/commit.prompt.md +0 -591
  48. lite_kits/kits/dev/github/prompts/pr.prompt.md +0 -603
  49. lite_kits/kits/dev/github/prompts/review.prompt.md +0 -202
  50. lite_kits/kits/git/README.md +0 -365
  51. lite_kits/kits/git/claude/commands/cleanup.md +0 -361
  52. lite_kits/kits/git/scripts/bash/get-git-context.sh +0 -208
  53. lite_kits/kits/git/scripts/powershell/Get-GitContext.ps1 +0 -242
  54. lite_kits/kits/project/README.md +0 -228
  55. lite_kits/kits/project/claude/commands/audit.md +0 -143
  56. lite_kits/kits/project/claude/commands/review.md +0 -112
  57. lite_kits/kits/project/github/prompts/orient.prompt.md +0 -150
  58. lite_kits/kits/project/github/prompts/review.prompt.md +0 -112
  59. lite_kits/kits/project/github/prompts/stats.prompt.md +0 -163
  60. lite_kits-0.1.1.dist-info/METADATA +0 -447
  61. lite_kits-0.1.1.dist-info/RECORD +0 -58
  62. {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/WHEEL +0 -0
  63. {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/entry_points.txt +0 -0
@@ -1,591 +0,0 @@
1
- ---
2
- description: Smart commit with agent attribution
3
- ---
4
-
5
- # Smart Commit with Agent Attribution
6
-
7
- **Purpose**: Generate conventional commit messages and add agent attribution for multi-agent tracking.
8
-
9
- ## Execution Steps
10
-
11
- Execute the following steps to create a smart commit:
12
-
13
- ### 1. Analyze Git Status and Propose Staging Plan
14
-
15
- **CRITICAL**: Always analyze the complete git status and propose a staging plan BEFORE staging anything!
16
-
17
- ```powershell
18
- # Get complete status - staged, unstaged, and untracked
19
- git status --short
20
- ```
21
-
22
- **Analyze the output**:
23
- - Lines starting with `M ` or `A ` = Staged files (ready to commit)
24
- - Lines starting with ` M` = Modified but NOT staged
25
- - Lines starting with `??` = Untracked files
26
- - Lines starting with `MM` = Staged AND modified again
27
-
28
- **Step 1a: Analyze and Present Complete Commit Plan**
29
-
30
- **IMPORTANT**: Present BOTH staging plan AND commit message in a single prompt. User can approve both, edit staging, edit message, or cancel.
31
-
32
- **Scenario 1: Files already staged**
33
- ```
34
- **📊 Git Status** (on: dev/001-feature-name)
35
-
36
- **Staged:** 2 files
37
- **Unstaged:** 1 file
38
- **Untracked:** 1 file
39
-
40
- ===========================================================
41
- **📋 Staging Plan:**
42
- ===========================================================
43
-
44
- Files to commit:
45
- 1. M src/file1.py
46
- 2. M src/file2.py
47
-
48
- Excluded from staging:
49
- M src/unrelated.py (unstaged)
50
- ?? tests/new_test.py (untracked)
51
-
52
- ===========================================================
53
- **💬 Commit Message:**
54
- ===========================================================
55
-
56
- feat(001): add feature improvements
57
-
58
- ## Summary
59
- Added improvements to src files for better functionality.
60
-
61
- ## Changes
62
- - **src/file1.py**: Enhanced feature logic
63
- - **src/file2.py**: Updated implementation
64
-
65
- ---
66
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
67
-
68
- ===========================================================
69
- ```
70
-
71
- **Approve commit?**
72
- - **y** - Yes, stage files and commit with this message
73
- - **n** - No, cancel
74
- - **es** - Edit staging (reply with numbers: e.g., "1 3" or "all")
75
- - **em** - Edit message (reply with new message)
76
-
77
- **Scenario 2: Nothing staged, propose intelligent staging**
78
- ```
79
- **📊 Git Status** (on: dev/001-feature-name)
80
-
81
- **Staged:** 0 files
82
- **Modified:** 3 files
83
- **Untracked:** 1 file
84
-
85
- ===========================================================
86
- **📋 Staging Proposal:**
87
- ===========================================================
88
-
89
- Proposed plan: Stage related command files (3 files)
90
-
91
- Files to stage:
92
-
93
- 1. M src/commands/pr.md
94
- → Command update for PR workflow
95
-
96
- 2. M src/commands/commit.md
97
- → Related command improvements
98
-
99
- 3. M src/prompts/pr.prompt.md
100
- → Matching prompt for GitHub Copilot
101
-
102
- Excluded from staging:
103
-
104
- ?? docs/new_feature.md (unrelated documentation)
105
-
106
- Rationale: Logical commit unit - these files represent coordinated
107
- command workflow improvements that should be committed together to
108
- maintain consistency across Claude Code and GitHub Copilot.
109
-
110
- ===========================================================
111
- **💬 Commit Message:**
112
- ===========================================================
113
-
114
- feat(004): enhance PR and commit command workflows
115
-
116
- ## Summary
117
- Updated PR and commit commands with better user experience and
118
- cross-platform consistency between Claude Code and GitHub Copilot.
119
-
120
- ## Changes
121
- - **src/commands/pr.md**:
122
- - Added base branch detection
123
- - Enhanced user confirmation prompts
124
-
125
- - **src/commands/commit.md**:
126
- - Improved staging proposal format
127
- - Added better examples
128
-
129
- - **src/prompts/pr.prompt.md**:
130
- - Mirrored Claude Code improvements
131
- - PowerShell-specific enhancements
132
-
133
- ---
134
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
135
-
136
- ===========================================================
137
- ```
138
-
139
- **Approve commit?**
140
- - **y** - Yes, stage files and commit with this message
141
- - **n** - No, cancel
142
- - **es** - Edit staging (reply with numbers: e.g., "1 3" or "all")
143
- - **em** - Edit message (reply with new message)
144
-
145
- **Scenario 3: Mixed state (some staged, related unstaged)**
146
- ```
147
- **📊 Git Status** (on: dev/001-feature-name)
148
-
149
- **Staged:** 1 file
150
- **Modified:** 3 files
151
- **Untracked:** 1 file
152
-
153
- ===========================================================
154
- **📋 Staging Proposal:**
155
- ===========================================================
156
-
157
- Proposed plan: Add related command files (4 files total)
158
-
159
- Already staged:
160
-
161
- M src/commands/pr.md
162
-
163
- Related unstaged files to add:
164
-
165
- 1. M src/commands/commit.md (both are command files)
166
- 2. M src/prompts/pr.prompt.md (pr-related)
167
- 3. M src/prompts/commit.prompt.md (commit-related)
168
-
169
- Excluded from staging:
170
-
171
- ?? random_file.txt (unrelated)
172
-
173
- Rationale: Creates cohesive commit for command improvements.
174
-
175
- ===========================================================
176
- **💬 Commit Message:**
177
- ===========================================================
178
-
179
- feat(004): improve command workflow consistency
180
-
181
- ## Summary
182
- Enhanced PR and commit commands with consistent UX across both
183
- Claude Code and GitHub Copilot interfaces.
184
-
185
- ## Changes
186
- - **src/commands/pr.md**: Added base branch detection
187
- - **src/commands/commit.md**: Improved staging workflow
188
- - **src/prompts/pr.prompt.md**: PowerShell version of PR enhancements
189
- - **src/prompts/commit.prompt.md**: PowerShell version of commit improvements
190
-
191
- ---
192
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
193
-
194
- ===========================================================
195
- ```
196
-
197
- **Approve commit?**
198
- - **y** - Yes, add related files and commit with this message
199
- - **s** - Use only already-staged files and commit
200
- - **es** - Edit staging (reply with numbers: e.g., "1 3" or "all")
201
- - **em** - Edit message (reply with new message)
202
- - **n** - No, cancel
203
-
204
- **Scenario 4: Many changes - propose multiple modular commits**
205
-
206
- When there are many unrelated changes (10+ files, or changes spanning unrelated features), propose breaking into multiple logical commits:
207
-
208
- ```
209
- **📊 Git Status** (on: dev/001-feature-name)
210
-
211
- **Staged:** 0 files
212
- **Modified:** 15 files
213
- **Untracked:** 3 files
214
-
215
- ===========================================================
216
- **📋 Multi-Commit Proposal:**
217
- ===========================================================
218
-
219
- Detected many changes across different areas. Proposing 3 modular commits:
220
-
221
- **Commit 1: Git workflow commands** (5 files)
222
- 1. M src/commands/commit.md
223
- 2. M src/commands/pr.md
224
- 3. M src/commands/cleanup.md
225
- 4. M src/prompts/commit.prompt.md
226
- 5. M src/prompts/pr.prompt.md
227
-
228
- Message:
229
- feat(004): enhance git workflow commands
230
-
231
- Updated commit, PR, and cleanup commands with better UX
232
- and cross-platform consistency.
233
-
234
- ---
235
-
236
- **Commit 2: Documentation updates** (4 files)
237
- 6. M docs/ARCHITECTURE.md
238
- 7. M docs/IMPLEMENTATION-GUIDE.md
239
- 8. M README.md
240
- 9. ?? docs/new-guide.md
241
-
242
- Message:
243
- docs(004): update documentation for git-kit
244
-
245
- Added git workflow documentation and updated README
246
- with new command examples.
247
-
248
- ---
249
-
250
- **Commit 3: Status tracking** (2 files)
251
- 10. M docs/temp/PHASE-1-AUDIT.md
252
- 11. M docs/temp/kit-implementation-status.md
253
-
254
- Message:
255
- chore(004): update implementation status tracking
256
-
257
- Marked git-kit as complete in status docs.
258
-
259
- ---
260
-
261
- **Excluded from commits:**
262
- M src/experimental/test.py (work in progress)
263
- M src/debug.log (debug file)
264
- ?? temp/ (temporary directory)
265
-
266
- ===========================================================
267
- ```
268
-
269
- **Approve multi-commit plan?**
270
- - **y** - Yes, execute all commits in sequence
271
- - **n** - No, cancel
272
- - **ec** - Edit commits (specify which commits: e.g., "1 3")
273
- - **em** - Edit messages (will prompt for each)
274
- - **single** - Combine into single commit instead
275
-
276
- **Step 1b: Execute staging and commit based on user choice**
277
-
278
- After user approves (y), execute the plan:
279
- ```powershell
280
- # Stage files for approved commits
281
- git add <files-from-plan>
282
-
283
- # Create commit with approved message
284
- git commit -m "<message-including-attribution>"
285
-
286
- # Show result
287
- git log -1 --oneline
288
- ```
289
-
290
- If user edits staging (es) or message (em):
291
- - Show updated plan
292
- - Ask for confirmation again
293
- - Then execute
294
-
295
- ### 2. Analyze Staged Changes
296
-
297
- Examine the staged changes to determine:
298
-
299
- **Change Type** (following Conventional Commits):
300
- - `feat:` New feature or capability
301
- - `fix:` Bug fix
302
- - `refactor:` Code restructuring without behavior change
303
- - `docs:` Documentation only
304
- - `test:` Adding or updating tests
305
- - `chore:` Maintenance (dependencies, config, build)
306
- - `style:` Formatting, whitespace
307
- - `perf:` Performance improvements
308
-
309
- **Scope** (optional):
310
- - Identify the main area/component affected
311
- - Examples: `auth`, `api`, `ui`, `cli`, `installer`
312
-
313
- **Summary**:
314
- - 1-2 sentences describing what changed
315
- - Focus on the "what" and "why", not the "how"
316
-
317
- ### 3. Detect Feature Number
318
-
319
- **Check for feature number in order of priority**:
320
-
321
- 1. **From branch name** (highest priority):
322
- ```powershell
323
- # Get current branch
324
- git branch --show-current
325
-
326
- # Extract feature number from patterns like:
327
- # - dev/001-feature-name → 001
328
- # - feature/002-auth → 002
329
- # - 003-bugfix → 003
330
- ```
331
-
332
- 2. **From specs directory** (if branch has no number):
333
- ```powershell
334
- # Look for specs directory with feature number
335
- Get-ChildItem -Path specs\*\spec.md -ErrorAction SilentlyContinue | Select-Object -First 1
336
-
337
- # Extract from pattern: specs\NNN-feature-name\spec.md → NNN
338
- ```
339
-
340
- 3. **Use component name** (fallback):
341
- - If no feature number found anywhere, use component/scope name
342
- - Examples: `cli`, `installer`, `git`, `multiagent`
343
-
344
- **Feature Number Format**:
345
- - Must be 3 digits: `001`, `002`, `042`, etc.
346
- - Branch pattern: `dev/NNN-*`, `feature/NNN-*`, `NNN-*`
347
- - Specs pattern: `specs\NNN-*`
348
-
349
- ### 4. Generate Commit Message
350
-
351
- Create a beautiful, structured commit message with feature number and agent attribution:
352
-
353
- ```
354
- <type>(NNN): <subject>
355
-
356
- ## Summary
357
- <Brief 1-2 sentence overview with enthusiasm>
358
-
359
- ## Changes
360
- - **<file/component>**:
361
- - <specific change>
362
- - <specific change>
363
-
364
- - **<file/component>**:
365
- - <specific change>
366
-
367
- ## <Additional Section if Relevant>
368
- <Context, impacts, visual improvements, etc.>
369
-
370
- ---
371
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
372
- ```
373
-
374
- **Format Rules**:
375
- - Subject: `feat(NNN):` format with feature number
376
- - Use feature number if available, otherwise component name
377
- - Summary: 1-2 sentences, be enthusiastic but genuine
378
- - Changes: Bulleted list grouped by file/component
379
- - Use markdown bold for file names
380
- - Add emoji where appropriate (sparingly)
381
- - Keep professional but friendly tone
382
- - Attribution: GitHub Copilot standard footer
383
-
384
- **Examples**:
385
-
386
- ```
387
- feat(002): add beautiful colorful pytest output with pytest-sugar
388
-
389
- ## Summary
390
- Added pytest-sugar for gorgeous colorful test output with progress bars
391
- and instant failure reporting. MOAR GREEN! 🎉
392
-
393
- ## Changes
394
- - **pyproject.toml**:
395
- - Added pytest-sugar dependency for beautiful output
396
- - Configured pytest with --color=yes and markers
397
- - Added -ra flag for summary of all outcomes
398
-
399
- - **quick-start.ps1**:
400
- - Simplified pytest args to let pytest-sugar shine
401
- - Verbose mode: -v flag shows test names
402
- - Default mode: pytest-sugar progress bar (no -q)
403
-
404
- ## Visual Improvements
405
- - ✨ Beautiful progress bar during test execution
406
- - 🟢 Green PASSED markers with percentages
407
- - 🟡 Yellow SKIPPED with clear reasons
408
- - 🔴 Red FAILED with instant feedback
409
- - 📊 Colored summary statistics
410
-
411
- ---
412
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
413
- ```
414
-
415
- ```
416
- fix(003): handle null values in user profile endpoint
417
-
418
- ## Summary
419
- Fixed TypeError when optional profile fields are missing. Now handles
420
- null values gracefully with sensible defaults.
421
-
422
- ## Changes
423
- - **src/api/users.py**:
424
- - Added null checks for optional fields
425
- - Set default empty strings for missing values
426
- - Added validation before JSON serialization
427
-
428
- - **tests/test_users.py**:
429
- - Added test cases for null profile fields
430
- - Verified default value behavior
431
-
432
- ---
433
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
434
- ```
435
-
436
- ```
437
- docs(installer): update installation instructions
438
-
439
- ## Summary
440
- Clarified Python version requirement and added comprehensive
441
- troubleshooting section for common installation issues.
442
-
443
- ## Changes
444
- - **README.md**:
445
- - Added Python 3.8+ requirement
446
- - Added pip install examples
447
- - Linked to troubleshooting guide
448
-
449
- - **docs/TROUBLESHOOTING.md**:
450
- - Added Windows-specific issues
451
- - Added virtual environment setup
452
- - Added common error solutions
453
-
454
- ---
455
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
456
- ```
457
-
458
- ### 5. Post-Commit Actions
459
-
460
- After successful commit:
461
- ```powershell
462
- # Show commit hash and summary
463
- git log -1 --oneline
464
-
465
- # Show current branch status
466
- git status --short
467
- ```
468
-
469
- **Suggest next steps**:
470
- - "Commit created. Push with: `git push`"
471
- - If on feature branch: "Ready to create PR? Run `/pr`"
472
- - If collaboration/ exists: "Update session log in specs/*/collaboration/active/sessions/"
473
-
474
- ## Important Notes
475
-
476
- - **Don't commit secrets**: Check for `.env`, `credentials.json`, API keys
477
- - **No commits without user confirmation**: Always show message first
478
- - **Preserve git hooks**: Don't use `--no-verify` unless user explicitly requests
479
- - **Attribution format is fixed**: `via <model> @ <agent>` - don't modify
480
- - **Keep subjects concise**: Max 72 characters for good git log display
481
- - **Use imperative mood**: "Add feature" not "Added feature"
482
-
483
- ## Error Handling
484
-
485
- **No changes at all**:
486
- ```
487
- ⚠️ No changes detected.
488
-
489
- Working directory is clean - nothing to commit.
490
- ```
491
-
492
- **Commit failed** (e.g., pre-commit hook):
493
- ```
494
- ❌ Commit failed: [error message]
495
-
496
- Check git output above for details.
497
- Fix issues and run /commit again.
498
- ```
499
-
500
- **User cancels during approval**:
501
- - Don't stage anything if not already staged
502
- - Leave repository in clean state
503
- - Suggest: "Cancelled. Changes remain unstaged. Run /commit when ready."
504
-
505
- ## Example Workflow
506
-
507
- ```powershell
508
- # User: /commit
509
-
510
- # Agent checks git status
511
- > git status --short
512
- M src/commands/commit.md
513
- M src/prompts/commit.prompt.md
514
-
515
- # Agent presents combined staging + commit plan
516
- **📊 Git Status** (on: dev/004-cleanup-command)
517
-
518
- **Staged:** 0 files
519
- **Modified:** 2 files
520
-
521
- ===========================================================
522
- **📋 Staging Proposal:**
523
- ===========================================================
524
-
525
- Proposed plan: Stage commit command updates (2 files)
526
-
527
- Files to stage:
528
- 1. M src/commands/commit.md
529
- → Simplified approval workflow
530
- 2. M src/prompts/commit.prompt.md
531
- → PowerShell version of changes
532
-
533
- ===========================================================
534
- **💬 Commit Message:**
535
- ===========================================================
536
-
537
- feat(004): simplify commit approval workflow
538
-
539
- ## Summary
540
- Combined staging proposal and commit message into single prompt
541
- for better UX. Fewer user interactions needed.
542
-
543
- ## Changes
544
- - **src/commands/commit.md**:
545
- - Show both staging and commit message together
546
- - Single approval step with edit options
547
-
548
- - **src/prompts/commit.prompt.md**:
549
- - Mirrored bash version improvements
550
-
551
- ---
552
- 🤖 Co-authored with gpt-4o @ github copilot via vscode
553
-
554
- ===========================================================
555
-
556
- **Approve commit?**
557
- - **y** - Yes, stage files and commit with this message
558
- - **n** - No, cancel
559
- - **es** - Edit staging
560
- - **em** - Edit message
561
-
562
- # User: y
563
-
564
- # Agent executes
565
- > git add src/commands/commit.md src/prompts/commit.prompt.md
566
- > git commit -m "..."
567
- [dev/004-cleanup-command 8a3f2c1] feat(004): simplify commit...
568
- 2 files changed, 87 insertions(+), 142 deletions(-)
569
-
570
- ✓ Commit created: 8a3f2c1
571
- Branch: dev/004-cleanup-command
572
- Next: git push origin dev/004-cleanup-command
573
- ```
574
-
575
- ## Multi-Agent Coordination
576
-
577
- When working with multiple agents:
578
-
579
- 1. **Attribution tracks who coded what**:
580
- ```powershell
581
- git log --format="%h %s %b" | Select-String "via"
582
- ```
583
- Shows which agent made which commits
584
-
585
- 2. **Session logging** (if multiagent-kit installed):
586
- - Create/update: `specs/*/collaboration/active/sessions/<date>-<agent>.md`
587
- - Document what you committed and why
588
-
589
- 3. **Handoff preparation**:
590
- - Clear commit messages help the next agent understand changes
591
- - Attribution makes it easy to ask the right agent about their commits