I have a few questions what is a shader how can i script it and
can a cube map be a skybox
Shader is a general term for a program or group of settings that tell a graphics card how to draw (or shade) something.
For the programmable pipeline in modern GPUs, the term is interchangeable with program. There are specific types of shaders, such as vertex shaders and fragment shaders, which tell the GPU how to transform geometry and how to render polygons, respectively. Not supported by Unity, and only available on more recent graphics cards, are geometry, tessellation and compute shaders.
Although they are not strictly programs, groups of settings for the fixed function pipeline are often referred to as shaders.
In practice, the term is often applied to collections of all of the above. In Unity, the word shader on its own usually refers to a Shaderlab file (type extension .shader).
Shaderlab files are collections of fixed function settings, vertex, fragment and surface shaders which tell Unity how to render meshes. They allow you to fully specify how an object will be rendered on different types of hardware.
Finally, yes you can have a cube map as a skybox. The shader for that is built into Unity. The manual explains how to set up skyboxes in general. All you need to do is change the shader from Skybox to Skybox Cubed.