diff --git a/skills/universal-project-kickoff/SKILL.md b/skills/universal-project-kickoff/SKILL.md index 435130e..1dceaf8 100644 --- a/skills/universal-project-kickoff/SKILL.md +++ b/skills/universal-project-kickoff/SKILL.md @@ -110,7 +110,7 @@ Match the following patterns in the user's message (case-insensitive): | Option | Description | Subsequent Routing | |--------|-------------|--------------------| | 🚀 **Start New Project** | Start a project from scratch | → Ask for language/framework → Step 0b Language Confirmation → Enter mandatory six-step process | -| 💻 **Develop New Feature** | Add a feature to an existing project | → Enter Step 0c Tech Stack Confirmation + Capability Recommendation | +| 💻 **Develop New Feature** | Add a feature to an existing project | → Step 0a-dev Task Clarification → ask opt-in → Step 0c (if yes) or proceed directly | | 🔍 **Review Code** | Review a PR or code changes | → Step 0a Target Confirmation → Step 0c Tech Stack Confirmation + Review Tool Recommendation | | 🐛 **Fix Bug** | Troubleshoot and fix issues | → Step 0a Target Confirmation → Step 0c Tech Stack Confirmation + Debugging Tool Recommendation | | 🔧 **Explore Tools** | See what skills/plugins/commands are available | → Enter Step 0c Full Capability Scan | @@ -178,7 +178,22 @@ Before starting the review, confirm the AI model to use. Different models differ > "Please enter the model name you'd like to use (e.g., `sonnet`, `opus`, `haiku`, `fable`, or a specific model ID)" - Record the user's choice in the review context; use that model for subsequent Agent calls -4. **Enter review** → Execute Step 0c tech stack scan → Prioritize matching `pr-review`, `code-review` capabilities when recommending skills. +4. **Enter review** → Proceed to Layer 6. + +**Layer 6 (All review paths) — Tool Recommendation Opt-in:** + +⚠️ Before scanning for review tools, ask the user: + +Use `AskUserQuestion`: +> "I can scan the project tech stack and recommend code review tools. Would you like that?" + +| Option | Description | +|--------|-------------| +| ✅ **Yes, scan and recommend** | Execute Step 0c with "Review Code" intent filter | +| ⏭️ **Skip** | Proceed directly to the review with confirmed target/scope/model | + +- If user agrees → Execute Step 0c tech stack scan → Prioritize matching `pr-review`, `code-review` capabilities when recommending skills. +- If user declines → Proceed directly to the review. ##### Fix Bug Branch @@ -189,16 +204,32 @@ The "Fix Bug" intent needs to first confirm the target project. Use `AskUserQuestion`: > "Which project are you fixing a bug in? Is it the current workspace project, or another project?" -**2. Check local status:** +**2. Ask for bug details:** + +Use `AskUserQuestion`: +> "Describe the bug — error messages, reproduction steps, what's the impact?" + +- Record bug context (error info, impact, repro steps) +- This context informs Step 0c filtering if the user opts into tool discovery + +**3. Check local status:** - Compare the user's project info against the current workspace git remote - If the target project is not local → guide cloning - After cloning, switch to the target project directory -**3. Enter Step 0c:** +**4. ⚠️ Confirmation gate — Before entering Step 0c:** -- Execute tech stack scan in the correct project directory -- Prioritize matching debugging tools + general code analysis skills when recommending +Use `AskUserQuestion`: +> "Would you like me to scan the project and recommend debugging/diagnostic tools?" + +| Option | Description | +|--------|-------------| +| ✅ **Yes, scan and recommend** | Execute Step 0c with "Fix Bug" intent filter | +| ⏭️ **Skip** | Proceed directly to bug fixing with bug context recorded | + +- If user agrees → Enter Step 0c: execute tech stack scan in the correct project directory, prioritize matching debugging tools + general code analysis skills when recommending +- If user declines → skip Step 0c, proceed with recorded bug context ##### 🍴 Fork Project Branch (5-Step Sub-Process) @@ -340,6 +371,34 @@ The "Fork Project" intent requires executing five steps in order: Get Repository 4. Summarize next steps: > "Your project is ready. Next steps: make changes → `git add` + `git commit` → `git push origin ` → create PR. Let me know if you need any help." +#### Step 0a-dev: Task Clarification (Only for "Develop New Feature") + +Before jumping to tool discovery, clarify the actual task first: + +1. **Ask for feature description:** + + Use `AskUserQuestion`: + > "What feature do you want to develop? Briefly describe it." + + - Record the feature description for use as task context. + +2. **Confirm the target project:** + + > "Which project are you working in?" (confirm or switch the working directory) + +3. **⚠️ Confirmation gate — Before entering Step 0c:** + + Use `AskUserQuestion`: + > "Before you start, would you like me to scan your project and recommend matching development tools and skills?" + + | Option | Description | + |--------|-------------| + | ✅ **Yes, scan and recommend** | Execute Step 0c with "Develop Feature" intent filter | + | ⏭️ **Skip** | Proceed directly to feature development with task context recorded | + + - If user agrees → Enter Step 0c + - If user declines → skip Step 0c, proceed with recorded task context + #### Step 0b: Language/Framework Confirmation (Only for "Start New Project") > "What programming language/framework would you like to use?" @@ -551,6 +610,16 @@ Mark uninstalled plugins in the recommendation list with 🆕. After user select ⚠️ If the user chooses "Skip" → jump to 0c-6 +⚠️ **Confirmation gate — Before displaying commands:** + +Use `AskUserQuestion`: +> "I can show the available commands and shortcuts for your selected tools. Would you like to see them now?" + +| Option | Description | +|--------|-------------| +| ✅ **Yes, show commands** | Continue to 0c-5 command discovery | +| ⏭️ **Skip for now** | Jump to 0c-6 | + Load `references/scanner-patterns.md` §Command Discovery Reference. **5a. MCP Tool Discovery (only scan plugins the user selected):** diff --git a/skills/universal-project-kickoff/locale/SKILL.cn.md b/skills/universal-project-kickoff/locale/SKILL.cn.md index 56459ce..f6b3f5f 100644 --- a/skills/universal-project-kickoff/locale/SKILL.cn.md +++ b/skills/universal-project-kickoff/locale/SKILL.cn.md @@ -111,7 +111,7 @@ locale: zh-CN | 选项 | 说明 | 后续分流 | |------|------|---------| | 🚀 **启动新项目** | 从零开始一个项目 | → 追问语言/框架 → Step 0b 语言确认 → 进入强制六步流程 | -| 💻 **开发新功能** | 在现有项目中添加功能 | → 进入 Step 0c 技术栈确认 + 能力推荐 | +| 💻 **开发新功能** | 在现有项目中添加功能 | → Step 0a-dev 任务澄清 → opt-in询问 → Step 0c(如同意)或直接进入开发 | | 🔍 **审查代码** | Review PR 或代码变更 | → Step 0a 目标确认 → Step 0c 技术栈确认 + 审查工具推荐 | | 🐛 **修复 Bug** | 排查和修复问题 | → Step 0a 目标确认 → Step 0c 技术栈确认 + 调试工具推荐 | | 🔧 **探索工具** | 看看有什么可用的技能/插件/命令 | → 进入 Step 0c 完整能力扫描 | @@ -179,7 +179,22 @@ locale: zh-CN > "请输入你想使用的模型名称(如 `sonnet`、`opus`、`haiku`、`fable`,或具体模型 ID)" - 用户输入后记录到审查上下文,后续 Agent 调用时使用该模型 -4. **进入审查** → 执行 Step 0c 技术栈扫描 → 推荐技能时优先匹配 `pr-review`、`code-review` 能力。 +4. **进入审查** → 进入第 6 层。 + +**第 6 层(所有审查路径)— 工具推荐 Opt-in:** + +⚠️ 在扫描审查工具前,先询问用户: + +使用 `AskUserQuestion`: +> "我可以扫描项目技术栈并推荐代码审查工具。是否需要?" + +| 选项 | 说明 | +|------|------| +| ✅ **是,扫描并推荐** | 以「审查代码」意图过滤器执行 Step 0c | +| ⏭️ **跳过** | 直接用已确认的目标/范围/模型进入审查 | + +- 若用户同意 → 执行 Step 0c 技术栈扫描 → 推荐技能时优先匹配 `pr-review`、`code-review` 能力 +- 若用户拒绝 → 直接进入审查 ##### 修复 Bug 分支 @@ -190,16 +205,32 @@ locale: zh-CN 使用 `AskUserQuestion` 询问: > "你要在哪个项目中修 Bug?是当前工作区的项目,还是其他项目?" -**2. 检查本地状态:** +**2. 追问 Bug 详情:** + +使用 `AskUserQuestion` 询问: +> "请描述你遇到的 Bug——报错信息是什么?复现步骤是什么?影响范围如何?" + +- 记录 Bug 上下文(错误信息、影响范围、复现步骤) +- 此上下文可在用户选择进入 Step 0c 时指导工具推荐 + +**3. 检查本地状态:** - 从用户提供的项目信息对比当前工作区的 git remote - 若目标项目不在本地 → 引导 clone - Clone 完成后切换到目标项目目录 -**3. 进入 Step 0c:** +**4. ⚠️ 确认门 — 进入 Step 0c 前询问:** -- 在正确的项目目录中执行技术栈扫描 -- 推荐技能时优先匹配调试工具 + 通用代码分析技能 +使用 `AskUserQuestion`: +> "是否需要我扫描项目并推荐调试/诊断工具?" + +| 选项 | 说明 | +|------|------| +| ✅ **是,扫描并推荐** | 以「修复 Bug」意图过滤器执行 Step 0c | +| ⏭️ **跳过** | 直接进入 Bug 修复,记录 Bug 上下文 | + +- 若用户同意 → 进入 Step 0c:在正确的项目目录中执行技术栈扫描,推荐技能时优先匹配调试工具 + 通用代码分析技能 +- 若用户拒绝 → 跳过 Step 0c,带着已记录的 Bug 上下文继续 ##### 🍴 Fork 项目分支(5 步子程序) @@ -341,6 +372,34 @@ locale: zh-CN 4. 总结下一步: > "项目已就绪。接下来的流程:做改动 → `git add` + `git commit` → `git push origin ` → 创建 PR。如需帮助,随时告诉我。" +#### Step 0a-dev:任务澄清(仅「开发新功能」时执行) + +在跳转到工具发现之前,先澄清具体任务: + +1. **追问功能描述:** + + 使用 `AskUserQuestion`: + > "你要开发什么功能?请简要描述。" + + - 记录功能描述,作为后续任务上下文。 + +2. **确认目标项目:** + + > "在哪个项目中开发?"(确认或切换工作目录) + +3. **⚠️ 确认门 — 进入 Step 0c 前询问:** + + 使用 `AskUserQuestion`: + > "开始之前,是否需要我扫描项目并推荐匹配的开发工具和技能?" + + | 选项 | 说明 | + |------|------| + | ✅ **是,扫描并推荐** | 以「开发功能」意图过滤器执行 Step 0c | + | ⏭️ **跳过** | 直接进入功能开发,记录任务上下文 | + + - 若用户同意 → 进入 Step 0c + - 若用户拒绝 → 跳过 Step 0c,带着已记录的任务上下文继续 + #### Step 0b:语言/框架确认(仅「启动新项目」时追问) > "你想用什么编程语言/框架?" @@ -552,6 +611,16 @@ locale: zh-CN ⚠️ 若用户选择「跳过」→ 跳至 0c-6 +⚠️ **确认门 — 展示指令前询问:** + +使用 `AskUserQuestion`: +> "我可以展示你已选工具的可用指令和快捷方式。是否现在查看?" + +| 选项 | 说明 | +|------|------| +| ✅ **是,展示指令** | 继续 0c-5 指令发现 | +| ⏭️ **暂时跳过** | 跳至 0c-6 | + 加载 `references/scanner-patterns.md` §Command Discovery Reference。 **5a. MCP 工具发现(仅扫描用户已选择的插件):**