Dùng Codex phân phối skill chung cho nhóm với metadata và quyền kiểm soát

Dùng Codex phân phối skill chung cho nhóm với metadata và quyền kiểm soát

Nhóm đã có skill kiểm tra báo cáo tuần, nhưng chỉ máy của tác giả nhìn thấy nó. Các bản sao của đồng đội dần chạy khác nhau. Codex có thể đọc skill từ repo để cả nhóm dùng chung nếu bạn đặt đúng vị trí, mô tả rõ lúc cần gọi và thử trên máy đồng đội. Dành khoảng một giờ; bạn cần repo, skill đã hoạt động, người review và người thử.

🧰 Chuẩn bị

Công cụ: Codex trên máy, repo Git của nhóm và hướng dẫn Build skills của OpenAI. Bài này bắt đầu khi skill đã có SKILL.md. Nếu chưa có, xem cách tạo một Codex skill cho quy trình cụ thể trước. Trọng tâm ở đây là đưa một quy trình đã thử cho nhiều người dùng, không viết lại nội dung quy trình.

Người tham gia: chủ skill, người review repo, người dùng thử và quản trị viên nếu cần plugin, MCP hoặc quyền công ty. Ghi người chịu trách nhiệm bản phát hành.

Đầu vào: thư mục skill và hai yêu cầu mẫu, một nên kích hoạt skill, một không nên. Không commit mã truy cập hoặc dữ liệu khách hàng.

🪜 Làm từng bước

1. Chọn phạm vi chia sẻ trước khi chuyển tệp

Nhóm cần skill trong một repo, vài repo hay nhiều sản phẩm? Theo OpenAI Learn, Codex đọc skill ở cấp repo, người dùng, quản trị hệ thống và skill có sẵn. Nhóm nhỏ cùng repo nên bắt đầu tại .agents/skills trong repo để review qua Git.

Đặt skill ở gốc repo nếu mọi người cần nó. Với một khu vực con, đặt tại thư mục cha tương ứng. Codex quét .agents/skills từ thư mục đang làm đến gốc repo. Hãy thử tại đúng thư mục làm việc của đồng đội.

~/.agents/skills là thư mục cá nhân, không tự theo Git đến đồng đội. /etc/codex/skills dành cho môi trường quản trị. Nếu cần phân phối rộng hơn một repo hoặc kèm kết nối, OpenAI hướng dẫn dùng plugin, một đường cài đặt riêng.

2. Kiểm tra metadata để Codex tìm đúng skill

Trong SKILL.md, name và description là bắt buộc. Description giúp gọi ngầm: Codex xem tên và mô tả trước, rồi đọc chỉ dẫn đầy đủ khi chọn. Mô tả có thể bị rút ngắn trong danh sách đầu, nên đặt phạm vi ở đầu câu.

Skill kiểm tra báo cáo chỉ nên gọi khi cần rà số liệu và nguồn, không phải mọi việc văn phòng. Mẫu metadata:

---
name: weekly-status-check
description: Verify dates, owners, figures, and source links in a weekly status report. Use for report review; do not use for drafting emails or publishing updates.
---

Nếu muốn skill chỉ chạy khi ai đó gọi rõ tên, agents/openai.yaml có thể đặt chính sách sau. Theo OpenAI, allow_implicit_invocation mặc định là true; đặt false chặn chọn ngầm nhưng vẫn cho gọi bằng $skill trong Codex.

interface:
  display_name: "Weekly Status Check"
  short_description: "Review figures and sources before sharing a weekly report"
policy:
  allow_implicit_invocation: false

Đây là metadata tùy chọn, không cấp quyền dữ liệu. Tệp có thể khai báo MCP phụ thuộc, nhưng không tự kết nối tài khoản ngoài.

3. Đưa thư mục skill vào repo và review như một thay đổi công việc

Đặt thư mục ở .agents/skills/weekly-status-check/. Review SKILL.md, tài liệu, script và tài nguyên. Script có thể làm nhiều hơn mô tả ngắn; kiểm tra tác động trước khi chia sẻ.

Pull request cần nêu ai dùng, lúc nào skill nên xuất hiện và kết quả thử. Đây là quy trình nhóm đề xuất, không phải bước cài đặt bắt buộc. Giữ quy tắc nền trong AGENTS.md; skill chứa các bước của một việc cụ thể.

