关于 self-assessment
Self-Assessment & Learning Path Advisor 是面向 Claude Code 用户的自评技能,通过快速或深入问答评估功能领域的熟练度。它识别具体差距,并据此生成个性化、按依赖顺序安排的学习路径。
主要功能
- 01提供快速与深入评估模式
- 02评估 Claude Code 功能熟练度
- 03按主题识别技能差距
- 04计算整体水平与主题得分
- 05生成优先级学习路径
- 06按依赖关系组织学习阶段
适用场景
- 01了解当前 Claude Code 使用水平
- 02找出 MCP、Hooks 或 CLI 等主题的不足
- 03根据评估结果规划后续学习
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ luongnv89/ claude-howto --skill self-assessment安装后在 Claude Code 中输入/self-assessment确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/deep-assessment-rounds.mdoutput-templates.mdtopic-recommendations.md详细介绍
自我评估与学习路径顾问
全面的交互式评估,评估你在 10 个功能领域的 Claude Code 熟练度,找出具体的技能差距,并生成个性化学习路径,助你提升水平。
说明
第 1 步:欢迎并选择评估模式
让用户选择评估深度:
使用 AskUserQuestion,提供以下选项:
- 快速评估 — “2 道多选题(共 8 项),约 2 分钟。确定你的整体水平(初级/中级/高级),并提供学习路径。”
- 深度评估 — “5 个类别,每类包含详细问题,约 5 分钟。提供各主题的技能评分,找出具体差距,并制定优先级学习路径。”
如果用户选择 快速评估,前往第 2A 步。 如果用户选择 深度评估,前往第 2B 步。
第 2A 步:快速评估
提出两个多选题(AskUserQuestion 每题最多支持 4 个选项):
问题 1(标题:“基础”): “第 1/2 部分:以下哪些 Claude Code 技能你已经掌握?” 选项:
- “启动 Claude Code 并聊天” — 我可以运行
claude并与它交互 - “创建/编辑了 CLAUDE.md” — 我已经设置项目或用户记忆
- “使用过 3 个以上斜杠命令” — 例如,/help、/compact、/model、/clear
- “创建了自定义命令/技能” — 编写过 SKILL.md 或自定义命令文件
问题 2(标题:“高级”): “第 2/2 部分:以下哪些高级技能你已经掌握?” 选项:
- “配置了 MCP 服务” — 例如,GitHub、数据库或其他外部数据源
- “设置了钩子” — 在设置文件中配置了钩子(例如,~/.claude/settings.json 或 .claude/settings.json)
- “创建/使用过子 Agent” — 使用过 .claude/agents/ 进行任务委派
- “使用过打印模式(claude -p)” — 使用过
claude -p进行非交互式使用或 CI/CD
评分:
- 总分 0-2 = 级别 1:初级
- 总分 3-5 = 级别 2:中级
- 总分 6-8 = 级别 3:高级
根据评估结果前往第 3 步,并列出未勾选的具体项目作为差距。
第 2B 步:深度评估
分 5 轮提问,每轮调用一次 AskUserQuestion。每轮涵盖 2 个相关功能领域。所有轮次均使用多选题。
重要:AskUserQuestion 每题最多支持 4 个选项。每轮恰好有 1 道题,包含 4 个选项,涵盖 2 个主题(每个主题 2 个选项)。
第 1 轮 — 斜杠命令与记忆(标题:“命令”)
“以下哪些你做过?请选择所有符合的选项。” 选项:
- “创建了自定义斜杠命令或技能” — 编写过带有 frontmatter 的 SKILL.md 文件,或创建过 .claude/commands/ 文件
- “在命令中使用了动态上下文” — 在技能/命令文件中使用过
$ARGUMENTS、$0/$1、反引号!command语法或@file引用 - “设置了项目记忆和个人记忆” — 同时创建过项目 CLAUDE.md 和个人 ~/.claude/CLAUDE.md(或 CLAUDE.local.md)
- “使用过记忆层级功能” — 了解 7 个记忆位置如何串接到上下文中(从根目录向下加载;每个层级中,CLAUDE.local.md 会追加到 CLAUDE.md 之后;子目录文件按需加载);使用过 .claude/rules/ 目录、路径专属规则或 @import 语法
第 1 轮评分:
- 选项 1-2 对应 斜杠命令(0-2 分)
- 选项 3-4 对应 记忆(0-2 分)
第 2 轮 — 技能与钩子(标题:“自动化”)
“以下哪些是你做过的?可多选。” 选项:
- “安装并使用过自动调用的技能”——一种会根据其描述自动触发、无需手动调用
/command的技能 - “控制过技能的调用行为”——在 SKILL.md frontmatter 中使用过
disable-model-invocation、user-invocable或带有 agent 字段的context: fork - “设置过 PreToolUse 或 PostToolUse 钩子”——配置过在工具执行前后运行的钩子(例如,命令验证器、自动格式化工具)
- “使用过高级钩子功能”——配置过提示词类型钩子、技能 frontmatter 钩子、HTTP 钩子,或带有自定义 JSON 输出(updatedInput、systemMessage)的钩子
第 2 轮计分:
- 选项 1-2 对应 Skills(0-2 分)
- 选项 3-4 对应 Hooks(0-2 分)
第 3 轮——MCP 与子 Agent(标题:“集成”)
“以下哪些是你做过的?可多选。” 选项:
- “连接过 MCP 服务并使用其工具”——例如,用于 PR/issue 的 GitHub MCP、用于查询的数据库 MCP,或任何外部数据源
- “使用过高级 MCP 功能”——项目级 .mcp.json、OAuth 身份验证、通过 @mentions 使用 MCP 资源、Tool Search,或
claude mcp serve - “创建或配置过自定义子 Agent”——在 .claude/agents/ 中定义带有自定义工具、模型或权限的 Agent
- “使用过高级子 Agent 功能”——Worktree 隔离、持久 Agent 记忆、使用 Ctrl+B 的后台任务、使用
Agent(agent_type)设置的 Agent 运行许可列表,让 Agent 作为主线程运行时使用claude --agent(Task(...)形式是为保持向后兼容而提供的别名),或 Agent 团队
第 3 轮计分:
- 选项 1-2 对应 MCP(0-2 分)
- 选项 3-4 对应 Subagents(0-2 分)
第 4 轮——检查点与高级功能(标题:“高级用户”)
“以下哪些是你做过的?可多选。” 选项:
- “使用过检查点进行安全试验”——使用 Esc+Esc 或 /rewind 回退到检查点、恢复代码和/或对话,或使用任一总结选项(从这里开始总结/总结到这里为止)
- “使用过规划模式或扩展思考”——通过 /plan、Shift+Tab 或 --permission-mode plan 启用规划;在支持该功能的模型上使用 Alt+T/Option+T 切换扩展思考,或使用
/effort设置推理深度 - “配置过权限模式”——通过 CLI 标志、键盘快捷键或设置使用过六种模式中的任意一种:manual(配置值为
default;从 v2.1.200 起显示为 Manual)、acceptEdits、plan、auto、dontAsk 或 bypassPermissions(仅使用内置的 auto 默认模式不计入) - “使用过远程/桌面/Web 功能”——使用过
claude --remote-control、claude --cloud、/teleport、/desktop,或使用claude -w的 worktree
第 4 轮计分:
- 选项 1 对应 Checkpoints(0-1 分)
- 选项 2-4 对应 Advanced Features(0-3 分)
第 5 轮——插件与 CLI(标题:“精通”)
“以下哪些是你做过的?可多选。” 选项:
- “安装或创建过插件”——使用过市场中的捆绑插件,或创建过包含 plugin.json 清单的 .claude-plugin/ 目录
- “使用过插件高级功能”——插件技能(
skills/——推荐形式;命名空间形式的commands/已属旧版,但仍可使用)、插件钩子、插件 MCP 服务、LSP 配置,或用于测试的 --plugin-dir 标志 - “在脚本或 CI/CD 中使用过打印模式”——使用过带有 --output-format json、--max-turns 的
claude -p,或通过管道传入输入,或将其集成到 GitHub Actions/CI 流水线中 - “使用过高级 CLI 功能”——会话恢复(-c/-r)、--agents 标志、用于结构化输出的 --json-schema、--fallback-model、--from-pr,或批处理循环
第 5 轮计分:
- 选项 1-2 对应 Plugins(0-2 分)
- 选项 3-4 对应 CLI(0-2 分)
第 3 步:计算并呈现结果
3A:快速评估
统计选择总数并确定等级。然后呈现:
## Claude Code Skill Assessment Results
### Your Level: [Level 1: Beginner / Level 2: Intermediate / Level 3: Advanced]
You checked **N/8** items.
[One-line motivational summary based on level]
### Your Skill Profile
| Area | Status |
|------|--------|
| Basic CLI & Conversations | [Checked/Gap] |
| CLAUDE.md & Memory | [Checked/Gap] |
| Slash Commands (built-in) | [Checked/Gap] |
| Custom Commands & Skills | [Checked/Gap] |
| MCP Servers | [Checked/Gap] |
| Hooks | [Checked/Gap] |
| Subagents | [Checked/Gap] |
| Print Mode & CI/CD | [Checked/Gap] |
### Identified Gaps
[For each unchecked item, provide a 1-line description of what to learn and a link to the tutorial]
### Your Personalized Learning Path
[Output the level-specific learning path — see Step 4]
3B:深度评估
根据 5 轮评估计算每个主题的分数。每个主题得 0–2 分,“高级功能”得 0–3 分,“检查点”得 0–1 分。然后呈现:
## Claude Code Skill Assessment Results
### Overall Level: [Level 1 / Level 2 / Level 3]
**Total Score: N/20 points**
[One-line motivational summary]
### Your Skill Profile
| Feature Area | Score | Mastery | Status |
|-------------|-------|---------|--------|
| Slash Commands | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Memory | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Skills | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Hooks | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| MCP | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Subagents | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Checkpoints | N/1 | [None/Proficient] | [Learn/Mastered] |
| Advanced Features | N/3 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Plugins | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| CLI | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
**Mastery key:** 0 = None, 1 = Basic, 2 = Proficient
### Strength Areas
[List topics with score 2/2 — these are mastered]
### Priority Gaps (Learn Next)
[List topics with score 0 — these need attention first, ordered by dependency]
### Review Areas
[List topics with score 1/2 — basics known but advanced features not yet used]
### Your Personalized Learning Path
[Output gap-specific learning path — see Step 4]
深度评估的总体等级计算:
- 总分为 0–6 分 = 等级 1:初学者
- 总分为 7–13 分 = 等级 2:中级
- 总分为 14–20 分 = 等级 3:高级
步骤 4:生成个性化学习路径
根据评估结果,生成针对用户知识缺口的学习路径。不要只重复通用的等级路径,而要灵活调整。
路径生成规则
- 跳过已掌握的主题:如果某主题得分为 2/2,就不要将其纳入路径。
- 按依赖顺序优先安排:先学斜杠命令,再学技能;先学记忆,再学子 Agent,等等。依赖顺序如下:
- 斜杠命令(无依赖项) -> 技能(依赖斜杠命令)
- 记忆(无依赖项) -> 子 Agent(依赖记忆)
- CLI 基础(无依赖项) -> CLI 精通(依赖所有主题)
- 检查点(无依赖项)
- Hooks(依赖斜杠命令)
- MCP(无依赖项) -> 插件(依赖 MCP、技能和 Hooks)
- 高级功能(依赖所有之前的主题)
- 得分为 1/2 的主题:建议进行“深入学习”——链接到缺失的特定高级章节。
- 估算时间:只统计需要学习或复习的主题。
- 分阶段安排:将剩余主题按逻辑分成每组 2–3 个主题的阶段。
路径输出格式
### Your Personalized Learning Path
**Estimated time**: ~N hours (adjusted for your current skills)
#### Phase 1: [Phase Name] (~N hours)
[Only if they have gaps in these areas]
**[Topic Name]** — [Learn from scratch / Deep dive into advanced features]
- Tutorial: [link to tutorial directory]
- Focus on: [specific sections/concepts they need]
- Key exercise: [one concrete exercise to do]
- You'll know it's done when: [specific success criterion]
**[Topic Name]** — ...
---
#### Phase 2: [Phase Name] (~N hours)
...
---
### Recommended Practice Projects
Based on your gaps, try these real-world exercises to solidify your learning:
1. **[Project name]**: [1-line description combining 2-3 gap topics]
2. **[Project name]**: [1-line description]
3. **[Project name]**: [1-line description]
针对主题的建议
当某个主题存在知识缺口时,使用以下具体建议:
斜杠命令(得分 0):
- 教程:01-slash-commands/
- 重点:内置命令参考、创建第一个 SKILL.md、
$ARGUMENTS语法 - 关键练习:创建
/optimize命令并进行测试 - 完成标准:你能够创建带参数和动态上下文的自定义技能
斜杠命令(得分 1 — 复习):
- 重点:使用
!`command`语法提供动态上下文、@file引用、disable-model-invocation与user-invocable控制项的区别 - 完成标准:你能够创建一种技能,注入实时命令输出,并控制自身的调用行为
记忆(得分 0):
- 教程:02-memory/
- 重点:创建 CLAUDE.md、
/init和/memory命令,以及它与自动记忆的区别(让 Claude 记住某些内容,会将其保存到自动记忆;若要将内容写入 CLAUDE.md,请说“将此内容添加到 CLAUDE.md”或通过/memory编辑——旧的#快捷方式已被移除) - 关键练习:创建项目级 CLAUDE.md,写入你的编码规范
- 完成标准:Claude 能够在不同会话中记住你的偏好
记忆(得分 1 — 复习):
- 重点:7 个记忆位置,以及它们如何串接到上下文中(从根目录向下加载,不会覆盖);带有路径专属规则的 .claude/rules/ 目录;
@import语法(最大深度为 4);自动记忆 MEMORY.md(Claude 最多加载前 200 行或 25 KB,以先达到者为准——这是加载上限,并非文件大小限制) - 完成标准:你拥有适用于不同目录的模块化规则,并理解每个记忆文件如何串接到上下文中
技能(得分 0):
- 教程:03-skills/
- 重点:SKILL.md 格式、通过 description 字段自动调用、渐进式披露(3 个加载级别)
- 关键练习:安装
03-skills/code-review-specialist并验证其会自动触发 - 完成标准:技能能够根据对话上下文自动激活
技能(得分 1 — 复习):
- 重点:通过
agent字段使用context: fork执行子 Agent、disable-model-invocation与user-invocable的区别、技能列表预算(上下文窗口的 1%,后备值为 8,000 个字符;默认情况下,通过skillListingMaxDescChars将每个条目的description+when_to_use限制在 1,536 个字符以内)、捆绑资源(scripts/、references/、assets/) - 完成标准:你能够创建一种在子 Agent 中通过分叉上下文运行的技能 钩子(得分 0):
- 教程:06-hooks/
- 重点:配置结构(matcher + hooks 数组)、PreToolUse/PostToolUse 事件、退出代码(0=成功,2=阻止)、JSON 输入/输出格式
- 关键练习:创建一个用于验证 Bash 命令的 PreToolUse 钩子
- 完成标准:钩子能在执行前阻止危险命令
钩子(得分 1 — 复习):
- 重点:全部 33 种钩子事件(包括 PostToolUseFailure、StopFailure、TaskCreated、CwdChanged、FileChanged、PostCompact、Elicitation、ElicitationResult、Setup、UserPromptExpansion、MessageDisplay、PreModelSwitch、PostModelSwitch——最后两种在 v2.1.251 中新增);5 种钩子类型(command、http、mcp_tool、prompt、agent——agent 钩子处于实验阶段,可能会变更);SKILL.md frontmatter 中的钩子(调用后会在整个会话期间持续生效;子 Agent 的 frontmatter 钩子会在子 Agent 结束时失效);带有 allowedEnvVars 的 HTTP 钩子;当 command 或 HTTP 钩子失败时,通过
onFailure: "block"阻止操作(v2.1.295+);用于 SessionStart、Setup、CwdChanged 和 FileChanged 的CLAUDE_ENV_FILE - 完成标准:能够创建基于提示词的 Stop 钩子,以及在技能 frontmatter 中创建钩子(并了解该钩子会在会话剩余时间内保持注册状态)
MCP(得分 0):
- 教程:05-mcp/
- 重点:
claude mcp add命令、传输类型(推荐使用http、stdio、用于推送式服务的ws,以及已弃用的sse——注意,--transport不接受ws,因此请使用claude mcp add-json添加 WebSocket 服务)、GitHub MCP 设置、环境变量展开 - 关键练习:添加 GitHub MCP 服务并查询 PR
- 完成标准:能够通过 MCP 查询外部服务的实时数据
MCP(得分 1 — 复习):
- 重点:项目级 .mcp.json(每位用户首次使用时都要批准;适用工作区信任机制)、OAuth 2.0 身份验证、使用
@server:resource提及 MCP 资源、工具搜索(ENABLE_TOOL_SEARCH)、claude mcp serve、输出限制(10,000 个 token 时发出警告;通过MAX_MCP_OUTPUT_TOKENS设置默认最大值 25,000 个 token;50,000 个字符的磁盘持久化阈值) - 完成标准:拥有一个项目级 .mcp.json,并了解工具搜索如何默认延后加载 MCP 工具,以及
ENABLE_TOOL_SEARCH=auto/false会产生什么影响
子 Agent(得分 0):
- 教程:04-subagents/
- 重点:Agent 文件格式(.claude/agents/*.md)、内置 Agent(Explore、Plan、general-purpose、claude、statusline-setup、claude-code-guide)、tools/model/permissionMode 配置、派生限制(自 v2.1.219 起,默认深度为 3,并发数默认值为 20;v2.1.224 中移除了每个会话最多派生 200 个 Agent 的限制)
- 关键练习:创建一个 code-reviewer 子 Agent 并测试委派
- 完成标准:Claude 将代码审查任务委派给你自定义的 Agent
子 Agent(得分 1 — 复习):
- 重点:Worktree 隔离(
isolation: worktree)、持久化 Agent 记忆(带作用域的memory字段)、后台 Agent(按 Ctrl+B 放入后台;按两次 Ctrl+X Ctrl+K 停止所有后台 Agent)、针对使用claude --agent启动的主线程 Agent 的 Agent 允许列表Agent(agent_type)(Task(...)仍是向后兼容的别名;在子 Agent 自身的tools中会忽略类型列表)、Agent 团队(--teammate-mode) - 完成标准:拥有一个在 Worktree 隔离模式下运行、带有持久化记忆的子 Agent
检查点(得分 0):
- 教程:08-checkpoints/
- 重点:通过 Esc+Esc 和 /rewind 访问;6 种回退选项(恢复代码和对话、恢复对话、恢复代码、从这里开始总结、总结到这里为止、取消);限制——bash 文件系统操作、子 Agent 编辑(
context: fork前台技能除外)、在 Claude Code 外进行的编辑不会被追踪,以及恢复时会跳过符号链接/硬链接路径 - 关键练习:进行实验性修改,然后回退以恢复
- 完成标准:能够放心地进行实验,因为知道可以回退 高级功能(得分 0):
- 教程:09-advanced-features/
- 重点:规划模式(/plan 或 Shift+Tab)、权限模式(6 种:manual — 配置值
default,自 v2.1.200 起显示为 Manual — acceptEdits、plan、auto、dontAsk、bypassPermissions)、扩展思考(Alt+T/Option+T 切换 — 对 Opus 5.5(默认模型)、Sonnet 5.5、Haiku 5.5 或 Fable 模型无效;这些模型的思考功能始终开启) - 关键练习:使用规划模式设计一项功能,然后实现它
- 完成标准:能够流畅地在规划模式和实现模式之间切换
高级功能(得分 1 — 复习):
- 重点:远程控制(
claude --remote-control,别名--rc)、Web 会话(claude --cloud;--remote是已弃用的别名)、桌面交接(/desktop)、工作树(claude -w)、任务列表(Ctrl+T)、企业托管设置 - 完成标准:能够在 CLI、Web 和桌面之间交接会话
插件(得分 0):
- 教程:07-plugins/
- 重点:插件结构(.claude-plugin/plugin.json)、插件包含的内容(技能、Agent、MCP、钩子、设置 — 以及旧版
commands/目录,该目录仍可使用,但新插件推荐使用skills/)、从市场安装(/plugin install,或在 shell 中运行claude plugin install <plugin> --marketplace <source>) - 关键练习:安装一个插件并探索其组件
- 完成标准:理解何时使用插件,何时使用独立组件
插件(得分 1 — 复习):
- 重点:创建 plugin.json 清单、插件钩子(hooks/hooks.json)、LSP 配置(.lsp.json)、
${CLAUDE_PLUGIN_ROOT}变量、用于测试的 --plugin-dir、发布到市场、mods(随插件一起发布的钩子模块,可添加窗格、命令和工具调用规则 — v2.1.287+) - 完成标准:能够为团队创建并测试插件
CLI(得分 0):
- 教程:10-cli/
- 重点:交互模式与打印模式、使用管道传递内容的
claude -p、--output-format json、会话管理(-c/-r) - 关键练习:将文件通过管道传递给
claude -p并获取 JSON 输出 - 完成标准:能够在脚本中以非交互方式使用 Claude
CLI(得分 1 — 复习):
- 重点:使用 JSON 配置的 --agents 标志、用于结构化输出的 --json-schema、--fallback-model、--from-pr、--strict-mcp-config、使用 for 循环进行批处理、
claude mcp serve - 完成标准:拥有一个使用 Claude 并生成结构化 JSON 输出的 CI/CD 脚本
第 5 步:提供后续操作选项
展示结果后,询问用户接下来想做什么:
使用 AskUserQuestion 提供以下选项:
- 开始学习 —“现在就帮我开始学习学习路径中的第一个主题”
- 深入学习薄弱点 —“详细讲解我的一个薄弱领域,让我在这里学习”
- 实践项目 —“设置一个涵盖我薄弱领域的实践项目”
- 重新评估 —“我想重新参加测验(也许选择另一种模式)”
如果选择开始学习:读取第一个薄弱点教程的 README.md,并引导用户完成第一个练习。 如果选择深入学习薄弱点:询问具体是哪个薄弱主题,然后读取相关教程的 README.md,并通过示例讲解关键概念。 如果选择实践项目:设计一个小型项目,结合其 2-3 个薄弱主题,并提供具体步骤。 如果选择重新评估:返回第 1 步。
错误处理
用户在某轮未选择任何项目
将该轮主题计为 0 分。继续下一轮。
用户在所有轮次都未选择任何项目
评定为 Level 1:初学者。建议从头开始。输出完整的 Level 1 学习路径。
用户想重新参加评估
从第 1 步重新开始,进行全新的评估。
用户不同意自己的等级
认可用户的偏好。询问用户认为自己属于哪个等级。提供用户所选等级的学习路径,并检查其可能遗漏主题的先修知识。
用户询问特定主题
如果用户在评估过程中说了类似“告诉我有关钩子的内容”或“我想了解 MCP”的话,请记下。给出结果后,无论分数如何,都要在他们的学习路径中突出这个主题。
验证
触发测试套件
应该触发:
- “评估我的水平”
- “参加测验”
- “找出我的水平”
- “我应该从哪里开始”
- “我的水平是什么”
- “学习路径测验”
- “自我评估”
- “接下来我应该学什么”
- “检查我的技能”
- “技能检查”
- “提升水平”
- “我的 Claude Code 用得怎么样”
- “评估我对 Claude Code 的了解”
不应该触发:
- “审查我的代码”
- “创建一项技能”
- “帮我处理 MCP”
- “解释斜杠命令”
- “什么是检查点”