claude-code-workflow 6.3.26 → 6.3.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/CLAUDE.md +7 -1
- package/.claude/agents/action-planning-agent.md +1 -0
- package/.claude/agents/cli-discuss-agent.md +391 -0
- package/.claude/agents/cli-execution-agent.md +2 -0
- package/.claude/agents/cli-explore-agent.md +2 -1
- package/.claude/agents/cli-lite-planning-agent.md +1 -0
- package/.claude/agents/cli-planning-agent.md +1 -0
- package/.claude/agents/code-developer.md +1 -0
- package/.claude/agents/conceptual-planning-agent.md +2 -0
- package/.claude/agents/context-search-agent.md +1 -0
- package/.claude/agents/debug-explore-agent.md +2 -0
- package/.claude/agents/doc-generator.md +1 -0
- package/.claude/agents/issue-plan-agent.md +2 -1
- package/.claude/agents/issue-queue-agent.md +2 -1
- package/.claude/agents/memory-bridge.md +2 -0
- package/.claude/agents/test-context-search-agent.md +2 -0
- package/.claude/agents/test-fix-agent.md +1 -0
- package/.claude/agents/ui-design-agent.md +2 -0
- package/.claude/agents/universal-executor.md +1 -0
- package/.claude/commands/issue/execute.md +141 -163
- package/.claude/commands/workflow/lite-lite-lite.md +798 -0
- package/.claude/commands/workflow/multi-cli-plan.md +510 -0
- package/.claude/skills/ccw/SKILL.md +262 -372
- package/.claude/skills/ccw/command.json +547 -0
- package/.claude/skills/ccw-help/SKILL.md +46 -107
- package/.claude/skills/ccw-help/command.json +511 -0
- package/.claude/skills/skill-tuning/SKILL.md +303 -0
- package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -0
- package/.claude/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
- package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
- package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
- package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
- package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
- package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -0
- package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
- package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -0
- package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -0
- package/.claude/skills/skill-tuning/phases/state-schema.md +378 -0
- package/.claude/skills/skill-tuning/specs/category-mappings.json +284 -0
- package/.claude/skills/skill-tuning/specs/dimension-mapping.md +212 -0
- package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -0
- package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -0
- package/.claude/skills/skill-tuning/specs/skill-authoring-principles.md +189 -0
- package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -0
- package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -0
- package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -0
- package/.claude/workflows/cli-templates/schemas/multi-cli-discussion-schema.json +421 -0
- package/.claude/workflows/cli-tools-usage.md +0 -41
- package/ccw/dist/core/auth/csrf-middleware.d.ts.map +1 -1
- package/ccw/dist/core/auth/csrf-middleware.js +3 -1
- package/ccw/dist/core/auth/csrf-middleware.js.map +1 -1
- package/ccw/dist/core/data-aggregator.d.ts +2 -0
- package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
- package/ccw/dist/core/data-aggregator.js +5 -2
- package/ccw/dist/core/data-aggregator.js.map +1 -1
- package/ccw/dist/core/lite-scanner.d.ts +2 -1
- package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
- package/ccw/dist/core/lite-scanner.js +295 -6
- package/ccw/dist/core/lite-scanner.js.map +1 -1
- package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens/config-handlers.js +5 -5
- package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -1
- package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/session-routes.js +166 -48
- package/ccw/dist/core/routes/session-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +87 -0
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/dist/core/server.js +2 -2
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/scripts/IMPLEMENTATION-SUMMARY.md +226 -0
- package/ccw/scripts/QUICK-REFERENCE.md +135 -0
- package/ccw/scripts/README-memory-embedder.md +157 -0
- package/ccw/scripts/__pycache__/memory_embedder.cpython-313.pyc +0 -0
- package/ccw/scripts/__pycache__/test_memory_embedder.cpython-313-pytest-8.4.2.pyc +0 -0
- package/ccw/scripts/memory-embedder-example.ts +184 -0
- package/ccw/scripts/memory_embedder.py +428 -0
- package/ccw/scripts/test_memory_embedder.py +245 -0
- package/ccw/src/core/auth/csrf-middleware.ts +3 -1
- package/ccw/src/core/data-aggregator.ts +7 -2
- package/ccw/src/core/lite-scanner.ts +440 -6
- package/ccw/src/core/routes/codexlens/config-handlers.ts +12 -9
- package/ccw/src/core/routes/session-routes.ts +201 -48
- package/ccw/src/core/routes/system-routes.ts +102 -0
- package/ccw/src/core/server.ts +2 -2
- package/ccw/src/templates/dashboard-css/01-base.css +8 -0
- package/ccw/src/templates/dashboard-css/02-session.css +81 -0
- package/ccw/src/templates/dashboard-css/04-lite-tasks.css +2442 -0
- package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +157 -0
- package/ccw/src/templates/dashboard-css/32-issue-manager.css +23 -0
- package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +38 -4
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +38 -13
- package/ccw/src/templates/dashboard-js/components/navigation.js +24 -4
- package/ccw/src/templates/dashboard-js/i18n.js +194 -6
- package/ccw/src/templates/dashboard-js/views/api-settings.js +32 -0
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +44 -3
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +303 -31
- package/ccw/src/templates/dashboard-js/views/history.js +44 -6
- package/ccw/src/templates/dashboard-js/views/home.js +1 -0
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +54 -7
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +1817 -4
- package/ccw/src/templates/dashboard.html +5 -0
- package/package.json +2 -1
- package/.claude/skills/ccw/index/command-capabilities.json +0 -127
- package/.claude/skills/ccw/index/intent-rules.json +0 -136
- package/.claude/skills/ccw/index/workflow-chains.json +0 -451
- package/.claude/skills/ccw/phases/actions/bugfix.md +0 -218
- package/.claude/skills/ccw/phases/actions/coupled.md +0 -194
- package/.claude/skills/ccw/phases/actions/docs.md +0 -93
- package/.claude/skills/ccw/phases/actions/full.md +0 -154
- package/.claude/skills/ccw/phases/actions/issue.md +0 -201
- package/.claude/skills/ccw/phases/actions/rapid.md +0 -104
- package/.claude/skills/ccw/phases/actions/review-fix.md +0 -84
- package/.claude/skills/ccw/phases/actions/tdd.md +0 -66
- package/.claude/skills/ccw/phases/actions/ui.md +0 -79
- package/.claude/skills/ccw/phases/orchestrator.md +0 -435
- package/.claude/skills/ccw/specs/intent-classification.md +0 -336
- package/.claude/skills/ccw-help/index/all-agents.json +0 -82
- package/.claude/skills/ccw-help/index/all-commands.json +0 -882
- package/.claude/skills/ccw-help/index/by-category.json +0 -914
- package/.claude/skills/ccw-help/index/by-use-case.json +0 -896
- package/.claude/skills/ccw-help/index/command-relationships.json +0 -160
- package/.claude/skills/ccw-help/index/essential-commands.json +0 -112
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Diagnosis Report Template
|
|
2
|
+
|
|
3
|
+
Template for individual diagnosis action reports.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# {{diagnosis_type}} Diagnosis Report
|
|
9
|
+
|
|
10
|
+
**Target Skill**: {{skill_name}}
|
|
11
|
+
**Diagnosis Type**: {{diagnosis_type}}
|
|
12
|
+
**Executed At**: {{timestamp}}
|
|
13
|
+
**Duration**: {{duration_ms}}ms
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Summary
|
|
18
|
+
|
|
19
|
+
| Metric | Value |
|
|
20
|
+
|--------|-------|
|
|
21
|
+
| Issues Found | {{issues_found}} |
|
|
22
|
+
| Severity | {{severity}} |
|
|
23
|
+
| Patterns Checked | {{patterns_checked_count}} |
|
|
24
|
+
| Patterns Matched | {{patterns_matched_count}} |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Patterns Analyzed
|
|
29
|
+
|
|
30
|
+
{{#each patterns_checked}}
|
|
31
|
+
### {{pattern_name}}
|
|
32
|
+
|
|
33
|
+
- **Status**: {{status}}
|
|
34
|
+
- **Matches**: {{match_count}}
|
|
35
|
+
- **Files Affected**: {{affected_files}}
|
|
36
|
+
|
|
37
|
+
{{/each}}
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Issues Identified
|
|
42
|
+
|
|
43
|
+
{{#if issues.length}}
|
|
44
|
+
{{#each issues}}
|
|
45
|
+
### {{id}}: {{description}}
|
|
46
|
+
|
|
47
|
+
| Field | Value |
|
|
48
|
+
|-------|-------|
|
|
49
|
+
| Type | {{type}} |
|
|
50
|
+
| Severity | {{severity}} |
|
|
51
|
+
| Location | {{location}} |
|
|
52
|
+
| Root Cause | {{root_cause}} |
|
|
53
|
+
| Impact | {{impact}} |
|
|
54
|
+
|
|
55
|
+
**Evidence**:
|
|
56
|
+
{{#each evidence}}
|
|
57
|
+
- `{{this}}`
|
|
58
|
+
{{/each}}
|
|
59
|
+
|
|
60
|
+
**Suggested Fix**: {{suggested_fix}}
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
{{/each}}
|
|
64
|
+
{{else}}
|
|
65
|
+
_No issues found in this diagnosis area._
|
|
66
|
+
{{/if}}
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Recommendations
|
|
71
|
+
|
|
72
|
+
{{#if recommendations.length}}
|
|
73
|
+
{{#each recommendations}}
|
|
74
|
+
{{@index}}. {{this}}
|
|
75
|
+
{{/each}}
|
|
76
|
+
{{else}}
|
|
77
|
+
No specific recommendations - area appears healthy.
|
|
78
|
+
{{/if}}
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Raw Data
|
|
83
|
+
|
|
84
|
+
Full diagnosis data available at:
|
|
85
|
+
`{{output_file}}`
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Variable Reference
|
|
89
|
+
|
|
90
|
+
| Variable | Type | Source |
|
|
91
|
+
|----------|------|--------|
|
|
92
|
+
| `diagnosis_type` | string | 'context' \| 'memory' \| 'dataflow' \| 'agent' |
|
|
93
|
+
| `skill_name` | string | state.target_skill.name |
|
|
94
|
+
| `timestamp` | string | ISO timestamp |
|
|
95
|
+
| `duration_ms` | number | Execution time |
|
|
96
|
+
| `issues_found` | number | issues.length |
|
|
97
|
+
| `severity` | string | Calculated severity |
|
|
98
|
+
| `patterns_checked` | array | Patterns analyzed |
|
|
99
|
+
| `patterns_matched` | array | Patterns with matches |
|
|
100
|
+
| `issues` | array | Issue objects |
|
|
101
|
+
| `recommendations` | array | String recommendations |
|
|
102
|
+
| `output_file` | string | Path to JSON file |
|
|
103
|
+
|
|
104
|
+
## Usage
|
|
105
|
+
|
|
106
|
+
```javascript
|
|
107
|
+
function renderDiagnosisReport(diagnosis, diagnosisType, skillName, outputFile) {
|
|
108
|
+
return `# ${diagnosisType} Diagnosis Report
|
|
109
|
+
|
|
110
|
+
**Target Skill**: ${skillName}
|
|
111
|
+
**Diagnosis Type**: ${diagnosisType}
|
|
112
|
+
**Executed At**: ${new Date().toISOString()}
|
|
113
|
+
**Duration**: ${diagnosis.execution_time_ms}ms
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Summary
|
|
118
|
+
|
|
119
|
+
| Metric | Value |
|
|
120
|
+
|--------|-------|
|
|
121
|
+
| Issues Found | ${diagnosis.issues_found} |
|
|
122
|
+
| Severity | ${diagnosis.severity} |
|
|
123
|
+
| Patterns Checked | ${diagnosis.details.patterns_checked.length} |
|
|
124
|
+
| Patterns Matched | ${diagnosis.details.patterns_matched.length} |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Issues Identified
|
|
129
|
+
|
|
130
|
+
${diagnosis.details.evidence.map((e, i) => `
|
|
131
|
+
### Issue ${i + 1}
|
|
132
|
+
|
|
133
|
+
- **File**: ${e.file}
|
|
134
|
+
- **Pattern**: ${e.pattern}
|
|
135
|
+
- **Severity**: ${e.severity}
|
|
136
|
+
- **Context**: \`${e.context}\`
|
|
137
|
+
`).join('\n')}
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Recommendations
|
|
142
|
+
|
|
143
|
+
${diagnosis.details.recommendations.map((r, i) => `${i + 1}. ${r}`).join('\n')}
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Raw Data
|
|
148
|
+
|
|
149
|
+
Full diagnosis data available at:
|
|
150
|
+
\`${outputFile}\`
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
```
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Fix Proposal Template
|
|
2
|
+
|
|
3
|
+
Template for fix proposal documentation.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Fix Proposal: {{fix_id}}
|
|
9
|
+
|
|
10
|
+
**Strategy**: {{strategy}}
|
|
11
|
+
**Risk Level**: {{risk}}
|
|
12
|
+
**Issues Addressed**: {{issue_ids}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Description
|
|
17
|
+
|
|
18
|
+
{{description}}
|
|
19
|
+
|
|
20
|
+
## Rationale
|
|
21
|
+
|
|
22
|
+
{{rationale}}
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Affected Files
|
|
27
|
+
|
|
28
|
+
{{#each changes}}
|
|
29
|
+
### {{file}}
|
|
30
|
+
|
|
31
|
+
**Action**: {{action}}
|
|
32
|
+
|
|
33
|
+
```diff
|
|
34
|
+
{{diff}}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
{{/each}}
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Implementation Steps
|
|
42
|
+
|
|
43
|
+
{{#each implementation_steps}}
|
|
44
|
+
{{@index}}. {{this}}
|
|
45
|
+
{{/each}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Risk Assessment
|
|
50
|
+
|
|
51
|
+
| Factor | Assessment |
|
|
52
|
+
|--------|------------|
|
|
53
|
+
| Complexity | {{complexity}} |
|
|
54
|
+
| Reversibility | {{reversible ? 'Yes' : 'No'}} |
|
|
55
|
+
| Breaking Changes | {{breaking_changes}} |
|
|
56
|
+
| Test Coverage | {{test_coverage}} |
|
|
57
|
+
|
|
58
|
+
**Overall Risk**: {{risk}}
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Verification Steps
|
|
63
|
+
|
|
64
|
+
{{#each verification_steps}}
|
|
65
|
+
- [ ] {{this}}
|
|
66
|
+
{{/each}}
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Rollback Plan
|
|
71
|
+
|
|
72
|
+
{{#if rollback_available}}
|
|
73
|
+
To rollback this fix:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
{{rollback_command}}
|
|
77
|
+
```
|
|
78
|
+
{{else}}
|
|
79
|
+
_Rollback not available for this fix type._
|
|
80
|
+
{{/if}}
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Estimated Impact
|
|
85
|
+
|
|
86
|
+
{{estimated_impact}}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Variable Reference
|
|
90
|
+
|
|
91
|
+
| Variable | Type | Source |
|
|
92
|
+
|----------|------|--------|
|
|
93
|
+
| `fix_id` | string | Generated ID (FIX-001) |
|
|
94
|
+
| `strategy` | string | Fix strategy name |
|
|
95
|
+
| `risk` | string | 'low' \| 'medium' \| 'high' |
|
|
96
|
+
| `issue_ids` | array | Related issue IDs |
|
|
97
|
+
| `description` | string | Human-readable description |
|
|
98
|
+
| `rationale` | string | Why this fix works |
|
|
99
|
+
| `changes` | array | File change objects |
|
|
100
|
+
| `implementation_steps` | array | Step-by-step guide |
|
|
101
|
+
| `verification_steps` | array | How to verify fix worked |
|
|
102
|
+
| `estimated_impact` | string | Expected improvement |
|
|
103
|
+
|
|
104
|
+
## Usage
|
|
105
|
+
|
|
106
|
+
```javascript
|
|
107
|
+
function renderFixProposal(fix) {
|
|
108
|
+
return `# Fix Proposal: ${fix.id}
|
|
109
|
+
|
|
110
|
+
**Strategy**: ${fix.strategy}
|
|
111
|
+
**Risk Level**: ${fix.risk}
|
|
112
|
+
**Issues Addressed**: ${fix.issue_ids.join(', ')}
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Description
|
|
117
|
+
|
|
118
|
+
${fix.description}
|
|
119
|
+
|
|
120
|
+
## Rationale
|
|
121
|
+
|
|
122
|
+
${fix.rationale}
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Affected Files
|
|
127
|
+
|
|
128
|
+
${fix.changes.map(change => `
|
|
129
|
+
### ${change.file}
|
|
130
|
+
|
|
131
|
+
**Action**: ${change.action}
|
|
132
|
+
|
|
133
|
+
\`\`\`diff
|
|
134
|
+
${change.diff || change.new_content?.slice(0, 200) || 'N/A'}
|
|
135
|
+
\`\`\`
|
|
136
|
+
`).join('\n')}
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Verification Steps
|
|
141
|
+
|
|
142
|
+
${fix.verification_steps.map(step => `- [ ] ${step}`).join('\n')}
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Estimated Impact
|
|
147
|
+
|
|
148
|
+
${fix.estimated_impact}
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Fix Strategy Templates
|
|
154
|
+
|
|
155
|
+
### sliding_window
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
## Description
|
|
159
|
+
Implement sliding window for conversation history to prevent unbounded growth.
|
|
160
|
+
|
|
161
|
+
## Changes
|
|
162
|
+
- Add MAX_HISTORY constant
|
|
163
|
+
- Modify history update logic to slice array
|
|
164
|
+
- Update state schema documentation
|
|
165
|
+
|
|
166
|
+
## Verification
|
|
167
|
+
- [ ] Run skill for 10+ iterations
|
|
168
|
+
- [ ] Verify history.length <= MAX_HISTORY
|
|
169
|
+
- [ ] Check no data loss for recent items
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### constraint_injection
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
## Description
|
|
176
|
+
Add explicit constraint section to each phase prompt.
|
|
177
|
+
|
|
178
|
+
## Changes
|
|
179
|
+
- Add [CONSTRAINTS] section template
|
|
180
|
+
- Reference state.original_requirements
|
|
181
|
+
- Add reminder before output section
|
|
182
|
+
|
|
183
|
+
## Verification
|
|
184
|
+
- [ ] Check constraints visible in all phases
|
|
185
|
+
- [ ] Test with specific constraint
|
|
186
|
+
- [ ] Verify output respects constraint
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### error_wrapping
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
## Description
|
|
193
|
+
Wrap all Task calls in try-catch with retry logic.
|
|
194
|
+
|
|
195
|
+
## Changes
|
|
196
|
+
- Create safeTask wrapper function
|
|
197
|
+
- Replace direct Task calls
|
|
198
|
+
- Add error logging to state
|
|
199
|
+
|
|
200
|
+
## Verification
|
|
201
|
+
- [ ] Simulate agent failure
|
|
202
|
+
- [ ] Verify graceful error handling
|
|
203
|
+
- [ ] Check retry logic
|
|
204
|
+
```
|