How to store class type in variable

I need a method to store class type in variable, so it can be like

private ClassType classType;
//....................
classType = Regeneration;  //Regeneration - some class, extending base Skill class
gameObject.AddComponent<classType>();
//....................
Skill skillComp = (Skill)GetComponent<classType>();

.NET Reference is viable source of information regarding advanced C# aspects: Object.GetType Method (System) | Microsoft Learn

For a Component to be attached to a GameObject it must derive/inherit/extend from MonoBehaviour. You can put the custom type on a class that does infact inherit from MonoBehaviour and use it like any other object type(field/property/etc).