/** * Skill File Generator * * Generates repo-specific SKILL.md files from detected Leiden communities. * Each significant community becomes a skill that describes a functional area * of the codebase, including key files, entry points, execution flows, and * cross-community connections. */ import { PipelineResult } from '../types/pipeline.js'; export interface GeneratedSkillInfo { name: string; label: string; symbolCount: number; fileCount: number; } /** * Supported skill targets. Project-relative output paths mirror each editor's * convention: Claude / Cursor use `skills/`, OpenCode uses `skill/` (singular) * to match its global config layout, Codex uses `skills/`. The trailing * `generated/` segment isolates auto-generated skills from human-authored ones. */ export declare const SKILL_TARGETS: readonly ["claude", "cursor", "opencode", "codex"]; export type SkillTarget = (typeof SKILL_TARGETS)[number]; /** * @brief Generate repo-specific skill files from detected communities * @param {string} repoPath - Absolute path to the repository root * @param {string} projectName - Human-readable project name * @param {PipelineResult} pipelineResult - In-memory pipeline data with communities, processes, graph * @param {SkillTarget[]} targets - Editor targets to emit to. Defaults to ['claude']. * @returns {Promise<{ skills: GeneratedSkillInfo[], outputPath: string, outputPaths: string[] }>} * `outputPath` is the Claude path (or first target) for backwards compat; * `outputPaths` lists every directory written to. */ export declare const generateSkillFiles: (repoPath: string, projectName: string, pipelineResult: PipelineResult, targets?: SkillTarget[]) => Promise<{ skills: GeneratedSkillInfo[]; outputPath: string; outputPaths: string[]; }>;