Skip to content

skills: per-skill load isolation — one malformed SKILL.md currently fails the whole set #74

Description

@yuanhao

SkillSet::load_dir (and load) propagate the first frontmatter/IO error and discard everything already parsed — one bad skill among twenty means zero skills load. Downstream (yologdev/yoyoserve/src/runtime.rs) can only warn "NO skills loaded" because there is no public single-skill API to isolate failures.

Proposal: either make load_dir resilient (skip + collect per-skill errors, e.g. return (SkillSet, Vec<SkillError>) or log-and-skip), or expose a public Skill::load(dir) / SkillSet::load_skill_dir(path) so callers can isolate per skill.

Context: found during the yoyo-serve review — a self-evolving update.sh can rewrite .yoyo/skills/ under a live server, so one bad sync currently degrades every conversation until someone reads stderr.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions