| name | codenote-skill-creator |
| description | 创建或更新 CodeNote Helper 项目本地 `.agents/skills` 下的 Codex skills。用于把高频协作流程、prompt 生成流程、审查流程或项目专项流程沉淀为可复用 skill;不替代一次性任务 prompt、普通开发实现或万能规则汇总。 |
CodeNote Helper 本地 Skill Creator
技能定位
本 skill 服务于 CodeNote Helper 仓库内 .agents/skills 的创建和更新。它帮助后续把稳定、可复用、有明确输入输出的协作流程沉淀成本地 skill。
适合沉淀为 skill 的流程:
- 高频出现,读取顺序、边界判断和输出格式相对稳定。
- 有明确触发场景、不适用场景和最终产物。
- 需要专属模板、审查清单、prompt 骨架或项目专项流程。
- 比
AGENTS.md 更具体,比一次性 prompt 更可复用。
不适合创建 skill 的情况:
- 只有一次性需求,用
$codenote-fix-prompt 生成普通执行 prompt 更合适。
- 只是先计划后执行,用
$codenote-plan-mode-prompt。
- 只是生成审查任务 prompt,用
$codenote-code-review-prompt。
- 只是普通开发实现,不应包装成长期 skill。
- 想把所有
AGENTS.md 规则粗暴塞进单个万能 skill。
必读文件
触发本 skill 后,先读取:
AGENTS.md
- 仅当
AGENTS.override.md 存在时读取它。
DEVLOG.md
README.md
.agents/skills 当前真实结构。
- 与目标流程直接相关的现有 skill、模板、报告或项目文件。
不要修改根目录 references/ 的非项目代码;.agents/skills/*/references/ 属于本地 skill 资产,可在确有用途时创建或修改。
命名与结构要求
- skill 名称使用小写字母、数字和连字符。
- 名称避免和系统 skill、插件 skill、
vibe-coding-template skill 以及 .agents/skills 既有名称撞名。
SKILL.md 必须存在,frontmatter 只写必要字段,必须包含 name 和 description。
description 必须写清用途、触发场景和边界,不写空泛口号。
agents/openai.yaml 只写必要 UI 字段:display_name、short_description、default_prompt。
default_prompt 必须明确包含 $skill-name。
- 如果
SKILL.md、模板或生成出的 prompt 需要交叉引用其他 skill,必须使用 $skill-name 形式;不要只写反引号包裹的 skill 名称。
references/ 仅用于较长模板、固定输出骨架、检查清单或示例 prompt。
scripts/ 仅用于可重复运行的校验、生成、迁移或格式化脚本;如果创建讲解类 skill,必须复用本 skill 的讲解类专项校验脚本。
- 不创建空目录、空模板、未来可能用得上的占位文件。
讲解类 skill 的硬校验
创建或改写技术原理、八股讲解、从零补课、面试口述、项目追问类 skill 时,必须先读取 $knowledge-explainer 源模板,再生成目标 skill。
不得削弱 $knowledge-explainer 的最高约束、1000 / 3000 字硬门槛、未达字数视为输出失败、输出结构、质量门槛、自检项、公式解释、案例、比喻、记忆抓手和“未实现不能说成已实现”的边界。确实需要裁剪时,必须逐条说明裁剪原因、影响范围和后续补偿方式。
生成后必须运行讲解类专项校验脚本:
python -X utf8 .agents/skills/codenote-skill-creator/scripts/validate_knowledge_explainer.py .agents/skills/knowledge-explainer/SKILL.md
如果脚本失败,必须继续修改目标 SKILL.md 并复跑,直到通过。该脚本只校验结构和关键质量规则是否保留,不判断最终讲解内容是否真的写得好。
创建或更新流程
- 明确目标流程:
- 谁会使用。
- 什么时候触发。
- 不适用于什么场景。
- 输入信息是什么。
- 最终产物是什么。
- 需要读取哪些项目材料。
- 哪些边界必须禁止。
- 核对
.agents/skills 当前结构和目标名称是否冲突。
- 读取
references/skill-template.md,按 CodeNote Helper 本地语境裁剪。
- 只创建当前需要的文件:
SKILL.md
- 按需创建
references/具体模板.md
- 按需创建
agents/openai.yaml
- 写完后通读所有新增或修改文件,清理占位字段、空标题、一次性任务残留和模板腔废话。
- 执行结构、UTF-8、frontmatter、引用存在性、YAML 文本结构和 git 范围检查。
CodeNote Helper 专属边界
创建或更新 skill 时,按需保留这些项目背景:
- 简体中文输出、Windows 与 UTF-8 编码。
- 默认保持当前版本;本地 skill 治理通常不修改
manifest.json、popup 版本或 README 版本徽章。
- 涉及协作资产结构调整时,通常需要
DEVLOG.md 同版本记录和 docs 修复报告;如果生成报告,必须按 CodeNote Helper 语境写清楚 skill / prompt 资产变化对后续任务、版本记录和维护流程的影响,不要只堆路径、英文 skill 名或模板字段。
- 涉及浏览器扩展运行时代码、权限、远程请求或用户数据时,必须继承 Chrome Web Store 审核友好约束。
- 禁止无依据保护逻辑和吞异常。
- 用户可见文案必须自然中文。
不要把这些规则无差别复制进每个新 skill。只保留目标流程需要的最小上下文,并把较长模板放入 references/。
验证要求
创建或更新 skill 后,至少验证:
rg --files .agents/skills 核对结构。
- 所有新增或修改的 Markdown / YAML 文件可用
Get-Content -Encoding UTF8 读取。
- 每个新增或修改的
SKILL.md 有 name 和 description。
- skill 名称符合小写字母、数字和连字符规则。
SKILL.md 中提到的 references/、agents/openai.yaml 和模板文件真实存在。
agents/openai.yaml 文本结构包含必要字段;没有 YAML 解析器时说明使用文本结构校验。
- 没有残留空标题、英文占位说明、临时任务句、无用目录或未引用文件。
- 如果创建或改写讲解类 skill,运行
python -X utf8 .agents/skills/codenote-skill-creator/scripts/validate_knowledge_explainer.py .agents/skills/knowledge-explainer/SKILL.md,失败时继续修改并复跑。
git status --short 确认没有误改运行时代码、根目录 references/ 或参考模板目录。
自检
输出或交付前检查:
- 新 skill 是否职责单一、触发清楚、边界明确。
- 是否没有把一次性任务包装成长期 skill。
- 是否没有把普通开发、Plan mode、code review 和 skill creator 混成一个万能 skill。
- 是否没有复制其他项目的私有路径、版本号、测试命令或发布规则。
- 如果交叉引用其他 skill,是否统一使用
$skill-name 形式。
- 是否所有引用文件真实存在,并通过 UTF-8 读取和基础结构检查。
- 如果目标是讲解类 skill,是否已通过讲解类专项校验脚本。