cleanup-package-json

package.json のスクリプトと依存関係を整理・クリーンアップする。 「package.jsonをきれいにしたい」「スクリプトを整理したい」「未使用の依存を削除したい」 などのリクエストに使用する。具体的には以下を対象とする: (1) 冗長なスクリプト(エイリアス・パススルー)の削除や統合、 (2) 暗黙的なライフサイクルフック(pre/post)の明示化、 (3) スクリプト命名規則の統一、 (4) 未使用依存パッケージの検出と削除、 (5) スクリプト名変更に伴うドキュメント・CI 更新、 (6) 依存削除後のロックファイル再生成。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cleanup-package-json" with this command: npx skills add nimiusrd/agent-skills/nimiusrd-agent-skills-cleanup-package-json

cleanup-package-json

ワークフロー

1. 現状把握

package.json を読んで、以下の観点で問題点を洗い出す。

スクリプトのチェックポイント:

  • エイリアス: 別のスクリプトを呼ぶだけのスクリプト(例: "build": "npm run build:app"
  • パススルー: コマンドをそのまま渡すだけのスクリプト(例: "lint": "eslint"
  • 暗黙のライフサイクルフック: preX / postX フック(例: "prebuild": "npm run codegen"
  • 命名の不統一: 関連スクリプトがグループ化されていない(例: e2etest:* 系に混ざっていない)

依存関係のチェックポイント:

  • dependencies / devDependencies の各パッケージをソースコード内の import 文で検索し、未使用を特定する
  • 検索対象ディレクトリはプロジェクト構造に応じて判断する(src/lib/app/ など)

2. 問題点の提示と確認

発見した問題点をユーザーに提示し、どれを修正するか確認する。選択肢を提示して合意を得てから作業に入る。

3. スクリプトの修正

確認が取れたら package.json を編集する。

典型的な変換パターン:

パターン変換前変換後
エイリアス統合"build": "npm run build:app" + "build:app": "A && B""build": "A && B"
pre フック明示化"prebuild": "npm run X" + "build": "Y""build": "npm run X && Y"
パススルー削除"lint": "eslint"削除(直接 eslint を呼ぶか不要なら除去)
命名統一"e2e": "playwright test""test:e2e": "playwright test"

パッケージマネージャーは npm run / yarn / pnpm run のいずれが使われているかを package.json や lockfile の存在から判断して使い分ける。

4. ドキュメントの更新確認

スクリプト名を変更・削除した場合は、以下のファイルにその名前が登場していないか確認し、必要であれば修正する。

  • README.md
  • CLAUDE.md / AGENTS.md などのエージェント向けドキュメント
  • .github/workflows/ 配下のワークフローファイル
  • docs/ 配下のドキュメント

5. 依存削除後のロックファイル再生成

依存パッケージを削除した場合は、node_modules とロックファイルを削除してから install を実行する。

# npm
rm -rf node_modules package-lock.json && npm install

# yarn
rm -rf node_modules yarn.lock && yarn install

# pnpm
rm -rf node_modules pnpm-lock.yaml && pnpm install

注意事項

  • pre フックの削除: preX フックを削除して明示的に呼び出す形にすると、そのスクリプトを単独で呼んだときも(意図しない)フックが走らなくなる。動作変更を伴うため、ユーザーに確認してから変換する。
  • スクリプト名の変更: CI やドキュメントで参照されているスクリプト名を変更する場合は、必ず参照先も合わせて更新する。
  • ネイティブ連携パッケージ: Tauri / Electron など、ネイティブ層との橋渡しをする npm パッケージは JS 側の import がなくても実際には必要なことがある。ランタイム要件を確認してから削除する。
  • 間接依存: dependencies に書かれていても直接 import していない場合がある(例: Babel プラグイン、ESLint プリセットなど設定ファイル経由で参照されるもの)。削除前にビルド・テストで確認する。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

refactoring

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

test-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

commit-and-pr

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

property-test-generator

No summary provided by upstream source.

Repository SourceNeeds Review