| name | speclite-brownfield-backend-tech-stack-digger |
| description | Analyze brownfield backend projects to derive technology stack from code facts and write a Markdown report to a user-specified output directory. Use when user mentions 'tech stack audit', 'backend stack', 'brownfield tech stack', 'code-fact based stack', '技术栈分析', '后端技术栈', '项目技术栈清单', '基于代码事实', '输出到目录', or asks to generate a stack inventory from an existing backend repository. Capable of ecosystem-neutral repository discovery, dependency/version evidence classification, runtime configuration extraction, uncertainty tagging, and evidence-linked Markdown generation. |
| allowed-tools | ["Read","Write","Bash","Grep","Glob","Agent"] |
| metadata | {"version":"1.0.0","author":"fancyliu","catalog":"speclite"} |
[Overview(技能说明)]
Speclite Brownfield Backend Tech Stack Digger 是 1-analysis 阶段的通用后端技术栈报告契约。它不绑定 Java、Node.js、Python 或任何单一生态,只规定如何基于代码事实抽取技术栈、标注证据和写入用户指定输出目录。
[Core Capabilities(核心能力)]
- 输出目录参数化:从用户请求中解析 {output-dir} 和可选 {report-name},默认生成 {output-dir}/backend-tech-stack.md。
- 仓库与模块发现:识别 monolith、multi-module、monorepo、service directory 和 backend entrypoint,定位后端边界与构建入口。
- 代码事实提取:读取构建声明、依赖锁定文件、运行配置、部署配置、数据库迁移、源码入口和框架标识;历史文档只作为候选线索。
- 版本解析优先级:优先使用锁文件、resolved dependency graph、运行镜像和工具链声明;直接依赖声明次之;无法确认时标记 unknown。
- 技术栈归类:按语言、运行时、包管理/构建工具、Web/API 框架、Web server、数据库、MQ、缓存、数据访问、调度、文件存储、安全认证、观测和测试等类别输出。
- 证据链接与不确定性标注:每个关键版本必须带来源说明;服务端外部版本无法由代码证明时明确写为需要运维确认。
- Markdown 报告生成:按 assets/tech-stack-report-template.md 生成面向交付的清单式文档,并追加证据摘要。
[Workflow(执行流程)]
本 Skill 使用顺序分析工作流。详细证据矩阵、版本解析规则和输出模板约束见 references/tech-stack-digger-workflow.md。
1. 解析用户输入,确认 `{project-root}`、`{output-dir}` 和 `{report-name}`。若缺少 `{output-dir}`,必须先询问;不得写入默认项目根目录。
2. 创建或确认 `{output-dir}`,默认报告文件名为 `backend-tech-stack.md`。若目标文件已存在,先读取并说明将覆盖、追加或生成带时间戳文件;用户未授权时不覆盖。
3. 扫描仓库结构、语言生态和构建入口。若识别到已有专属生态 Skill 可提供更精确解析,优先建议或路由到对应专属 Skill;未命中时按通用证据规则分析。
4. 读取运行配置和源码证据,补充数据库、Redis、MQ、调度、文件存储、安全认证、服务发现、网关、监控和测试工具事实。
5. 按证据优先级合并事实。冲突时保留全部候选、标注来源和优先级,不自行猜测生产运行版本。
6. 使用 `assets/tech-stack-report-template.md` 输出 Markdown:先给出用户要求的编号清单,再给出证据摘要、未确认项和核验命令。
7. 写入 `{output-dir}/{report-name}` 后,检查文件存在、标题、编号清单和 evidence anchors;最终回复只给出路径、核心发现和无法确认项。
[Notes(注意事项)]
- 本 Skill 是分析与文档生成工具,不修改业务源码、构建配置或运行配置。
- 代码事实优先于 README、历史方案、聊天记录和人工记忆;文档事实必须能被构建文件、配置文件或源码交叉验证后才能写成确定结论。
- 数据库 Server、消息中间件 Server、缓存 Server、对象存储 Server 等外部服务端版本通常不能仅由应用仓库证明;只能在配置、Compose、Helm、运维脚本或锁定镜像中找到证据时写确定版本。
- 依赖版本来自生态专属解析机制时,必须写明来源,例如 lockfile、resolved dependency graph、constraints file、runtime image 或 internal framework baseline。
- 生成报告必须包含 Generated By(生成来源) 标注:speclite-brownfield-backend-tech-stack-digger。
- 如用户要求更新 _speclite/tech-stack.md,必须先确认这是目标输出文件;否则只写入用户指定目录。
[Generation Metadata(生成信息)]
本 Skill 由 skills-creator 根据既有后端项目技术栈分析流程提取生成。后续修改必须同步更新 SKILL.md、SKILL.en.md、CHANGELOG.md,并同步 forge/ 与 SpecLite assets 源目录。