In Claude Code, copy the folder and keep the name
Place the directory in ~/.claude/skills/ or in the project's .claude/skills/, so the folder name still matches the name field inside SKILL.md. Choose the project location if the skill encodes rules about one codebase, or the personal one if it encodes how you work. A skill installed in the wrong scope is not broken, it is just present in sessions where nobody wanted it.
In claude.ai and the API, upload it
claude.ai takes the skill folder as a ZIP file uploaded from its skills settings, and it needs code execution turned on, because that is where skills run. The Claude API takes the skill through the /v1/skills endpoints; a request then names its skill_id in the container parameter next to the code execution tool, and the skill is available to the whole workspace. The copies do not sync, so an edit made on one surface has to be uploaded again on the others.
Read the skill before you install it
A skill is instructions an agent will follow, and it may carry scripts it is allowed to run. Installing one you have not read is closer to running a shell script from a stranger than to installing a theme. Check what it tells the agent to do, check what is under scripts/, and prefer skills whose source you can see.
Confirm it loaded, not just that it copied
The failure people report as install trouble is almost always a name that does not match the directory, or a description too vague to match any task. Ask the agent to do the exact thing the skill is for and watch whether its behaviour changes. If nothing changes, the problem is the description, not the file location.