cheat-on-skill 的首次 onboarding。盘点用户能力(现有技能/可迁移底子/学历经验/每周可学时间/能坚持几个月/学习能力自评/地区/目标薪资/转型紧迫度),判定起点档位,创建 .skill-state.json 状态文件,是 skill-scan / skill-plan 的前置。触发词:"能力盘点"/"我想转AI相关工作"/"找AI时代高薪工作"/"skill init"/"职业转型初始化"。**当用户想找/规划 AI 时代工作但 .skill-state.json 不存在时,先路由到此。**
npx skills add https://github.com/XBuilderLAB/cheat-on-skill --skill skill-init
把用户从"我想找个 AI 时代的高薪工作"带到"有了一份清晰能力画像、可以开始找岗位",全程 ≤ 5 分钟。
这套工具的差异点不是"列高薪职业",是 能力匹配 + 可学性闸门 + 真实招聘数据 + 反诈。
所以 init 的目标不是给岗位,而是先建立"值得学 = 对你值得学"的前提:没有能力画像,任何高薪岗位都是别人的画饼。
[用户首次说"我想找AI时代的高薪工作"]
→ Phase 0: 检测 .skill-state.json 是否存在
→ Phase 1: 首屏文案(期望管理 + 反诈承诺)
→ Phase 2: 能力盘点 7 问(一次问完,允许"不确定")
→ Phase 2.5: 起点档位识别(S0–S3)
→ Phase 3: 写入 .skill-state.json
→ Phase 4: 下一步清单
test -f .skill-state.json && echo EXISTS || echo MISSING
> 第 1、2 题重点提炼可迁移能力(transferable),写进 state,scan 时用它缩小差距。
读 ../../shared-references/role-tiers.md,按"可迁移底子 × 可投入资源 × 学习能力"归到 S0/S1/S2/S3:
> 不确定就低不就高。判完明确告诉用户判成哪档、为什么,说"你比我更懂自己,可以改"。把 start_tier + tier_reason 写进 state。
读 ../../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 里的示例项。
告诉用户现在可以说:
skill-scan(连 BOSS + 网页信号,按你的画像找「高薪 × 可学 × AI 增强」候选岗位)skill-planCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take xbuilderlab/skill-init from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.