Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add brianlovin/claude-config --skill "knip"
Install specific skill from multi-skill repository
# Description
Run knip to find and remove unused files, dependencies, and exports. Use for cleaning up dead code and unused dependencies.
# SKILL.md
name: knip
description: Run knip to find and remove unused files, dependencies, and exports. Use for cleaning up dead code and unused dependencies.
Knip Code Cleanup
Run knip to find and remove unused files, dependencies, and exports from this codebase.
Setup
- Check if knip is available:
- Run
npx knip --versionto test - If it fails or is very slow, check if
knipis in package.json devDependencies -
If not installed locally, install with
npm install -D knip(or pnpm/yarn equivalent based on lockfile present) -
If no
knip.jsonorknip.jsoncconfig exists and knip reports many false positives, consider creating a minimal config based on the frameworks detected in package.json
Execution
- Run
npx knipto get initial report - Review the output categories:
- Unused files - files not imported anywhere
- Unused dependencies - packages in package.json not imported
- Unused devDependencies - dev packages not used
- Unused exports - exported functions/variables not imported elsewhere
- Unused types - exported types not used
Cleanup Strategy
Auto-delete (high confidence):
- Unused exports that are clearly internal (not part of public API)
- Unused type exports
- Unused dependencies (remove from package.json)
- Unused files that are clearly orphaned (not entry points, not config files)
For these, proceed with deletion without asking. Use --fix --allow-remove-files for automated fixes, or manually delete/edit as needed.
Ask first (needs clarification):
- Files that might be entry points or dynamically imported
- Exports that might be part of a public API (index.ts, lib exports)
- Dependencies that might be used via CLI or peer dependencies
- Anything in paths like
src/index,lib/, or files with "public" or "api" in the name
Use the AskUserQuestion tool to clarify before deleting these.
Workflow
- Run knip, capture full output
- Categorize each issue as auto-delete or needs-clarification
- Ask about uncertain items in a single batch question
- Perform all deletions (use Edit tool to remove exports, Bash to remove files/deps)
- Re-run knip to verify cleanup is complete
- Repeat until no issues remain or only intentionally-ignored items exist
Common Commands
# Basic run
npx knip
# Production only (ignore test files)
npx knip --production
# Auto-fix what's safe
npx knip --fix
# Auto-fix including file deletion
npx knip --fix --allow-remove-files
# JSON output for parsing
npx knip --reporter json
Notes
- If knip config exists, respect its ignore patterns
- Watch for monorepo setups - may need
--workspaceflag - Some frameworks need plugins enabled in config
- Re-run after each batch of fixes to catch newly-exposed unused code
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.