setup-pre-commit
在当前仓库中设置 Husky pre-commit hooks,包含 lint-staged(Prettier)、类型检查和测试。当用户想要添加 pre-commit hooks、设置 Husky、配置 lint-staged、或添加提交时的格式化/类型检查/测试时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
在当前仓库中设置 Husky pre-commit hooks,包含 lint-staged(Prettier)、类型检查和测试。当用户想要添加 pre-commit hooks、设置 Husky、配置 lint-staged、或添加提交时的格式化/类型检查/测试时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | setup-pre-commit |
| description | 在当前仓库中设置 Husky pre-commit hooks,包含 lint-staged(Prettier)、类型检查和测试。当用户想要添加 pre-commit hooks、设置 Husky、配置 lint-staged、或添加提交时的格式化/类型检查/测试时使用。 |
检查 package-lock.json(npm)、pnpm-lock.yaml(pnpm)、yarn.lock(yarn)、bun.lockb(bun)。使用存在的那个。如果不明确则默认使用 npm。
安装为 devDependencies:
husky lint-staged prettier
npx husky init
这会创建 .husky/ 目录并在 package.json 中添加 prepare: "husky"。
.husky/pre-commit写入此文件(Husky v9+ 不需要 shebang):
npx lint-staged
npm run typecheck
npm run test
适配:将 npm 替换为检测到的包管理器。如果仓库的 package.json 中没有 typecheck 或 test 脚本,省略这些行并告知用户。
.lintstagedrc{
"*": "prettier --ignore-unknown --write"
}
.prettierrc(如果缺失)仅在不存在 Prettier 配置时创建。使用以下默认值:
{
"useTabs": false,
"tabWidth": 2,
"printWidth": 80,
"singleQuote": false,
"trailingComma": "es5",
"semi": true,
"arrowParens": "always"
}
.husky/pre-commit 存在且可执行.lintstagedrc 存在prepare 脚本为 "husky"prettier 配置存在npx lint-staged 验证其工作暂存所有更改/创建的文件并提交,消息为:Add pre-commit hooks (husky + lint-staged + prettier)
这将通过新的 pre-commit hooks 运行——是对一切正常运行的良好冒烟测试。
prettier --ignore-unknown 跳过 Prettier 无法解析的文件(图像等)Manage git submodules for the learning-open-code mono-repo. Use when the user wants to: (1) Add a new git submodule — auto-detect or specify the category (open-ai-skills/open-sdd/open-ai-agent/open-ai-desktop/open-knowledge/open-productivity/open-java/open-trading/open-data), record the tracking branch in .gitmodules, clone the repo, and update README.md index. (2) Sync all existing submodules to their configured branches (git fetch + checkout branch + pull). (3) Update the root README.md with an up-to-date index of all synced projects grouped by category. (4) Initialize submodules after git clone — when open-*/ directories are empty or git submodule status returns nothing, guide through the full SOP (git submodule update --init --recursive [--remote]). Trigger keywords: submodule, git submodule, 子模块, add submodule, sync submodule, update submodule, submodule branch, README index, 更新索引, clone, init, 初始化子模块, submodule init, 拉取子模块.
对开源项目进行穷尽式教学文档生成——从宏观架构到微观实现的五层分级讲解,使用 Goal Loop 算法自主驱动完整代码覆盖。所有具体教学内容生成必须激活 `.agents/skills/teach/SKILL.md`。触发条件:用户要求"完整学习某个项目"、"生成项目架构文档"、"从入口到落地讲清楚每个功能"、"代码考古"、"源码分析"、或指定一个项目目录/仓库要求全面教学。
使用并行子 agent 为模块生成多个截然不同的接口设计。当用户想要设计 API、探索接口选项、比较模块形态,或提到 "设计两次" 时使用。
交互式 QA 会话,用户以对话方式报告 bug 或问题,agent 将其录入 GitHub Issue。在后台探索代码库以获取上下文和领域语言。当用户想要报告 bug、做 QA、以对话方式录入 issue,或提及 "QA session" 时使用。
通过用户访谈创建包含微小提交的详细重构计划,并将其录入 GitHub Issue。当用户想要规划重构、创建重构 RFC,或将重构分解为安全的渐进步骤时使用。
从当前对话中提取 DDD 风格的通用语言词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、固化术语、创建通用语言,或提到 "领域模型" 或 "DDD" 时使用。