# Garden Skills Dependencies: Complete Guide to Runtime and Package Requirements

> Discover Garden Skills dependencies. Learn about Node.js 20+ requirements and specific npm packages for web design demos and GPT-Image-2 gallery including Sharp for image processing.

- Repository: [ConardLi/garden-skills](https://github.com/ConardLi/garden-skills)
- Tags: how-to-guide
- Published: 2026-08-28

---

**Garden Skills requires Node.js 20 or higher, with separate npm dependency sets for the root validation tools (none), the web-design demo (React 19, Vite 8, TypeScript), and the GPT-Image-2 gallery (plus Sharp for image processing).**

Garden Skills is a Node.js-based collection of agent skills housed in the `ConardLi/garden-skills` repository. Understanding the dependencies for running Garden Skills is essential before contributing to or deploying any of the included demonstrations. The project uses a modular structure where the root contains validation infrastructure while individual demonstrations maintain their own dependency manifests.

## Core Runtime Requirements

The foundation for running Garden Skills is **Node.js version 20 or higher**. This requirement is explicitly defined in the root [`package.json`](https://github.com/ConardLi/garden-skills/blob/main/package.json) engine specification and enforced by the continuous integration pipeline.

According to the CI workflow in [`.github/workflows/validate-skills.yml`](https://github.com/ConardLi/garden-skills/blob/main/.github/workflows/validate-skills.yml), the validation environment uses:

```yaml
- uses: actions/setup-node@v4
  with:
    node-version: '20'

```

You do not need additional global packages beyond the npm CLI that installs automatically with Node.js. All project-specific dependencies install locally within their respective directories.

## Root Project Dependencies

The root directory of `ConardLi/garden-skills` contains no external runtime dependencies. The validation and release scripts located in `scripts/release/` use only **built-in Node.js APIs** such as `fs`, `path`, and `child_process`.

When you run `npm ci` at the repository root, you install only the packages necessary for the validation scripts. These scripts perform repository-level tasks like listing skills, packing distributions, and generating README files without requiring third-party libraries.

## Demo Project Dependencies

Each demonstration website maintains isolated dependencies in its own [`package.json`](https://github.com/ConardLi/garden-skills/blob/main/package.json). You must install these separately when running specific demos.

### Web Design Website Dependencies

The [`website/web-design-website/package.json`](https://github.com/ConardLi/garden-skills/blob/main/website/web-design-website/package.json) defines a React-based development stack with the following key dependencies:

- **Runtime**: `react` and `react-dom` (version 19)
- **Build tooling**: `vite` (version 8) with `@vitejs/plugin-react`
- **Type checking**: `typescript` (version 6)
- **Linting**: `eslint` (version 9), `@eslint/js`, `eslint-plugin-react-hooks`, `eslint-plugin-react-refresh`, and `globals`
- **Type definitions**: `@types/react`, `@types/react-dom`

### GPT-Image-2 Gallery Dependencies

The [`website/gpt-image2-website/package.json`](https://github.com/ConardLi/garden-skills/blob/main/website/gpt-image2-website/package.json) extends the web design stack with image processing capabilities:

- **Core stack**: Identical React 19, Vite 8, and TypeScript 6 setup
- **Image processing**: `sharp` (development dependency for handling image transformations)
- **Linting and types**: Same ESLint 9 configuration and React type definitions

## Installation and Verification Commands

To establish a complete development environment across all components, execute these commands in sequence:

```bash

# Install root validation tools (Node 20 required)

npm ci

# Verify skill manifests and structure

npm run validate

```

For individual demonstrations:

```bash

# Web Design Demo

cd website/web-design-website
npm install
npm run dev    # Launches Vite dev server on localhost:5173

```

```bash

# GPT-Image-2 Gallery Demo

cd website/gpt-image2-website
npm install
npm run dev    # Launches with Sharp image processing support

```

## Summary

- **Node.js 20** is the minimum runtime requirement, enforced in both [`package.json`](https://github.com/ConardLi/garden-skills/blob/main/package.json) engines and the GitHub Actions workflow at [`.github/workflows/validate-skills.yml`](https://github.com/ConardLi/garden-skills/blob/main/.github/workflows/validate-skills.yml).
- **Root dependencies** are zero for runtime; validation scripts use only built-in Node.js APIs.
- **Web Design Website** requires React 19, Vite 8, TypeScript 6, and ESLint 9 as specified in [`website/web-design-website/package.json`](https://github.com/ConardLi/garden-skills/blob/main/website/web-design-website/package.json).
- **GPT-Image-2 Gallery** adds the `sharp` image processing library to the core React/Vite stack in [`website/gpt-image2-website/package.json`](https://github.com/ConardLi/garden-skills/blob/main/website/gpt-image2-website/package.json).
- **Installation isolation** requires separate `npm install` commands for each demo directory, while the root uses `npm ci` for CI validation.

## Frequently Asked Questions

### Does Garden Skills require any global npm packages?

No. Garden Skills operates entirely with locally installed dependencies. The root validation scripts function without external packages, and each demo installs its React, Vite, and TypeScript dependencies locally. Only Node.js 20 and the bundled npm CLI are required globally.

### Why does the GPT-Image-2 demo require the Sharp library?

The `sharp` package handles server-side image processing and optimization for the gallery demonstration. While the web-design website works with standard React and Vite, the GPT-Image-2 gallery uses Sharp in [`website/gpt-image2-website/package.json`](https://github.com/ConardLi/garden-skills/blob/main/website/gpt-image2-website/package.json) to process generated images efficiently before serving them to the client.

### Can I run Garden Skills with Node.js 18 or 19?

No. The CI configuration in [`.github/workflows/validate-skills.yml`](https://github.com/ConardLi/garden-skills/blob/main/.github/workflows/validate-skills.yml) explicitly specifies Node.js 20, and the root [`package.json`](https://github.com/ConardLi/garden-skills/blob/main/package.json) engine field enforces this version. Running on earlier versions may cause validation failures or compatibility issues with the ESLint 9 and Vite 8 configurations used in the demo projects.

### Are skill manifest files required for dependency management?

No. The [`manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/manifest.json) files located in individual skill directories (such as [`skills/gpt-image-2/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/gpt-image-2/manifest.json)) describe skill metadata and capabilities, not npm dependencies. All JavaScript package requirements are defined exclusively in the root and website-specific [`package.json`](https://github.com/ConardLi/garden-skills/blob/main/package.json) files.