# Context Ack

> Context Ack

- Skill: `diegosouzapw/context-ack` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add diegosouzapw/context-ack`
- Raw SKILL.md: https://api.skillmd.com/api/skills/diegosouzapw/context-ack/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: diegosouzapw (https://skillmd.com/u/diegosouzapw)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/diegosouzapw/context-ack

---


# _context-ack

## 目标
让用户能快速确认我是否**实际引用/遵循**了本次会话中的指令与文件。

## 必须遵循的输出约定

### 1) 固定前缀（每次回复首行）
- 统一以 `✨ 已启用上下文校验` 开头。
- 该前缀用于让用户判断此技能是否生效。

### 2) 敬语称呼（单独一行）
- 在首行之后，新增单独一行敬语称呼，例如：
  - `尊敬的主人：`
- 敬语行必须独立成行，避免与正文混排。

### 3) 引用清单（每次回复末尾）
在回复末尾追加两行：

```
已读指令：<指令文件及其核心要求>
已启用技能：<技能名与简要功能>
```

清单规则：
- **只列出本次真实读取或实际依赖的指令/技能**。
- **已读指令行**：列出读取过的指令文件名及其对应的**核心要求或应用部分**
- **已启用技能行**：列出使用的技能名与其在本次回复中的**实际贡献**，**一行一个技能**，格式为：
  - `已启用技能：技能名 - 技能说明`
- 若本次未引用任何文件或技能，必须写：
  - `已读指令：无`
  - `已启用技能：无`

### 3.1) 引用校验清单（强制）
- **已读指令**必须来自本次显式读取（如 `read_file`）。
- 禁止填写“未实际读取但猜测存在”的文件。
- 如未读取任何指令文件，必须写 `已读指令：无`。
### 3.2) 技能使用证据收集（可选增强）

为了增强透明度和可追踪性，当列出某个已启用技能时，应在回复正文中体现该技能的实际使用证据：

| 技能名 | 使用证据 | 验证方式 |
|------|--------|--------|
| `_git-commit` | 提交说明文件末尾有签名行 | 搜索 "🤖 本提交由 _git-commit" |
| `_file-output-guard` | 文件中包含 `[Part X/?]` 分段标记 | 查看文件内容的分段标记 |
| `_change-summary` | PR 描述中有 "提交摘要" 段落（来自 `git log --oneline`） | 检查 PR 或 PR_DESCRIPTION.local.md |
| `_traceability-check` | 提交说明覆盖了 `git diff --name-only --cached` 列出的所有文件 | 对照检查清单 |
| `_code-health-check` | 回复中提及测试通过、编译成功等验证结果 | 查看回复内容或控制台输出 |
| `_instruction-guard` | 本次回复的 "已读指令" 列出了被读取的指令文件 | 见"已读指令"行 |

**最佳实践**：
- 列出技能时，在回复正文中至少提及该技能的一条关键步骤或输出
- 例如：列出 `_git-commit - 格式化提交说明` 时，回复中应提及 "已使用 Conventional Commits 格式" 或 "已添加签名行"
- 这样用户可快速验证技能是否真的被执行，而不仅仅是被列在清单中
### 4) 仓库信息提示（每次回复末尾，位于"已启用技能"下一行）
追加一行：

```
仓库状态：分支=<branch> | 未提交=<count_uncommitted> | 未跟踪=<count_untracked>
```

填写规则：
- 分支：`git rev-parse --abbrev-ref HEAD`
- 未提交：`git status --porcelain` 中已跟踪且变更的条目数
- 未跟踪：`git status --porcelain` 中以 `??` 开头的条目数

### 5) 输出样式（diff 代码框格式）
将会话结尾信息放在 diff 格式代码框中，利用语法高亮区分不同类型信息：

```diff
─────────────────────────────────────────────
+ ✅ 已读指令：[文件名]
- 🔧 已启用技能：技能名 A - 技能说明
- 🔧 已启用技能：技能名 B - 技能说明
! 📦 仓库状态：分支=<branch>
!   └─ 未提交：<n> (仅当>0时显示)
!   └─ 未跟踪：<m> (仅当>0时显示)
─────────────────────────────────────────────
```

**格式说明**：
- 使用 diff 语法高亮，每种信息有不同颜色：
  - `+` 绿色：已读指令
  - `-` 红色：已启用技能
  - `!` 橙色：仓库状态
- 使用 `└─` 树形结构展示细节
- 使用更细的分隔线 `─`（U+2500）
- 仓库状态的未提交/未跟踪数字为 0 时不显示该行
- 如果两者都为 0，仅显示分支信息

## 适用范围
- **所有对话**与**所有回复**。
- 若用户指定"本次不要前缀/清单"，才可临时忽略。

## 注意事项
- 不要虚构引用。
- 不要列出仅"已在上下文但未使用"的文件。
- 保持简洁，清单只列实际使用项。

