awesome-copilot 的 boost-prompt 技能:用 Joyride 驱动的交互式提示词精炼工作流
【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot
导读
boost-prompt是 awesome-copilot 仓库中一个面向"提示词工程"的 Agent Skill,它的核心使命是:把用户一句粗糙的任务描述,通过一轮又一轮的定向提问与项目探查,精炼成一份结构清晰、可直接复用、高质量的任务提示词(Markdown)。本文基于 skills/boost-prompt/SKILL.md 完整讲解该技能的目标、工作流程、与 Joyride 扩展的协作方式、剪贴板写入的 Clojure 代码,并结合仓库中 Joyride 用户项目助手指令 与同族的 first-ask 技能 说明其底层原理与适用边界。读完本文,你将掌握如何安装、触发并复刻这套"提问—澄清—成稿—落剪贴板"的提示词精炼闭环。
一、技能定位:只精炼提示词,绝不写代码
在 SKILL.md 的开头,技能对自身的角色约束写得非常明确:
You are an AI assistant designed to help users create high-quality, detailed task prompts.DO NOT WRITE ANY CODE.
这是一条硬性边界:boost-prompt的产出是"任务提示词"本身,而不是代码实现。它扮演的是提示词顾问/精炼器的角色,帮助用户把意图表达清楚,至于最终由谁(哪个 Agent 或哪款工具)去执行这份提示词,不在本技能职责范围内。
在仓库的 docs/README.skills.md 中,该技能被登记为:
Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code.Requires the Joyride extension.
这一句话点出了技能的全部关键要素:
- 交互式:通过提问与用户协作,而不是一次性输出;
- 盘问三大要素:范围(scope)、交付物(deliverables)、约束(constraints);
- 落剪贴板:最终提示词以 Markdown 形式写入系统剪贴板;
- 不写代码:与上面 SKILL.md 中的硬性规定呼应;
- 依赖 Joyride 扩展:这是该技能能否运行的硬前提。
二、安装与触发方式
boost-prompt属于 Agent Skills,遵循仓库统一的技能管理方式。根据 docs/README.skills.md 的说明,安装方式有两种:
方式一:使用 GitHub CLI 安装(推荐,要求 GitHub CLI v2.90.0+)
gh skills install github/awesome-copilot boost-prompt方式二:手动复制技能目录
将skills/boost-prompt/文件夹整体复制到本地技能目录即可(该技能当前无捆绑资源,目录内仅含SKILL.md一个文件)。
安装后,既可以在提示词中显式引用该技能,也可以让 Agent 在检测到"用户想改进/精炼一段提示词"的意图时自动加载。SKILL.md 的 frontmatter 中description字段(Interactive prompt refinement workflow...)正是用于帮助 Agent 判断何时触发该技能的描述信息。
注意:本技能依赖 Joyride 扩展,未安装该扩展时技能内的剪贴板写入代码将无法执行,请在使用前先安装并启用 Joyride。
三、核心工作流:迭代式精炼
技能的总体目标描述为:"iteratively refine the user's prompt"(迭代精炼用户的提示词)。这意味着它不是一次问答就结束,而是通过多轮交互,逐步逼近一份高质量的提示词。
3.1 五个精炼维度
SKILL.md 明确列出了精炼过程需要覆盖的维度:
| 维度 | 说明 |
|---|---|
| 理解任务范围与目标 | 先弄清用户到底想做什么、任务边界在哪里 |
| 定义预期交付物与成功标准 | 明确"做完长什么样"以及"怎样算成功" |
| 澄清技术与流程要求 | 涉及技术选型、执行流程、环境等细节的确认 |
| 组织提示词结构 | 把信息组织成清晰的章节或步骤 |
| 保证提示词易于理解与执行 | 最终文本应让任何读取者(包括其他 Agent)都能无歧义地照做 |
3.2 澄清的关键工具:joyride_request_human_input
技能特别强调了一个工具调用规则:
At all times when you need clarification on details, ask specific questions to the user using the
joyride_request_human_inputtool.
即:任何时候需要澄清细节,都应当通过joyride_request_human_input向用户提出具体问题,而不是凭空猜测。这一点与仓库中同族的 first-ask 技能 完全一致——后者同样将joyride_request_human_input视为收集任务信息的关键手段(见 skills/first-ask/SKILL.md)。区别在于:
- first-ask:精炼完任务理解后直接执行任务("Then get to work!");
- boost-prompt:精炼完成后产出提示词本身,并交给用户去使用,永不进入编码阶段。
3.3 项目探索:用工具加深理解
除了向用户提问,技能还允许(并鼓励)在必要时使用可用工具对项目进行探索:
Perform project explorations, using available tools, to further your understanding of the task
也就是说,如果任务与某个代码库相关,Agent 可以查阅项目结构、源码或配置来加深对任务上下文的理解,从而提出更精准的澄清问题、写出更贴合实际的提示词。
3.4 收尾三连:成稿 → 剪贴板 → 征求修改
信息收集充分后,执行以下步骤:
- 产出精炼后的提示词(Markdown 格式);
- 使用 Joyride 将 Markdown 写入系统剪贴板;
- 同时在聊天中完整输出这份提示词;
- 向用户宣布提示词已就绪在剪贴板,并询问是否需要任何修改或补充;
- 用户提出修订意见后,重复"复制 + 聊天输出 + 再询问"的循环,直到用户满意。
四、剪贴板写入:Joyride 的 Clojure 代码解析
这是本技能最具实操价值的部分——它给出了可直接复制的 Joyride 剪贴板写入代码:
(require '["vscode" :as vscode]) (vscode/env.clipboard.writeText "your-markdown-text-here")4.1 代码逐行拆解
(require '["vscode" :as vscode]):以命名空间别名vscode引入 VS Code 的 API 模块。这与 instructions/joyride-user-project.instructions.md 中描述的 VS Code API 访问模式完全一致——Joyride 运行在 VS Code 的 Extension Host 中,通过 SCI(Small Clojure Interpreter)执行 ClojureScript,可以全量访问 VS Code API。(vscode/env.clipboard.writeText "..."):调用剪贴板环境的writeText方法,将字符串写入系统剪贴板。实际使用时,需要把"your-markdown-text-here"替换为精炼后的提示词全文。
4.2 底层运行原理:Joyride 与 REPL
理解这段代码背后的机制,有助于你在自己的自动化脚本中复用 Joyride:
- Joyride 是 VS Code 的用户空间自动化工具,使用 ClojureScript 编写脚本;
- 代码在Extension Host中运行,因此可以调用完整的 VS Code API(编辑器、剪贴板、命令、WebView 等);
- Joyride 提供REPL,支持"交互式编程":先在 REPL 中逐段验证小表达式,再组合成完整解决方案(见 instructions/joyride-user-project.instructions.md 对 REPL 驱动开发的哲学阐述);
joyride_request_human_input这一 MCP 风格工具正是建立在 Joyride 与宿主 IDE 通信能力之上的,它让 Agent 可以在对话中向用户发起结构化提问,并等待真实的人工输入返回。
五、与同族技能及仓库生态的关系
5.1 与 first-ask 的对比
| 对比项 | boost-prompt | first-ask |
|---|---|---|
| 依赖 | Joyride 扩展 | Joyride 扩展 |
| 核心工具 | joyride_request_human_input | joyride_request_human_input |
| 精炼对象 | 用户的任务提示词 | 对任务的理解 |
| 最终产出 | 一份改进后的 Markdown 提示词(进剪贴板) | 确认理解后直接执行任务 |
| 是否写代码 | 永不 | 依任务而定 |
二者可以组合使用:先用boost-prompt打磨出一份高质量提示词,再让某个执行型 Agent 依据这份提示词(配合first-ask的思路)去落实任务。
5.2 在 awesome-copilot 中的定位
awesome-copilot 是一个汇集了 Agents、Instructions、Skills、Hooks、Workflows、Plugins 的社区资源仓库(见 README.md)。boost-prompt属于Skills分类(自带SKILL.md指令文件、遵循 Agent Skills 规范、按需加载),与其定位相近的还有:
- skills/prompt-optimizer/SKILL.md:面向任意 LLM 聊天界面的提示词打磨;
- skills/first-ask/SKILL.md:交互式任务澄清后再执行;
- skills/finalize-agent-prompt/SKILL.md:以 Agent 角色润色最终提示词。
boost-prompt的差异化价值在于:它是唯一把"交互式提问澄清"与"Joyride 剪贴板落地"绑定在一起的技能,产出即所得,用户拿到提示词后可以直接粘贴到任意目标环境中使用。
六、适用场景与使用建议
结合 SKILL.md 的定位,以下场景适合使用boost-prompt:
- 你只有一个模糊的想法或半成品描述,希望交给 AI 时能得到高质量执行,需要先把提示词打磨清楚;
- 你要写一份给其他 Agent 或同事执行的任务说明,希望结构清晰、含范围/交付物/成功标准/约束;
- 你希望最终提示词能一键复制到剪贴板,避免手动复制粘贴的麻烦。
使用建议:
- 确保已安装 Joyride 扩展,否则剪贴板写入步骤无法工作;
- 耐心参与多轮提问,回答越具体,最终提示词越精准;
- 最终提示词同时会出现在聊天中,可以在确认剪贴板版本无误后再去其他环境使用;
- 若要修改,直接在对话中提出,技能会重复"复制 + 输出 + 询问"直到你满意。
七、小结
boost-prompt用一份极简的SKILL.md定义了完整的"提示词精炼工作流":以joyride_request_human_input驱动交互式澄清,以项目探索补足上下文,最终通过 Joyride 的(vscode/env.clipboard.writeText ...)把 Markdown 提示词送入剪贴板,并坚持"绝不写代码"的角色边界。理解它,你就掌握了一种可复用的"人机协作精炼提示词"范式——这份 Clojure 剪贴板片段与提问循环,同样可以迁移到你自己的 Joyride 自动化脚本中。
【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考