Files
superwork/vscode/prompts/brainstorm.md
T
cruldra 7bac5c8b03 ✨ feat(vscode): 七份提示词统一走 Handlebars,头脑风暴三档合一
- 模板引擎换成 Handlebars(noEscape,提示词是纯文本不能被转义),单花括号写法彻底退场
- brainstorm-continue / brainstorm-continue-prototype 两份并进 brainstorm.md,
  用 {{#if issueNumber}} 分新建 / 续聊,续聊里用 {{#if prototypeFile}} 嵌原型段落,
  设置面板对应的两个 textarea 一并删掉
- 模板上下文 = 工单 state JSON 全量字段 + issueNumber / userRequest / nonce /
  planFile / prNumber / prRef,以后模板想用新字段不用改扩展代码
- 各会话入口共用一条 state 读取路径,读失败只记 warn 按空状态继续,不拦开会话
- 升级后首次启动把存量自定义提示词迁到双花括号并合并成一份,改写前把
  settings.json 备份成 settings.json.bak-<时间戳>,迁移动作全写日志
- 装 handlebars 时给 vsce 传递依赖的老 semver 加 trustPolicyExclude 豁免,
  否则 no-downgrade 策略卡住整个装包

Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
2026-09-15 00:44:28 +08:00

101 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{{#if issueNumber}}
/ecc:grilling 讨论下 {{issueNumber}} 号工单
用 tea 命令找工单,用 `ecc:grilling` 技能讨论细节,用表单形式和我交互,每次只问一个问题(成组的问题也拆成一次一问)。
{{#if prototypeFile}}
工单已有原型插件 {{prototypeFile}},先读它了解已经定下来的界面和交互,在此基础上只对齐还不明确的地方,不要从零重画。
**原型要改时只能交给本工单已经开着的原型会话**:先 ListAgents 找到它,再 SendMessage 说清要改哪块、为什么改、改完怎么算对,然后等它回报。
- 原型会话终端名:issue-{{issueNumber}}-原型
{{#if prototypeSessionId}}
- 原型会话 id:{{prototypeSessionId}}(它 transcript 的文件名就是这个 id)
{{/if}}
严禁用下面这些方式代替:Agent 工具派子代理 / fork 分身 / 后台代理,自己动插件代码,翻 git log 猜会话。ListAgents 里没有这个原型会话就**停下告诉我**去工单面板的「原型会话id」行点 ▶ 起一个,不要自作主张换别的做法。
{{/if}}
## 产物与顺序
1. 需求讨论到共识后,用 Skill 工具调 `ecc:spec` 写设计文档到 `.claude/specs/<stem>.md`,让我确认。
2. 设计文档我确认后,用 Skill 工具调 `ecc:plan`,参数是设计文档路径,产出 `.claude/plans/<stem>.md`;计划出来后停下等我确认。
3. `<stem>` 取工单标题的英文短横线名,设计文档与计划共用同一个 stem;文件名里不要带 `spec` / `plan` 字样,目录已经表达了。工单已有 marker 就沿用其中的 stem。
## marker 维护(本会话有效)
设计文档 / 计划文件**一律在当前主 worktree(main 分支)创建并提交**(`ecc:spec` 默认不提交,这里要显式提交),每次只提交这两个文件(提交信息形如 `📝 docs: #<工单号> 设计文档` / `📝 docs: #<工单号> 实施计划`),不要为此新建或切换分支。创建后追加对应 marker:
```
opencli spx issue marker --issue <工单号> --type spec --value .claude/specs/<stem>.md
opencli spx issue marker --issue <工单号> --type plan --value .claude/plans/<stem>.md
```
## 严禁擅自继续
如果你创建/更新了设计文档或计划文件并 marker 已同步,**立即停下**汇报;不要进入实施流程。
特别地:
- 不要创建分支
- 不要切换分支,包括 `git checkout` / `git switch`
- 除设计文档 / 计划文件外不要修改任何文件
- 不要创建 PR
- 不要调用 gitea 其他写操作(除上面的 marker 同步)
{{else}}
接下来我要实现下面这样的功能: {{userRequest}}
你的任务:用 spx CLI 创建一个 Gitea 工单。spx 用法参考 `using-spx-cli` skill。
## 工单格式
先检查仓库的 `.gitea/ISSUE_TEMPLATE/` 目录:
- 有模板(`.md` 或 `.yaml`)→ 严格按模板填 body:标题前缀、章节标题、必填字段都写齐
- 没有模板 → 用普通 markdown 自由写
无论哪种情况,body **末尾必须**包含这一行(且仅此一行;不要预先写其他 `<!-- spx:* -->` marker):
```
<!-- spx:nonce={{nonce}} -->
```
## 创建
把 body 写到 `/tmp/issue-body.md`,调 spx:
```
opencli spx issue create --title "<标题>" --body-file /tmp/issue-body.md
```
spx 返回工单号 + html_url。记下工单号,后续命令用。
## 后续设计文档 / 计划维护(本会话有效)
需求与计划走 ECC 工作流:`/ecc:grilling` 讨论需求,`/ecc:spec` 产出设计文档,`/ecc:plan <设计文档路径>` 产出实施计划。文件路径固定:
- 设计文档:`.claude/specs/<stem>.md`
- 计划:`.claude/plans/<stem>.md`
`<stem>` 取工单标题的英文短横线名(如 `app-entity`),两个文件用同一个 stem,文件名里不要带 `spec` / `plan` 字样。两个文件**一律在当前主 worktree(main 分支)创建并提交**(`ecc:spec` 默认不提交,这里要显式提交),每次只提交这两个文件(提交信息形如 `📝 docs: #<工单号> 设计文档` / `📝 docs: #<工单号> 实施计划`);实施 worktree 从 main 当前提交切出,没提交的文件在那边看不到。
**只有**当你真正创建了设计文档或计划文件后才追加对应 marker:
```
opencli spx issue marker --issue <工单号> --type spec --value .claude/specs/<stem>.md
opencli spx issue marker --issue <工单号> --type plan --value .claude/plans/<stem>.md
```
spx 自动找到对应行替换或追加,保留所有其他 marker。**不要自己手写 `<!-- spx:* -->` 行**。
## 严禁擅自继续
成功创建工单后**立即停下**汇报:输出工单号 + html_url 即可。
特别地:
- 不要创建分支
- 不要切换分支
- 除设计文档 / 计划文件外不要改动或提交任何文件
{{/if}}