export interface SkillsInstallResult { skillsDir: string; installed: string[]; skipped: string[]; error?: string; } /** * Copy every packaged skill pack into `/.claude/skills//`. * * A pack is its `SKILL.md` plus the optional `ue-mcp.yml` sidecar that * declares what the pack needs. Overwrites the ue-mcp-owned files so updates * propagate; anything else in the destination is left alone, including skills * that did not come from this package. * * The copying itself lives in `skill-packs.ts`, which is also what the * `flow(skill_install)` action calls. Two implementations of "install a skill" * would drift, and the one nobody ran would be the one that broke. */ export declare function installSkills(projectDir: string): SkillsInstallResult; export interface SkillsUninstallResult { skillsDir: string; removed: string[]; } /** * Inverse of installSkills: remove every installed pack whose name matches a * packaged one. The containing directory goes only if it ends up empty, and * the skills root only if it does too, so user additions survive. Idempotent: * a missing destination is a no-op. */ export declare function uninstallSkills(projectDir: string): SkillsUninstallResult;