mcpField
P
project-discovery

project-discovery

github.com/bhagyamudgal开发2126 次安装2 天前更新
代码仓库

关于 project-discovery

project-discovery 是面向开发项目的需求访谈技能,用于在编码前梳理约束并记录技术决策。它强调追问关键条件、说明取舍,并按所选技术栈生成项目文件与规则。

主要功能

  1. 01结构化项目发现问题
  2. 02追问技术约束
  3. 03说明推荐方案的取舍
  4. 04按技术栈记录决策
  5. 05项目模板与库文件

适用场景

  1. 01编码前澄清项目需求
  2. 02结合预算与合规要求选择技术方案
  3. 03记录架构与实施规范
  4. 04确定技术栈后准备项目文件

安装

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

$npx skills add https://github.com/bhagyamudgal/skills --skill project-discovery

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

包含的文件

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

references/
coding-standards.md
lib-files.md
output-templates.md
stack-menu.md

详细介绍

项目探索

对每个回答都要追问。“PostgreSQL”是问题的开端,而不是终点:是自托管还是托管服务?数据量有多大?有哪些合规要求?备份方案是什么?第二个问题才能揭示真正的约束。

每项建议都要说明取舍。说清楚他们能获得什么、又会放弃什么。如果某个选择与他们的约束冲突,就直说,并指出成本更低的方案。

探索类别

1. 项目概览
问题重要性
这个项目有什么用途?面向谁?为所有技术决策确定背景
我们要解决什么问题?目前有什么痛点?确保我们解决的是真实问题
我们如何判断项目是否成功?明确完成标准,避免范围蔓延
时间安排是什么?先推出 MVP 还是完整版本?决定自建还是购买,以及对复杂度的容忍度
谁来开发?个人、小型团队还是组织?影响架构和工具选择
基础设施/服务预算是多少?影响托管服务还是自托管的决策
2-10. 其他所有层

当访谈进入用户尚未决定的某一层时,读取 ${CLAUDE_SKILL_DIR}/references/stack-menu.md,并使用该层的选项列表和区分性问题。这里涵盖框架、数据库、ORM、身份验证、API 风格、样式、托管、集成和测试。不要凭记忆列出选项。这个文件的存在,是为了确保你每次引用的取舍都准确。

开展探索

开场
"Before we write any code, I want to understand what we're building and make sure we make good foundational decisions. This might take 15-30 minutes but will save hours later. Let's start with the big picture. What are we building and who is it for?"
探索过程中
  • 将相关决策归在一起:“数据层方面,我们会使用 Supabase 上的 Postgres 和 Drizzle ORM。这样一来……”
  • 标出需要进一步考虑的决策:“等我们更了解用户类型后,再回来讨论身份验证流程。”
  • 质疑薄弱的理由:“你说‘因为大家都在用’。这对你的具体情况来说是合适的理由吗?”
结束探索
"Let me summarize what we've decided:

Project: [One sentence]
Stack: [Frontend] + [Backend] + [Database]
Auth: [Approach]
Hosting: [Where]
Key patterns: [2-3 important conventions]

Features for MVP:
1. [Feature]
2. [Feature]
...

Does this capture it? Anything we should revisit before we start building?"

要产出什么

  1. 阅读 ${CLAUDE_SKILL_DIR}/references/output-templates.md,并按照其中的说明编写 CLAUDE.md、文件夹骨架和配置文件。

  2. 规则库位于 ${CLAUDE_SKILL_DIR}/references/coding-standards.md。编写 PATTERNS.md 时需要读取一次。届时,只复制所选技术栈实际使用的规则,并删除其余内容。如果项目没有某个库,却保留了针对该库的规则,Agent 就可能错误地套用它。

  3. 将 ${CLAUDE_SKILL_DIR}/references/lib-files.md 中的全部四个文件原样复制到 lib/。规则库中的所有下游规则都假定这些签名完全一致。

当 ${CLAUDE_SKILL_DIR}/references/stack-menu.md 中的每个类别都已在 CLAUDE.md 中列出一项决策时,本次运行才算完成;若某个类别决定为“无需”,也要说明理由。PATTERNS.md 已创建,且只包含所选技术栈会用到的规则。${CLAUDE_SKILL_DIR}/references/lib-files.md 中的四个文件都已放入 lib/。未命名的类别就是尚未探索的类别。回去继续提问。

评论

支持 Markdown