PTENES
MODULE 1.4

📂 Where they live & how to install

Discover the two places where skills live on your system—local and global project folders—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 version-controlled 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/ is at the root of your repository. Skills there have local scope — they exist only for people working on that specific project.

Main Concept

The directory .claude/skills/ at the repository root is the project-scoped skills space. Any 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—for example, .claude/skills/video-explicativo/.

Directory structure
# LOCAL scope — inside the repository
meu-projeto/
├── .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 every sprint along with the project
✗ 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 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
  • • Version-controlled in git
  • • Shared with the team via clone
  • • Scope: this project only
~/.claude/skills/
  • • In the user’s home directory
  • • Outside any repo
  • • Only on your machine (not cloned)
  • • Scope: all projects
Overall structure
# GLOBAL scope — user's home directory
~/
└── .claude/
└── skills/
├── formato-curso/ # available in ALL projects
│ ├── SKILL.md
│ └── references/
└── minha-skill-pessoal/
💡
Precedence: local takes priority

If a skill with the same name exists in both places (local and global), the local version (.claude/skills/) takes precedence. 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—from a git clone — to the correct directory. That’s exactly how you install the skill explainer video of this course.

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

The skill can come from its own repository (github.com/inematds/video-explicativo), from a compressed folder, or simply from a folder sent by someone on the team. The minimum contents are always: SKILL.md at the folder root.

2
Clone the repository

git clone https://github.com/inematds/video-explicativo. The skill is in skills/video-explicativo/ — this folder (with the SKILL.md at its root) that you move, not the entire repo.

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 by the name configured in the SKILL.md. No restart or reload required.

Exact commands
# Install a 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 is 100% text files: markdown, shell scripts, and templates. Copying the folder IS the complete installation.

Key concepts
📦
Zip 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 — like npx skills add — which accesses a centralized catalog and downloads it automatically.

Installation via catalog

Tools like 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 right 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
  • ✓ Want to ensure you have the latest version
  • ✓ New team needs 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 to update
npx skills update
🌍
--global flag
Install in ~/.claude
5

🔁 Version control with git

A skill is plain text — so it fits naturally into git. That means history, diffs, PR review, rollback, and full 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 looks different" without traceability.

Git workflow with skill in the repo
# 1. Add skill to repository
git add .claude/skills/video-explicativo/
git commit -m "feat: adiciona skill video-explicativo 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/
⚠️
Attention: I didn't version the global skill!

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

Skill lifecycle in git
1
Creates 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
Review via PR

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
the skill's git log
🔍
Readable diff
Text = useful diff
🔄
Rollback
checkout version
🏷️
Stable tag
git tag to 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 discrepancies 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 developer on the team? Clone it and you have the skill. New machine? Clone it and it just works.

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

✓ Best practices for sharing
  • ✓ Document the skill in the README: what it is, how to invoke it
  • ✓ Include real usage examples in the SKILL.md
  • ✓ Use a PR for any changes to the skill (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 only exist on your machine
  • ✗ Modifying 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 it uses it. 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 documentation
SKILL.md is README
🔒
No secrets
Never commit keys

📚 Module 1.4 summary

You’ve completed Track 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 extract the zip) to the right location — no build, no dependencies
✓ Tools like npx skills add automate downloading the catalog
✓ Skills are plain text — they go into git with history, diffs, and PR reviews just 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 local MP4s, with no cloud and no per-render cost — and how it connects to everything you learned about skills in Track 1.