/** * Skill registry — scan skills/ and load skill.json definitions. * * Validation and entry-normalization live in `skill-schema.ts` (shared with * the build-time manifest generator and smoke test). A record that fails * validation is skipped with a warning rather than crashing the whole CLI. */ import { type SkillAuthMode, type SkillEntry } from './skill-schema.js'; export declare const SKILLS_DIR: string; export type { SkillEntry, SkillAuthMode } from './skill-schema.js'; export interface SkillDef { name: string; toolName: string; description: string; parameters: Record; entry: SkillEntry; /** Authorization requirement enforced by the dispatcher before invocation. */ auth: SkillAuthMode; /** Ensure a take (VideoProject + conversation) before running — see skill-schema.ts. */ createsTake: boolean; /** Attach to an existing take, never create one — see skill-schema.ts. */ joinsTake: boolean; /** Argv keys that downgrade createsTake to joinsTake — see skill-schema.ts. */ createsTakeUnless: string[]; skillDir: string; /** Absolute path to the python entry script (only when entry.type === 'python'). */ scriptAbsolutePath?: string; } export declare function loadSkills(baseDir?: string): SkillDef[]; export declare function findSkill(name: string, baseDir?: string): SkillDef | null;