PTENES
MODULE 1.4

📂 Where they live & how to install

Discover the two places where skills live on your system—locally in a project and globally—and master all the ways to install, version, and share them with your team.

6
Topics
~20
Minutes
Basic
Level
Practical
Type
Where Skills live LOCAL · GLOBAL · INSTALLATION SCOPE Claude Code + Skills .claude/skills/ Project scope versioned in git only in this repo ~/.claude/skills/ Global scope any project of the machine 📁 Copy the folder or unzip ⌨️ npx skills add via catalog 🔁 git + history skill is plain text
1

📁 Project .claude/skills/

The directory .claude/skills/ stays at the root of your repository. Skills there have local scope — they exist only for those working on that specific project.

Main Concept

The directory .claude/skills/ at the repository root is the project-scoped skills directory. Every skill placed there is available only when Claude Code is running inside that repo.

Each skill is a subfolder. The folder name is exactly the name Claude recognizes it by — e.g., .claude/skills/video-explicativo/.

Directory structure
# LOCAL scope — inside the repository
my-project/
├── .claude/
│ └── skills/
│ ├── explainer-video/ # this project's skill
│ │ ├── SKILL.md # required manifest
│ │ ├── references/
│ │ └── scripts/
│ └── outra-skill/
├── src/
└── package.json
✓ Use the project's .claude/skills/ when
  • ✓ The skill is specific to that product or client
  • ✓ You want to version the skill alongside the code
  • ✓ The whole team needs to use the same version of the skill
  • ✓ The skill changes with the project each sprint
✗ Don't use the project's .claude/skills/ when
  • ✗ The skill is for all your personal projects
  • ✗ The repo is public and the skill contains sensitive data
  • ✗ You’re testing a temporary draft
  • ✗ The skill needs to work outside any project
Key concepts
📁
Local scope
In the repo only
🗂️
Named folder
Name = skill ID
🔒
Privacy
Only those who clone it can see it
⚙️
Auto-detected
No extra config
2

🌐 ~/.claude/skills/ global

