Skip to content
Back to skills

Codebase Index

ASecurity

代码库速查索引库 —— docs/code-index/ 下每个 crate 一个速查表文件,把「我想做什么」映射到具体文件、入口函数与一句话关键逻辑。当用户想定位或修改某个行为("怎么改 compact 的触发阈值"、"keepgoing 判定在哪"、"加个 deferred 工具改哪里"、"事件链路怎么走")、想快速了解某个模块的结构、或要求重建/更新代码索引时使用。用户没提"索引"二字但任务是找代码位置、改某个逻辑、理清调用链时,也应先查索引,而不是直接全库搜索。

  • 226 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 11, 2026
ai-agentsgo

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add KonghaYao/peri --skill codebase-index --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Codebase Index?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Codebase Index
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/konghayao-codebase-index/badge)](https://www.skillsdirectory.com/skills/konghayao-codebase-index)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: codebase-index
description: 代码库速查索引库 —— docs/code-index/ 下每个 crate 一个速查表文件,把「我想做什么」映射到具体文件、入口函数与一句话关键逻辑。当用户想定位或修改某个行为("怎么改 compact 的触发阈值"、"keepgoing 判定在哪"、"加个 deferred 工具改哪里"、"事件链路怎么走")、想快速了解某个模块的结构、或要求重建/更新代码索引时使用。用户没提"索引"二字但任务是找代码位置、改某个逻辑、理清调用链时,也应先查索引,而不是直接全库搜索。
---

# Codebase Index

## 索引是什么

- 位置:`docs/code-index/<crate>.md`,跨模块链路在 `docs/code-index/cross-crate.md`
- 本质:**行为 → 文件** 的速查表。查询者带着「我想改 X 的 Y」进来,带着文件路径和入口函数出去
- 原则:只给定位信息 + 一句话关键逻辑;不解释原理、不复制规范正文、不替代设计文档
- 体积:每个文件 100–200 行,全部读入没有负担。索引存在的意义就是让"找文件"这一步从几十次搜索变成一次读表

## 查找流程(查询者视角,最常用)

1. 判断行为落在哪个 crate;不确定就 Glob `docs/code-index/*.md` 并全部读入
2. 在速查表里按行为关键词匹配条目(compact / keepgoing / is_direct / cancel / middleware / prompt …)
3. 打开主文件,跳转到入口函数
4. 索引里的一句话关键逻辑只用于导航;行为细节一律以代码为准
5. 跨模块链路看各索引的「跨模块契约」节或 cross-crate.md,那里指向 `docs/standards/architecture-contracts.md` 的 ARC 编号(不复制正文)

## 构建/更新流程(构建者视角)

触发时机:索引缺失、行为变更后索引过期、用户要求重建/扩充。

输入:目标 crate 源码 + 该 crate 的 `CLAUDE.md` + `docs/standards/architecture-contracts.md`(跨模块契约)+ 相关 `docs/design/` 文档 + `spec/issues/` 中最近的相关 issue。

步骤:

1. 读 crate 的 `CLAUDE.md`,Scope / 数据流 / 稳定不变量直接进「架构速览」
2. **用 Grep 验证每个文件路径、函数名、常量真实存在**(记行号);禁止凭记忆写路径
3. 逐子系统列条目;每条覆盖:功能 | 文件 | 入口/关键函数 | 一句话关键逻辑
4. 关键逻辑写行为契约(阈值、顺序、条件、边界),一句话讲清,不复制文档正文
5. **标注事实源关系**:`re-export` / 配置事实源 / 注册面要写清归属(例:`compact_v2/config.rs` 仅 re-export `peri-acp-types::compact::CompactConfig`,注册面是 middleware `collect_tools()` 而非工具模块本体)
6. **doc comment 与代码不一致时以代码为准**(本仓库出现过 mod.rs 顶部 doc 描述的触发语义与实际判断条件不符),并在索引里写实际行为
7. 跨 crate 链路(事件、cancel、工具可见性、prompt frozen 等)进「跨模块契约」节,指向 ARC 编号;涉及多个 crate 的链路同时在相关 crate 的索引里互相可见
8. TUI / UI 类 crate 额外列「关键控件/组件」表(kit 组件、widget 等)
9. 自检:每条路径存在、函数名存在、行为描述与代码一致

## 索引文件格式(当前 canonical,经两轮检索实验验证)

```markdown
# <crate> 代码索引

> 速查表:把「我想做什么」映射到文件。细节以代码为准。更新:YYYY-MM-DD
> 依据:<crate>/CLAUDE.md、docs/standards/architecture-contracts.md、源码

## 架构速览
- 数据流 / 循环入口 / 稳定不变量(来自 crate CLAUDE.md)

## 速查表
| 我想做什么 | 主文件 | 入口/关键函数 | 关键逻辑 |
| --- | --- | --- | --- |
| (行为/修改意图,如"改 compact 触发阈值") | (路径;事实源/re-export 关系标清) | (真实函数名 + 行号) | (一句话行为契约:阈值/顺序/条件) |

## 子系统
### <子系统名>
| 功能 | 文件 | 入口/关键点 |
| --- | --- | --- |

## 跨模块契约
- ARC-XXX-001:一句话要点 → `docs/standards/architecture-contracts.md`
```

实验结论(为什么是这个结构):

- 「我想做什么」列直接匹配查询意图,subagent 检索时零推理成本命中(variant-b 模块卡片也准确但需自行提取,效率等价、推理略多)
- 每行带**真实入口函数名 + 行号**,检索者打开文件即可跳转,不必再全库搜函数
- 一句话行为契约(阈值/顺序/条件)让检索者先判断"这是不是我改的点",再读代码
- 「跨模块契约」节 + ARC 编号指针足以支撑跨 crate 查询(事件链路等),无需复制契约正文
- 索引错误会被"以代码为准"验证兜住,但构建时写对(标注 re-export/事实源关系、doc 与代码冲突时信代码)能避免误导

## 质量红线

- 路径、函数名必须真实存在(构建时逐一验证),行号要准确
- 行为描述与代码一致;与文档冲突时以代码为准,并在条目里标注
- 不复制规范正文、不写设计理由;跨模块内容只指向 ARC 编号
- 索引过期比没有索引更危险:行为变更后(阈值、顺序、入口改名)必须同步更新对应条目

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.