skills.sh là một mảnh ghép khá quan trọng trong “stack agent” hiện tại: nó biến các best practice, quy trình, playbook… thành những Agent Skill có thể cài đặt và dùng lại cho Claude Code, Cursor, GitHub Copilot, OpenCode, OpenHands… chỉ bằng một lệnh CLI. Bài này sẽ giới thiệu tổng quan và hướng dẫn chi tiết cách dùng skills.sh từ góc nhìn developer.
skills.sh là gì?
skills.sh tự gọi mình là “The Agent Skills Directory” – một thư viện/leaderboard nơi dev có thể tìm – cài – quản lý các Agent Skill: những gói “kiến thức thủ tục” (procedural knowledge) giúp AI agent làm việc theo một quy trình chuẩn, thay vì phải nhồi cả đống hướng dẫn vào system prompt mỗi lần.
Về bản chất:
- Skill = một package hành vi:
- Được mô tả bằng file
SKILL.md(Markdown) với YAML frontmatter (name, description, metadata…). - Bên trong là hướng dẫn chi tiết: khi nào dùng, các bước thực hiện, tiêu chí đánh giá kết quả…
- Có thể kèm script, template, ví dụ để agent tham chiếu.
- Được mô tả bằng file
- skills.sh = directory + CLI:
- Website
skills.shhiển thị leaderboard, trending, hot… của các skill được cài nhiều nhất. - CLI
skills(chạy quanpx) lo phần install, update, remove, tìm kiếm skill trên máy dev và gắn vào agent tương thích.
- Website
Các nền tảng như Claude Code, Cursor, inference.sh, v.v. đều dùng chung Agent Skills spec (SKILL.md) nên một skill có thể chạy cross‑agent khá dễ dàng.
Khái niệm cốt lõi: Agent Skills & SKILL.md
1. Agent Skill là gì?
Theo docs chính thức, skill là một năng lực có thể tái sử dụng của agent, cung cấp “kiến thức thủ tục” để agent làm một việc cụ thể tốt hơn – có thể là code review, SEO audit, UX review, debugging, viết email, lên kế hoạch marketing…
Thay vì:
- Mỗi lần lại viết một prompt dài “hãy review code theo checklist A, B, C…”
- Hoặc copy/paste guideline từ Notion
→ Dev đóng gói thành skill; agent chỉ việc load skill đó khi cần.
2. Cấu trúc một skill
Một skill cơ bản là một thư mục chứa SKILL.md:
textmy-skill/
├── SKILL.md # Hướng dẫn chính (bắt buộc)
├── templates/ # (tùy chọn) file mẫu
├── examples/ # (tùy chọn) ví dụ
└── scripts/ # (tùy chọn) script hỗ trợ
SKILL.md có:
- YAML frontmatter (ở đầu file, giữa hai dòng
---):
---
name: my-skill
description: Mô tả skill, dùng khi nào
metadata:
internal: false # nếu true thì ẩn khỏi discovery, chỉ cài khi bật INSTALL_INTERNAL_SKILLS
---- Nội dung Markdown – chính là “playbook” cho agent:
# My Skill
## When to Use
- Khi cần review PR frontend React
- Khi tối ưu UI/UX cho landing page
## Steps
1. Đọc yêu cầu business và context hiện tại
2. So sánh với checklist dưới đây
3. Ghi rõ từng issue, gợi ý cách sửa, ưu tiên (P0/P1/...)YAML frontmatter bắt buộc cần name và description để CLI nhận diện và agent quyết định khi nào nên load skill.
Hệ sinh thái skills.sh & cách xếp hạng
1. Skills Leaderboard
Trang chủ skills.sh hiển thị leaderboard với các tab:
- All Time – tổng số lượt install qua thời gian
- Trending (24h) – trend cài đặt 24h gần nhất
- Hot – kết hợp velocity + tổng install
Một số skill nổi bật thường thấy:
find-skills– skill giúp chính agent tự tìm skill phù hợp cho task đang làm.vercel-react-best-practices,next-best-practices,vercel-react-native-skills– best practice về React/Next/React Native của Vercel & cộng đồng.frontend-design,web-design-guidelines– guideline thiết kế frontend/UI/UX từ Anthropic & các tác giả khác.supabase-postgres-best-practices,seo-audit,systematic-debugging,test-driven-development…
Mỗi entry là cặp owner/repo hoặc owner/skill-collection, link thẳng đến GitHub/GitLab repo chứa skill.
2. Cách xếp hạng & telemetry
Docs mô tả:
- Leaderboard dựa trên anonymous telemetry từ CLI
skills– mỗi lần bạn cài một skill, chỉ tên skill được ghi lại để tính ranking; không lưu thông tin cá nhân hoặc usage pattern chi tiết. - Có thể tắt telemetry bằng env:
DISABLE_TELEMETRY=1 npx skills add ...
# hoặc
DO_NOT_TRACK=1 npx skills add ...CLI cũng tự động disable telemetry khi chạy trong môi trường CI.
3. Bảo mật & kiểm duyệt
Vì skill thực chất là mã nguồn + hướng dẫn mở trên Git, đội ngũ Vercel cho biết:
- Có routine security audits để quét malicious content trong các skill phổ biến.
- Tuy nhiên họ không thể đảm bảo 100% chất lượng và độ an toàn của tất cả skill; dev vẫn nên review nội dung skill trước khi cài (giống như audit dependency).
Cài đặt & thiết lập skills CLI
1. Yêu cầu môi trường
Để dùng skills.sh, bạn cần:
- Node.js + npm (vì CLI chạy bằng
npx skills ...) - Git để clone repo skill từ GitHub/GitLab
- Một trong các coding agent được hỗ trợ: Claude Code, Cursor, GitHub Copilot, OpenCode, OpenHands, Windsurf, v.v.
CLI sẽ tự detect agent bạn đang dùng (dựa vào các thư mục cấu hình như .claude/, .cursor/, .github/…). Nếu không tìm thấy, nó sẽ hỏi bạn muốn cài vào agent nào.
2. Lệnh cài đặt skill cơ bản
Cú pháp đơn giản nhất:
npx skills add vercel-labs/agent-skillsLệnh này sẽ:
- Lấy repo
vercel-labs/agent-skillstrên GitHub. - Quét các thư mục chuẩn để tìm
SKILL.md(ví dụskills/,.claude/skills/,.cursor/skills/,.agents/skills/…). - Hỏi bạn muốn cài skill nào, vào agent nào, scope project hay global.
Các dạng source được hỗ trợ:
# GitHub shorthand
npx skills add vercel-labs/agent-skills
# GitHub URL đầy đủ
npx skills add https://github.com/vercel-labs/agent-skills
# Đường dẫn trực tiếp tới một skill con trong repo
npx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
# GitLab URL
npx skills add https://gitlab.com/org/repo
# Bất kỳ git URL nào (SSH)
npx skills add [email protected]:vercel-labs/agent-skills.git
# Đường dẫn local
npx skills add ./my-local-skills3. Phạm vi cài đặt (Project vs Global)
CLI cho phép chọn scope:
| Scope | Cờ | Vị trí cài | Use case chính |
|---|---|---|---|
| Project | mặc định | ./<agent>/skills/ | Commit chung repo, chia sẻ với team |
| Global | -g | ~/<agent>/skills/ (thư mục người dùng) | Dùng chung nhiều project / IDE khác nhau |
Ví dụ:
># Cài skill cho project hiện tại (mặc định)
npx skills add vercel-labs/agent-skills --skill frontend-design
# Cài global cho mọi project dùng Claude Code
npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code4. Symlink vs Copy
Khi install, CLI cho phép chọn Installation Method:
- Symlink (khuyến nghị):
- Tạo symlink từ thư mục skill chuẩn (canonical copy) tới từng agent.
- Dễ update, chỉ một source of truth.
- Copy:
- Copy file skill vào từng vị trí agent.
- Dùng khi môi trường không hỗ trợ symlink (Windows hạn chế, filesystem đặc biệt…).
Các lệnh quan trọng trong skills CLI
Dưới đây là những lệnh bạn sẽ dùng nhiều nhất (tất cả đều chạy qua npx skills).
1. Tìm & cài skill
# Tìm skill tương tác (fzf-style)
npx skills find
# Tìm theo từ khóa
npx skills find typescript
# Xem danh sách skill trong một repo mà không cài
npx skills add vercel-labs/agent-skills --list
# Cài một vài skill cụ thể từ repo
npx skills add vercel-labs/agent-skills \
--skill frontend-design \
--skill web-design-guidelines
# Cài tất cả skill trong repo cho tất cả agent, không hỏi lại
npx skills add vercel-labs/agent-skills --all -y
Các option hữu ích:
-a, --agent <agents...>– giới hạn agent (vd:-a claude-code -a cursor)-g, --global– cài global-s, --skill <skills...>– chỉ cài skill nhất định-l, --list– chỉ list, không cài
2. Liệt kê, update, remove
# Liệt kê tất cả skill đã cài (project + global)
npx skills list
# alias
npx skills ls
# Chỉ list skill global
npx skills ls -g
# Check xem có skill nào có bản update
npx skills check
# Update tất cả skill lên version mới nhất
npx skills update
Xóa skill:
# Xóa tương tác (chọn từ danh sách)
npx skills remove
# Xóa skill cụ thể
npx skills remove web-design-guidelines
# Xóa nhiều skill
npx skills remove frontend-design web-design-guidelines
# Xóa khỏi global scope
npx skills remove --global web-design-guidelines
# Xóa khỏi một vài agent cụ thể
npx skills remove --agent claude-code cursor my-skill
# Xóa tất cả skill, không hỏi lại
npx skills remove --all -y
# Alias rm
npx skills rm my-skill
3. Khởi tạo & lock skill
# Tạo SKILL.md trong thư mục hiện tại
npx skills init
# Tạo skill mới trong subfolder
npx skills init my-skillTạo lockfile theo dõi nguồn skill (giống kiểu package-lock):
# Tạo lock mapping giữa skill đã cài và nguồn
npx skills generate-lock
# Chạy thử (không ghi file)
npx skills generate-lock --dry-runTự viết Agent Skill đầu tiên
Đây là flow tối thiểu để bạn tạo một skill custom cho team (ví dụ “review code theo convention nội bộ”).
1. Bước 1 – Tạo thư mục & SKILL.md
Trong repo (hoặc thư mục riêng dành cho skill), chạy:
mkdir -p skills/code-review-team
cd skills/code-review-team
npx skills initCLI sẽ tạo một SKILL.md mẫu. Bạn có thể sửa thành:
---
name: code-review-team
description: Quy trình review code theo chuẩn nội bộ team
---
# Code Review - Team Guidelines
## When to Use
- Trước khi merge bất kỳ PR nào vào nhánh main
- Khi refactor module quan trọng (auth, payment, billing)
## Steps
1. Đọc mô tả PR, check issue/ticket liên quan
2. Kiểm tra các điểm sau:
- Bảo mật (input validation, auth, permission)
- Performance (N+1 query, caching, batch xử lý)
- Code style (lint, naming, folder structure)
3. Comment rõ:
- Vấn đề
- Mức độ (P0/P1/P2)
- Gợi ý hướng sửa
## Output Format
- Tóm tắt chung (2-3 bullet)
- Danh sách issue theo format:
- `[Mức độ] Mô tả issue - File:line - Gợi ý`2. Bước 2 – Chia sẻ & cài skill
Push thư mục skill lên GitHub (ví dụ your-org/team-skills), sau đó đồng đội có thể cài bằng:
# Liệt kê các skill trong repo team
npx skills add your-org/team-skills --list
# Cài skill review code cho Claude Code + Cursor, global
npx skills add your-org/team-skills \
--skill code-review-team \
-g \
-a claude-code \
-a cursorTừ đây, khi dùng Claude Code / Cursor trên repo bất kỳ, agent có thể tự động load hoặc bạn tự gọi skill đó (tùy UI từng tool – thường dưới dạng slash command hoặc context menu).
Tích hợp với các agent phổ biến
Theo bảng Supported Agents của repo vercel-labs/skills, CLI đã hỗ trợ hơn 30 agent/coding‑tool khác nhau:
- Claude Code – thư mục:
.claude/skills/và~/.claude/skills/ - Cursor –
.cursor/skills/,~/.cursor/skills/ - GitHub Copilot Agent –
.github/skills/,~/.copilot/skills/ - OpenCode, OpenHands, Windsurf, Roo Code, Gemini CLI… – mỗi tool có path riêng
CLI sẽ:
- Tự động detect tool đang cài trong máy.
- Cài skill vào đúng thư mục tương ứng (project hoặc global).
- Một số tool (như Kiro CLI) cần bạn thêm cấu hình trong file JSON để agent load skill, nhưng phần lớn IDE/agent mới chỉ cần để skill đúng path là tự nhận.
Best practices khi dùng skills.sh
Một vài lưu ý hữu ích cho workflow thực tế:
- Đối xử với skill như dependency
- Luôn đọc SKILL.md trước khi cài (nhất là skill từ repo cá nhân).
- Đối với project quan trọng, nên pin nguồn skill bằng
skills generate-lockvà commit lockfile.
- Dùng Project scope cho convention team
- Những skill “chuẩn công ty/team” (coding guideline, review checklist, deployment runbook…) nên cài ở scope project để ai clone repo cũng có cùng cấu hình.
- Dùng Global scope cho kỹ năng cá nhân
- Những skill kiểu “frontend-design”, “systematic-debugging”, “vue-best-practices”… nên cài global để xài được ở mọi repo/IDE.
- Tắt telemetry nếu môi trường nhạy cảm
- Trong môi trường doanh nghiệp/quy định chặt, có thể đặt
DISABLE_TELEMETRY=1hoặcDO_NOT_TRACK=1để tắt hoàn toàn telemetry.
- Trong môi trường doanh nghiệp/quy định chặt, có thể đặt
- Đóng gói playbook nội bộ thành skill
- Thay vì viết guideline ở Notion/Confluence rồi phải nhớ copy/paste vào mỗi session, hãy convert thành SKILL.md để agent luôn có thể gọi lại đúng playbook khi cần.
skills.sh + skills CLI đang dần trở thành “npm cho AI agents”: thay vì prompt‑engineering lặp đi lặp lại, dev chỉ việc tìm skill phù hợp – cài bằng 1 lệnh – và để agent tuân theo playbook chuẩn.
Với workflow hiện tại của bạn (Claude Code, Cursor, Github Copilot…), việc thêm skills.sh vào stack sẽ:
- Chuẩn hóa cách agent viết code, review, tối ưu SEO/UX, triển khai…
- Biến best practice & kinh nghiệm team thành package có version, có thể chia sẻ và tái sử dụng.
- Giảm bớt “prompt rác” ở system prompt, nhường chỗ cho ngữ cảnh quan trọng hơn.
Nếu bạn muốn, có thể mô tả bộ công cụ agent đang dùng (Claude Code/Cursor/Windsurf…) và dạng playbook nội bộ bạn đang có (coding style, SEO checklist, content workflow…). Từ đó có thể phác thảo luôn 1-2 SKILL.md mẫu chuẩn hóa cho team, tối ưu cho chính workflow hiện tại.








