Model or dataset
datawhalechina/agent-skills-with-anthropic avatar
datawhalechina/agent-skills-with-anthropic

agent-skills-with-anthropic: ten lessons, named reviewers

本项目围绕吴恩达老师在DeepLearning.AI出品的agent-skills-with-anthropic系列课程,为学习者打造中文翻译与知识整理教程。项目提供课程内容翻译、知识点梳理和示例代码解读等内容,欢迎大家Star!

1,531 stars200 forksPythonLicense varies

At a glance

What is it?
agent-skills-with-anthropic is a Datawhale community translation of a DeepLearning.AI short course on building Agent Skills with Claude, and unlike its sibling project it records both an owner and a content reviewer for every one of its ten lessons, with the reviewer never being the author. It also declares no licence at all, has no LICENSE file, and numbers its files so that 10 sorts between 1 and 2.
Who is it for?
Use agent-skills-with-anthropic if you want a Chinese translation of the DeepLearning.AI Agent Skills short course with a visible reviewer for each lesson, because the per-lesson review column is the thing this project does that its sibling does not, and it means a reader can tell whose work to check twice.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 36 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

No licence field, no LICENSE file, no licence section

The licensing position of this repository is that there isn't one, and the contrast with the sibling project in the same organisation makes the omission more pointed rather than less.

The repository's licence field reads as unknown. The top-level listing is eleven entries, being ten markdown files or lesson directories, README.md, and an images/ directory. There is no LICENSE file. And the README has no licence section at all: it runs from the project introduction through the friendly links, the audience, the highlights, the project plan, the acknowledgements, the WeChat subscription and the star history chart, and stops. There is no final licence paragraph, no badge, and no link to a licence.

The contrast matters. The sibling project in the same organisation, the Agentic AI course translation, has a licence badge in its README declaring Creative Commons Attribution-NonCommercial-ShareAlike 4.0, along with a LICENSE file, even though its repository metadata contradicts that with Apache-2.0. So the Datawhale community has already worked out that a community translation needs an explicit non-commercial licence and has applied it at least once. This repository, covering a different course from the same platform, has nothing.

The default position on undeclared copyright is that the author retains all rights. So a reader may look at the material and a contributor may send a pull request, and nobody has granted permission to copy the translations, to modify them, to redistribute them, or to use them in a product. For a Chinese-language translation of a paid short course, that is a particularly awkward position, because the reader most likely to want to use the material is a company training its staff, and the material most likely to be used is exactly the translation.

There is a related point about what is being translated. This repository links the DeepLearning.AI short course at deeplearning.ai/short-courses/agent-skills-with-anthropic/, and it also links what it calls the official interpretation tutorial, pointing at a GitHub organisation named https-deeplearning-ai and a repository called sc-agent-skills-files. So the material this project is translating and annotating is itself hosted by DeepLearning.AI, in a text repository, with a sc- prefix that suggests short course.

That is a meaningfully different copyright position from translating a video. A short course's written files, if DeepLearning.AI published them, are a text artefact with an identifiable owner, and a community translation of it is a derivative work whose permissions depend on what DeepLearning.AI allows. No licence on the translation resolves that, and a licence claiming to permit commercial use would not help either, because the translator does not hold the rights to the original. So the absence of a licence here is not merely an oversight; it is the absence of an answer to a question that the project's own links raise.

The practical guidance is narrow. Read the material, contribute corrections, and ask before you reuse it. And if you are a company, ask in writing and get a written answer, because a project with no licence has granted nothing and its silence is not permission.

The review column, and why it is the right thing to do

The project plan table in this README has three columns, and the third one is what separates this project from its sibling.

The columns are lesson content, owner, and content reviewer. Ten rows, one per lesson, and every row has a named person in both name columns. There is no status column, so unlike the sibling project this table does not claim anything about completeness; it is a responsibility table rather than a progress table.

The assignments are worth reading because the pattern is systematic. Lesson 1, Introduction, is owned by 陈辅元 and reviewed by 李智江. Lesson 2, Why Use Skills Part I, is owned by 邓一纯 and reviewed by 查昊南. Lesson 3, Why Use Skills Part II, is owned by 邓一纯 and reviewed by 查昊南. Lesson 4, Skills versus Tools, MCP and Subagents, is owned by 陈辅元 and reviewed by 李智江. Lesson 5, Exploring Pre-Built Skills, is owned by 邓一纯 and reviewed by 查昊南. Lesson 6, Creating Custom Skills, is owned by 陈辅元 and reviewed by 李智江. Lesson 7, Skills with the Claude API, is owned by 李智江 and reviewed by 陈辅元. Lesson 8, Skills with Claude Code, is owned by 李智江 and reviewed by 陈辅元. Lesson 9, Skills with the Claude Agent SDK, is owned by 查昊南 and reviewed by 邓一纯. Lesson 10, Conclusion, is owned by 陈辅元 and reviewed by 李智江.

