using CommunityToolkit.Mvvm.ComponentModel;

namespace ClaudeDo.Ui.ViewModels.Agent;

/// <summary>
/// One installed session skill shown as a checkbox row. Reused by the global (General tab),
/// list, and task selectors — selection is additive-union across all three levels, so this
/// is deliberately just a name + checked flag with no inheritance/override state.
/// </summary>
public sealed partial class SelectableSkillViewModel : ViewModelBase
{
    public string Name { get; }
    public string Description { get; }

    [ObservableProperty] private bool _isSelected;

    public SelectableSkillViewModel(string name, string description = "", bool isSelected = false)
    {
        Name = name;
        Description = description;
        _isSelected = isSelected;
    }
}
