Contents
Chào mừng bạn đến với Fx Studio. Sau đây là một bài viết thân thiện để hiểu Agent Skills là gì? Vì sao nó quan trọng, cấu trúc ra sao, dùng thế nào trong hệ sinh thái OpenAI … và khác gì so với Agent Skills của Claude.
1. Mở đầu: vì sao “Skill” lại đáng chú ý?
Nếu bạn đã từng dùng ChatGPT hoặc Codex để làm việc lặp đi lặp lại, có thể bạn đã gặp tình huống này:
- Lần nào cũng phải paste lại cùng một bộ hướng dẫn.
- Lần nào cũng phải nhắc lại format đầu ra.
- Lần nào cũng phải giải thích quy trình nội bộ, tiêu chuẩn review, checklist, naming convention, hoặc cách dùng một tool cụ thể.
- Output lúc đúng lúc lệch, vì agent không phải lúc nào cũng nhớ chính xác “cách mình muốn làm”.
Agent Skill sinh ra để giải quyết đúng vấn đề đó.
Nói đơn giản, Skill là một “sổ tay nghiệp vụ” nhỏ, có cấu trúc, mà AI agent có thể tự mở ra khi cần. Thay vì bạn phải giải thích lại từ đầu, bạn đóng gói quy trình thành một thư mục có file hướng dẫn SKILL.md, kèm theo tài liệu tham khảo, template, script hoặc asset nếu cần.
OpenAI mô tả Agent Skills trong Codex là cách mở rộng Codex bằng các năng lực theo nhiệm vụ cụ thể. Một skill có thể đóng gói instructions, resources và optional scripts để Codex làm theo workflow một cách đáng tin cậy hơn. OpenAI cũng cho biết Skills dựa trên open Agent Skills standard.
Trong ChatGPT, OpenAI mô tả skills là các workflow tái sử dụng, có thể chia sẻ, giúp ChatGPT biết chính xác cách thực hiện một tác vụ cụ thể tốt hơn và nhất quán hơn. Một skill có thể chứa hướng dẫn, ví dụ và cả code.
2. Agent Skill là gì?
Hãy hình dung bạn đang onboarding một bạn đồng nghiệp mới.
Bạn không chỉ nói:
“Viết giúp mình báo cáo tuần nhé.”
Bạn sẽ đưa thêm:
- Báo cáo tuần gồm những phần nào.
- Lấy dữ liệu từ đâu.
- Ưu tiên metric nào.
- Giọng văn nên ngắn gọn hay phân tích sâu.
- Khi thiếu dữ liệu thì ghi chú ra sao.
- Output cuối cùng là Markdown, email, slide hay file PDF.
Một Skill chính là bản đóng gói của những chỉ dẫn đó cho agent.
Theo Agent Skills standard, một skill về cơ bản là một thư mục chứa file SKILL.md. File này có metadata tối thiểu là name và description, cùng phần instruction để agent biết cách thực hiện tác vụ. Skill cũng có thể chứa scripts, references, templates và các resource khác.
Nói gọn:
Skill = quy trình + ngữ cảnh + tiêu chuẩn chất lượng + tài nguyên hỗ trợ, được đóng gói để agent dùng lại khi phù hợp.
3. Vì sao không chỉ dùng prompt dài?
Bạn vẫn có thể dùng prompt dài. Nhưng prompt dài có vài điểm yếu:
- Dễ thất lạc: mỗi lần mở chat mới lại phải tìm prompt cũ.
- Khó chia sẻ chuẩn: mỗi người trong team có thể dùng một biến thể khác nhau.
- Khó bảo trì: khi quy trình đổi, phải sửa ở nhiều nơi.
- Tốn context: nếu luôn paste một tài liệu dài vào chat, bạn làm đầy context ngay cả khi agent chưa cần đến.
- Khó kèm code hoặc template: prompt thuần văn bản không phải lúc nào cũng đủ cho workflow có bước xử lý file, validate dữ liệu hoặc generate artifact.
Skill giải quyết bằng cách chuyển “prompt dài” thành một đơn vị có cấu trúc.
Điểm quan trọng là cơ chế progressive disclosure: agent không nạp toàn bộ nội dung skill vào context ngay từ đầu. Thay vào đó, nó thường chỉ biết danh sách tên, mô tả và đường dẫn skill; khi task khớp với mô tả, agent mới đọc SKILL.md; nếu cần nữa thì mới đọc tài liệu phụ hoặc chạy script. OpenAI mô tả Codex cũng dùng progressive disclosure theo cách này.
Claude cũng mô tả cơ chế tương tự: metadata được đọc trước, nội dung SKILL.md chỉ được load khi task khớp description, và file phụ như scripts/references chỉ load khi cần.
4. Cấu trúc cơ bản của một Agent Skill
Một skill thường trông như sau:
my-skill/
├── SKILL.md # bắt buộc: metadata + hướng dẫn chính
├── scripts/ # tuỳ chọn: code xử lý lặp lại hoặc cần độ chính xác cao
├── references/ # tuỳ chọn: tài liệu tham khảo, schema, guideline, policy
├── assets/ # tuỳ chọn: template, icon, file mẫu, hình ảnh, boilerplate
└── agents/
└── openai.yaml # tuỳ chọn trong OpenAI/Codex: metadata UI, policy, dependencies
SKILL.md, cộng với optional scripts và references. SKILL.md phải có name và description. OpenAI cũng liệt kê thêm assets/ và agents/openai.yaml cho metadata, giao diện, chính sách invocation và dependency tools.
SKILL.md: trái tim của skill
Một SKILL.md
--- name: weekly-report-writer description: Create concise weekly progress reports from raw notes, issue updates, and meeting summaries. Use when the user asks for a weekly update, sprint summary, or stakeholder report. --- # Weekly Report Writer When creating a weekly report: 1. Identify completed work, in-progress work, blockers, and next steps. 2. Group updates by project or workstream. 3. Keep the tone clear, factual, and friendly. 4. Highlight risks early. 5. End with a short action list. Output format: - Summary - Completed - In progress - Blockers / risks - Next steps
Trong đó:
name: tên skill, thường viết lowercase và dùng dấu gạch nối.description: phần cực kỳ quan trọng, vì agent dùng nó để quyết định khi nào nên kích hoạt skill.- phần Markdown bên dưới: playbook chi tiết mà agent sẽ làm theo sau khi skill được chọn.
4.2. scripts/: khi cần tính nhất quán hoặc xử lý chính xác
Không phải skill nào cũng cần script. Nhưng script rất hữu ích khi workflow có bước dễ sai nếu làm bằng ngôn ngữ tự nhiên, ví dụ:
- Parse CSV theo schema cố định.
- Chuẩn hoá tên file.
- Validate JSON.
- Chuyển đổi định dạng.
- Tạo biểu đồ hoặc artifact.
- Kiểm tra checklist bằng rule deterministic.
Ví dụ:
invoice-checker/
├── SKILL.md
└── scripts/
└── validate_invoice.py
SKILL.md
When the user uploads an invoice CSV, run `scripts/validate_invoice.py` before summarizing errors.
references/: nơi để tài liệu dài nhưng không làm nặng context
Nếu bạn có tài liệu như:
- brand voice guideline,
- API schema,
- checklist kiểm duyệt,
- policy nội bộ,
- ví dụ đầu ra tốt/xấu,
thì không nên nhồi hết vào SKILL.md. Hãy để trong references/ và chỉ dẫn khi nào cần đọc.
support-reply-writer/
├── SKILL.md
└── references/
├── tone-guide.md
├── refund-policy.md
└── escalation-rules.md
Trong SKILL.md:
For refund-related replies, read `references/refund-policy.md` before drafting. For angry customers, read `references/escalation-rules.md` before responding.
SKILL.md nên là “bảng điều khiển”, không phải một kho tài liệu khổng lồ.
4.4. assets/: template và tài nguyên đầu ra
assets/ phù hợp cho:
- template slide,
- template document,
- logo/icon,
- file mẫu,
- boilerplate code,
- prompt mẫu,
- style preset.
proposal-writer/
├── SKILL.md
├── references/
│ └── pricing-rules.md
└── assets/
└── proposal-template.md
4.5. agents/openai.yaml: phần mở rộng trong hệ sinh thái OpenAI/Codex
Trong Codex, OpenAI cho phép thêm agents/openai.yaml để cấu hình metadata UI, chính sách invocation và dependencies. Ví dụ tài liệu OpenAI có nêu các trường như display_name, short_description, icon, brand color, allow_implicit_invocation, và dependency tools như MCP server.
Ví dụ đơn giản:
interface: display_name: "Weekly Report Writer" short_description: "Turn raw updates into a clean weekly report" brand_color: "#3B82F6" policy: allow_implicit_invocation: true
allow_implicit_invocation: false, Codex sẽ không tự kích hoạt skill chỉ dựa trên prompt; người dùng vẫn có thể gọi skill một cách rõ ràng.
5. Codex dùng Skill như thế nào?
OpenAI mô tả Codex có hai cách kích hoạt skill:
- Explicit invocation: người dùng gọi skill trực tiếp trong prompt. Trong CLI/IDE có thể dùng
/skillshoặc gõ$để mention một skill. - Implicit invocation: Codex tự chọn skill khi task khớp với
description
Ví dụ explicit:
$weekly-report-writer Hãy biến các note sau thành báo cáo tuần cho stakeholder.
Ví dụ implicit:
Từ các note này, viết giúp mình một weekly stakeholder update ngắn gọn, có phần blockers và next steps.
Nếu skill weekly-report-writer có description đủ rõ, Codex có thể tự hiểu rằng skill đó phù hợp.
Vì sao description quan trọng?
Vì description là “cửa vào” của skill.
Một description yếu:
description: Helps with reports.
Một description tốt hơn:
description: Create concise weekly progress reports from raw notes, issue updates, and meeting summaries. Use when the user asks for a weekly update, sprint summary, stakeholder update, project status, blockers, risks, or next steps.
- task chính,
- input thường gặp,
- trigger words,
- phạm vi nên dùng,
- nếu cần, cả phạm vi không nên dùng.
6. Skill nằm ở đâu trong Codex?
Theo tài liệu Codex, Skills có thể được Codex đọc từ nhiều scope:
| Scope | Vị trí | Khi nào dùng |
|---|---|---|
| Repository | .agents/skills trong thư mục hiện tại hoặc các thư mục cha đến repo root |
Dùng cho workflow gắn với repo, module, microservice hoặc team convention |
| User | $HOME/.agents/skills |
Dùng cho workflow cá nhân, áp dụng trên nhiều repo |
| Admin | /etc/codex/skills |
Dùng cho môi trường chung, container, SDK scripts, automation |
| System | Bundled with Codex by OpenAI | Skill có sẵn, ví dụ skill-creator hoặc plan skills |
Điểm hay ở đây là skill có thể sống cùng codebase. Ví dụ team backend có thể commit skill vào repo:
repo-root/ ├── src/ ├── tests/ ├── .agents/ │ └── skills/ │ └── api-reviewer/ │ └── SKILL.md └── README.md
api-reviewer và dùng nó khi review API change.
7. Skill, Plugin, MCP, AGENTS.md, Custom GPT khác nhau thế nào?
Đây là phần dễ nhầm, nên mình tách rõ từng khái niệm.
7.1. Skill
Skill là workflow tái sử dụng.
Nó trả lời câu hỏi:
“Agent nên làm task này theo quy trình nào?”
Ví dụ:
- Viết changelog theo convention của team.
- Review PR theo checklist bảo mật.
- Chuyển raw customer notes thành insight report.
- Tạo slide sales deck theo cấu trúc chuẩn.
7.2. Plugin trong Codex
OpenAI nói rằng Skills là định dạng authoring cho reusable workflows, còn Plugins là đơn vị phân phối/installable distribution unit cho reusable skills và apps trong Codex. Nói cách khác, bạn thiết kế workflow bằng skill, rồi đóng gói thành plugin khi muốn người khác cài. Plugin có thể chứa một hoặc nhiều skills, app mappings, MCP server configuration và presentation assets.
Nói nôm na:
- Skill giống một “công thức nấu ăn”.
- Plugin giống một “gói cài đặt” chứa một hoặc nhiều công thức, kèm đồ nghề liên quan.
MCP hoặc connector trả lời câu hỏi:
“Agent có thể kết nối tới hệ thống nào, lấy dữ liệu hoặc thực hiện hành động nào?”
Ví dụ:
- GitHub,
- Linear,
- Slack,
- database,
- internal docs,
- design tools,
- custom API.
Skill có thể hướng dẫn agent dùng connector đúng cách.
Ví dụ skill linear-triage
When triaging bugs: 1. Search Linear for duplicate issues first. 2. Check GitHub PRs linked to the component. 3. Assign severity using `references/severity-rubric.md`. 4. Draft a concise issue summary with repro steps.
7.4. AGENTS.md
Trong coding workflows, AGENTS.md thường chứa hướng dẫn tổng quát cho agent trong repo: cách chạy test, coding style, kiến trúc, convention.
Skill khác ở chỗ nó có tính theo tác vụ và được load khi cần.
Ví dụ:
AGENTS.md: “Dự án này dùng pnpm, test bằngpnpm test, code style là X.”- Skill
release-notes-writer: “Khi user yêu cầu tạo release notes, hãy đọc commit range, nhóm thay đổi theo Added/Changed/Fixed, viết theo format này.”
Nếu một phần trong AGENTS.md bắt đầu biến thành quy trình nhiều bước mà bạn dùng đi dùng lại, đó là ứng viên tốt để tách thành skill.
Claude Code docs cũng dùng logic tương tự: tạo skill khi bạn cứ phải paste cùng playbook/checklist/multi-step procedure, hoặc khi một phần của CLAUDE.md đã trở thành procedure thay vì fact.
Custom GPT là một assistant chuyên biệt trong ChatGPT, có instruction, knowledge và tool riêng. Skill nhỏ hơn và có tính module hơn.
Một cách phân biệt dễ nhớ:
| Thành phần | Mục tiêu chính |
|---|---|
| Custom GPT | Tạo một assistant chuyên biệt |
| Skill | Đóng gói một workflow/năng lực có thể tái sử dụng |
| Project | Gom chat, file và context theo một mục tiêu dài hạn |
| Connector/MCP | Kết nối agent với hệ thống ngoài |
| Plugin | Gói phân phối nhiều capability/skill/app integration |
Trong ChatGPT, OpenAI Academy mô tả skill có thể được dùng tự động hoặc được chọn rõ ràng, có thể dùng trong custom GPTs và projects, và có thể kết hợp nhiều skill cho workflow nhiều pha.
Bạn nên nghĩ tới skill khi task có ít nhất một trong các dấu hiệu sau:
8.1. Bạn lặp lại cùng một prompt nhiều lần
Ví dụ:
“Hãy viết bài blog theo giọng văn thân thiện, mở đầu bằng hook, có ví dụ, có phần checklist cuối bài…”
Nếu tuần nào cũng làm, hãy biến thành skill.
8.2. Output cần đúng format
Ví dụ:
- report nội bộ,
- changelog,
- PR review,
- bug triage,
- meeting summary,
- sales email,
- customer insight report.
Skill giúp agent ít “sáng tạo lệch format” hơn.
8.3. Có nhiều bước cần làm theo thứ tự
Ví dụ:
- Đọc issue.
- Tìm duplicate.
- Kiểm tra log.
- Xác định severity.
- Viết summary.
- Đề xuất owner.
Đây là workflow rất hợp để đóng gói.
8.4. Có rule hoặc policy cần tuân thủ
Ví dụ:
- Không hứa refund nếu chưa đủ điều kiện.
- Không tiết lộ thông tin nhạy cảm.
- Luôn ghi rõ assumption khi thiếu dữ liệu.
- Luôn phân biệt fact, inference và recommendation.
8.5. Team cần dùng chung một “playbook”
Skill đặc biệt hữu ích khi bạn muốn chuẩn hoá cách làm của cả team:
- team support trả lời khách hàng,
- team product tổng hợp feedback,
- team engineering review code,
- team marketing viết campaign brief,
- team finance tạo monthly report.
OpenAI Academy cũng nhấn mạnh skill hữu ích khi kết quả tốt phụ thuộc vào một cách làm lặp lại, nhiều bước, format chặt chẽ hoặc policy cần tuân thủ.
9. Ví dụ minh hoạ: xây một skill từ đầu
Giả sử bạn muốn tạo skill tên là pr-reviewer để Codex review pull request theo chuẩn team.
9.1. Mục tiêu
Skill này sẽ giúp Codex:
- đọc diff của PR,
- phát hiện bug tiềm ẩn,
- kiểm tra security/basic performance,
- nhắc nếu thiếu test,
- viết review comment rõ ràng, lịch sự,
- phân loại issue theo mức độ: blocking, should fix, suggestion, question.
9.2. Cấu trúc thư mục
pr-reviewer/
├── SKILL.md
├── references/
│ ├── review-rubric.md
│ └── security-checklist.md
└── scripts/
└── summarize_diff.py
9.3. File
--- name: pr-reviewer description: Review pull requests and code diffs using a structured engineering checklist. Use when the user asks to review a PR, inspect a diff, evaluate code changes, check test coverage, or draft PR review comments. --- # PR Reviewer You are helping review a pull request. Be practical, specific, and respectful. ## Inputs The user may provide: - a PR link, - a git diff, - a list of changed files, - or a short summary of the change. ## Workflow 1. Identify the purpose of the change. 2. Inspect the changed files and summarize the risk areas. 3. Check correctness, edge cases, error handling, and data validation. 4. Check whether tests are added or updated. 5. For security-sensitive changes, consult `references/security-checklist.md`. 6. Classify findings into: - Blocking - Should fix - Suggestion - Question 7. Avoid vague feedback. Each comment should explain: - what the issue is, - why it matters, - and how to improve it. ## Output format Return: 1. Summary 2. Risk areas 3. Findings 4. Suggested review comments 5. Final recommendation: Approve / Request changes / Needs more context ## Quality bar - Do not nitpick style unless it affects readability or maintainability. - Do not claim a bug exists unless you can point to the relevant logic. - Clearly label assumptions.
9.4. File
# Security checklist Check for: - Authentication bypass - Authorization missing on resource access - User input passed into SQL, shell, file path, or template rendering - Secrets accidentally logged or committed - Unsafe redirects - Missing rate limits on expensive endpoints - PII exposure When reporting security issues, explain impact without including exploit instructions beyond what is needed for remediation.
#!/usr/bin/env python3
import sys
text = sys.stdin.read()
files = []
for line in text.splitlines():
if line.startswith("diff --git"):
parts = line.split()
if len(parts) >= 4:
files.append(parts[3].replace("b/", "", 1))
print("Changed files:")
for f in files:
print(f"- {f}")
Script này không bắt buộc, nhưng giúp agent nhanh chóng liệt kê file thay đổi từ một diff lớn.
9.6. Cách dùng trong Codex
Explicit:
$pr-reviewer Review PR này giúp mình, tập trung vào correctness và test coverage.
Implicit:
Review diff dưới đây và viết comment theo mức độ blocking / should fix / suggestion.
Nếu description đủ rõ, Codex có thể tự kích hoạt skill.
10. Best practices khi viết Skill
10.1. Mỗi skill nên làm một việc thật rõ
company-everything-assistant
Nên tách thành:
customer-insight-summarizer weekly-report-writer pr-reviewer incident-postmortem-writer sales-email-drafter
OpenAI cũng khuyến nghị giữ mỗi skill tập trung vào một việc.
10.2. Ưu tiên instruction trước, script sau
Đừng vội viết code nếu chỉ cần hướng dẫn tốt.
Dùng instruction khi:
- task chủ yếu là đọc, viết, phân tích, tổng hợp,
- output cần giọng văn hoặc cấu trúc,
- workflow có thể diễn đạt bằng checklist.
Dùng script khi:
- cần deterministic behavior,
- xử lý file hoặc dữ liệu lớn,
- validate format,
- tính toán,
- gọi tool ngoài.
OpenAI cũng khuyên ưu tiên instructions hơn scripts, trừ khi cần deterministic behavior hoặc external tooling.
10.3. Viết description như SEO cho agent
Description không phải mô tả marketing. Nó là “bộ lọc kích hoạt”.
Nên có:
description: Draft customer support replies using company tone and escalation rules. Use when responding to customer complaints, refund questions, angry users, support tickets, or requests requiring policy-aware replies.
Không nên:
description: Helps write better messages.
SKILL.md nên đủ để agent bắt đầu, nhưng không nên chứa mọi thứ.
For refund cases, read `references/refund-policy.md`. For enterprise customers, read `references/enterprise-support-rules.md`. For angry customers, read `references/de-escalation-playbook.md`.
10.5. Luôn có output format và quality check
Agent sẽ làm tốt hơn nếu bạn nói rõ “xong thì trông như thế nào”.
Ví dụ:
Before finalizing: - Check that every recommendation has a reason. - Mark assumptions clearly. - Do not include unsupported claims. - Keep the final answer under 800 words unless the user asks for depth.
11. Hệ sinh thái OpenAI: Skill nằm ở đâu trong bức tranh lớn?
Có thể nhìn hệ sinh thái OpenAI xoay quanh agent theo các lớp sau:
User intent ↓ ChatGPT / Codex / API agent ↓ Skills: agent nên làm theo quy trình nào? ↓ Tools / MCP / Connectors: agent có thể dùng hệ thống nào? ↓ Files / Code / Apps / External services ↓ Output: answer, code change, report, document, slide, action
11.1. Trong ChatGPT
Skills trong ChatGPT hướng tới người dùng và team muốn biến cách làm việc lặp lại thành workflow có thể cài đặt, chia sẻ và dùng lại. Theo Help Center, Skills đang ở beta trong các gói ChatGPT Business, Enterprise, Edu, Teachers và Healthcare; đồng thời cũng được hỗ trợ trong Codex và API. OpenAI cũng nói skills chưa sync giữa các sản phẩm, nhưng theo Agent Skills open standard nên có thể download từ một sản phẩm và install sang sản phẩm khác.
- tạo skill ngay trong cuộc trò chuyện,
- dùng Skills editor,
- upload skill từ máy,
- install skill được share trong workspace,
- chia sẻ skill với đồng đội nếu workspace cho phép.
11.2. Trong Codex
Codex là môi trường agentic coding mạnh hơn, nên Skills ở đây đặc biệt hợp cho:
- coding conventions,
- repo-specific workflows,
- PR review,
- release automation,
- migration playbook,
- debugging playbook,
- integration với GitHub, Linear, Slack,
- workflow chạy script trong môi trường code.
OpenAI nói Skills có trong Codex CLI, IDE extension và Codex app.
11.3. Trong API
OpenAI Help Center nói Skills cũng được hỗ trợ trong API, nhưng tài liệu chi tiết về cách gọi qua API nên kiểm tra trực tiếp trong docs hiện hành khi triển khai production, vì API surface có thể thay đổi theo thời gian.
Agent Skills standard giúp skill có tính portable hơn. Theo trang Agent Skills, format này là một cách nhẹ, mở, để mở rộng năng lực agent bằng knowledge và workflow chuyên biệt; nó dùng cơ chế progressive disclosure qua discovery, activation và execution.
chuẩn đóng gói workflow cho agent.
12. So sánh sơ lược: OpenAI Agent Skills vs Claude Agent Skills
OpenAI và Claude có cách tiếp cận rất gần nhau, vì cả hai đều dựa trên cùng ý tưởng Agent Skills dạng thư mục + SKILL.md + progressive disclosure.
12.1. Điểm giống nhau
| Điểm | OpenAI / Codex | Claude |
|---|---|---|
| Cấu trúc cơ bản | Folder có SKILL.md, optional scripts/references/assets |
Folder có SKILL.md, optional scripts/references/assets |
| Metadata chính | name, description |
name, description |
| Kích hoạt tự động | Có, dựa trên description | Có, dựa trên description |
| Gọi thủ công | Có, ví dụ $skill hoặc qua skill selector trong Codex |
Có, ví dụ /skill-name trong Claude Code |
| Progressive disclosure | Có: ban đầu chỉ skill list, khi chọn mới đọc full SKILL.md |
Có: metadata → SKILL.md → resources khi cần |
| Hỗ trợ script | Có | Có |
| Theo open standard | Có | Có |
| Khía cạnh | OpenAI / Codex | Claude |
|---|---|---|
| Trọng tâm sản phẩm | Gắn mạnh với Codex CLI, IDE extension, Codex app, ChatGPT và ecosystem OpenAI | Gắn mạnh với Claude.ai, Claude Code, Claude API |
| Đơn vị phân phối | Codex dùng Plugins làm đơn vị phân phối có thể chứa một hoặc nhiều skills, app mappings, MCP config, assets | Claude cũng có plugins; trong Claude.ai docs, plugins có thể bundle skills, connectors, slash commands, sub-agents |
| Invocation trong coding environment | Codex dùng explicit invocation bằng $skill, /skills, hoặc mention skill; implicit bằng description |
Claude Code dùng /skill-name; skill name cũng hoạt động như slash command |
| Vị trí skill local | Codex dùng .agents/skills, $HOME/.agents/skills, /etc/codex/skills, system bundled |
Claude Code dùng .claude/skills, ~/.claude/skills, plugin skills, và thêm các cơ chế mở rộng của Claude Code |
| Metadata mở rộng | OpenAI có agents/openai.yaml cho UI metadata, policy như allow_implicit_invocation, dependencies |
Claude Code mở rộng standard với invocation control, subagent execution, dynamic context injection |
| Bundled skills | Codex có system skills như skill-creator và plan skills theo docs | Claude Code có bundled skills như /simplify, /batch, /debug, /loop, /claude-api |
Nếu nhìn ở tầng format, hai bên rất giống nhau:
Một skill là một package nhỏ chứa instructions và resources, được agent load khi cần.
Khác biệt chủ yếu nằm ở:
- cách mỗi hệ sinh thái cài đặt và phân phối skill,
- naming/path convention,
- cách invoke trong CLI/IDE/chat,
- metadata mở rộng,
- các skill có sẵn,
- mức độ tích hợp với sản phẩm như ChatGPT, Codex, Claude.ai, Claude Code và API.
Điểm thú vị là cả hai cùng tiến về một mô hình chung: agent không chỉ cần model mạnh, mà cần các “playbook” có thể tái sử dụng để làm việc nhất quán trong thế giới thật.
13. Một ví dụ đời thường: skill viết bài blog
vietnamese-blog-writer/ └── SKILL.md
SKILL.md
--- name: vietnamese-blog-writer description: Write clear, friendly Vietnamese blog posts with logical structure, simple examples, and practical takeaways. Use when the user asks to draft, rewrite, or outline a Vietnamese article, blog post, explainer, tutorial, or thought-leadership piece. --- # Vietnamese Blog Writer When writing Vietnamese blog posts: 1. Start with a relatable situation or pain point. 2. Explain the core idea in plain language before technical details. 3. Use short sections with descriptive headings. 4. Include concrete examples after each abstract concept. 5. Keep the tone friendly, warm, and practical. 6. Avoid sounding like a press release. 7. End with a short recap or checklist. Output format: - Title - Short intro - Main sections - Practical examples - Common mistakes - Final checklist
“Viết bài tiếng Việt, giọng thân thiện, có ví dụ, cấu trúc rõ, đừng quá học thuật…”
Viết một bài giới thiệu về MCP cho người mới bắt đầu.
14. Những lỗi thường gặp khi tạo Skill
description: Helps with marketing, sales, product, engineering, support, and analytics.
Skill như vậy dễ bị kích hoạt sai và khó kiểm soát chất lượng.
description: Makes things better.
Lỗi 3: Nhồi quá nhiều vào SKILL.md
Nếu SKILL.md dài hàng nghìn dòng, agent phải đọc quá nhiều khi skill được kích hoạt. Hãy tách tài liệu dài vào references/.
Lỗi 4: Không có ví dụ đầu vào/đầu ra
Skill tốt nên có ví dụ. Agent hiểu rất nhanh qua examples.
Lỗi 5: Không có quality checks
Không có checklist cuối, output dễ trôi khỏi tiêu chuẩn.
Lỗi 6: Dùng script cho việc không cần script
Nếu task là viết email theo tone, instruction là đủ. Script nên dành cho phần cần độ chính xác hoặc lặp lại máy móc.
15. Checklist tạo Skill tốt
Trước khi tạo skill, hãy tự hỏi:
- Task này có lặp lại không?
- Output tốt trông như thế nào?
- Input thường là gì?
- Có bước nào phải làm theo thứ tự không?
- Có rule/policy/checklist nào phải tuân thủ không?
- Có tài liệu dài nào nên để trong
references/không? - Có bước deterministic nào nên viết thành script không?
- Description đã đủ rõ để agent tự kích hoạt đúng chưa?
- Skill có quá rộng không?
Agent Skills là một bước tiến tự nhiên của AI agent.
Prompt giúp ta giao tiếp với model. Tool giúp model hành động. Connector giúp model chạm vào hệ thống bên ngoài. Còn Skill giúp model làm việc theo đúng cách mà ta muốn, một cách có thể tái sử dụng, chia sẻ và bảo trì.
Trong hệ sinh thái OpenAI, Skills đang kết nối ChatGPT, Codex, API và chuẩn mở Agent Skills. Trong Codex, nó đặc biệt mạnh vì có thể sống cùng repo, gọi script, dùng conventions của team và hỗ trợ coding workflows thực tế. Trong ChatGPT, nó giúp biến những quy trình hằng ngày thành workflow dễ cài đặt và chia sẻ trong workspace.
So với Claude, OpenAI đi cùng một hướng kiến trúc: SKILL.md, progressive disclosure, optional scripts/resources và open standard. Khác biệt nằm ở cách mỗi bên tích hợp vào sản phẩm của mình: Codex/ChatGPT/API ở phía OpenAI, Claude.ai/Claude Code/API ở phía Anthropic.
Nếu phải tóm gọn trong một câu:
Agent Skill là cách biến “kinh nghiệm làm việc” thành một năng lực có thể cài cho AI agent.
Tham khảo:
- OpenAI Developers – How Codex uses skills
- OpenAI Developers – Optional metadata
- OpenAI Developers – Where to save skills
- OpenAI Academy – Skills
- OpenAI Help Center – Skills in ChatGPT
- Claude Code – Extend Claude with skills


