Community编程与开发github.com

mattpocock/setup-pre-commit

在当前仓库中设置 Husky 预提交钩子,集成 lint-staged(Prettier)、类型检查和测试。适用于用户想要添加预提交钩子、配置 Husky、设置 lint-staged 或在提交时进行格式化/类型检查/测试的场景。

setup-pre-commit 是什么?

这是一个用于快速配置 Git 预提交钩子的 AI 代理技能,专为开发者设计。它通过安装并配置 Husky 和 lint-staged,结合 Prettier 进行代码格式化,同时集成 TypeScript 类型检查和测试运行。该技能支持多种主流 AI 代理平台,如 Claude Code、Cursor 和 Codex,并自动生成必要的配置文件(如 .husky/pre-commit、lint-staged 配置和 package.json 脚本)。使用此技能后,每次 Git 提交前都会自动执行格式化、类型检查和测试,确保代码质量的一致性。它非常适合团队协作或个人项目,旨在减少人工审查负担并防止低质量代码进入仓库。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mattpocock/skills/tree/main/skills/setup-pre-commit

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

setup-pre-commit 是做什么的?

在当前仓库中设置 Husky 预提交钩子,集成 lint-staged(Prettier)、类型检查和测试。适用于用户想要添加预提交钩子、配置 Husky、设置 lint-staged 或在提交时进行格式化/类型检查/测试的场景。

功能

  • 安装 Husky 和 lint-staged
  • 配置 Prettier 进行代码格式化
  • 添加 TypeScript 类型检查
  • 集成测试运行
  • 自动生成 Husky 配置文件

使用方式

在支持该技能的 AI 代理(如 Claude Code、Cursor 等)中,直接输入以下命令:

setup-pre-commit

依赖

  • Node.js
  • Git 仓库(已初始化)
  • 项目中已安装 Prettier、TypeScript 和测试框架(可选)

配置示例

技能会自动在 .husky/pre-commit 中添加类似以下内容:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

并在 package.json 中配置 lint-staged:

{
  "lint-staged": {
    "*.{js,jsx,ts,tsx}": [
      "prettier --write",
      "eslint --fix"
    ]
  }
}

自定义

可根据项目需求调整 lint-staged 匹配的文件模式或添加其他命令。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

mattpocock/ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

mattpocock/caveman

Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman.

mattpocock/claude-handoff

Hand the current conversation off to a fresh background agent that picks up the work immediately.

mattpocock/codebase-design

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

mattpocock/design-an-interface

Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".

mattpocock/diagnose

Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.

mattpocock/diagnosing-bugs

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.

mattpocock/domain-modeling

Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.

mattpocock/edit-article

Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.

mattpocock/git-guardrails-claude-code

Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.

mattpocock/grilling

Grill the user relentlessly about a plan or design. Use when the user wants to stress-test a plan before building, or uses any 'grill' trigger phrases.

mattpocock/grill-me

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".

mattpocock/grill-with-docs

Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.

mattpocock/handoff

Compact the current conversation into a handoff document for another agent to pick up.

mattpocock/implement

Implement a piece of work based on a PRD or set of issues.

mattpocock/implement-spec

Implement a specification in code.

mattpocock/improve-codebase-architecture

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

mattpocock/loop-me

Grill me about specs for the workflows I want to build, within this workspace.

mattpocock/migrate-to-shoehorn

Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.

mattpocock/obsidian-vault

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

相关技能