to-questionnaire

by Matt Pocock · mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

Planning & specsMIT3 files

What it tells an agent to do.

The author’s own instructions, as your agent receives them — the same bytes the endpoint serves.

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.

Document structure

Frame the document as a discovery questionnaire: the user lacks context, the recipient holds it. Order questions most-important-first, since 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>

<Questionnaire title>

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>

Context

One paragraph orienting a recipient who wasn't in the user's head. Enough to answer well, not a page.

How to answer

Deadline and rough effort. Partial answers and "I don't know" are useful: flag anything you're unsure of rather than skipping it.

<Theme heading>

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> ### What load is the system expected to handle at launch?

Why this matters: it decides whether we provision for burst traffic now or defer it.

</question-example>

Anything else?

A closing catch-all: anything we didn't ask that we should know?

</questionnaire-template>

More in planning & specs

brainstorming

Jesse Vincent

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirem

What it does →

writing-plans

Jesse Vincent

Use when you have a spec or requirements for a multi-step task, before touching code

What it does →

executing-plans

Jesse Vincent

Use when you have a written implementation plan to execute in a separate session with review checkpoints

What it does →

idea-refine

Addy Osmani

Refines raw ideas into sharp, actionable concepts through structured divergent and convergent thinking. Use when an idea is still vague, when you need to stress

What it does →

interview-me

Addy Osmani

Extracts what the user actually wants instead of what they think they should want. Achieves this through one-question-at-a-time interview until ~95% confidence

What it does →

planning-and-task-breakdown

Addy Osmani

Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large

What it does →