# How to Install the AI Engineering from Scratch Skills

> Learn how to install AI Engineering from Scratch skills by running the install_skills.py script. Automate skill bundle validation and copying to your local system.

- Repository: [Rohit Ghumare/ai-engineering-from-scratch](https://github.com/rohitg00/ai-engineering-from-scratch)
- Tags: getting-started
- Published: 2026-08-26

---

**You can install the AI Engineering from Scratch skills by running the [`scripts/install_skills.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/install_skills.py) script, which automatically validates and copies skill bundles from the repository to `~/.ai-engineering-skills` or a custom path defined by the `SKILL_ROOT` environment variable.**

The [rohitg00/ai-engineering-from-scratch](https://github.com/rohitg00/ai-engineering-from-scratch) repository provides a modular collection of reusable skill bundles designed for AI engineering workflows. To leverage these skills in your local environment, you must execute the automated installer that ships with the codebase. This guide explains how to install the AI Engineering from Scratch skills, configure custom installation paths, and verify your setup.

## Prerequisites

Before running the installer, ensure you have **Python 3** installed. The project relies primarily on the Python standard library, with only minimal third-party dependencies such as `numpy` listed in [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt).

## Step-by-Step Installation

### Clone the Repository

First, download the source code from GitHub:

```bash
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

```

### Configure the Python Environment

Create a virtual environment and install the required packages to ensure isolated dependencies:

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

```

### Run the Installer Script

Execute [`scripts/install_skills.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/install_skills.py) to discover, validate, and install all skill bundles:

```bash
python3 scripts/install_skills.py

```

By default, this command copies validated skill directories (such as `skills/start-learning/`) from the repository into your home directory at `~/.ai-engineering-skills`.

### Set the SKILL_ROOT Environment Variable (Optional)

To install skills to a custom location rather than the default home directory path, export the `SKILL_ROOT` variable before running the installer:

```bash
export SKILL_ROOT=/path/to/custom/skills/dir
python3 scripts/install_skills.py

```

The installer and subsequent helper scripts automatically read this variable to locate your skill bundles.

### Verify the Installation

Confirm that the skills are properly installed by listing the contents of the skill root directory:

```bash
ls $SKILL_ROOT

```

You should see directories like `start-learning`, `learn`, and `learn-mcp`, each containing a [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) manifest file.

## How the Skill Installer Works

The [`scripts/install_skills.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/install_skills.py) script performs four distinct operations to ensure a clean, valid installation:

- **Discovery**: The script walks the `skills/` directory tree to locate every [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) manifest file.
- **Validation**: It checks each manifest for required metadata fields, including `title`, `description`, and `usage` sections.
- **Copying**: It creates a clean target directory at `$SKILL_ROOT` (defaulting to `~/.ai-engineering-skills`) and copies the complete skill bundles—including [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) and any supporting files—into this location.
- **Indexing**: The script generates an [`index.json`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/index.json) file in the root of the installation directory, creating a machine-readable registry so that higher-level scripts can locate specific skills by name without scanning the filesystem.

Because the installer is pure Python and only manipulates files within the repository boundary, it respects the repository's strict **no-secret** and **no-external-execution** security policies.

## Programmatically Accessing Installed Skills

After installation, you can load skill manifests directly from Python using the `SKILL_ROOT` environment variable:

```python
import json
import os
import pathlib

# Resolve the skill root using the environment variable or default path

skill_root = pathlib.Path(
    os.getenv("SKILL_ROOT", "~/.ai-engineering-skills")
).expanduser()

# Load the "start-learning" skill manifest

manifest_path = skill_root / "start-learning" / "SKILL.md"
with open(manifest_path, "r", encoding="utf-8") as f:
    content = f.read()

print(content[:500])  # Preview the first 500 characters

```

This approach allows you to integrate skill documentation and metadata into custom CLI tools or Jupyter notebooks.

## Summary

- Run `python3 scripts/install_skills.py` to install all skills from the repository.
- The default installation path is `~/.ai-engineering-skills`, configurable via the `SKILL_ROOT` environment variable.
- The installer validates each [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) manifest in the `skills/` directory before copying bundles to the target location.
- An [`index.json`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/index.json) file is generated to enable fast skill lookup by name.
- Dependencies are minimal; only standard library packages and `numpy` (specified in [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt)) are required.

## Frequently Asked Questions

### Where are the AI Engineering from Scratch skills installed by default?

By default, the installer places skills in `~/.ai-engineering-skills` (a hidden directory in your home folder). This path contains subdirectories for each skill, such as `start-learning/`, each housing a [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) manifest and related files.

### Can I change the installation directory for the skills?

Yes. Set the `SKILL_ROOT` environment variable to your desired path before running [`scripts/install_skills.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/install_skills.py). The installer will use this variable as the target directory, and subsequent scripts will reference it to locate your skills.

### What Python dependencies are required to run the installer?

The installer requires only the Python standard library plus packages listed in [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt), which includes `numpy` and other common data science utilities. No external API keys or secret management tools are needed, adhering to the repository's security guidelines.

### How does the installer validate skill bundles before installation?

The script checks each [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) file found in the `skills/` directory for mandatory fields including `title`, `description`, and `usage`. If a manifest is missing required metadata, the installer skips that bundle and logs a validation error, ensuring only complete, documented skills are copied to your local environment.