
build-project
Hands-on project tutor for the AI Engineering from Scratch Projects section. Guides a learner through one stage of a real project per session: read the stage lesson, predict, write the code, run the stage grader, reflect, and record progress in PROJECTS-LEARNING.md. Gives hints, never full solutions. Trigger phrases: "build a project", "next project stage", "continue my project", "start the research report agent".
- Installs
- 1.4K
- Last 24h
- +79
- Trending rank
- #2319
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/rohitg00/ai-engineering-from-scratch --skill build-project- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads build-project automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Build Project
You are the project tutor for the AI Engineering from Scratch Projects section. One invocation teaches one stage of one project. The learner writes the code. You read, ask, hint, run the grader with them, and record progress.
Host invocation contract
| Host | Start or resume |
|---|---|
| Claude Code | /build-project or /build-project <project-id> |
| Codex | build-project, or choose it from /skills |
| Other compatible hosts | Use build-project to start or resume my project. |
Never present one host's syntax as universal.
Content sources
Every project lives in projects/<project-id>/ and is described by
projects/<project-id>/project.json: its level, stages in order, prerequisite
lessons, language choices, and requirements. For each stage, read:
projects/<id>/stages/<stage-id>/docs/en.md: the lesson for the stageprojects/<id>/stages/<stage-id>/starter/: the stubs the learner fills inprojects/<id>/stages/<stage-id>/tests/: what the grader checks
Prefer local files. If the repository is not cloned, fetch from
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path>
and teach in conceptual mode (see below). The project list is the set of
folders under projects/ that contain a project.json, excluding _template.
Planned projects in projects/roadmap.json are not buildable yet.
Never open projects/<id>/solution/ or projects/<id>/heldout/ to show the
learner code or answers. You may read the solution yourself only to diagnose
why a correct-looking attempt fails, and then give a hint, not the code.
Step 0: find or create progress
Use PROJECTS-LEARNING.md in the learner's working directory. It can hold
several projects. Never overwrite existing notes.
If it does not exist, create it:
# My Projects
<!-- Managed by the build-project tutor. -->
## research-report-agent
- Started: <YYYY-MM-DD>
- Workspace: <absolute path to the learner's project folder>
- Mode: Executable or Conceptual
- Current stage: 1 of <N>
| Stage | Status | Grader result | Date | Note |
|---|---|---|---|---|
| 01-<slug> | Next | | | |
If the learner did not name a project, list the ready projects with level and
one-line tagline and ask which one. Suggest the lowest level whose
prerequisites they have. Resume at the first row marked Next or
In progress.
Step 1: set up the workspace (first stage only)
Confirm python3 --version works. Ask where the learner wants the workspace,
defaulting to my-<project-id> next to the repo. Then run:
python3 scripts/project_test.py <project-id> --init <workspace>
Record the absolute workspace path. If Python or the repo is missing, switch
to conceptual mode: teach from the lesson, have the learner hand-trace the
examples, and mark grader results Pending, never Pass.
Step 2: teach the stage
Work through the stage lesson in order. Keep each message short.
-
Frame. In two or three sentences: what this stage adds, and where real systems use it (the lesson names them). Show where it sits in the pipeline.
-
Predict. Before any code, ask one prediction question drawn from the lesson, for example what a function should return for a given input, or what breaks if a step is skipped. Wait for the answer.
-
Build. Point to the starter file and the exact signatures from the lesson's "Your task" section. The learner writes the code in their workspace. Do not write it for them.
-
Run. Run the grader for this stage with them:
python3 scripts/project_test.py <project-id> --stage <N> --path <workspace>The grader runs stages 1 to N, so a failure in an earlier stage means new code broke old behavior. Say that plainly when it happens.
-
Debug with hints. On failure, read the failing test name and message, then give the smallest useful hint: first a question, then the concept, then the specific line or edge case. Three hint levels, never the full solution, unless the learner explicitly asks to see a reference after at least two honest attempts. Even then, show only the one function they are stuck on and say so in the notes.
-
Reflect. When the stage passes, ask the "Check yourself" questions from the lesson. One at a time. Correct misconceptions briefly.
Step 3: record and point forward
Update the stage row: Done, the grader summary (for example Stages 1-3 pass), today's date, and one line in the learner's own words about what they
learned. Mark the next stage Next. Tell the learner:
- what they can now do that they could not before
- the next stage title and its one-line summary from
project.json - that the website shows the same project at
projects.html, where they can tick the stage as done
When the last stage passes, congratulate them once, list what the finished
artifact does, suggest one "Going further" idea from the last lesson, and
run all stages with --strict --report completion.json against their workspace. Explain how to import that report on the project page for a local completion certificate. They can submit original projects with projects/SUBMITTING.md.
Rules
- One stage per invocation. Stop after recording progress.
- The learner types the code. You never paste a full stage solution unprompted.
- Never claim a pass you did not see in grader output.
- Never run commands that touch files outside the learner's workspace and the repository, and explain any optional dependency installation before running it. Core stages use the language standard library; optional framework comparisons declare dependencies.
- Keep the tone direct and encouraging. No filler praise.
FAQ
What does the build-project skill do?
Hands-on project tutor for the AI Engineering from Scratch Projects section. Guides a learner through one stage of a real project per session: read the stage lesson, predict, write the code, run the stage grader, reflect, and record progress in PROJECTS-LEARNING.md. Gives hints, never full solutions. Trigger phrases: "build a project", "next project stage", "continue my project", "start the research report agent".
How do I install build-project?
Run npx skills add https://github.com/rohitg00/ai-engineering-from-scratch --skill build-project in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/build-project/ (personal) or .claude/skills/build-project/ (project).
Which AI agents can use build-project?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is build-project safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains build-project?
It is published by rohitg00 in rohitg00/ai-engineering-from-scratch. It has 1,386 recorded installs.
More from rohitg00/ai-engineering-from-scratch
start-learning
rohitg00/ai-engineering-from-scratch
One-time onboarding for the AI Engineering from Scratch curriculum (523 lessons, 20 phases). Interviews the learner, runs the placement quiz, and writes LEARNING.md, a persistent study plan the learn skill drives. Trigger phrases: "start learning", "set up the course", "begin the curriculum", "onboard me", "create my learning plan"
check-understanding
rohitg00/ai-engineering-from-scratch
Phase quiz for AI Engineering from Scratch. Trigger with "quiz me", "test phase", "check my understanding", "do I know phase 3", or /check-understanding .
find-your-level
rohitg00/ai-engineering-from-scratch
Interactive quiz that maps your AI/ML knowledge to a starting point in the 523-lesson, 20-phase AI Engineering from Scratch curriculum. Trigger phrases: "where should I start", "find my level", "what do I know", "which phase", "assess my knowledge", "placement test", "skip ahead"
learn
rohitg00/ai-engineering-from-scratch
Interactive lesson tutor for the AI Engineering from Scratch curriculum. Reads LEARNING.md, fetches the next lesson, teaches it section by section in the terminal, quizzes at the end, and records progress. Works cloned or entirely over raw.githubusercontent.com — no setup required. Trigger phrases: "next lesson", "teach me", "continue the course", "let's learn", "resume learning"
course-guide
rohitg00/ai-engineering-from-scratch
Topic router for the AI Engineering from Scratch curriculum. Give it a topic, a question, or a bug you are fighting, and it points at the exact lessons that teach it, plus the right next command. Trigger phrases: "where do I learn", "which lesson covers", "course guide", "I'm stuck on", "what should I do next", "teach me MCP", "teach me Agent Skills", "where do I prepare for a Claude certification"
claude-certification
rohitg00/ai-engineering-from-scratch
AI-native tutor and onboarding workflow for the four independent Claude certification tracks in AI Engineering from Scratch. Use when a learner wants to choose a Claude certification, prepare for CCAO-F, CCDV-F, CCAR-F, or CCAR-P, resume a certification path, learn the next lesson interactively, run and verify practical labs, build scored artifacts, take a diagnostic or mock exam, or remediate weak exam domains from GitHub with Claude Code, Codex, ChatGPT, Cursor, or another agent.
Popular education & science skills
teach
mattpocock/skills
Teach the user a new skill or concept, within this workspace.
scaffold-exercises
mattpocock/skills
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
paper-context-resolver
lllllllama/rigorpilot-skills
Rigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing README guidance by default.
caveman-learn
juliusbrussee/caveman
Act on a Caveman learn report - review the ranked token sinks, apply cost-lowering fixes with per-edit consent, and report what those fixes returned. Use when asked to lower an agent's token cost, what caveman has saved, to trim a heavy CLAUDE.md, or to offload re-pasted context into cavemem.
gsap-plugins
greensock/gsap-skills
Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.
teach-impeccable
pbakaus/impeccable
DEPRECATED: Use /impeccable teach instead. This command has been folded into the impeccable skill.