What Is the Skills System in AI Engineering from Scratch?

The Skills System is the repository-wide mechanism that captures, indexes, and installs reusable Markdown-based skill artifacts produced by the curriculum lessons.

The Skills System powers the rohitg00/ai-engineering-from-scratch repository by transforming lesson outputs into portable, versioned bundles that learners can discover and install into their own workspaces. It serves as a structured catalog of concrete implementations built throughout the AI engineering curriculum, enabling safe reuse of prompts, agents, and skills across different projects.

Core Components of the Skills System

Skill Artifacts and Bundles

At the heart of the system are skill bundles—directories located in phases/**/outputs/ that contain a SKILL.md file accompanied by supporting assets such as data files or prompt templates. Each bundle includes YAML frontmatter describing the skill’s name, version, description, applicable phase, and tags. These artifacts represent the concrete implementations learners build during each lesson, packaged in a standardized format that the system can index and distribute.

Discovery Engine in install_skills.py

The discovery logic resides in scripts/install_skills.py, which traverses the lesson output directories to identify installable artifacts. According to the source code at lines 185-194, the script specifically looks for directories containing a SKILL.md file and treats the entire directory as a single skill bundle. The scanner recognizes three distinct artifact types—skill, prompt, and agent—allowing the system to handle diverse curriculum outputs through a unified interface.

Manifest Generation and Safety

After discovery, the system constructs a manifest.json file that records each artifact’s metadata and target installation path. As implemented in scripts/install_skills.py at lines 994-1006, the manifest aggregates totals broken down by artifact type and curriculum phase, providing a comprehensive inventory of available capabilities. The installation process enforces strict safety checks defined at lines 24-50: it rejects symlinks, prevents directory traversal attacks, and performs atomic writes to ensure that skill installations cannot corrupt the target workspace.

Installation Layout Options

Users can choose from three layout strategies when installing skills. The default skills layout places each bundle at <target>/<skill-name>/SKILL.md, while the flat and by-phase alternatives organize files differently to suit various workflow preferences. Regardless of the chosen layout, the system maintains the integrity of skill metadata and preserves the relationship between documentation and supporting files.

How to Install Skills from the Command Line

The Skills System exposes a command-line interface through scripts/install_skills.py that supports filtering by type, phase, and topic tags. The following examples demonstrate common usage patterns:


# Install all skill bundles into a local "my-skills" directory

python3 scripts/install_skills.py my-skills --type skill --layout skills

# Install only the skill bundles from Phase 07, filtered by the tag "nlp"

python3 scripts/install_skills.py my-skills --phase 7 --tag nlp --layout skills

Both commands execute a three-stage pipeline: they scan phases/**/outputs/ for SKILL.md bundles, build a safely-validated installation plan, and copy each bundle into the target directory while generating a manifest.json that catalogs every installed skill.

Integration with Learning Paths

The Skills System integrates with higher-level curriculum tooling through JSON definition files such as learning-paths/agent-skills.json. These files enumerate available skills and their metadata, enabling certification runners and dynamic curriculum assemblers to reference specific capabilities without hardcoding file paths. This separation between skill definition and skill storage allows the repository to evolve its lesson structure while maintaining stable references for automation scripts.

Summary

  • The Skills System converts lesson outputs into standardized, installable bundles centered on SKILL.md files located in phases/**/outputs/.
  • Discovery and installation logic lives in scripts/install_skills.py, which generates a manifest.json inventory and enforces security constraints including symlink rejection and atomic writes.
  • The system supports three installation layouts (flat, by-phase, skills) and allows filtering by artifact type, curriculum phase, and topical tags.
  • Learning path definitions in learning-paths/agent-skills.json provide machine-readable catalogs that connect the Skills System to certification and automation workflows.

Frequently Asked Questions

What file format defines a skill bundle?

A skill bundle is a directory containing a SKILL.md file with YAML frontmatter that specifies the skill's name, version, description, phase, and tags. The directory may also include supporting files such as prompts, data samples, or configuration files that the skill requires to function.

How does the Skills System ensure safe installation?

According to the source code in scripts/install_skills.py (lines 24-50), the system implements three safety mechanisms: it explicitly rejects symbolic links to prevent arbitrary file access, validates paths to block directory traversal attacks, and performs atomic write operations to ensure that interrupted installations cannot leave the target workspace in a corrupted state.

Can I filter skills by phase or topic?

Yes. The scripts/install_skills.py CLI accepts --phase and --tag arguments that limit installation to specific curriculum phases or topical categories. For example, using --phase 7 --tag nlp installs only natural-language-processing skills from Phase 07, allowing learners to curate targeted skill collections for specific domains.

Where is the Skills System source code located?

The primary implementation resides in scripts/install_skills.py, which handles discovery, validation, and installation. Supplementary components include learning-paths/agent-skills.json (the skill catalog), individual SKILL.md files within lesson output directories, and scripts/build_catalog.py for site-wide catalog generation.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →