Manus에서 모든 스킬 실행
원클릭으로
원클릭으로
원클릭으로 Manus에서 모든 스킬 실행
시작하기$pwd:
doc-validator
// 校验 KPC 组件文档与源码的一致性。当用户询问文档是否有遗漏、错误,检查 API 文档与源码是否一致,或提到"文档校验"、"检查文档"时触发此技能。
$ git log --oneline --stat
stars:369
forks:60
updated:2026년 4월 20일 13:09
파일 탐색기
SKILL.md
// 校验 KPC 组件文档与源码的一致性。当用户询问文档是否有遗漏、错误,检查 API 文档与源码是否一致,或提到"文档校验"、"检查文档"时触发此技能。
| name | doc-validator |
| description | 校验 KPC 组件文档与源码的一致性。当用户询问文档是否有遗漏、错误,检查 API 文档与源码是否一致,或提到"文档校验"、"检查文档"时触发此技能。 |
本 skill 用于校验 KPC 组件的 API 文档与源码的一致性,确保文档完整准确。
读取组件目录下的所有源码文件:
index.ts - 主组件,提取 Props 接口、Events 接口、typeDefs、defaults、公共方法group.ts / item.ts 等子组件 - 同样提取上述信息*.vdt - 模板文件,确认哪些属性实际被使用关键提取点:
读取以下文档文件:
index.md - API 文档,提取所有属性表格:
## 组件名
| 属性 | 说明 | 类型 | 默认值 |
demos/*.md - 示例文档,校验示例代码与源码一致性解析表格内容,记录文档中声明的所有属性、方法、事件。同时校验 demos 中的示例代码是否与实际 API 行为一致。
逐项对比,找出以下问题:
| 问题类型 | 说明 |
|---|---|
| 属性遗漏 | 源码有但文档未提及 |
| 属性多余 | 文档有但源码不存在 |
| 类型不符 | 文档类型与源码定义不一致 |
| 默认值错误 | 文档默认值与源码不符 |
| 事件遗漏 | 源码定义的事件未文档化 |
| 方法遗漏 | 公共方法未文档化 |
| 扩展点遗漏 | 源码定义的 Blocks 未文档化 |
| demos 文档错误 | 示例文档中的描述、默认值等与源码不一致 |
demos 文档检查要点:
无需文档化的内容:
className, style, id 等)onClick, onMouseEnter, keydown, focusout 等)原生事件判断规则:
keydown, focusout, click, blur, focus 等)change, select, show, hide 等)才需要文档化无需关注的差异:
undefined 与 false 逻辑等价时(如 disabled 属性),无需指出需要特别注意的内容:
download 仅在 tagName 为 a 时生效)string,应列出所有可选值当需要补充类型定义时,遵循以下规范:
使用源码中的类型名称:不要内联类型,使用源码定义的 type 名称(如 ShouldFixParam)
类型定义格式:使用 ```ts 代码块直接给出源码中的类型定义
类型定义位置:放在 # 属性 表格后面,紧接表格,不要分割表格
事件参数格式:事件参数使用函数签名形式,如:
| clickRow | 点击某行触发 | `(data: T, index: number, key: TableRowKey) => void` |
无需重复定义类型:如果类型定义已在文档中以属性表格形式列出(如 AnchorLinkProps 对应 AnchorLink 组件属性),则无需额外补充类型定义
扩展点文档格式:扩展点使用单独的 # 扩展点 章节,格式如下:
# 扩展点
## 组件名
| 名称 | 说明 |
| --- | --- |
| header | 扩展整个头部内容 |
示例:
# 属性
| 属性 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| shouldFix | 自定义元素固定规则 | `(data: ShouldFixParam) => boolean` | `undefined` |
```ts
type ShouldFixParam = {
offsetTop?: number,
offsetBottom?: number,
viewportHeight?: number
}
| 事件名 | 说明 | 参数 |
|---|---|---|
| change | 固定状态改变时触发 | (isFixed: boolean) => void |
## 输出格式
按以下格式输出校验结果:
```markdown
## 组件名
### 遗漏属性
| 属性 | 说明 | 类型 | 默认值 |
|------|------|------|--------|
### 类型需修正
| 属性 | 文档类型 | 源码类型 |
|------|---------|---------|
### 遗漏事件
| 事件 | 参数 |
|------|------|
### 遗漏方法
| 方法 | 说明 | 参数 | 返回值 |
|------|------|------|--------|
### 遗漏扩展点
| 扩展点 | 说明 |
|------|------|
### 其他问题
(描述其他发现的问题)
### demos 文档问题
| 文件 | 问题描述 |
|------|---------|
若无问题,输出:文档与源码一致,未发现问题。
输入:检查 button 组件的文档
处理:
components/button/index.ts,提取 ButtonProps 接口components/button/index.md,提取属性表格download 属性在源码中定义但文档未提及htmlType 类型不够精确(文档写 string,源码是枚举)输出:
## Button
### 遗漏属性
| 属性 | 说明 | 类型 | 默认值 |
|------|------|------|--------|
| download | 超链接的下载属性,tagName 为 a 时生效 | string | undefined |
### 类型需修正
| 属性 | 文档类型 | 源码类型 |
|------|---------|---------|
| htmlType | string | "submit" \| "reset" \| "button" |