fix(skills): add tool boundary rules to prevent gh/hub misuse on GitLink
Problem:
AI agents (e.g., Claude Code) sometimes use `gh` (GitHub CLI) instead of
`gitlink-cli` when operating on GitLink repositories, causing 'command not
found' errors or targeting the wrong platform.
Solution:
- Add '⛔ Tool Boundary' section to gitlink-shared/SKILL.md with platform-
to-tool mapping table, judgment criteria, and dual-platform guidance
- Add CRITICAL one-liner to all 10 sub-skills ensuring agents see the
constraint even without reading shared
- Does NOT block `gh` for GitHub operations — only prevents misuse on
GitLink resources
Tested with 5 scenarios confirming:
1. GitLink operations correctly use gitlink-cli
2. GitHub operations still use gh when appropriate
3. Ambiguous cases default to gitlink-cli when skill is loaded
This commit is contained in:
parent
61d7e2577a
commit
90dee6eeb5
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ metadata:
|
|||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
GitLink PM 模块提供敏捷项目管理能力,目前通过 Raw API 访问。
|
||||
|
||||
## API 端点
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ gitlink-cli api GET /:owner/:repo/pulls/get_branches
|
|||
|
||||
## 注意事项
|
||||
|
||||
- ⛔ **GitLink 的 PR 操作必须用 `gitlink-cli pr`,不能用 `gh pr`。** `gh` 是 GitHub CLI,无法操作 GitLink 平台。详见 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 的「工具使用边界」章节。
|
||||
- GitLink 的默认分支通常是 `master`(非 `main`),创建 PR 时注意 `--base` 参数
|
||||
- 合并 PR 前建议先用 `pr +view` 确认状态
|
||||
- **PR 创建要求源分支与目标分支有实际代码差异**,否则返回"分支内容相同,无需创建合并请求"
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -204,3 +204,37 @@ gitlink-cli repo +push
|
|||
- **禁止输出 Token** 到终端明文
|
||||
- **写入/删除操作前必须确认用户意图**
|
||||
- 危险操作(删除仓库、删除分支等)需二次确认
|
||||
|
||||
## ⛔ 工具使用边界
|
||||
|
||||
**GitLink 平台的操作必须通过 `gitlink-cli` 完成,不能用其他平台的 CLI 替代。**
|
||||
|
||||
### 核心规则
|
||||
|
||||
| 操作目标 | 正确工具 | 错误工具 |
|
||||
|----------|----------|----------|
|
||||
| GitLink 上的仓库/Issue/PR | `gitlink-cli` | `gh` / `hub` / `glab` |
|
||||
| GitHub 上的仓库/Issue/PR | `gh` | `gitlink-cli` |
|
||||
| GitLab 上的仓库/MR | `glab` | `gitlink-cli` / `gh` |
|
||||
|
||||
**判断标准:看 remote URL 或用户指定的目标平台。**
|
||||
- remote 含 `gitlink.org.cn` → 用 `gitlink-cli`
|
||||
- remote 含 `github.com` → 用 `gh`
|
||||
- 用户明确说"推到 GitLink / 在 GitLink 上创建 PR" → 用 `gitlink-cli`
|
||||
|
||||
### 常见错误
|
||||
|
||||
当用户在 GitLink 项目中操作时:
|
||||
- ❌ `gh pr create ...` → `gh` 无法操作 GitLink,会报 command not found 或指向错误平台
|
||||
- ❌ `gh issue list ...` → 同上
|
||||
- ✅ `gitlink-cli pr +create ...` → 正确
|
||||
- ✅ `gitlink-cli issue +list ...` → 正确
|
||||
|
||||
> **原则:哪个平台的事,用哪个平台的工具。GitLink 的事只用 `gitlink-cli`。**
|
||||
|
||||
### 双平台场景
|
||||
|
||||
用户可能同时使用 GitLink 和 GitHub(如双向同步项目)。此时:
|
||||
- 推送/PR 到 GitLink → `gitlink-cli`
|
||||
- 推送/PR 到 GitHub → `gh`
|
||||
- 根据用户意图和目标 remote 判断,不要混用
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ metadata:
|
|||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ metadata:
|
|||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
本技能提供 Claude Code 可直接执行的高级工作流模板。
|
||||
|
||||
## 工作流 1:Issue Triage(Issue 自动分类)
|
||||
|
|
|
|||
Loading…
Reference in New Issue