loadFromDirectory method

Future<List<Skill>> loadFromDirectory(
  1. String subdirectory
)

Load skills from a specific subdirectory

Implementation

Future<List<Skill>> loadFromDirectory(String subdirectory) async {
  final dirPath = p.join(skillsPath, subdirectory);
  final dir = Directory(dirPath);

  if (!await dir.exists()) {
    return [];
  }

  final skills = <Skill>[];

  await for (final entity in dir.list(recursive: true)) {
    if (entity is File && entity.path.endsWith('SKILL.md.mustache')) {
      try {
        final skill = await _loadSkill(entity);
        skills.add(skill);
      } catch (e) {
        continue;
      }
    }
  }

  return skills;
}