AgentSkillsCN

ask-questions

使用ask_questions工具向用户提出结构化问题(单选、多选或自由文本)。在需要清晰、规范化的回答时使用此工具。

SKILL.md
--- frontmatter
name: ask-questions
description: Ask the user structured questions (single choice, multi-select, or free text) using the ask_questions tool. Use this when you need clear, normalized answers.

Ask Questions Skill

Use the ask_questions tool to ask the user one or more structured questions and receive normalized answers. Prefer this tool whenever you need clarifying input or preferences, instead of free-form back-and-forth.

Invoke this skill with:

code
/skill:ask-questions

When to Use

  • Clarify scope, priorities, constraints, or preferences
  • Collect multiple choices or checklists
  • Get short text input with a clear question

Tool Summary

Tool name: ask_questions

Supported question types:

  • single — choose one option
  • multi — choose multiple options (checkboxes)
  • text — free-form text input

Common options:

  • allowOther: add a "Type something..." option for custom input
  • min / max: enforce selection count (multi only)
  • placeholder: hint for text input
  • multiline: use a multi-line editor for text

Example Tool Call

json
{
  "title": "Clarify scope",
  "questions": [
    {
      "id": "scope",
      "prompt": "Which areas should I focus on?",
      "type": "multi",
      "options": [
        { "value": "frontend", "label": "Frontend" },
        { "value": "backend", "label": "Backend" },
        { "value": "tests", "label": "Tests" }
      ],
      "allowOther": true,
      "min": 1
    },
    {
      "id": "priority",
      "prompt": "What’s the priority?",
      "type": "single",
      "options": [
        { "value": "p0", "label": "P0 - critical" },
        { "value": "p1", "label": "P1 - high" },
        { "value": "p2", "label": "P2 - normal" }
      ],
      "allowOther": true
    },
    {
      "id": "notes",
      "prompt": "Anything else to consider?",
      "type": "text",
      "multiline": true
    }
  ]
}

Expected Result

The tool returns structured answers in details.answers, for example:

json
{
  "cancelled": false,
  "answers": [
    { "id": "scope", "type": "multi", "values": [{ "value": "frontend", "label": "Frontend" }] },
    { "id": "priority", "type": "single", "value": "p0", "label": "P0 - critical" },
    { "id": "notes", "type": "text", "value": "..." }
  ]
}

Notes

  • Use clear, concise prompts per question.
  • For multi-select, prefer 3–8 options.
  • Avoid long descriptions unless needed.