Nox-Lumen MfgNox-Lumen Mfg

④ 开发第一个自定义技能

目标

为团队做一个可复用的自定义 Skill,例如 my-team/commit-message-checker —— 检查 Git commit message 是否符合团队规范。

完成后:

  • 同团队所有人通过 /commit-message-checker 调用
  • 规范变更统一更新,全员生效

前置条件

  • 熟悉自己团队的规范
  • 会写基础 Markdown + Python(可选)

步骤

Step 1:启用 skill-maker 元技能(2 分钟)

/skill-maker 帮我构思一个 "commit-message-checker" 技能的骨架

系统会问你:

  • 触发场景是什么?
  • 输入是什么?
  • 输出是什么?
  • 需要调用哪些外部工具?

Step 2:生成骨架(5 分钟)

回答完毕后系统输出:

my-team-commit-message-checker/
├── SKILL.md
├── tools/
│   └── check.py
└── tests/
    └── test_check.py

Step 3:编写 SKILL.md(20 分钟)

最关键的是 Front Matter:

---
name: commit-message-checker
description: 检查 Git commit message 是否符合团队规范(Conventional Commits + type/scope 白名单)
execution_mode: precise
tags: [devtool, team-convention]
---

以及"何时触发"的自然语言描述:

# Commit Message Checker
 
当用户提到:检查 commit message、审查提交信息、规范化 git 提交时触发。
 
不触发的情况:...

Step 4:编写校验工具(20 分钟)

tools/check.py

import re
 
PATTERN = re.compile(
    r"^(feat|fix|docs|style|refactor|test|chore)"
    r"(\([a-z-]+\))?: .+"
)
 
def check(message: str) -> dict:
    ok = bool(PATTERN.match(message.strip().splitlines()[0]))
    return {"ok": ok, "pattern": PATTERN.pattern}

Step 5:写契约测试(10 分钟)

def test_valid():
    assert check("feat(api): add v2 endpoint")["ok"]
 
def test_invalid():
    assert not check("add new stuff")["ok"]

Step 6:试用(5 分钟)

/skill-install ./my-team-commit-message-checker
/commit-message-checker 检查:"add new button"

系统应该回复"不符合规范"并给出修改建议。

Step 7:发布到租户(3 分钟)

/skill-publish commit-message-checker --visibility tenant

团队成员自动可见。

验收清单

  • SKILL.md Front Matter 完整
  • tools/check.py 可运行
  • ✅ 契约测试 100% 通过
  • ✅ 团队成员能通过 /commit-message-checker 调用
  • ✅ 记录一次不合规被拦下来的案例

下一步

On this page