任务型 Skill 实战
阅读提示:任务型 Skill 通过
disable-model-invocation: true实现用户显式控制,适合有副作用的自动化工作流。本文基于官方文档和社区最佳实践。
15.1 disable-model-invocation 正确使用
三种调用模式
通过 disable-model-invocation 和 user-invocable 两个 Frontmatter 字段的组合,可以实现三种调用模式:
| 模式 | disable-model-invocation | user-invocable | Claude 调用 | 用户调用 |
|---|---|---|---|---|
| 默认 | false(默认) | true(默认) | ✅ 可以 | ✅ 可以 |
| 任务型 | true | true(默认) | ❌ 禁止 | ✅ 可以 |
| 后台型 | false(默认) | false | ✅ 可以 | ❌ 禁止 |
为什么任务型需要禁用自动调用
问题场景:Git 提交 Skill
# ❌ 错误配置:允许 Claude 自动调用
---
name: git-commit
description: Git 提交专家。帮助创建提交。
---
风险:
- Claude 可能在不合适的时机自动触发提交
- 用户失去对提交时机的控制
- 可能产生不符合预期的提交
正确配置:
# ✓ 正确配置:用户显式控制
---
name: git-commit
description: Git 提交专家。使用 /git-commit 创建符合 Conventional Commits 格式的提交。
disable-model-invocation: true
---
选择决策树
这个 Skill 有副作用吗(修改文件、执行命令)?
├── 是 → 使用 disable-model-invocation: true
│ └── 用户需要显式控制执行时机
└── 否 → 使用默认配置
└── Claude 可以在需要时自动调用
15.2 实战案例一:Git 提交信息生成 Skill
场景
自动化 Git 提交流程,生成符合 Conventional Commits 规范的提交信息。
目录结构
.claude/skills/git-commit/
├── SKILL.md
└── scripts/
└── security-check.sh
SKILL.md
AI 编程知识库会员专享内容
开通后解锁「任务型 Skill 实战」全文,AI 编程知识库全年访问
扫码添加企业微信,找大熊掌门开通会员

添加后说明想开通的会员类型即可