Source: mattpocock/skills · Maintainer: community: Matt Pocock · License: MIT · Checked: 26 October 2026
What is the to-questionnaire skill?
The to-questionnaire skill turns a decision you can't settle on your own into a Markdown questionnaire for the one person who can answer it. Your coding agent asks who the document is going to and what you need back, then writes a file that a client, domain expert or colleague can fill in async or work through with you in a meeting.
It lives in mattpocock/skills, Matt Pocock's collection that the README describes as "My agent skills that I use every day to do real engineering - not vibe coding." The SKILL.md description is short: "Turn a decision you can't fully answer into a questionnaire for someone else to fill in."
As of 26 October 2026, its skills.sh page listed about 505,500 installs (snapshot, 26 October 2026). The repo changelog records that it graduated out of the in-progress/ folder into the Productivity bucket, so it now ships in the Claude Code plugin.
What does it do?
The skill's rule is in bold in the SKILL.md: "Grill the send, not the subject." Interviewing you about the topic would be pointless, because not knowing the topic is why you need someone else. So it only asks what you can always answer.
The run has three steps:
- Who is it going to? One exchange about the recipient's role, expertise and relationship to you. This sets the tone and how much background the document carries.
- What do you need back? One exchange listing the decisions or facts you can't resolve alone. This becomes the checklist for the finished file.
- Write the questionnaire. It drafts questions aimed at the gap between what the recipient knows and what you need, writes them to
to-questionnaire-<slug>.mdin the current directory, and reports the path. The step is done only when every item from step 2 has a question.
The file follows a fixed template, framed as a "discovery questionnaire":
| Section | What goes in it |
|---|---|
| Title, Purpose, From and To | Why the document exists, the decision riding on it, and how the answers will be used |
| Context | One paragraph for a recipient who wasn't in your head |
| How to answer | Deadline, rough effort, and permission to answer "I don't know" |
| Theme sections | Questions grouped under ## headings, most important first, each one idea with an empty answer stub |
| Anything else? | A closing catch-all for what you didn't think to ask |
A question gets a one-line "why this matters" note only where it could be misread or invite a throwaway answer.
The docs page in the repo also says what it deliberately isn't. It isn't branching: the questions are a flat, grouped list, not a tree that skips sections based on earlier answers. And it isn't multi-recipient: "One run produces one document for one person."
The folder holds two files: SKILL.md and agents/openai.yaml, which gives Codex the display name "To Questionnaire" and turns off implicit invocation. There are no scripts.
How do you install the to-questionnaire skill?
The README offers a self-updating plugin route and an editable-files route, and says to "Pick one per agent, because installing both gives you every skill twice."
Claude Code plugin (whole collection). From the README, installing from Anthropic's official plugin marketplace:
claude plugin install mattpocock-skills@claude-plugins-official
Codex plugin. Also from the README:
codex plugin marketplace add mattpocock/skills
codex plugin add mattpocock-skills@mattpocock
Just this skill, as editable files. The command shown on skills.sh:
npx skills add https://github.com/mattpocock/skills --skill to-questionnaire
The skills CLI installs to the current project by default; add -g to make it available across projects. Per the Claude Code skills docs, personal skills live in ~/.claude/skills/<skill-name>/SKILL.md and project skills in .claude/skills/<skill-name>/SKILL.md. Codex and Cursor read the same SKILL.md format; see Codex skills and Cursor skills.
The skill needs no setup. The docs say there is "no setup, no workspace, and nothing to configure."
How do you use it?
You start it yourself. The SKILL.md sets disable-model-invocation: true, which the Claude Code docs say means "Claude can't invoke the skill on its own." Type /to-questionnaire in Claude Code. In Codex, the Codex skills docs say that with implicit invocation off, "explicit $skill invocation still works," so type $to-questionnaire.
Example prompts (suggestions, not quotes from the repo):
/to-questionnaire I need the client's answers on refund rules before I build the billing flow./to-questionnaire Questions for our security lead about how long we may keep user logs./to-questionnaire Turn the open questions from this grilling session into a doc for the product owner./to-questionnaire Our ops team knows the deploy constraints. I need to decide between blue-green and rolling releases.
Expect two questions back (who, and what you need), then a file path. The docs list signs it's working: it stops asking after those two exchanges, every item you named maps to a question, and someone who wasn't in the conversation could read the file and know why they got it and by when to reply.
The common case in the docs is a grilling session that stalls on questions you can't answer. Run /to-questionnaire in that same conversation, so the session is already in context. Started fresh, it knows nothing about earlier work and you supply the topic when you answer "what do you need back?".
Tips and limits
From the repo's docs, not from testing:
- One recipient per run. If the answers sit with three people, run it three times. A version that routed questions by role was requested but did not ship.
- No dependent questions. Every question is live in a static document. The docs explain why: a model that plans more than two or three questions ahead of a real answer "plans badly."
- No delivery. It writes a local Markdown file and stops. Sharing it is up to you.
- No ingest step. It doesn't parse your grilling session as a separate step. It only draws on earlier conversation because that conversation is in context.
- You may not need it. The docs admit you can ask an agent for a questionnaire without a skill. What the skill adds is an interview that never drifts onto the subject and a shape a non-technical recipient can fill in.
As of 26 October 2026, the three security audits on its skills.sh page (Gen Agent Trust Hub, Socket and Snyk) all showed Pass, each dated 19 August 2026. The skill reads nothing outside the conversation and writes one file. Under the MIT License you can copy and change it as long as you keep the copyright notice.
Save it in your Kipt library
In Kipt, open Skills and paste the skill's GitHub folder link into the import box. Kipt reads the SKILL.md and its agents/openai.yaml; for a repo with many skills it shows a list to pick from, so you can take grill-me in the same pass. You can also drop the folder or a .zip. Your skills live in your own private GitHub repo and install into Claude Code or Codex with one command:
npx skills add https://github.com/<you>/<repo>.git --all -g
Kipt is not affiliated with Matt Pocock or mattpocock/skills.
Similar skills
The repo's docs pick the skill by where the answers live:
| The answers are in | Reach for |
|---|---|
| Your own head, unsharpened | grill-me |
| The codebase | grill-with-docs |
| Someone else's head | to-questionnaire |
| Nobody's head yet | prototype |
- Grill me skill: the interview that often raises the questions you then send out.
- To-spec skill: turn the answers you get back into a spec when the work is heading for a build.
- Ask-matt skill: the repo's router, for when you aren't sure which of these fits.