So three people, 陈辅元, 邓一纯 and 李智江 with 查昊南 making four, in three fixed pairs. 陈辅元 and 李智江 are each other's reviewer on lessons 1, 4, 6 and 10, and lessons 7 and 8 reverse the arrangement by having 李智江 own and 陈辅元 review. 邓一纯 and 查昊南 are paired the same way, on lessons 2, 3, 5 and 9, with 查昊南 owning and 邓一纯 reviewing on lesson 9.

The property that makes this worth having is that the reviewer is never the owner. A translation project where one person writes and one person checks catches a specific and common set of errors: a term translated consistently with the wrong term elsewhere, a code example transcribed with a typo, a claim stated more strongly than the source states it, a sentence dropped in the course of smoothing the Chinese. None of those are hard to catch if you know what to look for, and all of them are easy to miss if the same person did both jobs. Naming a reviewer per lesson means a reader knows whose work deserves a second look, and it means the project has made the distribution of work visible rather than implied.

The reciprocal pairing is a small but real independence property. Where the same two people always review each other in both directions, neither accumulates a backlog of unreviewed work, and each has an incentive to be accurate on the lessons the other will read. The weakness is that a three-way pairing with no fourth voice means there is nobody outside the pairs, so a systematic error in the translation approach would not be caught by a reader of the table. That is a limitation of a four-person project, not a flaw in the design.

The audience and highlights sections are consistent with the table. The audience is people interested in AI agents and Claude, developers who want to learn to use and create AI skills, Chinese readers who cannot read the course in English, and students and researchers. The highlights promise a complete Chinese translation, systematic knowledge organisation, detailed interpretation of the example code, open collaboration, and synchronisation with the official course.

10.Conclusion sorts between 1.Introduction and 2.Why

The lesson files are numbered 1 through 10 without zero padding, and lesson 10 lands in the wrong place in any lexicographic sort. That is a small thing, but it is the kind of naming decision that costs an afternoon the first time somebody hits it.

The top-level listing is:

text
1.Introduction(课程介绍).md
10.Conclusion(总结).md
2.Why Use Skills 1(Skills的意义).md
3.Why Use Skills 2 - Agent and Skills(从Agent角度思考Skills).md
4.Skills vs Tools, MCP, and Subagents(技能 vs 工具、MCP 和子代理).md
5.Exploring Pre-Built Skills (预设Skills探索).md
6.Creating Custom Skills(自定义skills)/
7.Skill with the Claude API(在Claude API使用skills).md
8.Skill with Claude Code(在Claude Code使用skills).md
9.Skills with the Claude Agent SDK(Claude Agent SDK 中的技能).md

That is not a sorted list, it is the listing in whatever order the tool that produced it returned, and the order shown puts 10 immediately after 1. That is exactly what a byte-wise sort produces.

Here is why. Compare the first two characters. For 1.Introduction the first character is 1 and the second is a period, which is byte 46. For 10.Conclusion the first character is 1 and the second is 0, which is byte 48. The period sorts before the zero, so 1.Introduction comes first. Then 10.Conclusion, because it starts with 1 and 2.Why starts with 2, and 1 sorts before 2. Then 2 through 9 in order.

So the correct lexicographic order is one, ten, two, three, four, five, six, seven, eight, nine. A reader browsing the repository sees lessons 1, 10, 2, 3 in that order, and anything that iterates the directory in sorted order, which is most things, will process lesson 10 immediately after lesson 1.

The fix is trivial and conventional: zero-pad to two digits, so 01 through 10, or use a four-digit prefix if the course might grow. Neither would affect the human readability that the current naming gives up. What it costs is a rename of ten files and an update to the ten links in the project plan table.

It is worth mentioning because the project plan table is otherwise careful. Each row links to its lesson file with the spaces percent-encoded and the full-width parentheses left as they are, which is correct and renders properly, and the lesson numbering in the table's link text uses a different separator from the filenames: the table says 1、Introduction while the file is 1.Introduction, so the link text and the target disagree on punctuation even though the link resolves.

So the table and the filesystem agree on the substance and disagree on the cosmetics, and the filesystem disagrees with itself on ordering. For a repository whose purpose is a readable course in ten lessons, the names are close to right and the padding is the one thing missing.

