Home / All Skills / Workflow & Core Tools / to-questionnaire
Workflow & Core Tools · mattpocock/skills

to-questionnaire

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

L2 Local · Restricted workspaceV1 Commit-PinnedWrite FileDual-pass Audit
Author mattpocockGitHub mattpocock/skills ↗Stars 253948License MITCommit 3cca18b368
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

Pure prompt orchestration: Contains no executable code or scripts; all capabilities are driven solely by instructional text in SKILL.md (a three-step workflow + embedded template).

/var/ytdown/skills-portal/spy-repos/mattpocock/skills/productivity/to-questionnaire/SKILL.md
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.
The entire directory consists only of SKILL.md (2,904 B) + agents/openai.yaml (166 B, pure declaration); the so-called 'features' are merely dialogue orchestration executed by the model across steps 1→2→3, involving no CLI, API, or network interactions.

Core mechanism 'Grill the send, not the subject': Restricts the interview to two dimensions the user can definitively answer (who it's sent to / what returns are needed), letting the generated questionnaire bridge the knowledge gap rather than having the model idle-spin asking questions about domains unfamiliar to the user.

/var/ytdown/skills-portal/spy-repos/mattpocock/skills/productivity/to-questionnaire/SKILL.md
**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.
This is the foundational rationale for the skill: an LLM cannot know 'what the recipient knows,' but the user can always clarify both ends of the send; the document's questions target the gap, shifting knowledge extraction from real-time conversation to asynchronous completion.

Single-exchange discipline + explicit 'Done' conditions enforce workflow progression, preventing endless probing or half-baked outputs.

/var/ytdown/skills-portal/spy-repos/mattpocock/skills/productivity/to-questionnaire/SKILL.md
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.
Each step is restricted to one exchange with self-checkable completion criteria (Step 2: 'Done when you have a concrete list…', Step 3: 'Done when the file exists and every item the user named in step 2 is covered').

Embedded fixed questionnaire template + structural rules dictate the output format: an asynchronously fillable Markdown document grouped by theme with highest-priority questions first.

/var/ytdown/skills-portal/spy-repos/mattpocock/skills/productivity/to-questionnaire/SKILL.md
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.
The template is embedded within `<questionnaire-template>`…`</questionnaire-template>` tags (L22–50), including Purpose, From-To-How used, Context, How to answer, topic sections, and an 'Anything else' fallback.

The sole external side effect is the delivery action: writing the `to-questionnaire-<slug>.md` file in the current directory and reporting its path.

/var/ytdown/skills-portal/spy-repos/mattpocock/skills/productivity/to-questionnaire/SKILL.md
Write it to `to-questionnaire-<slug>.md` in the current directory (slug from the topic) and report the path.
The file is persisted to disk via the host agent's file-writing capability, with no file-writing code in the skill itself; the slug is generated by the model based on the topic, without path whitelist validation.

Dual-host double-disabling of implicit invocation: Triggered exclusively by explicit user intent (independent switches on both Claude and OpenAI/Codex sides).

/var/ytdown/skills-portal/spy-repos/mattpocock/skills/productivity/to-questionnaire/SKILL.md
disable-model-invocation: true
The Claude side is disabled via SKILL.md frontmatter; the OpenAI/Codex side is disabled via agents/openai.yaml `policy.allow_implicit_invocation: false`—two mechanisms serving the same purpose, consistent with the productivity/README 'User-invoked' group policy.

2Core Capabilities

01Extracts recipient persona (role/expertise/relationship to user) in a single turn to calibrate tone and context volume
02Locks down the concrete list of decisions/facts the user needs back in a single turn
03Generates discovery-oriented questionnaire questions targeting the knowledge gap
04Delivers the questionnaire as a file written to the current directory and reports the path
05Enforces fixed structure: Purpose + From/To/How answers used + Context + How to answer + Topic sections + Fallback
06Question quality discipline: one idea per question, answer stub below, optional _why this matters_ to prevent misinterpretation
07Explicit completion check: the file exists and every item listed in step 2 is covered by questions

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Restrict working directory
For Administrators
Retain operation logs
Evidence & Triggers (File Paths & Excerpts)
  • 本地工作目录: File read/write and artifact output: to-questionnaire-<slug>.md (written to the current directory; file slug inferred by the model from the topic, with potential to overwrite existing files of the same name)
Audit Notes: Pure prompt orchestration with zero scripts, zero network egress, zero credential reading, and zero third-party dependencies, presenting no executable attack surface. The sole action is writing a Markdown file to the current directory per instructions (classified as 'local read/write only', matching Blue tier characteristics). Caveats: potential overwrite of identically named files and lack of independent content validation—neither of which constitutes malicious behavior.

5Second-Pass Verification

  • [ok] official_desc 与 frontmatter description 一致 — SKILL.md L3 原文逐字一致
  • [ok] 三步工作流(步骤 1/2/3 原文存在) — L12/L14/L16 逐一确认,步骤 3 含写文件指令与 Done 条件
  • [ok] 『Grill the send, not the subject』引文 — L9 原文一致,粗体标记确认
  • [ok] 写文件指令 to-questionnaire-<slug>.md 在当前目录 — L16 原文含此路径模板
  • [ok] 模板结构(Purpose/From-To-How/Context/How to answer/主题/Anything else) — L22–50 `<questionnaire-template>` 块内逐节确认
  • [ok] 提问纪律(一问一意/answer stub/why this matters) — L40 原文确认
  • [ok] openai.yaml allow_implicit_invocation: false — yaml L4–5 确认;与 SKILL.md L4 disable-model-invocation 双锁成立
  • [ok] 无脚本/无隐藏文件(目录仅 2 文件) — find + git ls-tree -r 全树核对,to-questionnaire/ 下仅 SKILL.md 与 agents/openai.yaml

6Verdict & Scenarios

  • Zero dependencies and zero execution surface: The entire skill consists of just 3 KB of instructional text and a 166 B declarative yaml, offering completely static and predictable behavior
  • Structured anti-idle-spin design via 'grill only the send': Converges model interviews into two questions the user can answer, delegating gap exploration to the document
  • High output discipline tailored for single-pass async responses: most-important-first + one idea per question + answer stubs + deadline/effort + allows 'I don't know'
  • Explicit completion criteria prevent half-baked outputs: Considered 'Done' only when the file exists and every item from step 2 has a corresponding question
  • Dual hosts unified under a user-invoked policy, preventing accidental invocation by the model
  • Best for: Ideal for users who 'can clearly articulate who to send to and what return is needed' and want to asynchronously extract decisions or facts from an expert, colleague, client, or manager; produces a deliverable Markdown file in a single session, turning meetings or chitchat into a structured async questionnaire; can pair with grill-me/grilling to think things through before turning them into a questionnaire.
    Not for: Scenarios where the recipient is multiple or anonymous individuals (the template assumes a single recipient + requires significant context priming); situations where the model must rely on its own domain knowledge to verify answer accuracy; cases where an in-conversation conclusion suffices without file persistence; recipients unable to respond in writing (requiring demos or hands-on guidance).
    Install Agent-Ready
    ① Verified Mirror 2026-09-06
    Option A · Direct DownloadDownload to-questionnaire.tar.gz
    sha256: fa2c2235ececc45d…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cca18b368.