4. Kiểm tra trên máy của đồng đội, không chỉ máy tác giả

Đồng đội lấy phiên bản repo mới, mở Codex tại thư mục công việc dự kiến và kiểm tra danh sách skill. Trong CLI hoặc IDE extension, có thể dùng /skills hoặc gõ $ để gọi tên skill; trong ChatGPT có thể chọn bằng @ trên bề mặt hỗ trợ. Nếu skill mới chưa hiện, thử khởi động lại Codex theo hướng dẫn OpenAI.

Chạy hai ca: yêu cầu báo cáo tuần nên chọn skill, yêu cầu viết email không nên chọn. Sau đó gọi tường minh $weekly-status-check để xem Codex có đọc được các bước, tệp tham khảo và công cụ đi kèm hay không. Nếu mô tả khiến skill bật nhầm, sửa mô tả và thử lại. Nếu hai skill trùng name, Codex không gộp chúng; cả hai có thể xuất hiện trong danh sách. Đặt tên phân biệt, kiểm tra thư mục cá nhân và repo để tránh đồng đội chọn nhầm bản cũ.

Khi kiểm tra có bước cần sửa tệp hoặc dùng mạng, xác nhận quyền của Codex riêng. Một skill có chỉ dẫn không tự cho phép nó vượt qua phạm vi an toàn. Bạn có thể tham khảo cách cho Codex sửa mã trong phạm vi an toàn để thiết kế lần thử không ảnh hưởng dữ liệu thật.

5. Quyết định khi nào chuyển sang plugin hoặc quyền quản trị khác

Repo skill phù hợp khi mọi người cùng lấy mã và chạy Codex tại đúng nơi. Nếu cần chia sẻ qua nhiều repo, hoặc kèm MCP và tài nguyên cài đặt, plugin có thể là đường phân phối thích hợp hơn. Theo Skill controls của OpenAI, skill trong repo, skill của ChatGPT workspace và skill đi kèm plugin là ba đường quản trị khác nhau. Chuyển tệp giữa chúng không tự chuyển quyền sở hữu, vai trò, trạng thái cài plugin hoặc quyền kết nối.

Người dùng plugin có thể làm việc trong ChatGPT Chat và Work trên web, desktop, mobile, Codex trong desktop app và trình duyệt plugin của Codex CLI. OpenAI nêu plugin không có trong IDE extension. Skill dạng thư mục riêng dùng được trong desktop app, Codex CLI và IDE extension. Vì vậy hãy chọn đường phân phối theo nơi đồng đội thực sự làm việc, rồi thử trên đúng bề mặt đó.

Nếu plugin có kết nối đến hệ thống ngoài, quản trị viên cần quản lý quyền plugin và kết nối theo từng lớp. Việc cài plugin không tự cấp quyền cho connector hoặc MCP server. Đừng mô tả “đã chia sẻ skill” như đồng nghĩa “mọi người có thể đọc cùng dữ liệu”. Quyền trong hệ thống nguồn vẫn do chính hệ thống đó kiểm soát.

6. Đặt lịch kiểm tra sau khi phân phối

Ghi người sở hữu, phiên bản repo hoặc plugin, hai yêu cầu thử mẫu và ngày kiểm tra lại. Khi quy trình đổi, sửa một nguồn chính, nhờ đồng đội chạy lại hai ca và xem đầu ra. Nếu skill không còn an toàn hoặc hữu ích, ngừng dùng bằng thay đổi repo đã review; người dùng cá nhân cũng có thể tắt một skill cục bộ bằng mục [[skills.config]] trong ~/.codex/config.toml rồi khởi động lại Codex. Cách tắt cá nhân này không phải lệnh khóa đồng loạt cả công ty.

✅ Kết quả mẫu

Một nhóm bốn người đưa weekly-status-check vào .agents/skills ở gốc repo. Người sở hữu ghi rõ phạm vi trong description; người review kiểm tra SKILL.md và tệp tham khảo. Đồng đội mở Codex trong repo, thấy skill, gọi $weekly-status-check với báo cáo mẫu và nhận danh sách ngày, số liệu, nguồn cần xác nhận. Khi thử yêu cầu viết email, skill không xuất hiện. Đây là ví dụ về tiêu chí nghiệm thu, không phải kết quả chạy trên repo của bạn.

