import type { SkillRequirements } from "./types.js"; /** * Generate a DSL-format preamble from skill requirements. * * The preamble is prepended to the skill prompt when the skill runs standalone * (without an orchestrator), giving the agent an explicit checklist of what to * verify before starting work. Each section maps to a requirement category: * * - `REQUIRES` — file/directory gates (`hard:` or `soft:` prefix) * - `INPUT` — user input fields, with a pointer to `input.json` if `skillId` is provided * - `READS` — informational read sources (not gated) * - `WRITES` — files the skill will produce * - `RESOURCE` — runtime resource dependencies * * Sections with no entries are omitted. Returns an empty string when all * requirement arrays are empty. * * @param requirements - Parsed requirements (output of `parseSkillRequirements`) * @param skillId - Optional skill identifier; when provided, the INPUT section includes * the canonical `input.json` path so the agent knows where to read collected values * @returns Multi-section DSL string, or `""` if there are no requirements to list * * @example * ```ts * const preamble = buildRequiresPreamble(requirements, "cf_overview"); * const fullPrompt = preamble ? `${preamble}\n\n${skillBody}` : skillBody; * ``` * * @docLink packages/resolver/api-reference#build-requires-preamble */ export declare function buildRequiresPreamble(requirements: SkillRequirements, skillId?: string): string; //# sourceMappingURL=preamble.d.ts.map