mirror of
https://github.com/mattpocock/skills.git
synced 2026-07-29 02:52:42 +07:00
Add to-questionnaire skill (in-progress)
A user-invoked skill that turns a decision you can't fully answer into a Markdown discovery questionnaire to hand to one person async, or fill out over a meeting. Its defining move: it grills you about the *send* (who it's going to, what you need back), never the subject — sidestepping the "I don't know, I don't know" spiral you'd hit if it interrogated you on the very knowledge you're offloading. The written questions then target the gap between what the recipient knows and what you need. Landed in in-progress/ to shake out over a few real sends before promoting. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
66898f60e8
commit
bbce2f91d6
@@ -9,3 +9,4 @@ Skills that are still being developed. They're not ready to ship — expect roug
|
||||
- **[writing-shape](./writing-shape/SKILL.md)** — Take a markdown file of raw material and shape it into an article paragraph by paragraph, arguing format choices at each step.
|
||||
- **[claude-handoff](./claude-handoff/SKILL.md)** — Hand the current conversation off to a fresh background agent that picks up the work immediately, seeded with a handoff summary via `claude --bg`. User-invoked.
|
||||
- **[setup-ts-deep-modules](./setup-ts-deep-modules/SKILL.md)** — Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files, tests exercising it through those. User-invoked.
|
||||
- **[to-questionnaire](./to-questionnaire/SKILL.md)** — Turn a decision you can't fully answer into a Markdown questionnaire for someone else to fill in async, or over a meeting. It grills you about the send (who it's for, what you need back), not the subject. User-invoked.
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
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.** The user is offloading this precisely because they don't hold the answers, so interrogating them about the subject just yields "I don't know, I don't know" — the failure this skill exists to avoid. 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 whole document as a **discovery questionnaire**: the user lacks context, the recipient holds it. Top to bottom:
|
||||
|
||||
- **Metadata header** — purpose, who's asking, who's answering, and how the answers will be used. Naming the downstream decision gets sharper answers.
|
||||
- **Context** — one paragraph orienting a recipient who wasn't in the user's head. Not a page.
|
||||
- **How to answer** — one line: the deadline and rough effort, and explicit permission to give partial answers or flag unknowns.
|
||||
- **Questions** — grouped under `##` headings by theme once there are more than a handful, ordered most-important-first (async means you may only get one pass). Each question carries:
|
||||
- one idea only — no compound questions;
|
||||
- a one-line _why this matters_ only where the question could be misread or invite a throwaway answer, never on a self-evident one;
|
||||
- an answer stub (`> `) directly beneath, so there is an obvious place to type.
|
||||
- **Catch-all** — a closing "anything we didn't ask that we should know?"
|
||||
@@ -0,0 +1,5 @@
|
||||
interface:
|
||||
display_name: "To Questionnaire"
|
||||
short_description: "Front-load questions into a doc for someone to answer"
|
||||
policy:
|
||||
allow_implicit_invocation: false
|
||||
Reference in New Issue
Block a user