{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}
Tác giả kỹ năng đặc vụ Hermes
Tác giả trong repo SKILL.md: tiền đề, trình xác nhận, cấu trúc.
Siêu dữ liệu kỹ năng
| Nguồn | Đi kèm (được cài đặt theo mặc định) |
| Đường dẫn |
skills/software-development/Hermes-agent-skill-authoring ` | | Phiên bản |
1.0.0 ` | | Tác giả | Đại lý Hermes | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |
skills
, `authoring
, `Hermes-agent
, `conventions
,
skill-md |
| Kỹ năng liên quan | XPROTECTX12XPROTECTX, XPROTECTX13XPROTECTX |
Tham khảo: đầy đủ SKILL.md
Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.
Tác giả các kỹ năng của đặc vụ Hermes (in-repo)
Tổng quan
Có hai nơi mà SKILL.md có thể tồn tại:
- Người dùng cục bộ:
~/.Hermes/skills/<maybe-category/<name/SKILL.md
— cá nhân, không chia sẻ. Được tạo thông qua skill_manage(action='create')
. 2. In-repo (kỹ năng này nói về trường hợp này):
/home/bb/Hermes-agent/skills/<category/<name/SKILL.md
— đã cam kết, được vận chuyển cùng với gói hàng. Sử dụng write_file
`git add
.
skill_manage(action='create') KHÔNG nhắm mục tiêu vào cây này.
Khi nào nên sử dụng
- Người dùng yêu cầu bạn thêm một kỹ năng "trong nhánh/repo/commit này"
- Bạn đang cam kết một quy trình làm việc có thể tái sử dụng sẽ được gửi cùng với Hermes-agent
- Bạn đang chỉnh sửa một kỹ năng hiện có trong
/home/bb/Hermes-agent/skills/
(sử dụng patch
cho các chỉnh sửa nhỏ, write_file
để viết lại; skill_manage
vẫn hoạt động để vá các kỹ năng trong kho, nhưng không hoạt động cho create
)
Vấn đề chính bắt buộc
Nguồn sự thật: `tools/skill_manager_tool.py::_validate_frontmatter
. Yêu cầu cứng:
- Bắt đầu bằng
là byte đầu tiên (không có dòng trống ở đầu).
- Đóng bằng
\n---\n ` trước thân.
- Phân tích cú pháp dưới dạng ánh xạ YAML.
- Có trường `name
.
- Có trường `description
, ≤ 1024 ký tự ( `MAX_DESCRIPTION_LENGTH
).
- Thân không trống sau khi đóng
.
Hình dạng ngang hàng được sử dụng bởi mọi kỹ năng trong `skills/software-development/
:
---
name: my-skill-name # lowercase, hyphens, ≤64 chars (MAX_NAME_LENGTH)
description: Use when <trigger>. <one-line behavior>.
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
Hermes:
tags: [short, descriptive, tags]
related_skills: [other-skill, another-skill]
---
```version
` /
`author
` /
`license
` /
`metadata
` KHÔNG được người xác thực thực thi, nhưng mọi máy ngang hàng đều có chúng - nếu bỏ qua và kỹ năng của bạn sẽ bị lộ.
## Giới hạn kích thước
- Mô tả: ≤ 1024 ký tự (bắt buộc).
- SKILL.md đầy đủ: ≤ 100.000 ký tự (được thi hành dưới dạng
`MAX_SKILL_CONTENT_CHARS
, ~36k mã thông báo).
- Kỹ năng ngang hàng trong
`software-development/
` có mức **8-14k ký tự**. Hãy nhắm đến phạm vi đó. Nếu bạn vượt quá 20k, hãy chia thành
`references/*.md
` và tham khảo chúng từ SKILL.md.
## Cấu trúc ngang hàng
Mọi kỹ năng trong repo đều tuân theo đại khái:
`
# <Title
## Overview
One or two paragraphs: what and why.
## When to Use
- Bulleted triggers
- "Don't use for:" counter-triggers
## <Topic sections specific to the skill
- Quick-reference tables are common
- Code blocks with exact commands
- Hermes-specific recipes (tests via scripts/run_tests.sh, ui-TUI paths, etc.)
## Common Pitfalls
Numbered list of mistakes and their fixes.
## Verification Checklist
- [ ] Checkbox list of post-action verifications
## One-Shot Recipes (optional)
Named scenarios → concrete command sequences.
`
``Không phải mọi phần đều bắt buộc, nhưng
`Overview
+
`When to Use
+ nội dung có thể hành động + cạm bẫy là mức tối thiểu để kỹ năng có cảm giác giống như một người ngang hàng.
## Vị trí thư mục
`
skills/<category/<skill-name/SKILL.md
`
``Các danh mục hiện có trong repo (xác nhận với
`ls skills/
):
`autonomous-ai-agents
,
`creative
,
`data-science
,
`devops
,
`dogfood
,
`email
,
`gaming
,
`GitHub
,
`leisure
,
`MCP
,
`media
,
`mlops/*
,
`note-taking
,
`productivity
,
`red-teaming
,
`research
,
`smart-home
,
`social-media
,
`software-development
.
Chọn danh mục hiện có gần nhất. Đừng ngẫu nhiên phát minh ra các danh mục cấp cao nhất mới.
## Quy trình làm việc
1. **Các đồng nghiệp khảo sát** trong danh mục mục tiêu:
`
ls skills/<category/
`
Đọc 2-3 tệp SKILL.md ngang hàng để phù hợp với giai điệu và cấu trúc.
2. **Kiểm tra các ràng buộc của trình xác thực** trong
`tools/skill_manager_tool.py
` nếu không chắc chắn.
3. **Bản nháp** từ
`write_file
` tới
`skills/<category/<name/SKILL.md
.
4. **Xác thực cục bộ**:
``` python
import YAML, re, pathlib
content = pathlib.Path("skills/<category/<name/SKILL.md").read_text()
assert content.startswith("---")
m = re.search(r'\n---\s*\n', content[3:])
fm = YAML.safe_load(content[3:m.start()+3])
assert "name" in fm and "description" in fm
assert len(fm["description"]) <= 1024
assert len(content) <= 100_000
`
5. **Git add + commit** trên nhánh đang hoạt động.
6. **Lưu ý:** trình tải kỹ năng của phiên HIỆN TẠI được lưu vào bộ đệm -
`skill_view
` /
`skills_list
` sẽ không nhìn thấy kỹ năng mới cho đến phiên mới. Điều này được mong đợi, không phải là một lỗi.
## Tham khảo chéo các kỹ năng khác
`metadata.Hermes.related_skills
` kết hợp cả hai cây (
`skills/
` in-repo và
~/.Hermes/skills/
) tại thời điểm tải. Bạn CÓ THỂ tham chiếu kỹ năng cục bộ của người dùng từ kỹ năng trong kho lưu trữ, nhưng nó sẽ không giải quyết được đối với những người dùng khác sao chép kho lưu trữ mới. Chỉ thích tham khảo các kỹ năng trong repo từ các kỹ năng trong repo. Nếu một kỹ năng được tham chiếu thường xuyên chỉ tồn tại trong
~/.Hermes/skills/
, hãy cân nhắc việc quảng cáo kỹ năng đó lên kho lưu trữ.
## Chỉnh sửa các kỹ năng trong Repo hiện có
- **Sửa lỗi nhỏ (lỗi đánh máy, thêm lỗi, thắt chặt kích hoạt):**
`skill_manage(action='patch', name=..., old_string=..., new_string=...)
` hoạt động tốt trên các kỹ năng trong kho.
- **Viết lại chính:**
`write_file
` toàn bộ SKILL.md.
`skill_manage(action='edit')
` cũng hoạt động nhưng yêu cầu cung cấp đầy đủ nội dung mới.
- **Thêm tệp hỗ trợ:**
`write_file
` vào
`skills/<category/<name/references/<file.md
,
`templates/<file
` hoặc
`scripts/<file
.
`skill_manage(action='write_file')
` cũng hoạt động và thực thi danh sách cho phép thư mục con tham chiếu/mẫu/tập lệnh/nội dung.
- **Luôn cam kết** chỉnh sửa — các kỹ năng trong kho lưu trữ là nguồn chứ không phải trạng thái thời gian chạy.
## Những cạm bẫy thường gặp
1. **Sử dụng
`skill_manage(action='create')
` cho kỹ năng trong repo.** Nó ghi vào
~/.Hermes/skills/
, không phải cây repo. Sử dụng
`write_file
` để tạo trong repo.
2. **Khoảng trắng đứng đầu trước
---
.** Trình xác thực kiểm tra
`content.startswith("---")
; bất kỳ dòng trống nào ở đầu hoặc BOM đều không xác thực được.
3. **Mô tả quá chung chung.** Mô tả ngang hàng bắt đầu bằng "Sử dụng khi ..." và mô tả *lớp kích hoạt* chứ không phải một nhiệm vụ. "Sử dụng khi gỡ lỗi X"> "Gỡ lỗi X".
4. **Quên khối tác giả/giấy phép/siêu dữ liệu.** Không được thực thi bởi trình xác thực, nhưng mọi thiết bị ngang hàng đều có nó; bỏ qua làm cho kỹ năng trông như đã hoàn thành một nửa.
5. **Viết một kỹ năng sao chép một ngang hàng.** Trước khi tạo,
`ls skills/<category/
` và mở 2-3 ngang hàng. Thích mở rộng kỹ năng hiện có hơn là tạo ra một anh chị em hẹp hòi.
6. **Mong đợi phiên hiện tại sẽ thấy kỹ năng mới.** Không phải vậy. Trình tải kỹ năng được khởi tạo khi bắt đầu phiên. Xác minh trong phiên mới hoặc qua
`skill_view
` bằng đường dẫn chính xác.
7. **Liên kết với các kỹ năng không tồn tại trong kho.**
`related_skills: [some-user-local-skill]
` hoạt động cho bạn nhưng không hoạt động đối với các bản sao khác. Chỉ thích các liên kết trong repo.
## Danh sách kiểm tra xác minh
- [ ] File nằm ở
`skills/<category/<name/SKILL.md
` (không có ở
~/.Hermes/skills/
)
- [ ] Frontmatter bắt đầu ở byte 0 với
---
, đóng bằng
\n---\n
- [ ]
`name
,
`description
,
`version
,
`author
,
`license
,
`metadata.Hermes.\{tags, related_skills}
` đều có mặt
- [] Tên ≤ 64 ký tự, chữ thường + dấu gạch ngang
- [ ] Mô tả ≤ 1024 ký tự và bắt đầu bằng "Sử dụng khi ..."
- [ ] Tổng số file ≤ 100.000 ký tự (mục tiêu 8-15k)
- [ ] Cấu trúc:
# Title
` →
## Overview
` →
## When to Use
` → thân máy →
## Common Pitfalls
` →
## Verification Checklist
- [] Các tham chiếu
`related_skills
` giải quyết trong repo (hoặc rõ ràng là được người dùng cục bộ)
- [ ]
`git add skills/<category/<name/ && git commit
` đã hoàn thành trên nhánh dự định