speclite-brownfield-context-builder
分析既有 brownfield 代码库,恢复现状架构并生成规划基线。用于用户要求 existing project analysis、codebase analysis、棕地分析、系统现状或 PRD 前项目基线。核心能力:分类仓库、抽取证据、合成 baseline、交接规划 brief。
- License 许可
- MIT
- 最近更新
- 2026-11-12
- Stars
- ★ 4
- Forks
- 0
01 前言 Front Matter
- name
- speclite-brownfield-context-builder
- metadata
- { "author": "fancyliu", "catalog": "speclite", "version": "1.2.0" }
- description
- 分析既有 brownfield 代码库,恢复现状架构并生成规划基线。用于用户要求 existing project analysis、codebase analysis、棕地分析、系统现状或 PRD 前项目基线。核心能力:分类仓库、抽取证据、合成 baseline、交接规划 brief。
- allowed-tools
- [ "Read", "Write", "Edit", "Bash", "Grep", "Glob", "Agent" ]
02 资源文件 40
- 资产文件assets/architecture-template.md1.4 KB
- 资产文件assets/brownfield-planning-brief-template.md1.5 KB
- 资产文件assets/epics-template.md861 B
- 资产文件assets/prd-template.md1.1 KB
- 资产文件assets/story-template.md1.7 KB
- 参考文档CHANGELOG.md5.2 KB
- 其他config.toml.example485 B
- 其他customize.toml471 B
- 脚本golden/mybatis-plus-basic/dao/entity/UserInfo.java326 B
- 参考文档golden/mybatis-plus-basic/expected/data-model-inventory.expected.json282 B
- 参考文档golden/README.md984 B
- 参考文档golden/spring-mvc-basic/expected/api-inventory.expected.json399 B
- 脚本golden/spring-mvc-basic/src/main/java/com/example/lucky/LuckyController.java429 B
- 参考文档references/baseline-synthesizer.md10.1 KB
- 参考文档references/deep-dive-analyzer.md7.7 KB
- 参考文档references/document-templates.md4.2 KB
- 参考文档references/evidence-extractor.md6.2 KB
- 参考文档references/evidence-schema.md10.4 KB
- 参考文档references/examples.md5.2 KB
- 参考文档references/framework-adapters/mybatis-plus.md2.9 KB
- 参考文档references/framework-adapters/spring-mvc.md3.5 KB
- 参考文档references/historical-doc-ingestion.md5.8 KB
- 参考文档references/known-failure-patterns.md7.9 KB
- 参考文档references/planning-synthesizer.md9.4 KB
- 参考文档references/repository-classifier.md5.1 KB
- 参考文档references/v2-paradigm-design.md5.8 KB
- 参考文档references/validation-checklist.md3.8 KB
- 参考文档references/workflow-router.md6.5 KB
- 脚本scripts/adversarial_grounding_check.py10.9 KB
- 脚本scripts/build_dependency_graph.py10.5 KB
- 脚本scripts/collect_config_surface.py12.9 KB
- 脚本scripts/collect_test_surface.py5.3 KB
- 脚本scripts/extract_api_inventory.py13.1 KB
- 脚本scripts/extract_data_models.py16.2 KB
- 脚本scripts/merge_historical_facts.py9.1 KB
- 脚本scripts/render_baseline_skeleton.py8.3 KB
- 脚本scripts/run_golden.py5.1 KB
- 脚本scripts/scan_repo.py15.9 KB
- 脚本scripts/update_state.py10.6 KB
- 脚本scripts/validate_outputs.py16.5 KB
03 SKILL.md 正文
[技能说明] Speclite Brownfield Context Builder 是 1-analysis 阶段的既有系统分析工作流。它把现有代码仓库恢复为可追溯、可复查、可供后续 PRD / Architecture / Epics / Stories 消费的 as-is 基线和规划前置上下文。
[核心能力]
- 仓库分类与边界识别:识别 monolith / monorepo / multi-part 结构,划分子系统边界与技术栈。
- 确定性证据提取:通过 {skill-root}/scripts/ 下的脚本提取 API、数据模型、依赖图、配置面、测试面和历史文档候选事实。
- Evidence-First 基线合成:先生成 evidence 与 baseline skeleton,再由 LLM 仅补受限叙述,避免无来源事实写入。
- 历史文档交叉验证:将历史 PRD / 技术方案作为候选事实,经过代码或当前文档验证后再进入基线。
- 局部深潜分析:对高风险或用户指定区域做 targeted deep dive,补充可复用能力、约束和变更风险。
- 规划前置交接:默认生成 brownfield-planning-brief、candidate-change-slices、feature-entry-points 等后续 Speclite 工作流输入,不替代 create-prd / create-architecture / create-epics-and-stories。
- 状态持久化与恢复:每阶段写盘并更新 project-scan-report.json,支持 resume 和 full rescan 归档。
- 质量护栏:执行 coverage contract、strict anchors、adversarial grounding check 和 golden regression。
[约定]
裸路径相对于 {skill-root} 解析;{project-root} 是目标项目工作目录;{speclite-runtime-root} 是 {project-root}/_speclite;{skill-name} 是目录 basename。
运行配置必须运行 `speclite resolve config --project-root {project-root}`。推荐解析字段:
- `{project_knowledge}` = `[modules.sdlc].project_knowledge`
- `{planning_artifacts}` = `[modules.sdlc].planning_artifacts`
- `{brownfield_output}` = `{project_knowledge}/brownfield`
- `{history_sources}` 默认 `{project-root}/docs/history`,可由用户指定
[执行流程]
本 Skill 采用 4 种运行模式和 6 个阶段,路由规则以 references/workflow-router.md 为准。
1. 激活后解析三层 customize:`{skill-root}/customize.toml`、`{speclite-runtime-root}/custom/{skill-name}.toml`、`{speclite-runtime-root}/custom/{skill-name}.user.toml`。缺失覆盖文件时跳过;标量覆盖,表深度合并。
2. 运行 `speclite resolve config --project-root {project-root}`。配置缺失或 `project_knowledge`、`planning_artifacts` 为空时 HALT。
3. Phase 0:检查 `{brownfield_output}/project-scan-report.json`,按 `initial_scan` / `full_rescan` / `targeted_deep_dive` / `planning_generation` / resume 判定执行路径。初始化状态时运行:`python {skill-root}/scripts/update_state.py init --project-root {project-root} --output-dir {brownfield_output}`。
4. Phase 1:运行 `python {skill-root}/scripts/scan_repo.py {project-root} --output-dir {brownfield_output}`,并按 `references/repository-classifier.md` 划分仓库结构。
5. Phase 2:按 `references/evidence-extractor.md` 执行证据提取脚本,所有脚本必须显式传入 `--output-dir {brownfield_output}`;历史文档摄取额外传入 `--history-dir {history_sources}`。完成后运行 `validate_outputs.py --phase evidence`。
6. Phase 3:读取 `references/known-failure-patterns.md`,运行 `render_baseline_skeleton.py` 生成 skeleton,再按 `references/baseline-synthesizer.md` 补充受限叙述。完成后必须运行 `adversarial_grounding_check.py` 和 `validate_outputs.py --phase baseline --strict-anchors`。
7. Phase 4:如用户指定目标区域,按 `references/deep-dive-analyzer.md` 生成 `deep-dives/deep-dive-{area}.md`,并将发现反馈到 baseline 或 planning brief。
8. Phase 5:按 `references/planning-synthesizer.md` 生成规划前置产物。默认输出 `brownfield-planning-brief.md`、`candidate-change-slices.md`、`feature-entry-points.md` 到 `{planning_artifacts}` 或 `{brownfield_output}/planning/`,并明确后续应交给 Speclite `speclite-create-prd`、`speclite-create-architecture`、`speclite-create-epics-and-stories` 继续处理。
[输出目录结构]
默认产物写入目标项目的 {project_knowledge}/brownfield/,规划前置交接文档可同步到 {planning_artifacts}:
```text
{project_knowledge}/brownfield/
├── project-scan-report.json
├── evidence/
├── baseline/
├── deep-dives/
├── planning/
└── validation/
```
[核心边界原则] 1. 不伪造历史:不反推研发历史,不虚构优先级、排期或验收过程。 2. 历史文档是证据源,不是真相源:历史资料必须经过候选事实、交叉验证、基线事实路径。 3. as-is 与 to-be 分离:baseline 只写当前系统事实,planning 只写后续规划输入。 4. 不吞并后续阶段:本 Skill 可生成 planning brief 和候选切片,但默认不替代 Speclite PRD、Architecture、Epics/Stories 工作流。 5. 强落盘、弱上下文:阶段完成后立即写盘并更新状态,只在上下文中保留摘要。 6. 证据优先于叙述:每个关键结论必须有 evidence anchor;证据不足时标注不确定性,不补全事实。
[注意事项]
- 所有脚本调用必须使用 {skill-root}/scripts/...,不得依赖源码仓库路径。
- 所有运行输出必须使用 {brownfield_output} 或 {planning_artifacts},不得把 {project_knowledge}/brownfield 写成当前运行依赖。
- config.toml.example 仅作字段结构参考,不作为 runtime fallback。
- 修改 scripts/extract_*.py、framework adapters 或 skeleton renderer 后,必须运行 python {skill-root}/scripts/run_golden.py {skill-root}/golden。
- 事实冲突(fact-conflicts.json)必须提示用户确认,不得自动裁决。
- 输出文档末尾必须追加 *本文档由 speclite-brownfield-context-builder Skill 自动生成* 标注。
[生成信息] 本 Skill 由 brownfield-context-builder 迁移为 Speclite 1-analysis 工作流。运行语义保留 Evidence-First / LLM-Last 的质量护栏,并适配 Speclite runtime model。
04 同仓库更多 Skills
speclite-dev-story
暂无简介
speclite-code-review-01-reviewer
Fixture-owned installed skill entry for the minimal artifact loop.
speclite-skill-lint
只读检查 Skill 定义;用于 lint skill、check skill、检查技能或评估 Skill 规范。区分基础格式、Codex 适配和 SpecLite 约定,报告证据及未检查项;Agent 定义包转交 speclite-agent-lint。
speclite-skill-creator
创建或迭代 SpecLite workflow Skill;用于 create skill、新建技能、生成技能包或封装工作流。设计入口、辅助资源和验证用例;Agent 定义包转交 speclite-agent-creator。
speclite-html-ppt-generator
生成 SpecLite-owned 单文件 HTML PPT。用于用户要求创建 docs presentation、HTML PPT、网页 slides、Swiss Style deck、杂志风 deck,或其他可直接浏览器打开的介绍/分享型 deck。核心能力:使用本 Skill 内置模板、主题、layout 和 validator 生成横向翻页 HTML,并避免依赖外部个人 skill 路径。
speclite-docs-intro-ppt-creator
生成 SpecLite docs 下的介绍型 HTML PPT。用于用户要求把某个项目体系、系统设计、治理机制、理念或工作流总结成 docs presentation、HTML PPT、网页 slides、介绍 deck。核心能力:限定输出目录、基于事实材料规划叙事、调用 speclite-html-ppt-generator 生成单 HTML deck,并用确定性检查和浏览器抽样收口。