大模型应用
需要把当前工作交接给 Pulumi Neo 新任务时…
当用户明确要求把当前进行中的工作交接、转移或继续到 Pulumi Neo 时,组装一份包含目标、仓库指针和对话摘要的提示并启动 Neo 任务。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要把当前工作交接给 Pulumi Ne特定
解决思路
- 作为交接协调者而非操作者:不要逐轮叙述交接过程,用户已决定就安静执行;不要把组装好的提示正文粘贴到聊天中,只显示临时文件路径;启动后不要继续处理该任务,拿到任务 URL 后干净退出。
- 预检:运行 `command -v pulumi >/dev/null || { echo "pulumi CLI not installed"; exit 1; }` 和 `pulumi neo --help >/dev/null 2>&1 || { echo "pulumi neo unavailable — run 'pulumi login' or upgrade the CLI"; exit 1; }`;若预检失败,向用户显示错误并停止,不要组装完提示后才在启动时失败。
- 确定目标:用一句话描述 Neo 接下来该做什么;若用户的交接消息中已包含(如“hand this off to Neo and apply the staging migration”)则直接使用,否则只问一次“What would you like Neo to do next?”;不要复述目标请求确认。
- 收集仓库上下文:运行 `git rev-parse --show-toplevel` 获取仓库根(规范指针)、`git rev-parse --abbrev-ref HEAD` 获取分支(分离头指针时返回 "HEAD")、`git status --short` 获取工作树摘要;若 `git rev-parse --show-toplevel` 失败说明不是 git 仓库,则省略 Repository 部分只记录工作目录;若分支为 `HEAD`,记录 commit SHA 并标注为 "detached at `<sha>`"。
- 从对话中识别 3 到 5 个与进行中工作最相关的文件(被读取、编辑或反复讨论的);若对话未明确识别文件,则一个都不列,不要猜测——错误的文件比缺失的文件更会误导 Neo。
- 起草对话摘要,按以下结构编写,无内容的章节省略而非填充:`## What's been done`(已做决策、已改代码、已排除的死路)、`## Open questions`(用户未解决的问题)、`## Next step`(一两句话描述 Neo 首先该做什么);目标约 400 词,积极压缩,目的是让 Neo 干净接手而非重放对话。
- 组装提示并写入临时文件:用 `PROMPT_FILE="$(mktemp -t neo-handoff.XXXXXX.md)"` 生成可移植临时路径;文档结构为 `# Goal`(一句话目标)、`# Repository`(Root、Branch、Working directory、Working tree: clean|dirty、Files in play 列表)、`# Conversation summary`(第 3 步的摘要)。
- 打印临时文件路径及一行大小摘要(如 `Prompt written to <PROMPT_FILE> (<line count> lines, <byte count> bytes).` 和 `Launching Neo task...`),以便用户按需检查。
- 启动:运行 `pulumi neo "$(cat "$PROMPT_FILE")"`;`pulumi neo` 只接受提示作为单个位置参数,没有 `--file` 标志,stdin 重定向会启动 TUI 而非消费提示;`"$(cat ...)"` 形式把文件字节作为数据捕获(shell 不会重新求值 `$`、反引号或 `\`)并作为单个参数传入;不要改成 `pulumi neo --file ...` 或 `pulumi neo < ...`,这两种形式对当前 CLI 都是坏的。
- 若 CLI 以非零退出,原样显示其 stderr 并保留提示文件以便用户重试;不要假装交接成功。
- 显示任务 URL:CLI 成功时会打印任务 URL,原样回显,然后停止。
- 不要在没有明确交接意图时调用此技能:检测到基础设施类工作不是触发条件,“can Neo do X”这类能力问题不是交接;在这些情况下激活会让技能嘈杂且错误。
- 不要在提示中包含 diff、文件内容或命令输出:Neo 直接看到本地工作树,重复这些内容会浪费其开场上下文。
- 不要把组装好的提示粘贴到聊天中请求确认:摘要可能很长,文件路径足以让用户按需检查。
- 不要代替用户 commit、push 或修改工作树:git 状态归用户所有,此技能是上下文交接而非工作流控制器。
适用边界 · 注意事项
- 用户只是提到 Neo、询问 Neo 能做什么、要求 AI 写 PR 或预览说明,或交接给其他 agent 时,不要使用。
- 没有明确交接意图时不要使用——检测到基础设施类工作不是触发条件。
- 预检失败(pulumi CLI 未安装或 pulumi neo 不可用)时不要继续组装提示。