/** * How much of Claude Code's skill/command/agent listing an install uses * (GH #411). Claude Code lists every skill and command with its description in * a budget of about 1% of the context window (~8k chars on a 200k model); past * it, descriptions are dropped. Agents are listed separately, in the Agent * tool's description, on every request. */ import type { AssetPack } from './packs.js'; /** The skill + command listing budget: ~1% of a 200k-token context, in chars. */ export declare const LISTING_BUDGET_CHARS = 8000; /** The agent listing sits in the Agent tool's description, outside that * budget but sent on every request; the default install keeps it to half. */ export declare const AGENT_LISTING_BUDGET_CHARS: number; /** The most chars a shipped skill, command or agent description may have: * the budget over the ~40 entries a default install lists. Enforced by * scripts/lint-skills.mjs (DESCRIPTION_MAX_CHARS there). */ export declare const DESCRIPTION_MAX_CHARS = 200; export interface ListingEntry { kind: 'skill' | 'command' | 'agent'; name: string; description: string; /** Chars of the listing line: `- name: description\n`. */ chars: number; } export interface ListingSize { skills: { count: number; chars: number; }; commands: { count: number; chars: number; }; agents: { count: number; chars: number; }; /** Skills plus commands — the part Claude Code budgets. */ skillsAndCommandsChars: number; entries: ListingEntry[]; } /** Description as the listing shows it: frontmatter `description` (plus a * skill's `when_to_use`), else the first non-empty line of the body. */ export declare function listingDescription(text: string, kind: ListingEntry['kind']): string; /** Measure the listing of an installed `.claude/` directory. */ export declare function measureListing(claudeDir: string): ListingSize; /** * Listing chars a pack adds, read from a source `.claude/` tree (the package's * own): skills and commands (the budgeted part) and agents. Directory entries * count what init installs from them (no docs, no deprecated agents). */ export declare function packListingChars(claudeDir: string, pack: AssetPack): { skillsAndCommands: number; agents: number; }; //# sourceMappingURL=listing-size.d.ts.map