The global directory is in ~/.claude/skills/ (user's home directory). Skills there apply to absolutely any project you open on the machine.

🗺️ The two paths side by side
.claude/skills/
  • • Inside the repository
  • • Tracked in git
  • • Shared with the team via clone
  • • Scope: this project only
~/.claude/skills/
  • • In the user's home directory
  • • Outside any repo
  • • On your machine only (not cloned)
  • • Scope: all projects
Overall structure
# GLOBAL scope — user's home directory
~/
└── .claude/
└── skills/
├── formato-curso/ # available in ALL projects
│ ├── SKILL.md
│ └── references/
└── my-personal-skill/
💡
Precedence: local takes priority

If a skill with the same name exists in both places (local and global), the local version (.claude/skills/) takes priority. Use this to your advantage: add a customized version of a skill you normally use globally to the project.

Key concepts
🌐
Global scope
All projects
🏠
User's home directory
~/.claude/skills/
🔼
Local > Global
Local override
👤
Per machine
Doesn’t travel via git
3

📋 Install by copying the folder

The simplest way to install a skill is to copy the folder—or extract a .zip — in the correct directory. This is exactly how you received the skill explainer-video of this course.

Step by step: install by copying
1
Get or download the skill package

The skill can come as a compressed folder (video-explicativo.zip), a separate repository, or simply a folder shared by someone on the team. The minimum content is always: SKILL.md in the folder root.

2
Unzip (if needed)

If you received a zip: unzip video-explicativo.zip. The result should be a folder with the skill name as its root—confirm before moving it.

3
Move to the correct directory

For local scope: mv video-explicativo/ .claude/skills/. For global scope: mv video-explicativo/ ~/.claude/skills/. Create the directory if it doesn't exist: mkdir -p .claude/skills/.

4
Check and use

Open Claude Code in the project session. The skill will already be available — just invoke it using the name configured in the SKILL.md. No restart or reload required.

Exact commands
# Install the skill in the current project (local scope)
mkdir -p .claude/skills/
cp -r ~/Downloads/video-explicativo/ .claude/skills/
# Install globally (works in any project)
mkdir -p ~/.claude/skills/
cp -r ~/Downloads/video-explicativo/ ~/.claude/skills/
# Confirm installation
ls .claude/skills/ # lists project skills
ls ~/.claude/skills/ # lists global skills
💡
A skill is just text — so it’s just a folder

There are no binaries, no build, and no npm dependencies to install. A skill consists of 100% text files: Markdown, shell scripts, and templates. Copying the folder IS the complete installation.

Key concepts
📦
Zip file or folder
Accepted formats
📋
cp -r
Install = copy
✅
No build
Zero dependencies
⚡
Immediate
No restart
4

⌨️ By command

Besides copying manually, you can install skills via CLI—such as npx skills add — which accesses a centralized catalog and downloads automatically.

Install via catalog

Tools such as npx skills add <nome> abstract away the manual copying process: they find the package in the catalog, download it, and automatically place it in the correct location.

It’s the same pattern as npm install but for Claude Code skills — no package.json, no node_modules, just the skill folder.

Usage example
# Install a skill from the catalog (example)
npx skills add video-explicativo
# ↑ downloads and places it in .claude/skills/video-explicativo/
# List skills available in the catalog
npx skills list
# Install globally
npx skills add video-explicativo --global
# ↑ places it in ~/.claude/skills/video-explicativo/
# Update an already installed skill
npx skills update video-explicativo
✓ When to use the command
  • ✓ Public skills from the official catalog
  • ✓ You want to ensure you have the latest version
  • ✓ New team members need to set up the environment quickly
  • ✓ You want to explore the catalog of available skills
✗ When it's NOT the best option
  • ✗ Internal/private company skills (not published)
  • ✗ You need a specific custom version
  • ✗ Environment without internet access
  • ✗ The skill is still in local development
Key concepts
🛍️
Catalog
Public skills
⌨️
npx skills add
Default command
🔄
Easy update
npx skills update
🌍
--global flag
Installs in ~/.claude
5

🔁 Version control with git

A skill is plain text — so it fits naturally in git. That means history, diffs, PR reviews, rollbacks, and complete traceability of who changed what in the skill.

💡
Why version the skill with the code?

When the skill and code evolve together in the same commit, you always know exactly which version of the skill produced which output. No more “the skill changed and the video looked different” without traceability.

Git workflow with a skill in the repo
# 1. Add the skill to the repository
git add .claude/skills/video-explicativo/
git commit -m "feat: adds video-explicativo skill v1.0"
# 2. View the skill's change history
git log --oneline .claude/skills/video-explicativo/SKILL.md
# 3. See what changed between versions
git diff HEAD~1 .claude/skills/video-explicativo/
# 4. Revert the skill to a previous version
git checkout HEAD~1 -- .claude/skills/video-explicativo/
⚠️
Warning: I didn't version the global skill!

Skills in ~/.claude/skills/ stay outside any repository and are NOT versioned automatically. If you want a backup or history for your global skill, create a dedicated repository (e.g., meus-skills-pessoais/) and synchronize manually.

Skill lifecycle in git
1
Create the skill

Write SKILL.md + references → git add + commit

2
Evolves the skill

Fix the prompt, add a reference → new commit — visible diff in the PR

3
PR review

The team reviews skill changes the same way it reviews code — line-by-line comments

4
Version tag

git tag v1.2-skill — freezes the skill in a stable state for production

Key concepts
📜
History
skill git log
🔍
Readable diff
Text = useful diff
🔄
Rollback
checkout version
🏷️
Stable tag
git tag for freeze
6

🤝 Share with the team

A skill in the repository means every developer who clones the project automatically gets the same skills — no manual installation, no differences between machines.

The Power of the Team Standard

When the skill lives in .claude/skills/ in the repository, any git clone provides the complete environment. New dev on the team? Clone it and you have the skill. New machine? Clone it and it works right away.

This eliminates the question "which version of the skill are you using?" — everyone uses exactly what's in the repo's current commit.

✓ Sharing best practices
  • ✓ Document the skill in the README: what it is and how to invoke it
  • ✓ Include real usage examples in SKILL.md
  • ✓ Use a PR for any skill changes (review)
  • ✓ Keep references up to date when the project changes
✗ Common pitfalls
  • ✗ Commit API keys or tokens inside the skill
  • ✗ Skill with absolute paths that exist only on your machine
  • ✗ Modify the skill without communicating changes to the team
  • ✗ Skill that depends on software not listed in the prerequisites
📋 Checklist for a new team member
✓ git clone <repo>
✓ Open Claude Code at the project root
✓ Check ls .claude/skills/
✓ Read the main skill's SKILL.md
✓ Install the listed prerequisites
✓ Test with the SKILL.md example
💡
Skill in the repo = living documentation

The skill’s SKILL.md isn’t just instructions for Claude — it’s real documentation of what the team uses and how. Keep it as up to date as you would a README for a critical function.

Key concepts
🤝
Clone = install
Zero onboarding
🔄
Synchronized
Everyone in the same commit
📝
Living docs
SKILL.md is README
🔒
No secrets
Never commit keys

📚 Module 1.4 Summary

You’ve completed Learning Path 1 — Skills. Here’s everything you’ve mastered:

✓ Local skills live in .claude/skills/ from the project — scope limited to the repository
✓ Global skills live in ~/.claude/skills/ — available in any project on the machine
✓ Installation is simple: copy the folder (or unzip it) to the correct location — no build, no dependencies
✓ Tools such as npx skills add automate downloading the catalog
✓ Skills are plain text — they go into git with history, diffs, and PR review like any code
✓ A skill in the repo standardizes the team: cloning the project automatically installs all project skills
🎉 Track 1 complete! Next stop:
2.1
🎬 What HyperFrames Is

Track 2 — Pipeline. Discover the open-source framework that turns animated HTML into a local MP4, with no cloud and no per-render cost — and how it connects to everything you learned about skills in Track 1.