project-discover

Use when 需要对“已有代码的存量项目”做 Discover(逆向)并把仓库事实沉淀为 `.aisdlc/project/`,且你发现 AI/团队经常猜入口、猜边界、索引与细节双写、或缺证据链导致反复返工。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "project-discover" with this command: npx skills add zixun-github/aisdlc/zixun-github-aisdlc-project-discover

project-discover(一次指令全量 Discover 总控:地图层 + 权威入口 + 证据链)

概览

本技能用于把“已有代码的存量项目”在一次指令内尽可能完整地逆向沉淀为 .aisdlc/project/ 项目级 SSOT(长期资产),以支撑后续 Spec Pack 的 AI 辅助开发尽量不再重复跑 Discover

Discover 的核心不是“把代码翻译成文档”,而是把以下三件事立起来(并且能被持续维护):

  • 地图层:先有可导航的索引骨架(索引只导航)
  • 权威入口:每个 P0 模块有单页模块 SSOT(模块页是权威)
  • 证据链:每个关键结论都能指向仓库内可定位的证据入口(Evidence)或结构化缺口(Evidence Gaps)

开始时宣布:「我正在使用 project-discover 技能执行存量项目 Discover(逆向)并建立 .aisdlc/project/ 项目级 SSOT。」

目标(一次指令的交付物)

单次运行结束时,默认应至少产出并自洽以下内容(允许“证据不足→结构化缺口”降级,但不允许脑补):

  • Level-0 / Memory(北极星)
    • .aisdlc/project/memory/structure.md
    • .aisdlc/project/memory/tech.md
    • .aisdlc/project/memory/product.md
    • .aisdlc/project/memory/glossary.md
  • Level-1 / 地图索引(只导航 + 进度面板)
    • .aisdlc/project/components/index.md(含 direct-only 依赖图)
    • .aisdlc/project/products/index.md(建议;可按证据决定是否创建)
  • 模块页(权威入口,优先 P0,尽可能多)
    • .aisdlc/project/components/{module}.md:对每个识别到的 P0 模块尽可能创建并填充到 DoD;对 P1 模块尽可能创建(允许一段契约降级到 Evidence Gaps);P2 默认仅索引占位
  • Ops(高 ROI;有证据则创建)
    • .aisdlc/project/ops/index.md(以及 monitoring/rollback/runbook 等入口页,能链接到真实平台/配置/脚本时再加)
  • 治理能力(可持续)
    • DoD/勾选门禁规则能落地执行(“模块完成”只看模块页达标)
    • 增量 Discover(Delta Discover)与 stale(过期)机制在文档里有入口与写法约束(至少体现在模块页 frontmatter 与 products/ops/memory 的 Evidence Gaps)

何时使用 / 不使用

  • 使用时机
    • 你要为存量项目建立/补齐 .aisdlc/project/(memory / components / products / ops / nfr)
    • 你发现“入口在哪里、边界是什么、契约在哪”总是靠猜,导致 AI 或新人反复问同样的问题
    • 你担心索引与细节双写、字段大全、TODO 散落、契约不权威造成维护爆炸
    • 你要做增量 Discover(Delta Discover)来对抗知识过期(stale)
  • 不要用在
    • 你在做需求级 Spec Packrequirements/ / design/ / implementation/(那是 spec-* 技能链路)
    • 你要写“字段级数据字典”作为合规/对账/KPI 口径治理的独立体系(这不是 Discover 的默认目标)

