# How to Customize Skill Installation Paths (Global vs. Workspace) in Antigravity Awesome Skills

> Learn to customize skill installation paths in Antigravity Awesome Skills for global or workspace use. Easily manage symlinks and SKILLS_ROOT in detect_skills.py.

- Repository: [sickn33/antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills)
- Tags: how-to-guide
- Published: 2026-03-18

---

**You can install skills in three locations—repository-only, global via symlinks in `~/.copilot/skills/` or `~/.claude/skills/`, or workspace-specific using the `*-workspace/v*/skill` pattern—by modifying symlink targets or the `SKILLS_ROOT` environment variable in [`detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/detect_skills.py).**

The **Antigravity Awesome Skills** repository treats a "skill" as a self-contained directory that can be deployed at different scopes depending on your workflow needs. Understanding how to customize skill installation paths allows you to manage dependencies efficiently, whether you need system-wide availability or project-specific isolation.

## Understanding the Three Installation Modes

### Repository-Only Installation

Skills stored inside the cloned repository live in paths like `.github/skills/<skill-name>/`. The CLI automatically scans the repository root for [`SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/SKILL.md) files, making these skills discoverable without additional configuration. This mode requires no installation steps—simply place the skill directory in the expected location.

### Global Installation via Symlinks

For system-wide availability, skills are linked into global skill folders using **symbolic links**. The default locations are:

- `~/.copilot/skills/` for Copilot CLI
- `~/.claude/skills/` for Claude Code

The CLI resolves skills by following these symlinks, making them available from any working directory. According to the skill-creator documentation in [`skills/skill-creator/SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-creator/SKILL.md), global installation uses symlinks to avoid copying files while maintaining a single source of truth.

### Workspace-Specific Installation

Workspace-specific skills follow the pattern `*-workspace/v*/skill` (for example, `my-workspace/v1/skill`). The **skill-installer**'s detection script recognizes this pattern and treats matching directories as installed only for that workspace. This isolation prevents workspace skills from polluting the global namespace.

## How the System Resolves Skill Locations

The resolution logic follows a specific priority order:

1. **Local repository scan** – The runtime walks the current repository looking for [`SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/SKILL.md) files. If found, that skill is used directly.
2. **Global symlink lookup** – If no local skill matches, the CLI checks the global skill directories. These locations are hard-coded in the CLI wrappers.
3. **Workspace detection** – The [`detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/detect_skills.py) script scans known locations and any path satisfying the workspace regex. When a skill matches the pattern, the installer records it as a workspace skill.

## Customizing Global Installation Paths

You can redirect global installations to custom directories by modifying the symlink target.

### Linux and macOS

```bash

# Default installation

ln -sf "$(pwd)/.github/skills/my-skill" "$HOME/.copilot/skills/my-skill"

# Custom global path

ln -sf "$(pwd)/.github/skills/my-skill" "/opt/shared/skills/my-skill"

```

### Windows PowerShell

```powershell

# Default installation

New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.copilot\skills\my-skill" `
    -Target "$(Get-Location)\.github\skills\my-skill" -Force

# Custom global path

New-Item -ItemType SymbolicLink -Path "C:\SharedSkills\my-skill" `
    -Target "$(Get-Location)\.github\skills\my-skill" -Force

```

The CLI will resolve the symlink regardless of the target location, as long as the link itself resides in the expected global skill folder or you configure the CLI to check your custom directory.

## Configuring Workspace-Specific Paths

### Modifying SKILLS_ROOT

The detection logic in [`skills/skill-installer/scripts/detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-installer/scripts/detect_skills.py) uses a hard-coded root path by default:

```python

# Original implementation

SKILLS_ROOT = Path(r"C:\Users\renat\skills")

```

Change this to use an environment variable for flexibility:

```python
import os
from pathlib import Path

SKILLS_ROOT = Path(os.getenv("SKILLS_ROOT", r"C:\Users\renat\skills"))

```

Then set the variable before running the installer:

```bash
export SKILLS_ROOT="$HOME/my-custom-workspaces"
python skills/skill-installer/scripts/detect_skills.py --all

```

### Customizing Scan Locations

The script defines `DEFAULT_SCAN_LOCATIONS` and `EXTENDED_SCAN_LOCATIONS` to determine where to search for skills. Edit these lists in [`detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/detect_skills.py) to include your custom directories:

```python
DEFAULT_SCAN_LOCATIONS = [
    Path.home() / "Desktop",
    Path.home() / "Downloads",
    Path.home() / "my-custom-skills",  # Added custom location

]

```

## Key Files and Implementation Details

| File | Purpose |
|------|---------|
| [`skills/skill-creator/README.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-creator/README.md) | User-facing guide for installing skills globally (symlinks) or locally. |
| [`skills/skill-creator/SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-creator/SKILL.md) | Detailed installation checklist, including the "Global installation" section. |
| [`skills/skill-installer/scripts/detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-installer/scripts/detect_skills.py) | Core logic for scanning known locations and detecting workspace-specific skills using `WORKSPACE_PATTERN`. |
| [`skills/skill-installer/scripts/install_skill.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-installer/scripts/install_skill.py) | Performs the actual copy or symlink creation for global installs. |

These files define the architecture behind skill discovery, the mechanisms for global symlink-based installation, and the workspace pattern used for localized installations.

## Summary

- **Repository-only** skills require no installation and are auto-discovered via [`SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/SKILL.md) files in `.github/skills/`.
- **Global installation** uses symbolic links in `~/.copilot/skills/` or `~/.claude/skills/` to make skills available system-wide.
- **Workspace-specific** skills follow the `*-workspace/v*/skill` pattern and are detected by [`detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/detect_skills.py).
- Customize paths by modifying symlink targets, setting the `SKILLS_ROOT` environment variable, or editing `DEFAULT_SCAN_LOCATIONS` in the detection script.

## Frequently Asked Questions

### How do I move an existing global skill to a custom directory?

Create a new symbolic link pointing to your custom directory while removing the old link in the default location. The CLI only requires that a valid symlink exists in the global skill folder (`~/.copilot/skills/` or `~/.claude/skills/`), regardless of where the actual skill files reside.

### Can I use environment variables to change where workspace skills are detected?

Yes. Modify [`skills/skill-installer/scripts/detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/skill-installer/scripts/detect_skills.py) to read from an environment variable instead of the hard-coded `SKILLS_ROOT` path. Set the `SKILLS_ROOT` environment variable before running the detection script to point to your custom workspace parent directory.

### What is the exact pattern for workspace-specific skill directories?

Workspace skills must match the regex pattern `*-workspace/v*/skill` (for example, `my-project-workspace/v1/skill` or `dev-workspace/v2/skill`). The [`detect_skills.py`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/detect_skills.py) script uses `WORKSPACE_PATTERN` to identify these directories and treats them as isolated installations available only within that workspace context.

### Does the CLI check global or local skills first?

The CLI follows a specific resolution order: it first scans the current repository for local [`SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/SKILL.md) files, then checks the global skill directories (`~/.copilot/skills/` and `~/.claude/skills/`), and finally evaluates workspace-specific patterns if configured.