| name | start-task |
| description | 根据任务描述创建语义化分支并切换。**仅用户显式触发**(破坏性操作:切分支 / pull master / 可能 stash 工作区)。AI 不应自决调用此 skill — 用户必须明确说「开始新任务」或输入 /start-task。 |
| argument-hint | ["任务描述"] |
| disable-model-invocation | true |
| allowed-tools | Bash(git *), Read |
start-task
根据任务描述创建语义化分支并切换。
参数
$ARGUMENTS — 任务描述
步骤
-
解析任务描述,提取类型和关键词
- 类型:feat / fix / chore / docs / refactor
- 分支名:
<type>/<kebab-case-keywords>
- 展示给用户确认
-
确保基于最新代码
git status --short
git checkout master && git pull origin master
-
创建并切换分支
git checkout -b <分支名>
-
加载 IM 知识(如果 .ai/INDEX.md 存在)
- Read
.ai/INDEX.md,根据任务匹配知识模块
- 提示需要参考的知识文件
-
输出
分支:<分支名>
基于:master @ <commit hash>
任务:<任务描述>
建议参考:<知识文件列表>
完成后说「完成了 / 可以提了」或输入 /git-ship 提交。
设计理由
切分支是破坏性操作:
- 自动 pull master 可能引入未预期的更新
- 工作区不干净时 stash 可能丢用户改动
- 命名误判会让分支名和实际意图不匹配
所以本 skill 加 disable-model-invocation: true,AI 不能自决调用——必须用户输 /start-task <描述> 或明确说「开始新任务」时才触发。