/** * Quote a YAML value if it contains special characters. * Escapes inner backslashes and double quotes, wraps in "...". */ export declare function quoteYAMLValue(value: string): string; /** * Validate a skill name against the agentskills.io standard. * Must be lowercase alphanumeric with hyphens, 1-64 chars, no leading/trailing hyphens. */ export declare function validateSkillNameStrict(name: string): boolean; /** * Extract a description from the body of a SKILL.md file. * Returns the first non-heading, non-blank line, truncated to 200 chars. * Falls back to a humanized version of the skill name. */ export declare function extractDescription(body: string, skillName: string): string; /** * Ensure a SKILL.md string contains valid `name` and `description` frontmatter. * Pure function — normalizes CRLF, preserves existing fields, injects missing ones. * When `forceName` is true, overrides the existing `name` field with `skillName`. */ export declare function ensureFrontmatter(content: string, skillName: string, forceName?: boolean): string; /** * Apply fork-authorship metadata to a SKILL.md string. * * Rewrites only the listed frontmatter fields (`name`, `author`, `version`, * `forkedFrom`) via regex while preserving every other field verbatim. Matches * the regex house-style of this module (no gray-matter / js-yaml dependency). * * Idempotent: running twice with the same arguments produces byte-equal output. * * On malformed YAML frontmatter (no `---` opening or no closing `---`), throws * so the caller can abort before any disk write. * * @param content raw SKILL.md text (CRLF normalized internally) * @param meta.name new fully-qualified skill name (e.g. "anton/ado-mapper") * @param meta.author new author name * @param meta.version new version string (typically "1.0.0" for a fresh fork) * @param meta.forkedFrom optional source skill name to record in frontmatter * (the authoritative record lives in `.vskill-meta.json`; * this is a human-readable breadcrumb only) */ export declare function applyForkMetadata(content: string, meta: { name: string; author: string; version: string; forkedFrom?: string; }): string; /** * Parse the optional `target-agents` field from SKILL.md frontmatter. * Returns an array of agent IDs, or undefined if the field is absent. */ export declare function parseTargetAgents(content: string): string[] | undefined; /** * Strip Claude Code-specific frontmatter fields for non-Claude agents. * Removes: user-invocable, allowed-tools, model, argument-hint, context. * Ensures `name:` is present (required by all agents). */ export declare function stripClaudeFields(content: string, skillName: string): string;