parse-package-json

Extract version, dependencies, and metadata from package.json files. Use when needing project version, dependency list, or package metadata for releases, audits, or reports.

allowed_tools: Read

$ 安裝

git clone https://github.com/maslennikov-ig/claude-code-orchestrator-kit /tmp/claude-code-orchestrator-kit && cp -r /tmp/claude-code-orchestrator-kit/.claude/skills/parse-package-json ~/.claude/skills/claude-code-orchestrator-kit

// tip: Run this command in your terminal to install the skill


name: parse-package-json description: Extract version, dependencies, and metadata from package.json files. Use when needing project version, dependency list, or package metadata for releases, audits, or reports. allowed-tools: Read

Parse Package JSON

Extract structured data from package.json files for version management, dependency auditing, and metadata retrieval.

When to Use

  • Get current project version for release workflows
  • Extract dependency list for auditing
  • Read package metadata for reports
  • Validate package.json structure

Instructions

Step 1: Read package.json

Use Read tool to load package.json file.

Expected Input:

  • file_path: Path to package.json (default: ./package.json)

Tools Used: Read

Step 2: Parse JSON

Parse the JSON content and validate structure.

Validation:

  • File must be valid JSON
  • Must contain name and version fields at minimum
  • Dependencies should be objects (if present)

Step 3: Extract Fields

Extract relevant fields into structured output.

Fields to Extract:

  • version: Semantic version string
  • name: Package name
  • description: Package description (optional)
  • dependencies: Production dependencies object (optional)
  • devDependencies: Development dependencies object (optional)
  • scripts: Available npm scripts (optional)
  • main: Entry point file (optional)
  • private: Private flag (optional)

Step 4: Return Structured Data

Return extracted data as JSON object.

Expected Output:

{
  "version": "0.7.0",
  "name": "megacampus2",
  "description": "Project description",
  "dependencies": {
    "react": "^18.2.0"
  },
  "devDependencies": {
    "typescript": "^5.0.0"
  },
  "scripts": {
    "build": "tsc",
    "test": "jest"
  },
  "main": "dist/index.js",
  "private": true
}

Error Handling

  • File Not Found: Return error with message "package.json not found at {path}"
  • Invalid JSON: Return error with parsing details
  • Missing Required Fields: Return error listing missing fields (name, version)
  • Invalid Structure: Return error describing structure issue

Examples

Example 1: Extract Version

Input:

file_path: ./package.json

Output:

{
  "version": "0.7.0",
  "name": "megacampus2"
}

Example 2: Full Package Info

Input:

file_path: ./packages/client/package.json

Output:

{
  "version": "1.2.3",
  "name": "@megacampus/client",
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  }
}

Example 3: Error - File Not Found

Input:

file_path: ./nonexistent.json

Output:

{
  "error": "package.json not found at ./nonexistent.json",
  "success": false
}

Validation

  • Can read package.json from default path
  • Can read package.json from custom path
  • Extracts all specified fields correctly
  • Handles missing optional fields gracefully
  • Returns error for missing file
  • Returns error for invalid JSON
  • Returns error for missing required fields

Supporting Files

  • schema.json: JSON schema defining expected package.json structure