loadSkillTemplate method
The mustache-templated SKILL.md body for skillId
(extension/station_overlay/claude/skills/<skillId>/SKILL.md — the
ROOT-RELATIVE vended-asset overlay format: the tree mirrors the target repo
root, so it already carries the harness's own .claude/skills/ layout).
Throws an ArgumentError for an unknown skill (fail-loud — a missing skill
is a packaging bug, never a silent empty install).
Implementation
String loadSkillTemplate(String skillId) {
final file = File(
p.join(_root, 'station_overlay', 'claude', 'skills', skillId, 'SKILL.md'),
);
if (!file.existsSync()) {
throw ArgumentError('unknown skill "$skillId" (no ${file.path})');
}
return file.readAsStringSync();
}