Claude Skill MartKhám phá skillCâu dùng ngayHọc qua videoDùng terminalSkill là gì?
← Về danh sách

Hợp đồng kiến trúc Night Market

Ghi lại các quyết định thiết kế trọng yếu, bất biến và điểm yếu đã biết của repo claude-night-market để tham chiếu khi đánh giá một thay đổi thiết kế.

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

Làm được gì

  • Trình bày 6 quyết định thiết kế "chịu lực" của repo claude-night-market, mỗi tuyên bố đều dẫn chứng ADR, commit hash hoặc file kiểm soát có trong repo: plugin tự chứa, ràng buộc Python 3.9 cho hook, một phiên bản duy nhất lan ra mọi manifest, ngân sách phát hiện skill, bộ nhớ tập thể qua GitHub Discussions, và phân loại vai trò skill.
  • Bảng bất biến ghi rõ "ai cưỡng chế" và "hỏng gì nếu vi phạm", kèm đường dẫn tới workflow CI, script ratchet và guard test.
  • Nêu thẳng 6 điểm yếu đang mở: tràn ngân sách skill xảy ra âm thầm, mdbook chưa ghim phiên bản, vòng lặp tự trị dựa vào hành vi Stop hook không được tài liệu hóa, mypy/pytest phải chạy theo từng plugin, v.v.
  • Bảng tóm tắt 23 ADR, bảng "khi nào nên dùng skill khác", và bộ lệnh rg/git/python3 để kiểm chứng lại các con số dễ lỗi thời.

Phù hợp với ai

  • Người đóng góp hoặc vận hành fork của repo claude-night-market.
  • Tech lead muốn học cách viết tài liệu quy tắc kiến trúc cho một monorepo nhiều plugin/skill.
  • Ai đang tìm ví dụ thực tế về việc nối ADR với cơ chế cưỡng chế trong CI.

Ví dụ sử dụng

  1. Có đề xuất "gom tasks_manager.py trùng lặp ở 3 plugin thành module dùng chung" → skill chỉ ra ADR-0001 và chuỗi commit 054e2679 (gom) → 29961cd2 (revert) → d89a55c7 (giữ bản riêng mỗi plugin) để bác đề xuất.
  2. Trước khi thêm một hook mới → nhắc đọc payload JSON từ stdin (không dùng biến môi trường CLAUDE_TOOL_*), không dùng đường dẫn tương đối, và đặt timeout subprocess nhỏ hơn ngân sách trong hooks.json.
  3. Khi nâng phiên bản → không sửa tay từng manifest mà chạy uv run python plugins/sanctum/scripts/update_versions.py <version>.
  4. Khi viết description cho skill mới → giữ dưới 160 ký tự và dành số ký tự đó cho câu kích hoạt thay vì lặp lại tên skill.

· · · 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/athola/claude-night-market/HEAD/.claude/skills/night-market-architecture-contract/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 Claude Skill Mart.
Copy thư mục .claude/skills/night-market-architecture-contract từ repo GitHub athola/claude-night-market vào ~/.claude/skills/night-market-architecture-contract/ 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/athola/claude-night-market.git && mkdir -p ~/.claude/skills && cp -r claude-night-market/.claude/skills/night-market-architecture-contract ~/.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 và vào thư mục làm việc của bạn.
  2. Clone repo: git clone https://github.com/athola/claude-night-market.git
  3. Tạo thư mục skill: mkdir -p ~/.claude/skills
  4. Sao chép skill: cp -r claude-night-market/.claude/skills/night-market-architecture-contract ~/.claude/skills/
  5. Khởi động lại Claude Code, thử yêu cầu "đánh giá thay đổi thiết kế này" để xem skill có được nạp không.
  6. Lưu ý: mọi đường dẫn và lệnh trong skill chỉ thực sự chạy được bên trong repo claude-night-market. Ở dự án khác, hãy đọc nó như tài liệu tham khảo hoặc viết lại nội dung theo đúng sự thật của repo bạn.