renderSkill method

String renderSkill(
  1. String skillId, {
  2. required Map<String, String> args,
})

Renders the SKILL.md for skillId, substituting every {{key}} from args (the manifest's declared skill args — e.g. runner, gridHome for discover). The composing station's delivery leg calls this at materialization time.

Throws a StateError when any {{…}} hole survives substitution — an installed skill has NO unbound template holes (a leftover {{runner}} would read as a literal in the seat's skill, a silent packaging bug).

Implementation

String renderSkill(String skillId, {required Map<String, String> args}) =>
    _renderOrRefuse(
      'renderSkill("$skillId")',
      loadSkillTemplate(skillId),
      args,
    );