Public variable from a script in the same gameobject

Hello, I am new to unity and didn´t find this with search function but it is a really simple problem.

I have a “controller” script that moves the object, it has some public variables that I wish to set from another script “CharSheet” in the same game object.

e.g.: the characters(PCs and nPCs)have a “controller” script with a “speed” variable, and a “CharSheet” with an “agility” variabIe. I want that speed to be a function from agility(i.e.:speed=agility*2).

Do I use gameobject.name, to get the name of the game object, and than use this name to access the gameobject´s character sheet? If so, how do I do it? Is there a easier way? Does this work with a public variable?

All scripts are in C#.

It is pretty simple but I m not finding it, int he script reference, If anyone could point me in the right direction it would be greatly appreaciated

If CharSheet and Controller are on the same gameobject:

//Controller Script
public float speed;

void Start(){
  speed = GetComponent<CharSheet>().agility * 2;
}

//CharSheet script
public float agility;