to-questionnaire:mattpocock/skills 方法论: productivity/to-questionnai,适用于工程实践、代码质量与开发流程优化。
to-questionnaire:mattpocock/skills 方法论: productivity/to-questionnai,适用于工程实践、代码质量与开发流程优化。
> 来源: mattpocock/skills (141k stars) — Total TypeScript 创始人 Matt Pocock
> 类目: 生产力
> 原文件: skills/productivity/to-questionnaire/SKILL.md
> 模型推荐: gpt-4.1 (代码工程)
Matt Pocock (Total TypeScript, 141k stars) 沉淀下来的"日常代码工程动作"skill 模板。
每一个对应一个具体动作(代码评审 / TDD / 重构 / 文档对齐 / 任务交接),不是工具,是"该怎么干这件事"的工作流模板。
michael 强调"skill 要有相应的指导功能,指导用户使用",所以这里加了下面两节让 Agent 和用户对接。
---
1. 接到任务后先按这个 skill 的检查清单走一遍
2. 清单里如果出现"先做 X 才能做 Y"的红线 → 必须先完成 X
3. 跑完清单后开始动手(改代码 / 写文档 / 评审)
4. 完工前用 `verification-before-completion`(superpowers) 或 `verification` 类 step 自检
5. 任务量大时考虑用 `dispatching-parallel-agents`(superpowers) 或 `wayfinder`(mattpocock) 拆解
1. 告诉 Agent 你要做什么(一句话即可)
2. Agent 跑 skill 清单时不要打断 — 它可能在收集上下文
3. 如果 Agent 主动问你"代码评审要不要安排一个 reviewer"等决策点 → 直接回答
4. 完工后让 Agent 跑一遍自检再交回
5. 整个过程 Agent 自动化,不需要手工介入
---
---
name: to-questionnaire
description: Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
disable-model-invocation: true
---
Turn something the user can't answer alone into a **questionnaire** — a Markdown document they hand to one person to fill in async, or fill out together over a meeting. The recipient holds knowledge the user lacks; the questionnaire pulls it out of them.
**Grill the send, not the subject.** Interview the user only about the _send_, which they can always answer: who it goes to, and what they need back. The questions in the document then target the **gap** between what the recipient knows and what the user needs.
1. **Who is it going to?** Ask, in one exchange, the recipient's role, expertise, and relationship to the user. This fixes the questionnaire's tone and how much context it must carry. Done when you know who the recipient is and what they know that the user doesn't.
2. **What do you need back?** Ask, in one exchange, the specific decisions or facts the user can't resolve alone and needs from this person. Done when you have a concrete list of what the user must walk away able to do or decide.
3. **Write the questionnaire.** Draft questions aimed at the gap from steps 1–2, following the Document structure below. Write it to `to-questionnaire-<slug>.md` in the current directory (slug from the topic) and report the path. Done when the file exists and every item the user named in step 2 is covered by a question.
Frame the document as a **discovery questionnaire**: the user lacks context, the recipient holds it. Order questions most-important-first — async means you may only get one pass — and group them under `##` headings by theme once there are more than a handful. Write it using the template below.
<questionnaire-template>
**Purpose:** why this questionnaire exists and the decision riding on it.
**From:** <the user> — **To:** <the recipient> — **How your answers will be used:** <where they go>
One paragraph orienting a recipient who wasn't in the user's head. Enough to answer well, not a page.
Deadline and rough effort. Partial answers and "I don't know" are useful — flag anything you're unsure of rather than skipping it.
One `##` section per theme. Under each, its questions, most-important-first. Every question is one idea — never compound — with an answer stub directly beneath, and a one-line _why this matters_ only where the question could be misread or invite a throwaway answer.
<question-example>
_Why this matters: it decides whether we provision for burst traffic now or defer it._
>
</question-example>
A closing catch-all: anything we didn't ask that we should know?
</questionnaire-template>
1. 告诉 Agent 你要做什么(一句话即可)
2. Agent 跑 skill 清单时不要打断 — 它可能在收集上下文
3. 如果 Agent 主动问你"代码评审要不要安排一个 reviewer"等决策点 → 直接回答
4. 完工后让 Agent 跑一遍自检再交回
5. 整个过程 Agent 自动化,不需要手工介入
---
_Why this matters: it decides whether we provision for burst traffic now or defer it._
>
</question-example>
</questionnaire-template>