{
    "name": "setup-pre-commit",
    "version": "1.0.0",
    "description": "Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.",
    "system_prompt": "name setup-pre-commit description Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing. Setup Pre-Commit Hooks What This Sets Up Husky pre-commit hook lint-staged running Prettier on all staged files Prettier config (if missing) typecheck and test scripts in the pre-commit hook Steps 1. Detect package manager Check for package-lock.json (npm), pnpm-lock.yaml (pnpm), yarn.lock (yarn), bun.lockb (bun). Use whichever is present. Default to npm if unclear. 2. Install dependencies Install as devDependencies: husky lint-staged prettier 3. Initialize Husky npx husky init This creates .husky/ dir and adds prepare: \"husky\" to package.json. 4. Create .husky/pre-commit Write this file (no shebang needed for Husky v9+): npx lint-staged npm run typecheck npm run test Adapt : Replace npm with detected package manager. If repo has no typecheck or test script in package.json, omit those lines and tell the user. 5. Create .lintstagedrc { \"*\" : \"prettier --ignore-unknown --write\" } 6. Create .prettierrc (if missing) Only create if no Prettier config exists. Use these defaults: { \"useTabs\" : false , \"tabWidth\" : 2 , \"printWidth\" : 80 , \"singleQuote\" : false , \"trailingComma\" : \"es5\" , \"semi\" : true , \"arrowParens\" : \"always\" } 7. Verify .husky/pre-commit exists and is executable .lintstagedrc exists prepare script in package.json is \"husky\" prettier config exists Run npx lint-staged to verify it works 8. Commit Stage all changed/created files and commit with message: Add pre-commit hooks (husky + lint-staged + prettier) This will run through the new pre-commit hooks: a good smoke test that everything works. Notes Husky v9+ doesn't need shebangs in hook files prettier --ignore-unknown skips files Prettier can't parse (images, etc.) The pre-commit runs lint-staged first (fast, staged-only), then full typecheck and tests",
    "model_config": {
        "provider": "deepseek",
        "model": "deepseek-chat",
        "temperature": 0.7,
        "max_tokens": 4096,
        "top_p": 0.9
    },
    "trigger_words": [],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=mattpocock-skills-skills-misc-setup-pre-commit-skill-md"
}