diff --git a/src/features/builtin-skills/git-master/SKILL.md b/src/features/builtin-skills/git-master/SKILL.md index c94de25fa..0ce798bf0 100644 --- a/src/features/builtin-skills/git-master/SKILL.md +++ b/src/features/builtin-skills/git-master/SKILL.md @@ -1,6 +1,6 @@ --- name: git-master -description: "Use for: (1) committing changes atomically, (2) rebasing/squashing/cleaning history, (3) finding when/who changed specific code (git blame, bisect, log -S). Triggers: 'commit', 'rebase', 'squash', 'who wrote', 'when was X added', 'find the commit that'." +description: "MUST USE for ANY git operations. Atomic commits, rebase/squash, history search (blame, bisect, log -S). STRONGLY RECOMMENDED: Use with sisyphus_task(category='quick', skills=['git-master'], ...) to save context. Triggers: 'commit', 'rebase', 'squash', 'who wrote', 'when was X added', 'find the commit that'." --- # Git Master Agent diff --git a/src/features/builtin-skills/skills.ts b/src/features/builtin-skills/skills.ts index 192dfe1ba..c36633034 100644 --- a/src/features/builtin-skills/skills.ts +++ b/src/features/builtin-skills/skills.ts @@ -95,7 +95,7 @@ Interpret creatively and make unexpected choices that feel genuinely designed fo const gitMasterSkill: BuiltinSkill = { name: "git-master", description: - "MUST USE for ANY git operations. Atomic commits, rebase/squash, history search (blame, bisect, log -S). STRONGLY RECOMMENDED: use with sisyphus_task(category='quick', skills=['git-master'], ...) to save context. Triggers: 'commit', 'rebase', 'squash', 'who wrote', 'when was X added', 'find the commit that'.", + "MUST USE for ANY git operations. Atomic commits, rebase/squash, history search (blame, bisect, log -S). STRONGLY RECOMMENDED: Use with sisyphus_task(category='quick', skills=['git-master'], ...) to save context. Triggers: 'commit', 'rebase', 'squash', 'who wrote', 'when was X added', 'find the commit that'.", template: `# Git Master Agent You are a Git expert combining three specializations: diff --git a/src/tools/sisyphus-task/tools.ts b/src/tools/sisyphus-task/tools.ts index 0f99d2e13..7678aabf0 100644 --- a/src/tools/sisyphus-task/tools.ts +++ b/src/tools/sisyphus-task/tools.ts @@ -98,8 +98,8 @@ export function createSisyphusTask(options: SisyphusTaskToolOptions): ToolDefini args: { description: tool.schema.string().describe("Short task description"), prompt: tool.schema.string().describe("Full detailed prompt for the agent"), - category: tool.schema.string().optional().describe(`Category name (e.g., ${CATEGORY_EXAMPLES}). Mutually exclusive with agent.`), - agent: tool.schema.string().optional().describe("Agent name directly (e.g., 'oracle', 'explore'). Mutually exclusive with category."), + category: tool.schema.string().optional().describe(`Category name (e.g., ${CATEGORY_EXAMPLES}). Mutually exclusive with subagent_type.`), + subagent_type: tool.schema.string().optional().describe("Agent name directly (e.g., 'oracle', 'explore'). Mutually exclusive with category."), background: tool.schema.boolean().describe("Run in background. MUST be explicitly set. Use false for task delegation, true only for parallel exploration."), resume: tool.schema.string().optional().describe("Session ID to resume - continues previous agent session with full context"), skills: tool.schema.array(tool.schema.string()).optional().describe("Array of skill names to prepend to the prompt. Skills will be resolved and their content prepended with a separator."), @@ -160,12 +160,12 @@ Use \`background_output\` with task_id="${task.id}" to check progress.` } } - if (args.category && args.agent) { - return `❌ Invalid arguments: Provide EITHER category OR agent, not both.` + if (args.category && args.subagent_type) { + return `❌ Invalid arguments: Provide EITHER category OR subagent_type, not both.` } - if (!args.category && !args.agent) { - return `❌ Invalid arguments: Must provide either category or agent.` + if (!args.category && !args.subagent_type) { + return `❌ Invalid arguments: Must provide either category or subagent_type.` } let agentToUse: string @@ -181,7 +181,7 @@ Use \`background_output\` with task_id="${task.id}" to check progress.` agentToUse = SISYPHUS_JUNIOR_AGENT categoryModel = parseModelString(resolved.config.model) } else { - agentToUse = args.agent!.trim() + agentToUse = args.subagent_type!.trim() if (!agentToUse) { return `❌ Agent name cannot be empty.` } diff --git a/src/tools/sisyphus-task/types.ts b/src/tools/sisyphus-task/types.ts index d6581e318..aa260ce6a 100644 --- a/src/tools/sisyphus-task/types.ts +++ b/src/tools/sisyphus-task/types.ts @@ -2,7 +2,7 @@ export interface SisyphusTaskArgs { description: string prompt: string category?: string - agent?: string + subagent_type?: string background: boolean resume?: string skills?: string[]