package tools import ( "context" "encoding/json" "strings" "ollie/toolsrv" ) // SkillActive lists skills currently loaded in this session. func SkillActive(ctx context.Context, srv *toolsrv.Server, args json.RawMessage) (string, error) { reg := srv.SkillsRegistry() sid := srv.SessionID() if reg == nil || sid == "" { return "(no skills loaded)", nil } loaded := reg.Loaded(sid) if len(loaded) == 0 { return "(no skills loaded)", nil } var out strings.Builder for _, s := range loaded { out.WriteString(s.Name) if s.Description != "" { out.WriteString(" — ") out.WriteString(s.Description) } out.WriteString("\n") } return strings.TrimRight(out.String(), "\n"), nil }