关于 detect-stack
detect-stack 是一项扫描项目并生成简明 `.agents/stack-context.md` 文件的编码技能,帮助编码 Agent 了解代码库的语言、框架、测试、CI 检查和约定,并在上下文过时时重新运行。
主要功能
- 01检测语言与框架
- 02发现测试和 CI 检查
- 03检查约定与目录结构
- 04生成技术栈上下文文件
- 05提供过期上下文重跑条件
适用场景
- 01开始处理陌生项目
- 02依赖变更后刷新上下文
- 03梳理项目检查项和约定
MCP 相关
需要框架 API 细节时,建议使用 context7 MCP 查阅文档;若未覆盖,则改用网页搜索。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jordancoin/ codingskills --skill detect-stack安装后在 Claude Code 中输入/detect-stack确认已加载。
详细介绍
检测技术栈
分析当前代码库并生成 .agents/stack-context.md。在项目中首次使用时,或技术栈上下文缺失或过时时运行。
检测内容
扫描项目根目录,查找以下信号:
语言 — 统计文件扩展名(.rs、.py、.ts、.go、.swift、.java、.rb、.cs、.ex 等)。主要语言 = 文件数量最多的语言。记录次要语言。
框架 — 读取包清单文件:
Cargo.toml→ 检查[dependencies]中是否有 axum、actix、rocket、sqlx、diesel、tokiopackage.json→ 检查是否有 react、next、svelte、express、fastify、prismago.mod→ 检查是否有 gin、echo、fiber、chi、sqlcpyproject.toml/requirements.txt→ 检查是否有 django、flask、fastapi、sqlalchemyGemfile→ 检查是否有 rails、sinatraPackage.swift→ 检查是否有 Vapor;扫描 SwiftUI 导入语句mix.exs→ 检查是否有 phoenix、ecto
测试 — 查找测试目录、测试文件命名模式和测试配置文件。
CI 门禁 — 扫描 .github/workflows/、.gitlab-ci.yml 等,查找阻断性检查(格式、lint、类型检查、测试)。
约定 — 检查 CLAUDE.md、AGENTS.md、CONTRIBUTING.md。记录目录结构和命名模式。
输出
写入 .agents/stack-context.md,保持简短(少于 40 行):
# Stack Context
Generated: YYYY-MM-DD
## Stack
- **Language**: [primary] [version if pinned]
- **Framework**: [web framework], [db layer]
- **Build**: [build tool]
- **Test**: [test command + framework]
- **Lint**: [linter] [CI gate: yes/no]
- **Format**: [formatter] [CI gate: yes/no]
## Secondary Languages
- [language] ([what it's used for])
## Conventions
- Error handling: [pattern]
- Module structure: [pattern]
- Naming: [pattern]
- Tests: [where they live, how they're organized]
## CI Gates
- [list of blocking checks]
特定技术栈的原则应用
写入技术栈上下文后,不要生成静态参考文件。而是:
- 运用你对检测到的语言和框架的内置知识,以符合其惯用方式的形式应用各项编码原则
- 如果需要了解特定框架 API 的详细信息,请使用 context7 MCP(先执行
resolve-library-id,再执行query-docs)获取最新文档 - 如果 context7 未涵盖相关内容,则使用网络搜索作为备用方案
编码原则技能在设计上与语言无关。你需要在原则与技术栈之间起到桥梁作用。
何时重新运行
.agents/stack-context.md不存在- 主要依赖发生变化(新增框架、语言版本升级)
- 项目结构发生重大变化
- 上下文文件已超过 30 天未更新
评论
支持 Markdown