Spaces, CJK parentheses, a comma, and a directory named like its file

The lesson filenames are carefully bilingual, and the care introduces several filesystem and tooling hazards that a reader should know about before scripting anything.

Every name follows a pattern: a number, a period, the English title, a pair of full-width parentheses containing a Chinese title, and a .md extension. So one path component contains an ASCII run, a space, a full-width opening parenthesis, a CJK run, a full-width closing parenthesis, and the extension.

Spaces in path components are routine and quoting handles them. The full-width parentheses are less common but still valid, and they are not the shell metacharacters their ASCII counterparts are, so a full-width ( does not trigger globbing the way a half-width ( would. The CJK characters are valid UTF-8 and cause no filesystem trouble, though anything that builds an identifier or a slug from a directory name will produce something you did not intend.

The genuinely sharp edge is in lesson 4, whose name contains an ASCII comma:

text
4.Skills vs Tools, MCP, and Subagents(技能 vs 工具、MCP 和子代理).md

A comma in a filename is legal everywhere and unremarkable, but it is one of the characters that gets eaten by a shell command, a CSV export, a makefile, or a path passed through something that treats commas as a delimiter. A build script that globs the repository and passes the results through a comma-joined variable will silently mangle that one file. That is a genuinely subtle bug and it is here.

The other structural oddity is lesson 6, which is a directory rather than a file. The top-level listing shows 6.Creating Custom Skills(自定义skills)/ as a directory, and the project plan table links into it as ./6.Creating%20Custom%20Skills(自定义skills)/6.Creating%20Custom%20Skills(自定义skills).md, meaning the directory contains a file with the same name as the directory. So the path component is repeated.

That could be deliberate: a directory is a natural place to put the lesson document plus any assets, scripts or images that go with it, and naming the file the same as its directory means the link and the directory agree. It is also a pattern that breaks naive tooling, because a script that finds all lesson paths by globbing for *.md at the top level will miss lesson 6, and a script that finds all directories will include a lesson that every other lesson does not have. The reason is not documented in the README.

One more naming inconsistency is visible in the same set. Lessons 7 and 8 are named 7.Skill with the Claude API and 8.Skill with Claude Code, with Skill singular, while the project plan table titles them 7、Skills with the Claude API and 8、Skills with Claude Code, with Skills plural. So the filenames drop the trailing s that the lesson titles carry. Every other lesson has a filename matching its title in both languages, so this looks like a small transcription slip rather than a convention.

None of this is a reason to avoid the repository, and a person reading it in a browser will not notice any of it. The reason to name all of it is that a translation project is exactly the kind of repository someone later wants to script, to build a site from, or to diff across versions, and every one of these is a place where that breaks.

The upstream text lives in an organisation named after a URL

One link in this README looks like a mistake and is probably not, and working out which is worth doing because it tells you where the fidelity check goes.

The link is labelled 官网解读教程, the official interpretation tutorial, and it points at https://github.com/https-deeplearning-ai/sc-agent-skills-files.

Read that organisation name carefully. It is https-deeplearning-ai, which is https://deeplearning.ai with the punctuation replaced by hyphens. That is what a URL looks like after it has been pasted into a field that cannot contain a slash, and GitHub organisation names cannot contain slashes or dots. So the most likely explanation is that DeepLearning.AI, or whoever administers the account, registered an organisation whose name is a sanitised form of their domain, and the link is correct.

That is a reasonable thing for an organisation to do, and the alternative explanations, a typo or a dead link, are less likely given that the repository name sc-agent-skills-files is coherent: sc for short course, agent-skills-files for the course's files. So this is very likely DeepLearning.AI's own repository of course material, and the link resolves.

What matters for an evaluator is what the link implies about the project's method. The course itself is at deeplearning.ai/short-courses/agent-skills-with-anthropic/, which is a video course page. The sc-agent-skills-files repository is a separate text artefact. So the material this project is translating and annotating has a written source, and the translation's fidelity is checkable by comparing the two texts rather than by watching videos.

That is a real difference from a project translating a video course, and it is worth comparing with the sibling. The Agentic AI course translation in the same organisation links only the course page, so a reader checking a translation there has to go to video. Here there is text to diff, which makes the reviewer column in the project plan table considerably more meaningful: a reviewer can check a sentence against the upstream text, which is exactly the kind of check the four-person pairing structure exists to support.

It also raises the copyright question more sharply, as the licence section above sets out. DeepLearning.AI publishing course text in a GitHub repository does not by itself grant translation rights, and a community translation of it is a derivative work. The project has linked the source, which is honest, and has not addressed what that means for reuse, which is a gap rather than a misstatement.

One last detail on the same theme. The sc- prefix implies this is part of a series of short courses, so the same organisation is likely to have a repository per course. The Datawhale project is therefore one translation among what is presumably a family of them, and the pattern of what is included and omitted in each, such as whether there is a licence, is the kind of thing that gets decided per project rather than centrally.

The friendly link is right here and wrong in the sibling

This repository and the Agentic AI course translation in the same organisation link to each other, and the link is correct in one direction and wrong in the other. That asymmetry is a small window onto how a volunteer community maintains a family of repositories.

From here, the friendly-links section lists agentic-ai, described accurately as covering translation, knowledge organisation and code interpretation for an agent's workflows, reflection patterns, tool calling and autonomous agent construction, helping learners systematically master the core methods and practical applications of Agentic AI. The link points at github.com/datawhalechina/agentic-ai, which is that project. The description is a fair summary of what the sibling actually contains, and the title matches.

From the sibling, the same section lists an entry whose text reads agentic-ai, whose description is about Agent Skills concepts, usage, code practice and course content, and whose link points at github.com/datawhalechina/agentic-ai. So the sibling links to itself under a description of this project's subject matter.

So one direction is right and one is wrong, and the wrong one is the link a reader of the Agentic AI project would follow expecting Agent Skills material. They would arrive at a course translation on a different subject, from a different course series, with a different set of lessons. Nothing about the page would tell them they had been sent to the wrong repository.

There is a plausible innocent explanation. The two projects probably shared a template for the friendly-links section, and when the Agent Skills project was created from the Agentic AI one, the self-link was left behind. That is the most likely story: the Agent Skills repository was scaffolded from the Agentic AI repository, the friendly-link block came with it, and the entry that pointed at the template's own subject matter was never updated to point at the new sibling.

If that is what happened, it also explains the licence asymmetry. The Agentic AI project has a CC BY-NC-SA badge in its README; this one has no licence section at all. A template-derived README would carry the template's licence block, so the absence here suggests this README was written more recently, or edited more heavily, than the sibling's.

Neither link is a serious problem, and both projects are better for having a friendly-links section at all: a reader looking for the prerequisite course or the related project finds it in one click. But the direction that is broken is the one that matters most, because a reader of the Agentic AI project who wants to know what Agent Skills material exists in Chinese is exactly the reader who will click it and get sent to the wrong place. It is a one-line fix in the sibling's README, and it is worth telling the sibling's maintainers about rather than only noting here.

Python is the primary language in a repository of markdown files

The repository's declared primary language is Python, and the visible top-level listing contains no Python file at all, which is a small discrepancy worth resolving before anyone draws conclusions from the language badge.

The top level is ten entries that are either markdown files or a lesson directory, plus README.md and images/. Concretely: 1.Introduction(课程介绍).md, 10.Conclusion(总结).md, 2.Why Use Skills 1(Skills的意义).md, 3.Why Use Skills 2 - Agent and Skills(从Agent角度思考Skills).md, 4.Skills vs Tools, MCP, and Subagents(技能 vs 工具、MCP 和子代理).md, 5.Exploring Pre-Built Skills (预设Skills探索).md, 6.Creating Custom Skills(自定义skills)/ as a directory, 7.Skill with the Claude API(在Claude API使用skills).md, 8.Skill with Claude Code(在Claude Code使用skills).md, and 9.Skills with the Claude Agent SDK(Claude Agent SDK 中的技能).md.

So the repository is prose, and it is almost certainly all prose. The sibling project in the same organisation, covering the other course, declares its primary language as Jupyter Notebook, which is consistent with a repository whose bulk is runnable notebooks. This one declares Python.

The possible explanations are unremarkable. A script somewhere generates the lesson files or the table, and it is Python, and it is either at the top level and simply not shown, or inside the lesson 6 directory whose contents are not enumerated, or it exists only in the contributor's local environment. Or the language detector is counting Python syntax inside fenced code blocks in the markdown, which some detectors do. Or a single Python file was committed early and remained as a language signal long after the content shifted to prose.

None of these is a problem with the project. It matters for one narrow reason: the language badge and the repository shape disagree, and an evaluator scanning a list of repositories will read the badge and draw a conclusion about what the project contains. Here the badge suggests runnable Python tooling, which is not what a reader finds.

What the repository actually is, is a translation and annotation project. The project plan table's ten rows are markdown files, the audience section describes learners rather than developers building something, and the highlights promise translation, knowledge organisation, code interpretation, open collaboration and synchronisation with the official course. The one part that could plausibly involve Python is the code interpretation, where example code from the course would appear in fenced blocks, and the example code in a Claude Agent Skills course would very likely be Python since the Claude API and the Claude Agent SDK are Python-first.

So the most likely story is that the course's example code is Python, it is quoted in the lessons, and the language detector picked it up from the markdown. That is a reasonable outcome and a reminder that a language badge on a documentation repository measures the content it quotes rather than the content it contains. The header image, the images/ directory, the project plan, the acknowledgements with a contrib.rocks contributor image, the Datawhale WeChat QR code hosted again in the pumpkin-book repository, and the star history chart complete the structure of a well-trodden community template, which is also why the friendly-link and licence inconsistencies are so easy to explain.

Editorial conclusion

Use agent-skills-with-anthropic if you want a Chinese translation of the DeepLearning.AI Agent Skills short course with a visible reviewer for each lesson, because the per-lesson review column is the thing this project does that its sibling does not, and it means a reader can tell whose work to check twice. Do not build on this repository the way you would build on a licensed one: there is no licence declaration, no LICENSE file and no licence section, so the code and the translations are under default copyright and nobody has granted you anything. Verify five things. Ask the maintainers for a licence before any use beyond reading, and note that the course being translated is a commercial short course, so a translation licence cannot override whatever DeepLearning.AI's own terms say. Check the sorting order before you script anything, because the lesson files are numbered without zero padding and 10.Conclusion lands between 1.Introduction and 2.Why in any lexicographic sort. Read the reviewer column and use it, since a named reviewer per lesson is a signal worth acting on. Diff against the upstream course files in the https-deeplearning-ai organisation, because unlike a video-based course this one has a text source you can compare against. And decide whether Python is really the primary language, because the visible top-level listing is ten markdown files, an images directory and one lesson directory, with no Python file among them. The deciding fact is that this is a well-organised volunteer translation with a review process it is open about, wrapped in a licensing position it has not thought about at all.

Frequently asked questions

What is the agent-skills-with-anthropic project?

It is a Datawhale community project providing Chinese translation, knowledge organisation and example code interpretation for Andrew Ng's agent-skills-with-anthropic short course on DeepLearning.AI, a course about building Agent Skills with Claude. The content is split into ten lesson files matching the course's lessons, and the project is supported by the Datawhale open-source learning community.

What licence is agent-skills-with-anthropic under?

None that is declared. The repository's licence field reads as unknown, there is no LICENSE file among the top-level entries, and the README has no licence section or badge. Under the default position on undeclared copyright you may read the translations and send corrections but nobody has granted permission to copy, modify or redistribute them, and the course being translated is a commercial short course hosted by DeepLearning.AI.

How does agent-skills-with-anthropic track review?

The project plan table in the README has three columns, lesson content, owner and content reviewer, with a named person in each for all ten lessons and the reviewer never being the owner. Four people work in fixed pairs: 陈辅元 and 李智江 review each other, as do 邓一纯 and 查昊南. The table has no status column, so it records responsibility rather than completion.

What lessons does agent-skills-with-anthropic cover?

Ten, in this order: Introduction, Why Use Skills Part I, Why Use Skills Part II from the agent's perspective, Skills versus Tools, MCP and Subagents, Exploring Pre-Built Skills, Creating Custom Skills, Skills with the Claude API, Skills with Claude Code, Skills with the Claude Agent SDK, and Conclusion. Lesson 6 is a directory containing a file of the same name, while the other nine are files at the top level.

Where is the upstream course material for agent-skills-with-anthropic?

The video course is at deeplearning.ai/short-courses/agent-skills-with-anthropic/, and the README also links what it calls the official interpretation tutorial, a repository called sc-agent-skills-files in a GitHub organisation named https-deeplearning-ai, which appears to be a sanitised form of the domain deeplearning.ai. The presence of a text source means a translation can be checked against upstream text rather than against video.

Are there problems with the agent-skills-with-anthropic file names?

Several, and they matter if you script against the repository. The lesson numbers are not zero padded, so 10.Conclusion sorts between 1.Introduction and 2.Why in a lexicographic order. Lesson 4's name contains an ASCII comma, which tooling and shell commands can mangle. The names use spaces and full-width CJK parentheses, and the project plan table's link text uses a different separator from the filenames. Lessons 7 and 8 are named Skill rather than Skills.

Official sources

  1. datawhalechina/agent-skills-with-anthropic on GitHub
  2. Issues
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/datawhalechina-agent-skills-with-anthropic.svg)](https://hysenlabs.com/projects/datawhalechina-agent-skills-with-anthropic)