mcpField
M
map-features

map-features

github.com/jayden-dang开发152 次安装5 天前更新
代码仓库

关于 map-features

map-features 是用于维护仓库文档中共享能力目录的确认后写入技能,适合负责目录治理的开发者。它支持反向追踪、变更提案,以及满足同步条件后的受控导出或生成。

主要功能

  1. 01反向追踪并生成提示信封
  2. 02提议目录变更并等待确认
  3. 03处置观察记录
  4. 04在 index-only 模式导出目录字段
  5. 05生成草稿规格文件桩

适用场景

  1. 01发现能力缺口或过期的反向检查点
  2. 02写入前审阅目录更新提案
  3. 03同步条件允许时创建草稿规格文件桩

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jayden-dang/skills --skill map-features

安装后在 Claude Code 中输入/map-features确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

eval.json
references/
envelope.md
export-fields.md
passes.md
scripts/
cluster.py
corpus_eval.py
overlay.py
owns.py
reconcile.py
test_corpus.py
test_overlay.py
test_owns.py
test_reconcile.py
scripts/testdata/corpus/klynt-authz/
gold.json
owns.json
paths.txt
scripts/testdata/corpus/mailgate-labels/
gold.json
owns.json
paths.txt
scripts/testdata/specs-recognized/
INDEX.md
scripts/testdata/specs-recognized/catalog/
platform.md
scripts/testdata/specs-sharded/
INDEX.md
scripts/testdata/specs-sharded/2026-01-01-shard-demo/
tasks.md
scripts/testdata/specs-sharded/catalog/
mail.md
scripts/testdata/specs/
INDEX.md
scripts/testdata/specs/2026-01-01-demo/
tasks.md
scripts/testdata/specs/2026-01-02-other/
tasks.md
scripts/testdata/specs/catalog/
app.md
templates/
gitignore-index-only.snippet
specs-catalog-domain.md

详细介绍

映射功能

