From d74321180f03161ffb8cd528dd69630c576e602f Mon Sep 17 00:00:00 2001 From: yhangf Date: Mon, 20 Apr 2026 15:17:36 +0800 Subject: [PATCH] feat(costrict): enable StrictSpec workflow and refine strict skills --- .../builtin-tools/src/tools/AgentTool/builtInAgents.ts | 4 ++-- src/costrict/agents/strictPlan.ts | 1 - src/costrict/agents/strictSpec.ts | 2 -- src/costrict/provider/index.ts | 3 +-- src/costrict/skills/strictPlan.ts | 2 +- src/costrict/skills/strictSpec.ts | 10 +++++++++- src/skills/bundled/index.ts | 2 +- 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts b/packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts index 88a2cbd6d..2f80aec90 100644 --- a/packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts +++ b/packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts @@ -6,7 +6,7 @@ import { DESIGN_AGENT } from 'src/costrict/agents/designAgent.js' import { QUICK_EXPLORE_AGENT } from 'src/costrict/agents/quickExplore.js' import { REQUIREMENT_AGENT } from 'src/costrict/agents/requirement.js' import { STRICT_PLAN_AGENT } from 'src/costrict/agents/strictPlan.js' -// import { STRICT_SPEC_AGENT } from 'src/costrict/agents/strictSpec.js' +import { STRICT_SPEC_AGENT } from 'src/costrict/agents/strictSpec.js' import { SUB_CODING_AGENT } from 'src/costrict/agents/subCoding.js' import { TASK_CHECK_AGENT } from 'src/costrict/agents/taskCheck.js' import { TASK_PLAN_AGENT } from 'src/costrict/agents/taskPlan.js' @@ -65,7 +65,7 @@ export function getBuiltInAgents(): AgentDefinition[] { STATUSLINE_SETUP_AGENT, PLAN_AGENT, // StrictSpec workflow: 4-stage pipeline (Requirement → DesignAgent → TaskPlan → SubCoding) - // STRICT_SPEC_AGENT, + STRICT_SPEC_AGENT, REQUIREMENT_AGENT, DESIGN_AGENT, TASK_PLAN_AGENT, diff --git a/src/costrict/agents/strictPlan.ts b/src/costrict/agents/strictPlan.ts index ed425ee42..55e6d5253 100644 --- a/src/costrict/agents/strictPlan.ts +++ b/src/costrict/agents/strictPlan.ts @@ -1,4 +1,3 @@ -import { EXIT_PLAN_MODE_TOOL_NAME } from '@claude-code-best/builtin-tools/tools/ExitPlanModeTool/constants.js' import type { BuiltInAgentDefinition } from '@claude-code-best/builtin-tools/tools/AgentTool/loadAgentsDir.js' function getStrictPlanSystemPrompt(): string { diff --git a/src/costrict/agents/strictSpec.ts b/src/costrict/agents/strictSpec.ts index d4e5cfc76..7bb79212a 100644 --- a/src/costrict/agents/strictSpec.ts +++ b/src/costrict/agents/strictSpec.ts @@ -1,4 +1,3 @@ -import { EXIT_PLAN_MODE_TOOL_NAME } from '@claude-code-best/builtin-tools/tools/ExitPlanModeTool/constants.js' import type { BuiltInAgentDefinition } from '@claude-code-best/builtin-tools/tools/AgentTool/loadAgentsDir.js' function getStrictSpecSystemPrompt(): string { @@ -79,7 +78,6 @@ export const STRICT_SPEC_AGENT: BuiltInAgentDefinition = { agentType: 'StrictSpec', whenToUse: '将用户需求按照标准阶段分配到对应工作流Agent执行。Use this when you need to orchestrate user requirements through the standard workflow stages: requirements clarification → architecture design → task planning → execution. This agent coordinates the Spec workflow with four rigorous stages to ensure high-quality delivery.', - disallowedTools: [EXIT_PLAN_MODE_TOOL_NAME], tools:[ "AskUserQuestion", "Agent(Requirement,DesignAgent,TaskPlan,SubCoding)", diff --git a/src/costrict/provider/index.ts b/src/costrict/provider/index.ts index 00bfdda81..11eb55da4 100644 --- a/src/costrict/provider/index.ts +++ b/src/costrict/provider/index.ts @@ -87,8 +87,7 @@ export async function* queryModelCoStrict( // 5. 转换为 OpenAI 格式 const openaiMessages = anthropicMessagesToOpenAI( messagesForAPI, - systemPrompt, - { enableThinking: true }, + systemPrompt ) const openaiTools = anthropicToolsToOpenAI(standardTools) const openaiToolChoice = anthropicToolChoiceToOpenAI(options.toolChoice) diff --git a/src/costrict/skills/strictPlan.ts b/src/costrict/skills/strictPlan.ts index 7995f4a48..f1eb1f42e 100644 --- a/src/costrict/skills/strictPlan.ts +++ b/src/costrict/skills/strictPlan.ts @@ -2,7 +2,7 @@ import { registerBundledSkill } from 'src/skills/bundledSkills.js' export function registerStrictPlanSkill(): void { registerBundledSkill({ - name: 'strict-plan', + name: 'strict:plan', description: '创建结构化需求提案并协调实施 - 遵循"理解需求→探索项目→需求澄清→创建提案→实施提案"工作流', whenToUse: diff --git a/src/costrict/skills/strictSpec.ts b/src/costrict/skills/strictSpec.ts index ffd984bfd..e1bcd3591 100644 --- a/src/costrict/skills/strictSpec.ts +++ b/src/costrict/skills/strictSpec.ts @@ -2,7 +2,7 @@ import { registerBundledSkill } from '../../skills/bundledSkills.js' export function registerStrictSpecSkill(): void { registerBundledSkill({ - name: 'strict-spec', + name: 'strict:spec', description: '将用户需求按照标准阶段分配到对应工作流Agent执行。Use this when you need to orchestrate user requirements through the standard workflow stages: requirements clarification → architecture design → task planning → execution. This agent coordinates the Spec workflow with four rigorous stages to ensure high-quality delivery.', whenToUse: @@ -11,6 +11,14 @@ export function registerStrictSpecSkill(): void { disableModelInvocation: true, // 关键:在子 Agent 中运行 context: 'fork', + allowedTools:[ + "AskUserQuestion", + "Agent(Requirement,DesignAgent,TaskPlan,SubCoding)", + "Read", + "Write", + "Edit", + "TodoWrite", + ], // 关键:使用 StrictSpec Agent agent: 'StrictSpec', async getPromptForCommand(args) { diff --git a/src/skills/bundled/index.ts b/src/skills/bundled/index.ts index a55d77e23..f73116053 100644 --- a/src/skills/bundled/index.ts +++ b/src/skills/bundled/index.ts @@ -35,7 +35,7 @@ export function initBundledSkills(): void { registerProjectWikiSkill() registerTddSkill() registerStrictPlanSkill() - // registerStrictSpecSkill() + registerStrictSpecSkill() registerKeybindingsSkill() registerVerifySkill() registerDebugSkill()