# Harness Build Context Index

> 构建上下文索引，实现4级优先级加载机制，优化Token消耗

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

---


# harness-build-context-index 构建上下文索引

## 核心能力
1. 检查前置条件（harness-build-core-manifest）
2. 创建 CONTEXT_INDEX.md（4级优先级）
3. 定义各级别内容
4. 定义加载策略
5. 优化 Token 消耗

## 前置条件
- harness-build-core-manifest 已完成
- AGENTS_MANIFEST.md 存在

## 执行步骤

### Step 1: 检查前置条件

使用 Read 工具读取：`.EnjoyHarness/SKILL_REGISTRY.md`

检查条件：
- harness-build-core-manifest 已标记为完成

如果未完成：
```
❌ 错误: 核心规则未构建
💡 请先运行: harness-build-core-manifest
```

### Step 2: 创建上下文索引文件

使用 Write 工具创建文件：`.EnjoyHarness/CONTEXT_INDEX.md`

内容：

```markdown
---
version: v3.0.0
created_at: 2026-03-28T10:46:00+08:00
total_priority_levels: 4
---

# EnjoyHarness 上下文索引

## 优先级定义

### P0级 - 常驻上下文（2000 tokens）
**加载时机**: 始终加载
**内容**:
- AGENTS_MANIFEST.md（核心规则，≤60行）
- EnjoyHarness_MANIFEST.md（全局配置）
- GLOBAL_STATE.md（系统状态）
- ITERATION_COUNTER.md（迭代计数器）

**用途**: 确保核心规则始终可见，防止Agent行为跑偏

### P1级 - 按任务类型加载（1500 tokens/类）
**加载时机**: 根据任务类型动态加载
**分类**:

#### 功能开发任务
- ARCHITECTURE_GUARDRAILS.md（架构约束）
- WORKFLOW_TEMPLATES.md（工作流模板）
- TOOLSET_SPEC.md（工具配置）

#### Bug修复任务
- ERROR_HANDBOOK.md（错误处理手册）
- ERROR_TRACE.md（错误追踪）

#### 重构优化任务
- PERFORMANCE_REPORT.md（性能报告）
- CODE_CHECKLIST.md（代码自检清单）

**用途**: 提供任务特定的上下文，精准加载避免浪费

### P2级 - 出错时加载（1000 tokens）
**加载时机**: 任务失败或触发熔断时
**内容**:
- GLOBAL_TRACE.md（全局追踪）
- ERROR_TRACE.md（错误记录）
- ERROR_HANDBOOK.md（错误处理手册）

**用途**: 错误诊断和恢复

### P3级 - 按需引用（500 tokens）
**加载时机**: 需要查询历史或参考时
**内容**:
- SKILL_REGISTRY.md（技能注册表）
- PERFORMANCE_REPORT.md（效果评估）
- HARNESS_UPDATE_LOG.md（更新日志）

**用途**: 历史查询和效果评估

## Token消耗对比

| 加载策略 | Token消耗 | 占比 |
|---------|----------|------|
| 全量加载 | ~8000 tokens | 100% |
| P0+P1加载 | ~3500 tokens | 44% |
| 仅P0加载 | ~2000 tokens | 25% |

**优化效果**: 采用4级优先级，Token消耗降低 56%

## 加载规则

1. **始终加载P0级**
2. **根据任务类型加载P1级**
3. **出错时自动加载P2级**
4. **需要时手动加载P3级**
5. **总上下文窗口占用 ≤ 70%**

## 使用示例

### 示例 1: 功能开发任务
```yaml
任务类型: 功能开发
加载内容: P0 + P1(功能开发类)
Token消耗: ~3500 tokens
上下文窗口占用: 35%
```

### 示例 2: Bug修复任务
```yaml
任务类型: Bug修复
加载内容: P0 + P1(Bug修复类)
Token消耗: ~3000 tokens
上下文窗口占用: 30%
```

### 示例 3: 熔断触发
```yaml
触发条件: 任务失败
自动加载: P2级（错误处理）
Token消耗: ~4500 tokens (P0+P2)
上下文窗口占用: 45%
```
```

