/** * SMI-1788: Pure helper functions for SubagentGenerator — tool detection, * trigger-phrase extraction, model selection, and Claude-tool-named * guidance text. Split out under the 500-line standard (SMI-6276) following * this directory's existing `.helpers.ts` convention (see * SkillAnalyzer.helpers.ts / SkillDecomposer.helpers.ts). */ import type { ToolUsageAnalysis } from './SkillAnalyzer.js'; import { type ClaudeModel } from './SubagentGenerator.types.js'; /** * Tool detection patterns for analyzing skill content */ export declare const TOOL_PATTERNS: Record; /** * Minimum tools that most subagents need */ export declare const BASE_TOOLS: string[]; /** * SMI-1819: Maximum length for subagent names to prevent overly long identifiers */ export declare const MAX_SUBAGENT_NAME_LENGTH = 100; /** * Generate tool usage guidelines for a subagent (Claude-named tools). * Only used for clients whose `toolsPolicy` is `'claude-native'` — see * `SubagentGenerator.client-profiles.ts` and `OMITTED_TOOLS_GUIDANCE`. */ export declare function generateToolGuidelines(tools: string[]): string; /** * SMI-6276: fallback tool-usage guidance for any client whose companion * subagent file does not carry Claude-named tools in its `tools:` * frontmatter — either because the field is omitted entirely, or because it * was translated into that client's OWN vocabulary (`mapped-array`, e.g. * AntiGravity's `view_file`/`run_command`). Naming Claude-specific tool * identifiers in this prose body would be misleading either way, so this * stays generic. See `SubagentGenerator.client-profiles.ts`. */ export declare const OMITTED_TOOLS_GUIDANCE = "- Use the tools available on this platform minimally and efficiently"; /** * Generate CLAUDE.md integration snippet * * NOTE (SMI-6276): deliberately NOT client-parameterized — CLAUDE.md is * inherently a Claude Code artifact regardless of which client the * companion-agent FILE itself targets, so this always describes the * Claude-side delegation recommendation. Out of this wave's scope; see * `SubagentGenerator.client-profiles.ts`'s header for what IS in scope. */ export declare function generateClaudeMdSnippet(skillName: string, description: string, triggerPhrases: string[], tools: string[], model: ClaudeModel): string; /** * Extract trigger phrases from skill description and content */ export declare function extractTriggerPhrases(description: string, content: string): string[]; /** * Determine optimal model for subagent * SMI-1795: Uses CLAUDE_MODELS constants for type safety */ export declare function determineModel(toolUsage: ToolUsageAnalysis, lineCount: number): ClaudeModel; /** * Detect tools needed from skill content */ export declare function detectTools(content: string): string[]; //# sourceMappingURL=SubagentGenerator.helpers.d.ts.map