import { type ContextLimits } from "./context-limits.js"; export interface Skill { name: string; description: string; content: string; source: string; /** Directory used to resolve references linked from the skill content. */ root?: string; } /** * Discover skills from global and project-local skill directories. */ export declare function discoverSkills(options: { globalSkillsDir: string; projectDir?: string; }): Promise; /** * Parse a skill file with optional frontmatter. * Supports simple key: value frontmatter between --- delimiters. */ export declare function parseSkillFile(rawInput: string, source: string): Skill; /** * Render the per-skill catalog lines under byte budgets: each description is * clamped to `skillDescriptionBytes`, then lines are admitted into a shared * `skillCatalogBytes` budget in listed order. Skills dropped by the catalog * budget are named in `dropped` so callers can surface them — a silently * missing skill is indistinguishable from one that does not exist. * * Shared by the prompt's Skills section and the skill tool's description: both * are attacker-bloatable surfaces for the same list. */ export declare function renderSkillLines(skills: Skill[], limits?: ContextLimits): { lines: string[]; dropped: string[]; }; /** * Format skills as a summary list for the system prompt. * Only includes names and descriptions — full content is loaded on-demand via the skill tool. */ export declare function formatSkillsForPrompt(skills: Skill[], limits?: ContextLimits): string; //# sourceMappingURL=skills.d.ts.map