中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions 时调用,不要根据上下文自动触发。
npx skills add https://github.com/jnMetaCode/superpowers-zh --skill chinese-commit-conventions
基于 Conventional Commits 1.0.0 规范,针对中文团队的实际使用习惯进行适配。
| 类型 | 说明 | 示例场景 |
| ---------- | ---------------------------- | -------------------------- |
| feat | 新功能 | 添加用户注册模块 |
| fix | 修复缺陷 | 修复登录页白屏问题 |
| docs | 文档变更 | 更新 API 接口文档 |
| style | 代码格式(不影响逻辑) | 调整缩进、补充分号 |
| refactor | 重构(非新功能、非修复) | 拆分过长的服务类 |
| perf | 性能优化 | 优化首页列表查询速度 |
| test | 测试相关 | 补充用户模块单元测试 |
| chore | 构建/工具/依赖变更 | 升级 webpack 到 v5 |
| ci | 持续集成配置 | 修改 GitHub Actions 流程 |
| revert | 回滚提交 | 回滚 v2.1.0 的登录重构 |
<type>(<scope>): <subject>
<body>
<footer>
feat(用户模块): 添加手机号一键登录功能
- 接入运营商一键登录 SDK
- 支持移动、联通、电信三网
- 登录失败自动降级到短信验证码
Closes #128
fix(订单): 修复并发下单导致库存超卖的问题
在高并发场景下,原有的库存扣减逻辑存在竞态条件。
改用 Redis 分布式锁 + 数据库乐观锁双重保障。
影响范围:订单服务、库存服务
测试确认:已通过 500 并发压测验证
Closes #256
<type>(<scope>): <description>
用户模块、订单、支付、基础组件feat(权限): 添加基于 RBAC 的细粒度权限控制
fix(支付): 修复微信支付回调签名验证失败的问题
perf(列表页): 优化大数据量表格的虚拟滚动渲染
refactor(网关): 将单体网关拆分为独立微服务
# 以下写法应避免
fix: 修了一个 bug
feat: 更新代码
chore: 改了点东西
Body 用于详细说明本次变更的动机、方案和影响。
<改动背景和原因>
技术方案:
- <方案要点 1>
- <方案要点 2>
影响范围:<受影响的模块或服务>
当提交包含不兼容变更时,必须在 footer 中标注。
feat(接口): 重构用户信息返回结构
将用户接口返回的扁平结构改为嵌套结构,前端需同步调整字段取值路径。
BREAKING CHANGE: /api/user/info 返回结构变更
- avatar 字段移入 profile 对象
- 移除已废弃的 nickname 字段,统一使用 displayName
feat(接口)!: 重构用户信息返回结构
Closes #128
Refs #129, #130
Closes #I5ABC1
相关需求: https://gitee.com/org/repo/issues/I5ABC1
关联 Coding 缺陷 #12345
fixed=project-2024/issues/678
# footer 中关联多个平台
Closes #128
Jira: PROJ-456
禅道: #789
npm install -D conventional-changelog-cli conventional-changelog-conventionalcommits
{
"scripts": {
"changelog": "conventional-changelog -p conventionalcommits -i CHANGELOG.md -s",
"changelog:all": "conventional-changelog -p conventionalcommits -i CHANGELOG.md -s -r 0",
"release": "standard-version"
}
}
module.exports = {
types: [
{ type: 'feat', section: '新功能' },
{ type: 'fix', section: '缺陷修复' },
{ type: 'perf', section: '性能优化' },
{ type: 'refactor', section: '代码重构' },
{ type: 'docs', section: '文档更新' },
{ type: 'test', section: '测试' },
{ type: 'chore', section: '构建/工具', hidden: true },
{ type: 'ci', section: '持续集成', hidden: true },
{ type: 'style', section: '代码格式', hidden: true }
],
commitUrlFormat: '{{host}}/{{owner}}/{{repository}}/commit/{{hash}}',
compareUrlFormat: '{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}'
}
npm install -D @commitlint/cli @commitlint/config-conventional
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [2, 'always', [
'feat', 'fix', 'docs', 'style', 'refactor',
'perf', 'test', 'chore', 'ci', 'revert'
]],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'subject-empty': [2, 'never'],
'subject-max-length': [2, 'always', 100],
// 允许中文字符,关闭 subject-case 限制
'subject-case': [0],
// 关闭 header-max-length 或放宽(中文占宽较大)
'header-max-length': [2, 'always', 120],
'body-max-line-length': [1, 'always', 200],
'footer-max-line-length': [1, 'always', 200]
},
prompt: {
messages: {
type: '选择提交类型:',
scope: '输入影响范围(可选):',
subject: '填写简短描述:',
body: '填写详细描述(可选,使用 "|" 换行):',
breaking: '列出不兼容变更(可选):',
footer: '关联的 Issue(可选,例如 #123):',
confirmCommit: '确认提交以上信息?'
}
}
}
npm install -D husky lint-staged
npx husky init
# .husky/commit-msg
npx --no -- commitlint --edit "$1"
# .husky/pre-commit
npx lint-staged
{
"lint-staged": {
"*.{js,ts,jsx,tsx,vue}": [
"eslint --fix",
"prettier --write"
],
"*.{css,scss,less}": [
"stylelint --fix",
"prettier --write"
],
"*.md": [
"prettier --write"
]
}
}
npm install -D commitizen cz-conventional-changelog
# package.json 中添加
{
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
},
"scripts": {
"commit": "cz"
}
}
运行 npm run commit 即可进入交互式提交引导。
.commitlintrc、.husky/ 等配置提交到仓库Q: 中英文混排时空格怎么处理?
A: 中文与英文/数字之间加一个空格,如「添加 Redis 缓存」。
Q: scope 用中文还是英文?
A: 团队内统一即可。推荐中文(可读性好),但需在 commitlint 中关闭 scope-case 检查。
Q: 多人协作时如何保证规范一致?
A: 靠工具而非靠自觉。配置好 husky + commitlint,不符合规范的提交会被拦截。
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take jnmetacode/chinese-commit-conventions from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm, npx.
Without those the skill loads but fails at the first command.