mcpbeat

Skill Init

xbuilderlab/skill-init

cheat-on-skill 的首次 onboarding。盘点用户能力(现有技能/可迁移底子/学历经验/每周可学时间/能坚持几个月/学习能力自评/地区/目标薪资/转型紧迫度),判定起点档位,创建 .skill-state.json 状态文件,是 skill-scan / skill-plan 的前置。触发词:"能力盘点"/"我想转AI相关工作"/"找AI时代高薪工作"/"skill init"/"职业转型初始化"。**当用户想找/规划 AI 时代工作但 .skill-state.json 不存在时,先路由到此。**

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
157
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/XBuilderLAB/cheat-on-skill --skill skill-init

The instruction itself

8 sections, as written by the author

/skill-init — cheat-on-skill 首次 onboarding(能力盘点)

把用户从"我想找个 AI 时代的高薪工作"带到"有了一份清晰能力画像、可以开始找岗位",全程 ≤ 5 分钟。

设计哲学(必须先认同)

这套工具的差异点不是"列高薪职业",是 能力匹配 + 可学性闸门 + 真实招聘数据 + 反诈

所以 init 的目标不是给岗位,而是先建立"值得学 = 对你值得学"的前提:没有能力画像,任何高薪岗位都是别人的画饼。

Overview

[用户首次说"我想找AI时代的高薪工作"]
  → Phase 0: 检测 .skill-state.json 是否存在
  → Phase 1: 首屏文案(期望管理 + 反诈承诺)
  → Phase 2: 能力盘点 7 问(一次问完,允许"不确定")
  → Phase 2.5: 起点档位识别(S0–S3)
  → Phase 3: 写入 .skill-state.json
  → Phase 4: 下一步清单

Phase 0 — 检测状态

test -f .skill-state.json && echo EXISTS || echo MISSING
  • 已存在:告诉用户已初始化,问要不要更新画像(走 Edit),否则路由到 skill-scan。
  • 不存在:继续。

Phase 1 — 首屏文案(原样表达这几点)

  • 这工具不会给你"AI 高薪职业 Top10"那种水文清单——那些利益不中立,多是卖课漏斗。
  • 我会做四件别人不做的事:① 按你的真实底子匹配岗位,不给通用清单 ② 用 BOSS 直聘真实招聘数据看哪些 AI 岗在招、给多少 ③ 给每个岗位算"以你的起点学得动吗"的可学性分 ④ 培训贷/包就业/付费内推一律过反诈红线淘汰。
  • 转型通常要几个月的真实投入,不是"30 天速成"。认同我们再往下。

Phase 2 — 能力盘点 7 问(一次性问完,允许"不确定"记 null)

  • 你现在的技能/职业是什么?(写作/运营/设计/销售/编程/数据/外语/财会/某行业专业…)——这是迁移的本钱。
  • 想转的方向沾边吗?(完全跨行 / 用旧技能升级 / 不确定)——决定跨度大小。
  • 学历 + 工作年限?(部分 AI 岗有学历或经验门槛,得提前知道哪些够不着)
  • 每周能稳定投入几小时学习?能坚持几个月?——时间预算是可学性的硬约束。
  • 学习能力/自驱自评?(容易坚持 / 需要督促 / 自学过新东西吗)——用于周期估计乐观还是保守。
  • 所在地区 + 目标薪资?(影响城市岗位密度和现实预期)
  • 转型紧迫度?(在职慢慢转 / 急需尽快上岸)——影响是稳扎稳打还是先够一个跳板岗。

> 第 1、2 题重点提炼可迁移能力(transferable),写进 state,scan 时用它缩小差距。

Phase 2.5 — 起点档位识别(关键)

../../shared-references/role-tiers.md,按"可迁移底子 × 可投入资源 × 学习能力"归到 S0/S1/S2/S3

  • 有行业纵深(医疗/法律/金融/教育等)+ 愿学 AI → 倾向 S3
  • 会编程/数据 或愿系统学编程 → S2
  • 有内容/运营/设计/销售/外语等软底子、会用 AI 工具 → S1
  • 跨度大、零相关底子 → S0

> 不确定就低不就高。判完明确告诉用户判成哪档、为什么,说"你比我更懂自己,可以改"。把 start_tier + tier_reason 写进 state。

Phase 3 — 写入状态文件

../../templates/skill-state.template.json,填入答案(含 start_tier/tier_reason/transferable)。

写入前先用系统时间取当前时间和本机时区(不要写死任何固定城市/时区,一律跟用户的系统走):

date '+%Y-%m-%d %H:%M %Z %z'                        # 当前时间 + 时区缩写 + UTC 偏移(如 CST +0800)
readlink /etc/localtime 2>/dev/null | sed 's#.*/zoneinfo/##'   # IANA 时区 ID(如 Asia/Shanghai;读不到就留空让用户确认)

created_at 写当天日期(YYYY-MM-DD),created_at_full 写具体时间和时区(用上面读到的,例:2026-06-26 22:06 CST +0800),timezone_id 写读到的 IANA 时区 ID(如 Asia/Shanghai),timezone_label 写对应的本地时区名(如 中国标准时间)。给用户展示时用本机时区,不要写死成某个国家的时间。写到当前工作目录的 .skill-state.json。删掉 candidate_roles 里的示例项。

Phase 4 — 下一步清单

告诉用户现在可以说:

  • "帮我找岗位" → 走 skill-scan(连 BOSS + 网页信号,按你的画像找「高薪 × 可学 × AI 增强」候选岗位)
  • "我选 XX 这个岗位,做学习计划" → 走 skill-plan

How to use it

Copy the folder

Take xbuilderlab/skill-init from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.