核心硬规则(出现任一条:停止并纠正)

  1. 禁止产出 .aisdlc/project/contracts/**
    • API/Data 契约必须合并进模块页:.aisdlc/project/components/{module}.md 的固定段落 ## API Contract / ## Data Contract
  2. 索引只导航
    • .aisdlc/project/components/index.md.aisdlc/project/products/index.md 不得写不变量/字段/详细流程/“待补”
  3. 模块页单页 SSOT(权威入口)
    • P0 模块必须存在模块页,并包含固定标题(锚点稳定):## TL;DR## API Contract## Data Contract## Evidence(证据入口)## Evidence Gaps(缺口清单)
  4. 不脑补:缺证据就写 Evidence Gaps
    • 不允许用“待补/未发现/TODO”散落正文;缺口必须进入 ## Evidence Gaps(缺口清单),结构化写清楚“缺什么/去哪找/影响”
  5. 先 Scope 止损
    • Discover 最大风险是覆盖面失控:必须先做 P0/P1/P2;P0 先做三件套(模块页 + 契约段落 + 证据链)再扩
  6. Products 收敛到 <= 6(默认)
    • 业务模块地图是“业务语义锚点”,不是功能清单大全;过多会让地图失效

一次指令执行策略(总控编排,不反复运行)

本技能是“总控编排器”。执行时不要把工作拆成多轮让用户反复触发;而是在本次运行中完成:

  • 先建地图骨架(Memory + Index)
  • 再并行补模块页(P0 尽可能多,P1 尽可能覆盖,P2 只占位)
  • 并行收敛 Products 与补 Ops(有证据就落盘;缺证据写缺口)
  • 最后做 DoD/一致性门禁回填(哪些模块能打勾、哪些不行,原因在模块页 Evidence Gaps)

为确保输出可维护,Discover 拆成 4 个可交付域(对应现有子技能),但应在一次运行中完成并汇总:

你现在要做什么用哪个子技能主要输出位置
盘点“可作为证据的入口”,并做 P0/P1/P2 止损project-discover-preflight-scope.aisdlc/project/components/index.md(priority/owner/code_entry 等)+ 证据入口清单落位到后续 memory/ops
建立 Level-0 北极星与 Level-1 索引骨架(地图层)project-discover-memory-index.aisdlc/project/memory/* + .aisdlc/project/components/index.md + .aisdlc/project/products/index.md
逐个把 P0 模块做成“单页模块 SSOT + 契约段落 + 证据链”project-discover-modules-contracts.aisdlc/project/components/{module}.md
收敛 Products、补 Ops 入口、做 DoD 勾选门禁、建立增量维护project-discover-products-ops-dod.aisdlc/project/products/* + .aisdlc/project/ops/* + DoD/Delta/过期规则

默认策略(尽可能丰富):不把 P0 限制在 1–3 个;在预算允许范围内,尽可能为所有识别到的 P0 都创建模块页并填充到可用门槛。若仓库过大导致无法全覆盖:仍然要完成 memory + index,并为未覆盖的 P0/P1 留下“可追溯的 Evidence Gaps 与候选证据位置”,而不是空白或脑补。

并行化建议(可选,但高 ROI)

当你面对 2+ 个互不依赖的任务域时,建议使用并行子代理(参考 dispatching-parallel-agents)。本技能的目标明确允许并鼓励把 ModulesProducts/Ops 拆给独立子代理并行处理。

  • Preflight 并行:分别扫描 run/test/ci/contract/ops 的证据入口
  • Modules 并行:每个 P0 模块一个子代理(互不改同一模块页;不要让多个代理改同一个 components/{module}.md
  • Products 并行:1 个子代理负责 products 收敛与 products/*(只写入口级摘要,避免字段/流程大全)
  • Ops 并行:1 个子代理负责 ops 入口与证据(监控/告警、日志入口、回滚入口),只要能给出真实入口就落盘,否则写 Evidence Gaps

并行分工硬约束(防冲突/防漂移)

  • 总控(你)唯一可写范围
    • .aisdlc/project/memory/*
    • .aisdlc/project/components/index.md
    • .aisdlc/project/products/index.md
    • DoD 勾选回填与一致性校验(最终汇总)
  • 模块子代理写入范围:仅写自己负责的 .aisdlc/project/components/{module}.md
  • products 子代理写入范围:仅写 .aisdlc/project/products/*(不改 components/index)
  • ops 子代理写入范围:仅写 .aisdlc/project/ops/*

子代理输入(必须给清楚,避免“自创结构”)

给每个子代理的任务描述必须包含:

  • 该代理允许写入的路径白名单
  • 该页的固定标题/锚点要求(尤其模块页的 ## TL;DR / ## API Contract / ## Data Contract / ## Evidence / ## Evidence Gaps
  • 缺证据就写 Evidence Gaps,不许脑补”的硬规则
  • 要求输出“权威入口链接 + 不变量摘要 + 证据入口”的最小粒度(文件/类/job/命令)

常见借口与反制(来自基线压测)

这些借口来自“无技能约束”的基线压测原话。写入这里的目的,是为了在时间/权威/沉没成本压力下,仍能守住 Discover 的硬规则。

借口(原话风格)最常见违规必须的反制动作
“先把文档写全,结构搭满,细节后面再对代码补。”索引写细节;TODO 散落;脑补契约先做 Scope + Index 骨架;所有细节下沉模块页;缺证据写 Evidence Gaps,不写推测
“索引太干会没人看,写点说明不用点进去就懂。”索引变成细节堆(双写)索引只导航:只放链接/复选框/owner/code_entry;细节只在模块页
“没有 Swagger/OpenAPI,先按经验写一版契约,标‘待核对’。”契约不权威;字段大全;错口径被放大模块页契约段落只写:权威入口(文件/生成命令)+ 不变量摘要 + 证据入口;缺权威入口→Evidence Gaps
“时间紧,先把不确定的用‘待补/未发现’标出来,表示诚实。”“待补”散落导致永远补不完所有缺口集中到 ## Evidence Gaps,并写:缺口/期望粒度/候选证据位置/影响
“已经写了一半,再改成索引只导航要大改;先交差。”沉没成本驱动的结构性违规删除/移动:把索引细节挪到模块页;索引回归导航;不能因为沉没成本违反结构规则
“字段列全一点查起来方便。”字段大全(维护爆炸)字段级细节只通过权威入口链接(schema/DDL/model);在 project 层只写不变量摘要
“怎么跑/怎么部署是刚需,写在项目级入口最合适。”一次性交付细节污染项目级项目级只写入口链接与最小护栏;详细操作手册归 ops 体系或外部平台链接

红旗清单(出现任一条:停止并纠正)

  • .aisdlc/project/components/index.mdproducts/index.md 里写了不变量/字段/详细流程
  • 出现 .aisdlc/project/contracts/**
  • 出现大量“TODO/待补/未发现”散落正文(未汇总到 Evidence Gaps
  • P0 模块打了 - [x],但模块页缺少固定标题或缺少权威入口/不变量/证据入口
  • 为了“写全”而把 Products 写成 20+ 个模块的功能清单

一致性与完成门禁(本次运行结束前必须做)

在一次指令的末尾,总控必须完成以下校验与回填,确保知识库“能用且不自相矛盾”:

  • 索引只导航校验components/index.md / products/index.md 不出现不变量/字段/详细流程/“待补/未发现/TODO”
  • 模块页达标校验(决定能否打勾)
    • P0:模块页存在;固定标题齐全;frontmatter 元数据齐全;API/Data 契约段落存在“权威入口 + 3–7 条不变量 + 证据入口”;若存在缺口必须写到 Evidence Gaps,且该模块不得勾选
    • P1:允许 API 或 Data 其一缺失,但必须 Evidence Gaps 结构化记录缺口与影响
    • P2:默认不勾选
  • SSOT 门禁:索引中的勾选只是反映模块页是否达标;不得“先勾选再补内容”
  • 依赖图维护components/index.md 的 Mermaid 依赖图只画 direct-only,并标注交互方式(API/Event/DB)
  • Products 收敛:默认 <= 6;无法收敛必须给出原因与治理建议入口(不要把它写成大目录)

Quick reference(高频速查)

最小可用交付(MVP)

  • .aisdlc/project/memory/structure.md:怎么跑/怎么验/怎么发布的入口(可追溯)
  • .aisdlc/project/components/index.md:模块地图(只导航)+ 复选框进度 + 依赖图
  • 1–3 个 P0 模块页:.aisdlc/project/components/{module}.md(含 TL;DR + API/Data 契约段落 + Evidence/Evidence Gaps)

DoD 的一句话

模块是否“完成”,只由模块页内容是否达标决定;索引勾选只是反映这一事实。

常见错误

  • 把 Discover 做成“字段级字典工程”(维护爆炸)
  • 先写细节再补地图(导致双写与断链)
  • 看到缺口就脑补(下游会把猜测当事实)
  • 把需求级一次性交付细节合并进项目级(项目级变成垃圾场)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

spec-product-prd

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

spec-product-prototype

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

spec-product-demo

No summary provided by upstream source.

Repository SourceNeeds Review