mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-06 16:31:12 +08:00
refactor: replace Task tool with Agent tool and fix schema compliance
## Task -> Agent Replacement
- Replace all Task({}) calls with Agent({}) across .claude/ directory
- Update allowed-tools declarations from Task to Agent
- Update documentation references from "Task tool" to "Agent tool"
## Schema Compliance Fixes
### Agent Schema
- Add missing required `description` parameter in 6 files
- Add missing `run_in_background: false` for subagent calls
- Add missing `subagent_type` parameter
### AskUserQuestion Schema
- Fix issue-manage/SKILL.md: reduce options from 5 to 4 (max allowed)
### SendMessage Schema
- Fix team-worker.md: use correct params (type, content, summary)
- Remove invalid `team_name` parameter
### TaskCreate/TaskUpdate Schema
- Remove invalid `blockedBy`, `owner`, `status` from TaskCreate calls
- Use separate TaskUpdate calls for dependencies and ownership
- Fix TaskUpdate syntax to use object parameter
### TeamDelete Schema
- Remove parameters from TeamDelete() calls (should be no params)
### TaskOutput Schema
- Fix Python-style syntax to JavaScript object syntax
## Files Changed
- 146 files updated across commands/, skills/, skills_lib/, agents/
This commit is contained in:
@@ -140,8 +140,10 @@ function updateHistory(state, newItem) {
|
||||
|
||||
```javascript
|
||||
// Add summarization before passing to next phase
|
||||
const summary = await Task({
|
||||
const summary = await Agent({
|
||||
subagent_type: 'universal-executor',
|
||||
description: 'Summarize content for context compression',
|
||||
run_in_background: false,
|
||||
prompt: `Summarize in <100 words: ${fullContent}\nReturn JSON: { summary, key_points[] }`
|
||||
});
|
||||
nextPhasePrompt = `Previous summary: ${summary.summary}`;
|
||||
@@ -268,12 +270,17 @@ function validateAgentResult(result, requiredFields) {
|
||||
### flatten_nesting
|
||||
|
||||
```javascript
|
||||
// Before: Agent A's prompt tells it to call Task({subagent_type: 'B'})
|
||||
// Before: Agent A's prompt tells it to call Agent({subagent_type: 'B'})
|
||||
// After: Agent A returns signal, orchestrator handles
|
||||
// Agent A: return { needs_agent_b: true, context: {...} }
|
||||
// Orchestrator:
|
||||
if (parsedA.needs_agent_b) {
|
||||
resultB = await Task({ subagent_type: 'B', prompt: `Context: ${parsedA.context}` });
|
||||
resultB = await Agent({
|
||||
subagent_type: 'B',
|
||||
description: 'Handle delegated task from Agent A',
|
||||
run_in_background: false,
|
||||
prompt: `Context: ${parsedA.context}`
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user