针对共享能力目录的先确认后写入操作 (docs/specs/INDEX.md 领域路由器 + docs/specs/catalog/*.md)。与 configure-repo 并列。反向追踪(原名 reconcile-features)是处置步骤 0, 不是独立技能。

发现映射缺口或反向检查点已过时的模型调用技能,MUST 为用户指出 /map-features,且 MUST NOT 自动调用此技能。

按需加载: load-subgraph 的 catalog-query.md(共享卡片语法); references/passes.md + references/envelope.md(反向追踪);references/export-fields.md; templates/(存根、gitignore)。不要将 tombstones.jsonl 粘贴到聊天中。

预检

  1. 缺少 docs/specs/INDEX.md → 停止。指出 /configure-repo。不要自行创建 INDEX。
  2. INDEX 必须是领域路由器(| Domain | … | Feature catalog |)。INDEX 上的扁平 | Code | … | 功能表 → 提议迁移为领域边界;不要将扁平行视为当前有效注册表。
  3. 从 docs/agents/project.md 读取 Catalog sync::
Catalog sync允许的模式
index-onlydispose · export · materialize
full-triad / 未设置 / 缺失仅 dispose

不明确时询问使用哪种模式。除非 sync 为 index-only,否则绝不运行 export / materialize。

模式操作步骤

dispose(默认)
0. 反向追踪(始终优先)

在扫描缺口前,运行机械式反向追踪。优先使用:

python3 skills/track/map-features/scripts/reconcile.py \
  --repo <root> --base <sha> --head <sha> --mode <mode>

当 .skills/ 可写且被 gitignore 忽略时,添加 --write-overlay。模式: changes-since-checkpoint | full | brownfield-bootstrap — 参见 references/passes.md。仅打印一个 references/envelope.md 信封 (供参考)。将 INDEX OBS 存放在 .skills/reverse-features/ 下,或保持无状态 (advanced_to: null)。展示运行器的每一条 notes[]。此处不要创建 Feature CODE 或写入 INDEX——只写入 overlay + 信封。

完成条件:信封已留存;提议前可见待处理 OBS。

1–3. 扫描 → 提议 → 确认并写入

扫描 INDEX / 分片 / 任务 / 路线图 / .skills/reverse-features/active/(+ 必要时查看 observation json)。仅提议以下类型:

类型确认后的操作
Domain boundary共享路由器 + 分片存根;将扁平 INDEX 行迁移到 catalog/<domain>.md
Missing Feature code在需求中添加 Feature code: 行
Empty ROAD bind分片 Roadmap 单元格 → 仅绑定有效的 ROAD-N(绝不创建)
OWNS gaptasks.md Files Create/Modify/Test 行
DEPENDS_ON candidate仅复用说明文字——绝不添加 load-subgraph 边
Recognized capability在分片中添加精简目录卡片(Spec 可为 —);不建 triad
OBS dispositionpromote / absorb / dismiss + tombstone;promote 会写入 Recognized 分片卡片

OBS 来源信息: 当路径/术语的重叠明确时,附上 observation_id(+ surface_roots)。优先提升该 OBS,而非添加孤立的 Recognized 行。

批量确认: 按 Core / Integrations / Docs 分组。接受 Confirm P01-P06; decline P07-P15 或 Confirm batch Core。promote/absorb 行 仍需明确的 CODE 令牌。

只写入已确认的行。不创建 GRAPH.md。dispose 模式下不搭建 triad 框架。 在所属分片中注册新 CODE,而非路由器 INDEX。

export(index-only)

除非 Catalog sync 为 index-only,否则拒绝(指出 /configure-repo)。针对每个 具有本地 triad 的选定 CODE,按 references/export-fields.md 提议更新分片 (或路由器)单元格。先展示运行前后的差异。绝不暂存 triad 文件。 缺少 triad → 视为缺口;建议使用 materialize。

materialize(index-only)

除非 Catalog sync 为 index-only,否则拒绝。确认或提供 templates/gitignore-index-only.snippet;警告不要使用 git add -f。

针对每个 CODE,在 docs/specs/ 下定位 Spec 目录:

  • 缺失 → 提议使用 templates/triad-stub/ 创建 Draft 存根
  • 存在文件但没有 `` → 拒绝覆盖
  • 仅有存根指纹 → 确认后可刷新

存根:Status 为 Draft,CODE + 标题取自分片卡片;不得编造 Approved EARS。写入后, 当需要 SHALL 时指出 specify-behavior。

调用方(仅提及名称,绝不调用)

技能何时提及 /map-features
frame-change逆向条件成立(检查点过时/缺失或拉取后)——在将各个界面视为全新开发之前
inspect-change只读逆向脚本运行后;待处理的 OBS 需要处置
load-subgraphEnvelope/observations 区段显示有待处理的 OBS
standalone用户要求进行逆向跟踪、处置 OBS、将扁平结构迁移为共享结构,或回填目录

inspect-change 可以运行 scripts/reconcile.py,以只读方式生成建议性 envelope;不得执行处置写入。

合理化说辞

想法实际情况
“没有 INDEX——根据我的提案表写一个”预检停止;/configure-repo 会建立路由器和分片
“保留 reconcile-features 作为独立技能”已删除;逆向仅是处置步骤 0
“frame-change 应该自动运行逆向”提及 /map-features;绝不自动调用
“扁平 INDEX 仍然可以用”仅限共享目录;Domain 边界必须迁移
“Slug 文件夹就是 CODE”CODE 只能来自分片 / Feature code: / 已确认的行
“稍后确认,现在先写”未明确确认,不得写入
“OBS-5682de 显然是 LABL”Promote 会提出建议;每行 CODE 均须确认
“Catalog sync 未设置时也可以物化”export/materialize 要求 index-only
“覆盖他们只写了一半的需求”没有 stub 指纹时拒绝
“跳过逆向——active/ 中已经有 OBS”步骤 0 仍须运行(检查点/范围);仅有 active/ 不能替代
“frame-change 中的 REQUIRED SUB-SKILL map-features”仅由用户调用;提及它

危险信号

  • 跳过 INDEX 预检或臆造 INDEX
  • 将 INDEX 上的扁平 Code 表当作当前注册表
  • 未经逐行或批量确认就写入
  • 臆造 ROAD-N 或未经确认的 CODE
  • 在处置过程中搭建三元组
  • 当 Catalog sync ≠ index-only 时执行 export/materialize
  • 覆盖非 stub 的三元组文件
  • 将已提升的 OBS 留在 active/ 中而不添加墓碑
  • 在 Code 单元格中写入 OBS-*
  • 在 stub 中臆造 Approved EARS
  • 从 frame-change / inspect-change / reconcile 遗留项中自动调用此技能
  • 跳过处置步骤 0 逆向
  • 在逆向过程中创建 Feature CODE

完成条件

预检已通过;模式已明确;逆向 envelope 已保留(处置);提案已展示 (如有 OBS 来源信息,则一并展示);仅应用了已确认的写入;已物化的 stub 为 Draft 且带有指纹;已列出缺口;扁平 INDEX 已迁移,或已作为 Domain 边界提出。

评论

支持 Markdown