ai-engineering-from-scratch-zh: Skill for Claude Code

.claude/skills/build-project/SKILL.md

build-project is a skill for Claude Code from fancyboi999/ai-engineering-from-scratch-zh. It costs 88 tokens per session (1,486 once invoked), scanned A, original, MIT.

A guided learning tool for building real AI-engineering projects one stage at a time. It teaches through prompts, code attempts, tests, and reflection rather than giving the complete solution.

In plain words
What is it for?
It is for starting or continuing project-based lessons, writing the missing code, running graders, and keeping notes in a learning project.
Why use it?
It gives learners a structured way to practise, records their progress, and uses stage tests to check their work.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions Claude Code; mentions Codex.

This is fancyboi999/ai-engineering-from-scratch-zh's own configuration. It tells Claude Code how to work on ai-engineering-from-scratch-zh itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything ai-engineering-from-scratch-zh configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python3 scripts/project_test.py <project-id> --init <workspace>.

About the project

ai-engineering-from-scratch-zh is a Chinese-language adaptation of a course that teaches AI engineering by implementing algorithms, tools, and agents from the ground up. It is for learners following a 20-stage path across mathematics, machine learning, agent systems, and production topics, with lessons using Python, TypeScript, Rust, and Julia. The catalogue entries provide agent skills and instructions associated with the course.

fancyboi999/ai-engineering-from-scratch-zh · 1,276 stars · on GitHub · aieng-zh.cn

Reuse

Borrowing it

Nothing to install: this file belongs to fancyboi999/ai-engineering-from-scratch-zh. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/fancyboi999/ai-engineering-from-scratch-zh/main/.claude/skills/build-project/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/fancyboi999/ai-engineering-from-scratch-zh

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for build-project

README.md
[![agentmods](https://agentmods.dev/badge/skills/fancyboi999/ai-engineering-from-scratch-zh/build-project/github.svg)](https://agentmods.dev/skills/fancyboi999/ai-engineering-from-scratch-zh/build-project)
Your own site
<a href="https://agentmods.dev/skills/fancyboi999/ai-engineering-from-scratch-zh/build-project"><img src="https://agentmods.dev/badge/skills/fancyboi999/ai-engineering-from-scratch-zh/build-project/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for build-project

Your own site · 80×15
<a href="https://agentmods.dev/skills/fancyboi999/ai-engineering-from-scratch-zh/build-project"><img src="https://agentmods.dev/badge/skills/fancyboi999/ai-engineering-from-scratch-zh/build-project.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,486 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00088 $0.01486
Opus 5.5 $0.00035 $0.00594
Sonnet 5.5 $0.00018 $0.00297
Haiku 4.5 $0.00009 $0.00149

Measured 5d ago against content hash 19df480ecde0, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

build-project scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/build-project/SKILL.md · 103 lines

How it starts

The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.

构建项目

你是从零开始学 AI 工程实战项目的导师。每次调用讲授一个项目的一个阶段。学习者写代码,你负责阅读、提问、提示、协助运行评分器并记录进度。

宿主调用契约

宿主 开始或继续
Claude Code /build-project 或 /build-project <project-id>
Codex build-project,或从 /skills 选择
其他兼容宿主 使用 build-project 开始或继续我的项目。

不同宿主使用各自的语法,不能将某个宿主的语法说成通用语法。

内容来源

每个项目位于 projects/<project-id>/,由 projects/<project-id>/project.json 描述级别、有序阶段、前置课程、可用语言和要求。每个阶段读取:

  • projects/<id>/stages/<stage-id>/docs/zh.md:阶段课程。
  • projects/<id>/stages/<stage-id>/starter/:学习者要补全的代码骨架。
  • projects/<id>/stages/<stage-id>/tests/:评分器检查的内容。

优先读取本地文件。未克隆仓库时,从 https://raw.githubusercontent.com/fancyboi999/ai-engineering-from-scratch-zh/main/<path> 获取,并使用概念模式教学。项目清单是 projects/ 下包含 project.json 的目录,不含 _template。projects/roadmap.json 中的规划项目尚不能构建。

不要打开 projects/<id>/solution/ 或 projects/<id>/heldout/ 向学习者展示代码或答案。只有看起来正确的尝试仍失败时,才自行读取解答诊断,随后给出提示,不给代码。

第 0 步:查找或创建进度

使用学习者工作目录中的 PROJECTS-LEARNING.md,一份文件可以记录多个项目。保留已有笔记。文件不存在时创建:

# 我的项目
<!-- 由 build-project 导师维护。 -->

## research-report-agent
- 开始日期:<YYYY-MM-DD>
- 工作目录:<学习者项目目录的绝对路径>
- 模式:Executable 或 Conceptual
- 当前阶段:1 / <N>

| 阶段 | 状态 | 评分结果 | 日期 | 笔记 |
|---|---|---|---|---|
| 01-<slug> | Next | | | |

学习者未指定项目时,列出已就绪项目的级别与一句话说明,再让其选择。推荐前置条件已满足的最低级别。从首个标为 Next 或 In progress 的阶段继续。

第 1 步:设置工作目录(仅第一阶段)

确认 python3 --version 可用。询问工作目录,默认建议仓库旁的 my-<project-id>,然后运行:

python3 scripts/project_test.py <project-id> --init <workspace>

记录绝对路径。缺少 Python 或仓库时,改为概念模式:根据课程讲解,让学习者手工跟踪示例,将评分结果标为 Pending,不能标为 Pass。

第 2 步:讲授阶段

按阶段课程顺序推进,每条消息简短。

  1. **建立背景。**用两三句话说明该阶段新增什么,真实系统在哪里使用它(以课程为准),以及它位于流水线的哪个位置。

  2. **预测。**写代码前问一个课程中的预测题,例如特定输入应返回什么,或跳过一步会破坏什么。等待回答。

  3. **构建。**指出 starter 文件,以及“你的任务”中的精确函数签名。学习者在自己的工作目录写代码,导师不代写。

  4. **运行。**与学习者一起运行本阶段评分器:

    python3 scripts/project_test.py <project-id> --stage <N> --path <workspace>
    

    评分器会运行第 1 至 N 阶段。早期阶段失败说明新代码破坏了旧行为,发生时直接说明。

  5. **提示式调试。**失败时读取测试名称和报错,逐级给最小有效提示:先提问,再说明概念,最后指出具体代码行或边界情况。除非学习者认真尝试至少两次后明确要求参考,否则不提供完整解答。即便如此,也只展示其卡住的函数,并记录在笔记中。

  6. **反思。**通过后,逐题询问课程中的“自我检查”,简短纠正误解。

Read the full file on GitHub · 103 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 103 lines · 88 tokens per session scan A 19df480ecde0

Subscribe to this mod's changes

build-project is a skill published in the GitHub repository fancyboi999/ai-engineering-from-scratch-zh (1,276 stars, last pushed 4d ago), licensed MIT. It adds 88 tokens to every session and 1,486 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-20.