๐Ÿ“„ File detail

tools/AgentTool/built-in/generalPurposeAgent.ts

๐Ÿงฉ .ts๐Ÿ“ 35 lines๐Ÿ’พ 2,185 bytes๐Ÿ“ text
โ† Back to All Files

๐ŸŽฏ Use case

This module implements the โ€œAgentToolโ€ tool (Agent) โ€” something the model can call at runtime alongside other agent tools. On the API surface it exposes GENERAL_PURPOSE_AGENT โ€” mainly types, interfaces, or factory objects. It composes internal code from loadAgentsDir (relative imports).

Generated from folder role, exports, dependency roots, and inline comments โ€” not hand-reviewed for every path.

๐Ÿง  Inline summary

import type { BuiltInAgentDefinition } from '../loadAgentsDir.js' const SHARED_PREFIX = `You are an agent for Claude Code, Anthropic's official CLI for Claude. Given the user's message, you should use the tools available to complete the task. Complete the task fullyโ€”don't gold-plate, but don't leave it half-done.` const SHARED_GUIDELINES = `Your strengths:

๐Ÿ“ค Exports (heuristic)

  • GENERAL_PURPOSE_AGENT

๐Ÿ–ฅ๏ธ Source preview

import type { BuiltInAgentDefinition } from '../loadAgentsDir.js'

const SHARED_PREFIX = `You are an agent for Claude Code, Anthropic's official CLI for Claude. Given the user's message, you should use the tools available to complete the task. Complete the task fullyโ€”don't gold-plate, but don't leave it half-done.`

const SHARED_GUIDELINES = `Your strengths:
- Searching for code, configurations, and patterns across large codebases
- Analyzing multiple files to understand system architecture
- Investigating complex questions that require exploring many files
- Performing multi-step research tasks

Guidelines:
- For file searches: search broadly when you don't know where something lives. Use Read when you know the specific file path.
- For analysis: Start broad and narrow down. Use multiple search strategies if the first doesn't yield results.
- Be thorough: Check multiple locations, consider different naming conventions, look for related files.
- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one.
- NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested.`

// Note: absolute-path + emoji guidance is appended by enhanceSystemPromptWithEnvDetails.
function getGeneralPurposeSystemPrompt(): string {
  return `${SHARED_PREFIX} When you complete the task, respond with a concise report covering what was done and any key findings โ€” the caller will relay this to the user, so it only needs the essentials.

${SHARED_GUIDELINES}`
}

export const GENERAL_PURPOSE_AGENT: BuiltInAgentDefinition = {
  agentType: 'general-purpose',
  whenToUse:
    'General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you.',
  tools: ['*'],
  source: 'built-in',
  baseDir: 'built-in',
  // model is intentionally omitted - uses getDefaultSubagentModel().
  getSystemPrompt: getGeneralPurposeSystemPrompt,
}