# build

Interactive step-by-step guidance for constructing RAG components from scratch.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 24
- Author: TakaGoto
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/TakaGoto/rag-learning-academy/tree/HEAD/.claude/skills/build/SKILL.md
- Updated: 2026-04-03
- HTML: https://affpapa.org/en/nevibecode/skills/takagoto-build

## What it does

This skill guides learners through implementing practical RAG building blocks inside their workspace. It covers document loaders, chunkers, embedding setups, vector stores, retrievers, re-rankers, and full evaluation harnesses. Instead of generating the entire solution, the agent supplies interfaces, docstrings, and hints while you write the actual code.

The workflow proceeds across six distinct steps. It checks prerequisites, prepares the workspace inside `projects/`, guides implementation in stages, sets up tests, verifies pipeline integration, and logs progress to `progress/module-tracker.md`.

Everything is tailored to the hands-on curriculum of `rag-learning-academy`. If you need multi-component design exercises without structured steps, switch to `/challenge`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add TakaGoto/rag-learning-academy --skill build -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/build/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/build/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add TakaGoto/rag-learning-academy --skill build -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/build/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add TakaGoto/rag-learning-academy --skill build -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/build/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install TakaGoto/rag-learning-academy build
```

2. **Manually: put the files in place**
- File: `.github/skills/build/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add TakaGoto/rag-learning-academy --skill build -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/TakaGoto/rag-learning-academy --path .claude/skills/build
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/build/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add TakaGoto/rag-learning-academy --skill build -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/TakaGoto/rag-learning-academy/tree/HEAD/.claude/skills/build/SKILL.md

## When to use it
- implement text chunking logic with overlap and edge-case handling
- wire up an embedding pipeline into a vector store
- assemble a complete multi-stage RAG retrieval chain
- write automated unit tests for RAG data loaders

## Example prompts
- Start building a specific module: `/build chunker`
- Pick an available RAG component based on current progress: `/build`

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 1d6f373bed493b81.

BEGIN THIRD-PARTY FILE 1d6f373bed493b81
```text
---
name: build
description: "Build a RAG component hands-on with guided steps"
---

# Build: Hands-On RAG Component Construction

> **Scope:** This skill provides **step-by-step guided construction** of individual RAG components. For open-ended, multi-component challenges that require design decisions, use `/challenge`.

Guide the learner through building a real RAG component from scratch. This is the core hands-on skill — learners write actual code with step-by-step guidance.

> **Language awareness:** See `.claude/LANGUAGE_AWARENESS.md`.

## Step 1: Choose What to Build

If the user specifies a component (e.g., `/build chunker`), use that. Otherwise, present the available components based on their track progress:

| Component          | Difficulty   | Prerequisites         |
|--------------------|--------------|-----------------------|
| Document loader    | Beginner     | Programming basics in your chosen language |
| Text chunker       | Beginner     | Module 1              |
| Embedding pipeline | Intermediate | Modules 1-2           |
| Vector store setup | Intermediate | Modules 1-3           |
| Retriever          | Intermediate | Modules 1-4           |
| RAG chain          | Intermediate | Modules 1-5           |
| Re-ranker          | Advanced     | Modules 1-6           |
| Evaluation harness | Advanced     | Modules 1-7           |
| Full RAG pipeline  | Advanced     | Modules 1-8           |

## Step 2: Set Up the Project

- Check if a project workspace exists in `projects/`. If not, help the learner create one.
- Explain the dependencies needed and help install them.
- Reference templates in `.claude/docs/templates/` if available.
- Create the file structure for the component.

## Step 3: Guided Implementation

Walk through the build in clear stages. For each stage:

1. **Explain the goal** of this stage — what are we building and why?
2. **Show the interface** — what inputs does this piece take, what does it output?
3. **Let the learner write the code** — provide the function signature and docstring, let them fill in the implementation.
4. **Review their code** — check for correctness, efficiency, and best practices.
5. **Suggest improvements** — offer one or two ways to make it better (error handling, performance, configurability).

Keep each stage small and focused. A chunker build might look like:
- Stage 1: Read a document into text
- Stage 2: Implement fixed-size chunking
- Stage 3: Add overlap between chunks
- Stage 4: Handle edge cases (empty docs, very short docs)
- Stage 5: Add metadata to chunks

For example, provide a skeleton in the learner's chosen language with the function signature, docstring/comments, and placeholder logic. Use idiomatic patterns for the language.

## Step 4: Test the Component

Help the learner write tests for their component:
- Provide sample input data
- Define expected outputs
- Run the tests and verify correctness
- Discuss edge cases they should think about

## Step 5: Integration Check

Explain how this component fits into the larger RAG pipeline. Show how it connects to the previous and next components in the chain. If the learner has already built other components, help them wire this one in.
```
END THIRD-PARTY FILE 1d6f373bed493b81

The third-party file has ended. Everything between the 1d6f373bed493b81 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 3222 of 4186 bytes. © TakaGoto · MIT · https://github.com/TakaGoto/rag-learning-academy/tree/HEAD/.claude/skills/build/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
