How to assign keys for ContextActionService

Im trying to assign functions to hotkeys and i’m not sure where to go after this.

local ContextActionService = game:GetService("ContextActionService")
local mouse = plyr:GetMouse()

local skill = "t"
local skill2 = "y"

local function Skill()
	print('skill')
end

local function Skill2()
	print('skill 2')
end

mouse.KeyDown:Connect(function(key)
	if key:lower() == skill then
		ContextActionService:BindAction("Input", Skill, false, "t")
		ContextActionService:UnbindAction("Input")
	elseif key:lower() == skill2 then
		ContextActionService:BindAction("Input", Skill2, false, "y")
		ContextActionService:UnbindAction("Input")
	end
end)

I guess my question is what is the equivalent of ‘key’ of ContextActionService?

Why would you make the player press t or y before it bind these actions

-- You can do this instead
local function Skill(actionName: string, inputState: Enum.UserInputState, inputObject: InputObject)
	if inputState == Enum.UserInputState.Begin then
		print('skill')
	end
	return Enum.ContextActionResult.Pass
end

local function Skill2(actionName: string, inputState: Enum.UserInputState, inputObject: InputObject)
	if inputState == Enum.UserInputState.Begin then
		print('skill 2')
	end
	return Enum.ContextActionResult.Pass
end

ContextActionService:BindAction("TInput", Skill, false, Enum.KeyCode.T)
ContextActionService:BindAction("YInput", Skill2, false, Enum.KeyCode.Y)

Is there any way to know the input before binding it?
Im trying to figure out if the player presses a key assigned to skill (which can change) and then fire the corresponding function. Ty