namespace Agent.App.Configuration; public static class SkillLoader { public static string[] Load(string directory) { var paths = new List(); paths.AddRange(Directory.EnumerateFiles(directory, "*.md", SearchOption.TopDirectoryOnly)); foreach (string child in Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly)) { var info = new DirectoryInfo(child); if ((info.Attributes & FileAttributes.ReparsePoint) != 0) continue; string standardSkill = Path.Combine(info.FullName, "SKILL.md"); if (File.Exists(standardSkill)) paths.Add(standardSkill); } return paths .Distinct(StringComparer.OrdinalIgnoreCase) .Order(StringComparer.OrdinalIgnoreCase) .Select(File.ReadAllText) .ToArray(); } }