### Step 3: 更新事件日志

使用 Edit 工具追加内容到：`.EnjoyHarness/EVENT_LOG.md`

追加内容：

```markdown
2026-03-28T10:46:00+08:00 | SKILL_START | harness-build-context-index | 开始构建上下文索引 | SUCCESS
2026-03-28T10:46:00+08:00 | SKILL_COMPLETE | harness-build-context-index | 上下文索引构建完成 | SUCCESS
```

### Step 4: 更新事件计数

使用 Edit 工具更新：`.EnjoyHarness/EVENT_LOG.md`

old_string: `total_events: 4`
new_string: `total_events: 6`

### Step 5: 更新技能注册表

使用 Edit 工具更新：`.EnjoyHarness/SKILL_REGISTRY.md`

old_string: `- [ ] harness-build-context-index - 构建上下文索引技能`
new_string: `- [x] harness-build-context-index - 构建上下文索引技能 ✅`

### Step 6: 输出完成信息

使用 Bash 工具输出：

```bash
echo ""
echo "✅ harness-build-context-index 完成!"
echo ""
echo "📋 上下文索引文件:"
echo "  - .EnjoyHarness/CONTEXT_INDEX.md"
echo ""
echo "📊 优先级统计:"
echo "  - P0级（常驻）: 4个文件, ~2000 tokens"
echo "  - P1级（按任务）: 3类任务, ~1500 tokens/类"
echo "  - P2级（出错时）: 3个文件, ~1000 tokens"
echo "  - P3级（按需）: 3个文件, ~500 tokens"
echo ""
echo "💡 Token优化效果:"
echo "  - 全量加载: ~8000 tokens (100%)"
echo "  - P0+P1加载: ~3500 tokens (44%)"
echo "  - 降低消耗: 56%"
echo ""
echo "🎯 下一步:"
echo "  运行 harness-enforce-architecture-guardrails 完成架构护栏构建"
echo ""
```

## 成功标准
- [ ] CONTEXT_INDEX.md 文件存在
- [ ] 包含4级优先级定义
- [ ] Token消耗对比清晰
- [ ] 加载规则明确
- [ ] 技能注册表已更新

## 失败兜底
- harness-build-core-manifest 未完成 → 终止执行，提示运行前置技能
- 文件创建失败 → 记录错误到 EVENT_LOG.md，触发重试

## 联动关系
- 前置: harness-build-core-manifest
- 自动触发: harness-enforce-architecture-guardrails

## 迭代计数
本技能执行预计迭代次数: 约 5 次（Write 1次 + Edit 3次 + Read 1次）

## 测试用例

### 测试 1: 前置条件检查
**输入**: 在核心规则未构建时运行
**期望输出**: 错误提示"核心规则未构建"
**验证方式**: 删除 AGENTS_MANIFEST.md 后运行

### 测试 2: 文件完整性
**输入**: 执行 harness-build-context-index
**期望输出**: CONTEXT_INDEX.md 包含P0-P3定义
**验证方式**: `grep -c "P[0-3]级" .EnjoyHarness/CONTEXT_INDEX.md`

### 测试 3: Token计算正确性
**输入**: 读取 CONTEXT_INDEX.md
**期望输出**: Token消耗对比表格完整
**验证方式**: `grep "Token消耗对比" .EnjoyHarness/CONTEXT_INDEX.md`

### 测试 4: 技能注册表更新
**输入**: 读取 SKILL_REGISTRY.md
**期望输出**: harness-build-context-index 标记为完成
**验证方式**: `grep "harness-build-context-index" .EnjoyHarness/SKILL_REGISTRY.md`

### 测试 5: 事件日志记录
**输入**: 读取 EVENT_LOG.md
**期望输出**: 包含 harness-build-context-index 启动和完成事件
**验证方式**: `grep "harness-build-context-index" .EnjoyHarness/EVENT_LOG.md`

