AI Skill MartKhám phá skillLệnhChương trìnhHọcSkill là gì?
 
← Về danh sách

EGM Bootstrap (Tự động tạo README hợp đồng)

Quét cây thư mục của repo và tự động tạo/chỉnh sửa các file README.md theo chuẩn EGM với Interface, Invariants và Side Effects.

Lập trìnhNâng cao★ 5,282⑂ 316Điểm AI 7/10Cập nhật lần cuối: 29 thg 10, 2026

Làm được gì

  • Duyệt cây thư mục theo BFS từng cấp (không dùng find đệ quy), bỏ qua node_modules, .git, dist, thư mục chỉ chứa test và các mục khớp .gitignore/.egmignore.
  • Phân loại mỗi thư mục thành Peanut (gói thành phần có mã nguồn trực tiếp) hoặc Hay (bản thiết kế tổng hợp hợp đồng của thư mục con) và áp template README tương ứng.
  • Dùng subagent trinh sát chỉ-đọc goldfish-explorer để trích Interface / Invariants / Side Effects, bắt buộc trích dẫn [file:symbol] nên hạn chế bịa đặt.
  • Nếu README đã tồn tại, không ghi đè mà hợp nhất và sửa để tuân thủ EGM, giữ lại ghi chú của lập trình viên; có thể đổi target_filename thành EGM.md để không đụng tới README cũ.
  • Tự dò manifest (package.json, Cargo.toml, go.mod, pyproject.toml, Makefile, BUILD) để điền lệnh kiểm thử đúng cho từng gói.
  • Bước cuối đọc lại toàn bộ file đã tạo/sửa để kiểm tra link tương đối, cú pháp Markdown và tính xác thực của nội dung.

Giới hạn: không viết/refactor mã nguồn, không git add/git commit, và phải xin phép người dùng nếu phát hiện hơn 15 thư mục con.

Phù hợp với ai

  • Dev/tech lead phải dọn tài liệu cho monorepo lớn, tài liệu thiếu hoặc lỗi thời.
  • Nhóm muốn tạo lớp "hợp đồng kiến trúc" để trợ lý AI hiểu nhanh codebase.
  • Đội platform muốn chuẩn hoá ranh giới interface/invariant giữa các gói.

Ví dụ sử dụng

  1. Chạy với path=services/payments → mỗi gói con có README mô tả interface, invariant, side effect; thư mục gốc có bản blueprint chỉ mục.
  2. Repo đã có README do người viết → chạy với target_filename=EGM.md để sinh file hợp đồng riêng, không chạm README cũ.
  3. Monorepo 60 thư mục → cổng an toàn hiện câu hỏi xin phê duyệt, sau đó sinh các worker song song theo từng nhánh và tổng hợp kết quả ở gốc.

· · · Hướng dẫn cài đặt · · ·

Dùng thử ngay, không cần cài

Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.

Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình:
https://raw.githubusercontent.com/google/elephant-goldfish-model/HEAD/distributions/claude/skills/egm-bootstrap/SKILL.md

Mình muốn: (viết việc bạn cần ở đây)

Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.

↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.

Cài vào ứng dụng Claude (không cần terminal)
  1. Tải tệp ZIP bằng nút bên dưới.
  2. Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
  3. Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
↓ Tải ZIP
Cài vào Claude Code

Để Claude làm — dán câu dưới đây vào Claude Code

Hãy cài skill mình tìm thấy trên AI Skill Mart.
Copy thư mục distributions/claude/skills/egm-bootstrap từ repo GitHub google/elephant-goldfish-model vào ~/.claude/skills/egm-bootstrap/ của mình.
Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.

Cài bằng lệnh thủ công

git clone https://github.com/google/elephant-goldfish-model.git && mkdir -p ~/.claude/skills && cp -r elephant-goldfish-model/distributions/claude/skills/egm-bootstrap ~/.claude/skills/

⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.

  1. Mở terminal.
  2. Clone repo: git clone https://github.com/google/elephant-goldfish-model.git
  3. Tạo thư mục skill: mkdir -p ~/.claude/skills
  4. Sao chép skill: cp -r elephant-goldfish-model/distributions/claude/skills/egm-bootstrap ~/.claude/skills/
  5. Kiểm tra các thư mục kèm theo agents/, references/, docs/ đã được copy (cần template và schema cho worker).
  6. Khởi động lại Claude Code và xác nhận egm-bootstrap xuất hiện trong danh sách skill.
  7. Gọi thủ công kèm đường dẫn, ví dụ: "Dùng skill egm-bootstrap cho thư mục src/" (skill tắt chế độ tự động gọi).
  8. Nên thử trên một thư mục nhỏ trước, xem lại bằng git diff rồi tự commit.
Xem mã nguồn trên GitHub ↗Giấy phép: Apache-2.0