From 082345b8aae4f53ac8a1524199fae7d96099e3ad Mon Sep 17 00:00:00 2001 From: xixingde <137176592+xixingde@users.noreply.github.com> Date: Fri, 10 Apr 2026 12:17:56 +0800 Subject: [PATCH] refactor(costrict): replace SpecPlan agent with StrictPlan skill --- src/costrict/{agents => backup}/specPlan.ts | 1 - src/costrict/skill/strictPlan.ts | 33 +++++++++++++++++++++ src/skills/bundled/index.ts | 2 ++ 3 files changed, 35 insertions(+), 1 deletion(-) rename src/costrict/{agents => backup}/specPlan.ts (98%) create mode 100644 src/costrict/skill/strictPlan.ts diff --git a/src/costrict/agents/specPlan.ts b/src/costrict/backup/specPlan.ts similarity index 98% rename from src/costrict/agents/specPlan.ts rename to src/costrict/backup/specPlan.ts index 885351e49..8bb918453 100644 --- a/src/costrict/agents/specPlan.ts +++ b/src/costrict/backup/specPlan.ts @@ -1,4 +1,3 @@ -import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getSpecPlanSystemPrompt(): string { diff --git a/src/costrict/skill/strictPlan.ts b/src/costrict/skill/strictPlan.ts new file mode 100644 index 000000000..385d56d15 --- /dev/null +++ b/src/costrict/skill/strictPlan.ts @@ -0,0 +1,33 @@ +import { registerBundledSkill } from '../../skills/bundledSkills.js' + +export function registerStrictPlanSkill(): void { + registerBundledSkill({ + name: 'strict-plan', + description: + '创建结构化需求提案并协调实施 - 遵循"理解需求→探索项目→需求澄清→创建提案→实施提案"工作流', + whenToUse: + '根据用户的需求创建具体可实施的计划。Use this when you need to create structured, actionable implementation plans based on user requirements. This agent follows a strict workflow: understand requirements → QuickExplore project → clarify requirements → create proposal → implement proposal.', + userInvocable: true, + // 关键:在子 Agent 中运行 + context: 'fork', + // 关键:使用 StrictPlan Agent + agent: 'StrictPlan', + async getPromptForCommand(args) { + const userRequest = args.trim() + if (!userRequest) { + return [ + { + type: 'text', + text: '请提供需要规划的需求描述。用法: /strict-plan <需求描述>', + }, + ] + } + return [ + { + type: 'text', + text: `用户需求:${userRequest}`, + }, + ] + }, + }) +} diff --git a/src/skills/bundled/index.ts b/src/skills/bundled/index.ts index 943a410b4..c37d681a1 100644 --- a/src/skills/bundled/index.ts +++ b/src/skills/bundled/index.ts @@ -17,6 +17,7 @@ import { registerUpdateConfigSkill } from './updateConfig.js' import { registerVerifySkill } from './verify.js' import { registerProjectWikiSkill } from './projectWiki.js' import { registerTddSkill } from './tdd.js' +import { registerStrictPlanSkill } from '../../costrict/skill/strictPlan.js' /** * Initialize all bundled skills. @@ -32,6 +33,7 @@ export function initBundledSkills(): void { registerUpdateConfigSkill() registerProjectWikiSkill() registerTddSkill() + registerStrictPlanSkill() registerKeybindingsSkill() registerVerifySkill() registerDebugSkill()