mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 06:15:51 +00:00
- prompts.ts: 核心工具列表显式加入 SearchExtraTools, ExecuteExtraTool - claude.ts: 非 delta 路径提示强调这两个工具可直接调用 - messages.ts: delta 路径渲染强调这两个工具已在工具列表中 - SearchExtraToolsTool/prompt.ts: 加入完整两步工作流示例 - ExecuteTool/prompt.ts: 加入完整两步工作流示例
38 lines
2.0 KiB
TypeScript
38 lines
2.0 KiB
TypeScript
import { EXECUTE_TOOL_NAME } from './constants.js'
|
|
|
|
export const DESCRIPTION =
|
|
'ExecuteExtraTool — a first-class core tool that is always loaded and available. Execute any deferred tool by name with parameters. Use it after discovering a tool via SearchExtraTools. This is NOT a remote or external tool — it runs locally with full permissions.'
|
|
|
|
export function getPrompt(): string {
|
|
return `ExecuteExtraTool — always loaded, always available. Runs locally with full permissions — NOT a remote or external tool.
|
|
|
|
## What it does
|
|
Accepts a tool_name and params, looks up the target tool in the registry, and delegates execution to it. The target tool runs with the same permissions as if called directly.
|
|
|
|
## When to use
|
|
ONLY for deferred tools discovered via SearchExtraTools. Core tools (Read, Edit, Write, Bash, Glob, Grep, Agent, WebFetch, WebSearch, Skill) are always in your tool list — call them directly, NOT through ExecuteExtraTool.
|
|
|
|
## How to call — two-step workflow
|
|
|
|
Step 1: SearchExtraTools discovers the tool name and schema.
|
|
Step 2: This tool executes it.
|
|
|
|
Example — user asks to schedule a cron job:
|
|
SearchExtraTools({"query": "select:CronCreate"})
|
|
→ Response: "Found deferred tool(s): CronCreate"
|
|
ExecuteExtraTool({"tool_name": "CronCreate", "params": {"schedule": "*/5 * * * *", "prompt": "check deploy"}})
|
|
→ Response: Cron job created
|
|
|
|
Example — MCP tool:
|
|
SearchExtraTools({"query": "select:mcp__slack__send_message"})
|
|
→ Response: "Found deferred tool(s): mcp__slack__send_message"
|
|
ExecuteExtraTool({"tool_name": "mcp__slack__send_message", "params": {"channel": "C123", "text": "hello"}})
|
|
|
|
## Inputs
|
|
- tool_name: Exact name of the target tool (string, e.g. "CronCreate", "mcp__slack__send_message")
|
|
- params: Object with the target tool's parameters. Check the tool's schema from SearchExtraTools discover: response.
|
|
|
|
## Failure handling
|
|
If this tool returns an error, do NOT retry or re-search. Tell the user what failed and suggest alternatives.`
|
|
}
|