zeroz-lab/unified-skills · Archived

build-cognitive-context

上下文工程——最大化 agent 输出质量。当开始新任务、上下文混乱或 agent 输出质量下降,或提到"上下文""context window""注意力

Installation

$ npx skills add zeroz-lab/unified-skills --skill build-cognitive-context

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from zeroz-lab/unified-skills · top by installs.

npx skills add zeroz-lab/unified-skills

Browse all from zeroz-lab/unified-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 16
License MIT
Default branch master
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,600 B
  • docs SUMMARY.md 196 B

History

  1. First recorded snapshot · 2 installs

SKILL.md

Context — 上下文工程

入口/出口

  • 入口: 开始新任务前、上下文窗口混杂、agent 输出质量下降、项目切换
  • 出口: 干净正确的上下文 + 任务相关的全部必要信息
  • 指向: 继续当前 build 流程
  • 输出路径: 当前正在执行的 build 技能(如 build-workflow-execute
  • 前置加载: CANON.md

何时不使用

  • 任务是一个明确、自包含的一行改动(白屏/空指针修复)
  • 对话刚开始且问题描述极其精确

Iron Law

上下文质量是 agent 输出质量的最大杠杆。
更多上下文 ≠ 更好上下文。
上下文窗口大小 ≠ 注意力预算。

五级上下文层次

按优先级加载——上层优先,下层按需:

Level 1: 规则文件
  AGENTS.md / CANON.md / .cursorrules
  → 始终加载。定义全局行为和宪法纪律。
  
Level 2: 规格说明
  docs/features/YYYYMMDD-<name>/01-spec.md / 02-design.md / 03-plan.md
  → 当前任务需要时加载。定义"做什么"。
  
Level 3: 源代码
  相关文件 / 接口定义 / 类型声明
  → 仅在需要理解现有代码时加载。定义"怎么做"。
  
Level 4: 错误输出
  测试失败日志 / 构建错误 / lint 警告
  → 仅在调试或验证时加载。定义"什么错了"。
  
Level 5: 对话历史
  先前讨论 / 中间决策 / 已排除方案
  → 引用结论,不复述全过程。定义"什么已决定"。

上下文打包策略

策略 方式 适用
Brain Dump 一次性加载全部相关文件 小项目(< 50 文件)、探索阶段
Selective Include 仅加载任务直接相关的文件 常规任务(默认)
Hierarchical Summary 分层摘要(架构→模块→文件) 大项目、跨模块重构

默认使用 Selective Include。 Brain Dump 浪费 tokens 和注意力。Hierarchical Summary 成本高。

混淆管理

当上下文互相冲突

STOP。不要在混淆中前进。

1. 识别冲突: "spec 说 X,但现有代码做的是 Y"
   ✅ 验证点: 冲突是否已明确写出到 human partner?
2. 明确选项: "选项 A: 按 spec 重构(需要 X 小时)。选项 B: 更新 spec(已和用户确认这是旧 spec)"
   ✅ 验证点: 两个选项是否包含时间/影响估算?
3. 呈现权衡: "选 A 意味着 XX。选 B 意味着 YY"
   ✅ 验证点: human partner 是否已做出明确选择?
4. 等待用户决定。不猜。

当需求不完整

不要默默假设填补空白。把缺口亮出来:

"需求说'让仪表盘更快',但没指定:
1. 目标 LCP 是多少?(2.5s 是 Core Web Vitals 标准)
2. 什么网络条件?(4G?WiFi?)
3. 包括 SSR 时间吗?

我假设:目标 LCP < 2.5s(4G 网络),不包括 SSR。
→ 纠正我,否则我按这些继续。"

当有隐式知识

如果项目做了非标准约定但没记录 → 记录下来:

"我刚发现这个项目用 Prisma 而不是 TypeORM(虽然同类项目都用的 TypeORM)。
这不在 AGENTS.md 里。让我记下来避免下次混淆。"

然后将发现写入 AGENTS.md。

反模式

反模式 症状 修复
上下文饥饿 Agent 猜 API 行为、自己发明接口 加载相关源码或文档
上下文泛滥 加载了 20+ 个文件但只改了 1 个 精简到实际需要的文件
过期上下文 使用了已删除的函数/已废弃的 API 重新读取文件,不要依赖记忆
缺失示例 Agent 写的模式和项目已有一致代码不同 找到项目中的工作示例作为参考
隐式知识 项目约定没写在任何文档里 写到 AGENTS.md
静默混淆 Agent 发现不一致但没说 强制执行宪法第 8 条

常见说辞

说辞 现实 后果
"我已经看过这个文件了" 文件可能已变更。重新读关键部分。 基于 stale 上下文编码 → 引入 bug 或与已删除 API 冲突,平均浪费 30-60 分钟调试
"多加载总比漏加载好" 上下文泛滥稀释注意力。选择性加载目标信息更有效。 20+ 文件中只改 1 个 → 90%+ token 用于无关内容,关键细节被淹没,决策质量下降
"我知道这个库怎么用" 版本不同 API 不同。不信记忆信文档。 使用已废弃 API → 运行时崩溃或静默行为差异,单次返工 1-4 小时

验证失败处理

失败场景 处理方式
spec 未加载 停止任务,先加载当前 feature 的 01-spec.md 再继续
关键源码从记忆推断而非读取 强制重新读取相关文件,禁止使用"我记得"作为依据
spec 与代码冲突且未澄清 列出冲突点和两个选项,等待 human partner 决定后再继续
模糊需求未提请澄清 把缺口逐条列出并附默认假设,等 human partner 纠正或确认
非标准项目约定未记录 立即写入 AGENTS.md 并标注发现时间,避免下次混淆

好坏示例

✅ Good: 选择性加载 + 冲突显式化

任务: 修改 TaskList 组件的筛选逻辑

加载策略: Selective Include
- Level 1: AGENTS.md(始终)
- Level 2: 01-spec.md(筛选逻辑规格)
- Level 3: TaskList.tsx / TaskList.test.tsx / filterUtils.ts(只这 3 个)
- Level 5: 上次讨论结论 "筛选应支持多条件组合"

发现冲突: spec 说"筛选条件互斥",但现有代码支持组合筛选。
→ 向 human partner 呈现两个选项,等待决定。

❌ Bad: 全量加载 + 隐式假设

任务: 修改 TaskList 组件的筛选逻辑

加载策略: Brain Dump(读了 25 个文件)
→ 关键信息被淹没,注意力浪费在无关组件上

发现冲突: spec 和代码不一致,但默默选择"按代码改"。
→ 没有向 human partner 澄清,后续实现偏离 spec。

红旗 — STOP

  • 在不检查现有代码的情况下开始实现
  • 发现 spec 和代码冲突但默默继续
  • 看到奇怪约定("怎么这么写?")但不问也不记录
  • 一遍又一遍重读同一文件而不推进
  • 用"这就是常规做法"而不是"项目实际用的是 X"

输出模板

上下文整理完成后,应产出以下结构(写入 checkpoint 或 task 起始注释):

## Context Summary — [任务名称]

### 加载策略
- 策略类型: [Brain Dump / Selective Include / Hierarchical Summary]
- 已加载文件: [文件列表]
- 跳过文件及原因: [跳过列表]

### 已识别冲突
| # | 冲突描述 | 选项 A | 选项 B | 决定 |
|---|---------|--------|--------|------|
| 1 | ... | ... | ... | [待定 / 已决定] |

### 需澄清缺口
| # | 缺口描述 | 默认假设 | 确认状态 |
|---|---------|---------|---------|
| 1 | ... | ... | [待确认 / 已确认] |

### 新发现的项目约定
| # | 约定描述 | 写入位置 |
|---|---------|---------|
| 1 | ... | AGENTS.md |

验证清单

  • 当前任务相关的 AGENTS.md/spec 已加载(运行时详细规则在 docs/contracts/ 按需读取)
  • 关键源码文件已读取(非从记忆推断)
  • 识别并解决了任何冲突(spec vs 代码)
  • 模糊需求的不明确处已提请用户澄清
  • 新发现的项目约定已写入 AGENTS.md