用途
skill-publisher 用于将 Agent Skills 提交到 skillscatalog.ai 或组织目录进行发布。它通过 skillscatalog.ai API 完成验证、扫描和提交,帮助技能作者将技能发布到目录中供他人使用。
主要能力
- 提交技能进行发布:可将指定路径下的技能提交到目录。
- 指定目标目录:支持发布到公共目录(public)或组织目录(org),组织目录需提供组织 ID。
- 自动验证:检查 SKILL.md 的 frontmatter 和结构。
- 安全扫描:自动扫描技能中的密钥和危险代码,并给出安全评分(如 Grade A 100/100)。
- 提交审核:将技能发送到 API 进行审核,返回请求 ID 和状态(如 pending_review)。
- 跟踪提交:提供跟踪链接(https://skillscatalog.ai/my-skills)。
使用方式
前置条件
- Skill Key:在 https://skillscatalog.ai/settings/skill-keys 获取。
- 有效技能:技能必须通过验证(建议先运行 skill-validator)。
- 安全扫描:提交前会自动扫描技能。
提交命令
提交技能进行发布:
Submit the skill at /path/to/my-skill for publication
指定目标目录:
python3 publish_skill.py /path/to/my-skill --catalog public
python3 publish_skill.py /path/to/my-skill --catalog org --org-id abc123
工作流
- 验证:检查 SKILL.md frontmatter 和结构。
- 扫描:运行安全扫描,检查密钥和危险代码。
- 提交:将技能发送到 API 进行审核。
- 审核:等待目录维护者批准。
输出示例
Publishing skill: my-skill
Validating... OK
Scanning safety... Grade A (100/100)
Submitting to public catalog...
Success! Publication request submitted.
Request ID: pub_abc123
Status: pending_review
Track your submission at:
https://skillscatalog.ai/my-skills
示例
提交到公共目录:
User: Publish my skill at ./pdf-tools to the catalog
Agent: Running publication workflow...
Validation: Passed
Safety Scan: Grade A (100/100)
Submitted to public catalog.
Request ID: pub_xyz789
Status: pending_review
提交到组织目录:
User: Publish ./internal-tools to the acme-corp catalog
Agent: Running publication workflow...
Validation: Passed
Safety Scan: Grade B (85/100)
Submitted to acme-corp organization catalog.
Request ID: pub_abc456
适用场景
- 技能作者希望将自研 Agent Skill 发布到公共目录,供社区使用。
- 组织内部希望将技能发布到组织专属目录,供团队成员使用。
- 需要在发布前自动完成结构验证和安全扫描的场景。
限制
- 提交需要互联网连接。
- 技能必须先通过验证才能提交。
- Skill Key 必须具有发布权限。
- 大型技能(超过 10MB)可能被拒绝。
依赖
- Python 3.9+
- requests 库
- skill-validator(用于预验证)
- skill-safety-scanner(用于预扫描)