用途:当任务是在本仓库中开发或测试 Draft CLI,而非使用已安装的全局 draft 二进制时使用本技能。它把 Draft CLI 开发通道与同一机器上的其他 Draft 工作流隔离。
适用场景:处理 products/notion-editor/cli;从仓库测试 Draft CLI 改动;为 CLI 开发启动本地 Draft 守护进程;通过仓库本地 CLI 打开工作区文件;避免与 OpenClaw 或使用其他 Draft 守护进程的账号冲突。不适用:用户想用 PATH 上已安装的全局 draft CLI;与 CLI 开发无关的常规 Draft 页面自动化;CI 或远程代理的无头页面自动化(应改用 draft-headless-pages)。
开发约定:优先使用 products/notion-editor/cli 下的仓库本地 CLI,除非用户明确要求,否则不要使用全局 draft 二进制;默认使用开发端口 31414;若用户显式提供 --port 则尊重其覆盖。
入口:使用捆绑的包装脚本 skills/draft-cli-dev/scripts/run-local-draft.sh <draft-args...>。该脚本会解析仓库根目录、指向 products/notion-editor/cli/bin/draft.js、在 dist/index.js 缺失或源码比构建产物新时构建本地 CLI、在命令未指定 --port 或 -p 时注入 --port 31414,并把解析出的 CLI 路径和活动端口打印到 stderr。
连接优先流程:对依赖浏览器或工作区的实时命令,依次通过包装脚本执行 status --json、start-server --mode workspace --workspace "$PWD"、再次 status --json。若状态为 DAEMON_OFFLINE,则在开发端口启动守护进程;若为 BROWSER_NOT_CONNECTED,则运行 daemon;只有 status --json 对开发端口报告 READY 后才继续。
常用命令:status --json 检查状态;start-server 启动本地模式;start-server --mode workspace --workspace "$PWD" 启动工作区模式;workspace open docs/sessions/<session>/task.md 打开工作区文件;stop-server 停止开发守护进程。
共存规则:本技能是开发通道,常规 Draft 技能或 OpenClaw 应使用各自的二进制路径和端口。建议拆分:draft-cli-dev 使用 31414 上的仓库本地 CLI;常规 Draft/OpenClaw 工作流使用已安装 CLI 并指定单独端口,以避免共享 Mac 上开发与自动化工作流误连同一守护进程。
失败处理:本地 CLI 构建缺失或过期时让包装脚本重建;开发守护进程离线时通过包装脚本启动而非全局 draft;守护进程错误时通过包装脚本停止并在开发端口重启;若 31414 已被占用,停止冲突进程或用显式 --port 重跑。
备注:包装脚本支持 DRAFT_CLI_DEV_PORT 以更改特定会话的默认开发端口;仅在有意跳过本地重建检查时设置 DRAFT_CLI_DEV_SKIP_BUILD=1。