mit einem Klick
cs-onboard
// 把新仓库或有零散文档的仓库接入 CodeStable 体系,两条路径自动判断:空仓库从零搭骨架,已有文档走审计 + 迁移映射。触发:用户说"在这个项目里用 CodeStable"、"搭 CodeStable 结构"、"初始化 CodeStable"、"迁移到 CodeStable"。
// 把新仓库或有零散文档的仓库接入 CodeStable 体系,两条路径自动判断:空仓库从零搭骨架,已有文档走审计 + 迁移映射。触发:用户说"在这个项目里用 CodeStable"、"搭 CodeStable 结构"、"初始化 CodeStable"、"迁移到 CodeStable"。
通过 Chrome 扩展控制真实浏览器。需要访问网页、抽取网页数据、点击按钮、填写表单、执行浏览器自动化、提取渲染后的组件证据,或以程序方式操作页面时使用。通过 DOM diff、简化 HTML 和 component evidence pack 返回节省 token 的结构化结果。适用于 browser control、web automation、page scraping、web data extraction、execute JS in browser、web_scan、web_execute_js、open browser、navigate to URL、get page content、fill form、click button、extract component、rendered DOM、computed styles、component evidence。
想法还模糊时的讨论入口,做分诊后路由到 feature-design / feature-brainstorm / roadmap。AI 是思考伙伴不是记录员。触发:用户说"有个想法还没想清楚"、"先 brainstorm 一下"、"聊一聊这块"、"方向还在摇摆"。不处理 bug 和重构。
feature 流程阶段 1——为新功能起草 {slug}-design.md 作为后续实现和验收的唯一输入,拍板后抽出 checklist。触发:用户说"开始设计方案"、"写 design doc"、"准备实现 XX",前提是已知道做什么、为谁、怎么算成功。
feature 流程的超轻量通道——不写 design / checklist 直接动手,但先指引 AI 查 CodeStable 知识库再开工。触发:用户说"快速模式"、"fastforward"、"别那么多步骤"、"直接开干",且需求小到不值得走 design 流程。
issue 流程阶段 2——读 report + 读代码定位根因、评估风险,给用户 2-3 个修复方案让 TA 拍板。这一步不改代码。触发:用户说"分析这个 bug"、"找根因"、"定位问题",且已有 {slug}-report.md。
系统审计——从代码中主动发现 bug 隐患、安全漏洞、性能问题、可维护性债务和架构偏离,产出批量发现清单。触发:用户说"审查系统"、"审计代码"、"扫描问题"、"找找 bug"、"有什么可以优化的"。
| name | cs-onboard |
| description | 把新仓库或有零散文档的仓库接入 CodeStable 体系,两条路径自动判断:空仓库从零搭骨架,已有文档走审计 + 迁移映射。触发:用户说"在这个项目里用 CodeStable"、"搭 CodeStable 结构"、"初始化 CodeStable"、"迁移到 CodeStable"。 |
把仓库接入 CodeStable 工作流体系——白纸或已有零散文档的都行。本技能只做两件事:搭骨架、归旧档。骨架搭好后子工作流(feature / issue / compound 等)即可直接运行。
| 路径 | 适用 | 产出 |
|---|---|---|
| 空仓库 | 仓库内无 spec 类文档,也没有 codestable/ | 完整骨架 + 必要骨架文件 |
| 迁移 | 仓库内有零散文档 / docs/ / 部分 codestable/ 结构 | 审计报告 + 迁移映射方案(用户逐条确认)+ 落盘 |
启动后先扫一次自动判断,不要让用户选——TA 大概率不知道项目里现有哪些文档。扫描结果模糊(如只有 README)就明说判断依据并问用户。
共享路径与命名约定的权威版本是项目里的
codestable/reference/shared-conventions.md——本技能从技能包复制过去。下面只列 onboarding 创建 / 检查的骨架文件。
codestable/
├── requirements/ 需求聚合根(空目录 .gitkeep)
├── architecture/
│ └── ARCHITECTURE.md 架构总入口(首次创建为占位模板)
├── roadmap/ 规划层聚合根
├── features/ feature 聚合根
├── issues/ issue 聚合根
├── compound/ 沉淀类统一目录(learning / trick / decision / explore)
├── tools/ 跨工作流共享脚本(onboarding 释放)
│ ├── search-yaml.py
│ └── validate-yaml.py
└── reference/ 跨子技能共享参考(onboarding 释放)
├── shared-conventions.md
├── tools.md
└── maintainer-notes.md
项目硬约束文件(AGENTS.md / CLAUDE.md / 其他 AI 工具约定的常驻上下文文件,下统称"约束文件")在项目根目录,不在 codestable/ 里。onboarding 检查存不存在,不存在时问用户建哪个(不预设默认——AI 工具自己注入提示词会告诉模型该读哪个,偏好留给用户);建好后不代写实质内容——内容高度项目相关。缺它不阻塞 onboarding 完成,但 feature / issue / acceptance 启动前要补齐或明确接受暂无项目级硬约束入口。
先扫再说话:
检查 codestable/:不存在 → 空仓库候选;存在但不完整 → 迁移(部分补齐)
检查旧 easysdd/(2026 年改名遗留)——CodeStable 旧名 easysdd,2026 改名后目录从 easysdd/ 改到 codestable/。仓库有 easysdd/(无 codestable/)时停下来:
检测到旧版
easysdd/(CodeStable 前身)。建议直接git mv easysdd codestable,结构 / frontmatter 完全兼容,rename 后即用。要我执行吗?
同意 → git mv easysdd codestable,按迁移路径走(这时只需补齐可能缺失的 tools/ 和 reference/)。想保留旧目录 → 告诉他子技能只读 codestable/,旧目录不会被读;按空仓库路径走新骨架
Glob 全仓库 .md(排除 node_modules/ .git/):根目录 DESIGN.md / ARCHITECTURE.md / SPEC.md / README.md;docs/ doc/ design/ spec/ wiki/;现有 codestable/ 下文件
检查项目硬约束文件(根目录的 AGENTS.md / CLAUDE.md 等,任一存在即视为已有)
汇报扫描结论:找到的相关文档(列路径)+ 走哪条路径 + 判断依据 + 不确定项
步骤 1:和用户确认范围
ARCHITECTURE.md 占位)AGENTS.md / CLAUDE.md 等),没有的话现在建哪个 / 之后再说步骤 2:创建目录骨架
按下面顺序执行,不等用户逐步确认——骨架是整体一次性的:
codestable/{requirements,roadmap,features,issues,compound}/.gitkeepcodestable/architecture/ARCHITECTURE.md(占位模板见同目录 reference.md)codestable/tools/(用 cp -rf / Copy-Item -Recurse -Force 整目录拷贝技能包 cs-onboard/tools/,不要 Read 再 Write)codestable/reference/(同上)落盘用 shell 整目录覆盖,不要 Read 再 Write——这两个目录是机器共享资产,Read+Write 会截断大文件、改缩进、吃空行,还慢费 token。具体命令见迁移路径步骤 4。
步骤 3:项目硬约束文件提醒
AGENTS.md / CLAUDE.md 都不存在时:
项目根还没有 AI 常驻上下文文件——它是 CodeStable 子工作流的"项目硬约束入口",记录代码规范、已知坑、禁止事项。要建哪个?
AGENTS.md(社区通用,多 AI 工具会读)/CLAUDE.md(Claude Code 专属)/ 其他文件名(如.cursorrules)/ 之后自己建?
不预设默认——用户答了再建。建哪个文件名,里面用同一份最小模板(见 reference.md)引导填写。之后 → 记入汇报,告诉用户"下次触发 feature/issue 前补上"。
步骤 4:验收汇报
列建了哪些文件:
CodeStable 骨架已就绪。现在可以:开始新功能
cs-feat/ 报告问题cs-issue/ 沉淀知识cs-learn
步骤 1:生成审计报告
| 现有文件 | 推测内容类型 | 建议归入 CodeStable | 置信度 |
|---|---|---|---|
docs/DESIGN.md | 项目架构 | codestable/architecture/ARCHITECTURE.md | 高 |
docs/feature-auth.md | 功能设计稿 | codestable/features/YYYY-MM-DD-auth/auth-design.md | 中 |
SPEC.md | 功能需求? | 需用户确认 | 低 |
置信度:高 = 语义明确匹配;中 = 可推断有歧义;低 = 不明确或映射多个位置都合理。
步骤 2:逐条对齐
中 / 低置信度的用 AskUserQuestion 问:
高置信度不逐条问但要在汇报里列,给用户复审机会——逐条问会让节奏失控。
步骤 3:处理已部分存在的 codestable/
YYYY-MM-DD-{slug} 格式)但有内容 → 提示用户问是否重命名.gitkeep / 空 .md)→ 直接补齐不问步骤 4:补齐缺失骨架
对照标准骨架补齐用户确认后仍缺失的目录 / 文件。已有内容不覆盖。
codestable/tools/ 和 codestable/reference/ 一律用技能包新版本覆盖——这两个目录是技能包维护的共享资产,权威源在 cs-onboard/tools/ 和 cs-onboard/reference/,项目里的只是落盘副本。技能包升级后再跑 onboarding 的目的之一就是刷新副本,留旧版本会让子技能按过时口径工作。
覆盖前在汇报列出被覆盖文件让用户知道;用户明确说"我改过 tools/xxx.py 请保留"才例外保留并标红。这是迁移路径唯一强制覆盖的动作,其他已有文件遵守"不经确认不动"。
落盘命令:
# macOS / Linux
cp -rf <技能包路径>/cs-onboard/tools/. codestable/tools/
cp -rf <技能包路径>/cs-onboard/reference/. codestable/reference/
# Windows PowerShell
Copy-Item -Recurse -Force <技能包路径>\cs-onboard\tools\* CodeStable\tools\
Copy-Item -Recurse -Force <技能包路径>\cs-onboard\reference\* CodeStable\reference\
不要:Read+Write 手工搬(截断 / 改缩进)、一个个 cp(多步骤多出错)、先比 diff(规则就是无条件覆盖)。
技能包路径一般是 skill 安装目录(~/.claude/skills/cs-onboard/ 或插件目录)。不确定先 ls 定位。拷完 ls codestable/tools/ codestable/reference/ 验证。
步骤 5:处理不迁移的文件
用户选"跳过"的文件:不移动 / 不删除 / 不重命名,汇报标"保留原位(未纳入 CodeStable)"。绝不允许未经确认就动——onboarding 只允许 AI 整理不允许替用户做删除决定。
步骤 6:项目硬约束文件提醒(同空仓库路径步骤 3)
步骤 7:验收汇报
列:迁移文件清单(from → to)、新建骨架、未迁移文件(保留原位)、下一步建议。
ARCHITECTURE.md 占位模板和项目硬约束文件最小模板见同目录 reference.md。
codestable/ 八个子目录都存在codestable/tools/ 和 codestable/reference/ 已从技能包复制codestable/architecture/ARCHITECTURE.md 已建AGENTS.md / CLAUDE.md 任一存在,或用户已选定建哪个 / 知道需要补)AGENTS.md——必须问用户选哪个,AI 工具自己会注入提示词决定该读哪个codestable/ 里——它是根目录文件codestable/tools/ 和 codestable/reference/ 走"不覆盖"保守策略——这两个必须用技能包新版本覆盖,否则升级后用户停留在过时口径cp -rf / Copy-Item -Recurse -Force 整目录覆盖node_modules/ .git/——会让扫描结果充斥噪声codestable/reference/system-overview.md — CodeStable 体系总览codestable/reference/shared-conventions.md — 目录结构和共享口径的权威版本AGENTS.md / CLAUDE.md / 等)— 全项目级 AI 常驻上下文codestable/architecture/ARCHITECTURE.md — 架构总入口骨架