# How to Customize Skills in the Garden Skills Repository: Complete Guide

> Customize skills in the ConardLi/garden-skills repository by editing skill folders containing manifests, theme tokens, and reference materials. Learn how to tailor your skills today.

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

---

**Yes, you can fully customize skills in the Garden Skills repository by editing the self‑contained skill folders that contain [`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md) manifests, theme tokens, and reference materials.**

Garden Skills is structured as a collection of **self‑contained skill modules** that you can tailor to your specific needs without modifying the core repository. Each skill follows a standardized layout with [`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md) files, optional assets, and deterministic scripts that drive agent behavior. Whether you need to adjust trigger rules, create new visual themes, or add custom style recipes, the modular architecture allows deep customization while keeping changes isolated to individual skill folders.

## Understanding the Skill Architecture

Every skill in the repository is a folder that the agent loads on demand. Because each skill follows the same **[`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md) + optional assets** layout, you can tailor any aspect without touching the core codebase.

According to the ConardLi/garden-skills source code, the standard skill structure includes:

- **[`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md)** – The machine‑readable contract containing front‑matter descriptions, trigger rules, and step‑by‑step workflows.
- **[`README.md`](https://github.com/ConardLi/garden-skills/blob/main/README.md)** – Human‑facing documentation that guides users and agents.
- **`references/`** – Lazily loaded knowledge base materials such as markdown guides and design briefs.
- **`scripts/`** – Deterministic Node.js scripts that perform tasks like prompt generation and image editing.
- **`themes/`** or **`theme-profiles/`** – Token‑based style systems for visual customization.

## Customization Methods and File Locations

### Editing SKILL.md to Modify Agent Behavior

The **[`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md)** file controls when and how a skill activates. Located at `skills/<skill-name>/SKILL.md`, this file contains the front‑matter description, trigger rules, and the workflow the agent follows.

For example, to modify the web‑design‑engineer skill, edit [`skills/web-design-engineer/SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/SKILL.md) to change activation triggers or step sequences.

### Customizing Human‑Facing Documentation

Update **[`README.md`](https://github.com/ConardLi/garden-skills/blob/main/README.md)** files to rewrite explanations, add new use cases, or link to extra references. These files live at `skills/<skill-name>/README.md`.

The [`skills/gpt-image-2/README.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/gpt-image-2/README.md) demonstrates how to document mode detection and prompt engineering for image generation.

### Extending Knowledge with Reference Materials

Add markdown guides, design briefs, or template files to the **`references/`** directory. The agent lazily loads these assets when the skill runs, allowing you to extend the knowledge base without bloating the initial load.

### Modifying Runtime Behavior with Scripts

Deterministic Node.js scripts in **`scripts/`** perform tasks such as prompt generation, image editing, or validation. Fork or edit files like [`skills/gpt-image-2/scripts/generate.js`](https://github.com/ConardLi/garden-skills/blob/main/skills/gpt-image-2/scripts/generate.js) to change runtime behavior while maintaining deterministic outputs.

### Creating Custom Theme Tokens

Many skills expose a **token‑based theme system**. For example, `web-video-presentation` and `beautiful-article` support custom themes defined in JSON manifests and CSS token files.

Create new themes by duplicating existing folders in `skills/web-video-presentation/themes/` and modifying [`theme.json`](https://github.com/ConardLi/garden-skills/blob/main/theme.json) and [`tokens.css`](https://github.com/ConardLi/garden-skills/blob/main/tokens.css). The [`warm-keynote/theme.json`](https://github.com/ConardLi/garden-skills/blob/main/warm-keynote/theme.json) file provides a reference implementation for theme manifests.

### Adding Style‑Recipe Profiles

For design‑heavy skills, style recipes are JSON/Markdown contracts defining palette, typography, motion, and anti‑patterns. Add new profiles to `skills/web-design-engineer/theme-profiles/` following the format seen in [`skills/beautiful-article/theme-profiles/tufte.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/beautiful-article/theme-profiles/tufte.md).

## Practical Customization Examples

### Example 1: Creating a Custom Video Presentation Theme

Clone the repository and create a custom theme by duplicating and modifying an existing one:

```bash

# 1. Clone the repo and navigate to the themes directory

git clone https://github.com/ConardLi/garden-skills.git
cd garden-skills/skills/web-video-presentation/themes

# 2. Duplicate an existing theme and rename it

cp -r warm-keynote my-custom-theme
cd my-custom-theme

# 3. Edit the token file – change the primary colour

sed -i 's/"#ff6f61"/"#4a90e2"/' tokens.css

# 4. Update the theme manifest with new branding

jq '.name = "my-custom-theme" | .description = "Blue-tinted video presentation"' \
   theme.json > tmp && mv tmp theme.json

```

Install the customized skill locally using the CLI:

```bash
cd ../../../..
npx skills add ./skills/web-video-presentation -s web-video-presentation --global

```

The agent now picks up your custom theme when selected in the UI.

### Example 2: Adding a New Style Recipe to the Design Engineer

Create a custom style profile for the web‑design‑engineer skill:

```bash

# Navigate to the theme-profiles directory

cd skills/web-design-engineer/theme-profiles

# Create a new style recipe file

cat <<'EOF' > my-retro-style.md
---
name: my-retro-style
description: 80s neon retro UI with high-contrast typography
palette:
  primary: "#ff33aa"
  background: "#1a001a"
typography:
  heading: "Oswald, bold, 2rem"
  body: "Roboto, regular, 1rem"
motion:
  duration: "0.2s"
  easing: "cubic-bezier(0.4, 0, 0.2, 1)"
EOF

# Validate the new recipe format

npm run validate

```

## Installing and Sharing Customized Skills

You can install customized skills via multiple methods depending on your workflow:

- **Local path**: Use `npx skills add ./skills/<skill-name>` for development iterations.
- **Git submodules**: Add the skill as a submodule to keep it versioned separately from the main repository.
- **Fork and CLI**: Push your customizations to a fork, then install via `npx skills add <git-url>`.

When you edit files locally, changes are automatically visible to the agent the next time it scans the workspace. For production deployments, use the `scripts/release/update-readme.mjs` CI script to keep pinned download URLs current in your fork.

## Summary

- **Self‑contained structure**: Each skill is an isolated folder with [`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md), [`README.md`](https://github.com/ConardLi/garden-skills/blob/main/README.md), `references/`, and `scripts/` that you can edit independently.
- **Behavior customization**: Modify `skills/<skill-name>/SKILL.md` to change trigger rules and workflows.
- **Visual theming**: Add custom themes to `skills/web-video-presentation/themes/` or style profiles to `skills/web-design-engineer/theme-profiles/`.
- **Runtime modifications**: Edit deterministic scripts in `skills/<skill-name>/scripts/` to alter task execution.
- **Installation flexibility**: Use `npx skills add`, git submodules, or local paths to deploy your customized skills.

## Frequently Asked Questions

### Can I customize a skill without forking the entire repository?

Yes. You can copy individual skill folders to your project and reference them locally using `npx skills add ./local-path/to/skill`. The modular design ensures that each skill is self‑contained, so you only need the specific skill folder you want to customize, not the full repository.

### How do I share my customized skills with my team?

Push your modifications to a forked repository or a private Git repository, then have team members install it via the CLI using `npx skills add <repository-url>`. Alternatively, add the skill as a git submodule in your shared project to maintain version control and consistency across team environments.

### Will modifying theme tokens affect other skills in my workspace?

No. Theme tokens are scoped to their specific skill folder. When you customize [`skills/web-video-presentation/themes/my-custom-theme/tokens.css`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-video-presentation/themes/my-custom-theme/tokens.css), the changes only apply to that specific skill instance. Other skills in your Garden Skills collection continue using their own theme configurations or defaults.

### What validation is available to ensure my custom skill works correctly?

Run `npm run validate` from the skill directory to check that your [`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md) syntax, theme JSON schemas, and style recipe front‑matter are well‑formed. This command verifies that the agent can parse your customizations without runtime errors.