Đến lúc nhóm thứ hai cần dùng cùng quy trình trong repo khác, trưởng nhóm cân nhắc plugin. Trước khi chuyển, họ ghi rõ nền tảng cần hỗ trợ, công cụ MCP nào cần cài và ai được cấp quyền kết nối. Không giả định việc sao chép thư mục skill sang plugin sẽ mang theo quyền truy cập dữ liệu.

💡 Mẹo để kết quả tốt hơn

  • Một skill, một việc rõ ràng. Tên và mô tả càng hẹp, người dùng càng dễ gọi đúng. Không nhét mọi quy tắc nhóm vào một skill khổng lồ.
  • Thử cả chọn ngầm và gọi tường minh. Một skill hiện trong danh sách chưa chứng minh nó kích hoạt đúng khi người dùng nói tự nhiên.
  • Dùng repo như điểm kiểm soát thay đổi. Review tệp tham khảo và script cùng lúc với SKILL.md; lưu yêu cầu thử mẫu trong mô tả pull request hoặc tài liệu nhóm.
  • Ghi nơi bắt đầu Codex. Skill cấp thư mục có thể không xuất hiện nếu đồng đội mở Codex ở ngoài nhánh thư mục đó.
  • Tách phát hành skill khỏi cấp quyền dữ liệu. Sau khi chia sẻ, thử quyền MCP và tài khoản nguồn với người dùng được phép, rồi thử người không được phép.

⚠️ Giới hạn cần biết

Metadata không phải hàng rào bảo mật. allow_implicit_invocation: false chỉ đổi cách skill được chọn; người dùng vẫn có thể gọi tường minh. Quyền sửa tệp, mạng, plugin và dữ liệu ngoài phải được kiểm soát ở lớp riêng.

Danh sách skill có thể bị rút gọn. Khi cài nhiều skill, Codex rút gọn mô tả trong danh sách đầu, và có thể bỏ một số skill khỏi danh sách kèm cảnh báo. Điều đó không có nghĩa nội dung SKILL.md bị cắt khi skill được chọn. Viết mô tả gọn và thử cách gọi tường minh khi cần.

Thư mục skill và plugin không có cùng phạm vi. Thư mục trong repo không tự dùng được trên mọi bản ChatGPT web hay mobile. Plugin có bề mặt hỗ trợ riêng và không hiện trong IDE extension. Kiểm tra sản phẩm và quyền cụ thể trước khi phổ biến quy trình cho toàn công ty.

❓ Câu hỏi thường gặp

Đưa skill vào ~/.agents/skills có tự chia sẻ cho đồng đội không? Không. Đó là vị trí của một người dùng. Với nhóm dùng chung repo, đặt ở .agents/skills trong repo và phân phối thay đổi repo.

Skill mới đã vào repo nhưng không hiện trong Codex thì làm gì? Kiểm tra thư mục Codex đang mở có nằm trong repo và đúng nhánh, kiểm tra cấu trúc skill, rồi khởi động lại Codex nếu thay đổi chưa được nhận.

Hai skill trùng tên có được Codex tự gộp thành bản mới không? Không. Cả hai có thể hiện trong bộ chọn. Đổi tên hoặc dọn bản cũ để người dùng không gọi nhầm.

Tắt gọi ngầm có chặn người dùng chạy skill không? Không. allow_implicit_invocation: false vẫn cho gọi tường minh bằng $skill trong Codex.

Cài plugin chứa skill có tự cấp quyền MCP và dữ liệu công ty không? Không. Plugin, kết nối và tài khoản nguồn có các lớp quyền riêng. Quản trị viên phải cấu hình và kiểm tra từng lớp.

Nguồn chính thức: Build skills, Skill controls và CLI customization, OpenAI Learn, truy cập ngày 5/10/2026.

#Codex #CodexSkills #LamViecNhom #QuanTriAI

Doanh nghiệp muốn giới thiệu sản phẩm AI tới bạn đọc Vibe AI Coder? Xem gói tài trợ

Bài viết liên quan