package skills import ( "fmt" "git.yeij.top/AskaEth/Cyrene_v2/internal/capability/registry" "git.yeij.top/AskaEth/Cyrene_v2/pkg/plugins/sdk" ) // Register publishes list into reg as KindSkill capabilities so they become // globally available to every character and mode. It returns ErrNilRegistrar // when reg is nil, ErrInvalidSkill when a skill is nil, and the registry's error // (for example registry.ErrDuplicate) on the first failed registration; earlier // skills in list stay registered. func Register(reg *registry.Registry, list ...sdk.Skill) error { if reg == nil { return ErrNilRegistrar } for _, s := range list { if s == nil { return fmt.Errorf("skills: register: %w", ErrInvalidSkill) } if err := reg.RegisterSkill(s); err != nil { return fmt.Errorf("skills: register %q: %w", s.Name(), err) } } return nil }