qa-discussion

Q&A Discussion Conductor

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "qa-discussion" with this command: npx skills add zenobi-us/dotfiles/zenobi-us-dotfiles-qa-discussion

Q&A Discussion Conductor

Overview

Systematically conduct structured Q&A discussions with users. Handles multiple question types, tracks progress, validates responses, and generates comprehensive summary reports. Perfect for assessments, onboarding, feedback collection, or educational interactions.

Core Capabilities

Question Types:

  • Multiple Choice: Select one or more correct answers from options

  • Single Choice: Select exactly one correct answer from options

  • Open-Ended: Free-form text responses with optional validation

Session Features:

  • Progress tracking (Question X of Y)

  • One question at a time for clarity

  • Smart re-prompting on invalid answers with helpful feedback

  • Complete response logging with validation status

  • Summary report after discussion completion

When to Use

Use this skill when you need to:

  • Conduct structured assessments or quizzes

  • Gather feedback through systematic questioning

  • Onboard users with validated knowledge checks

  • Create educational interactions with tracking

  • Run audits or compliance checks requiring documented responses

Don't use when:

  • Questions are casual or conversational (just chat naturally)

  • You don't need to validate or track responses

  • The discussion is exploratory rather than structured

The Process

Step 1: Define Questions

Create a structured question array with all necessary metadata:

const questions: Question[] = [ { id: 'q1', text: 'What is the capital of France?', type: 'single', options: ['London', 'Paris', 'Berlin', 'Madrid'], correctAnswer: 'Paris' }, { id: 'q2', text: 'Select all that apply: Which are JavaScript frameworks?', type: 'multiple', options: ['React', 'Django', 'Vue', 'Laravel'], correctAnswers: ['React', 'Vue'] }, { id: 'q3', text: 'Explain why you chose your answer above', type: 'open', validation: (answer) => answer.length >= 10 } ];

Step 2: Conduct the Discussion

Call the main function to start:

const session = await conductDiscussion(questions);

The skill will:

  • Display each question clearly with progress indicator

  • Wait for user response

  • Validate against question criteria

  • Re-prompt if invalid with helpful feedback

  • Store validated response

  • Move to next question

  • Generate summary when complete

Step 3: Review Results

Access the session data for reporting:

// Session structure: { totalQuestions: number; completedQuestions: number; responses: Array<{ questionId: string; text: string; answer: string; isValid: boolean; attempts: number; }>; summary: { totalAttempts: number; validResponses: number; invalidResponses: number; completionTime: number; }; }

Display Conventions

Question Presentation:

  • Clear title showing question number and total (e.g., "Question 1 of 5")

  • Question text prominently displayed

  • Options numbered for easy reference (1, 2, 3...)

  • Instructions vary by type:

  • Single choice: "Select one option (enter number)"

  • Multiple choice: "Select all that apply (enter numbers separated by commas)"

  • Open-ended: "Enter your response (minimum 10 characters)"

Validation Feedback:

  • Invalid input: "Invalid selection. Please enter 1, 2, 3, or 4"

  • Multiple choice format error: "Invalid format. Use: 1,2,3"

  • Open-ended validation failed: "Response too short. Please provide more detail"

  • Empty input: "Response cannot be empty"

Progress Display:

  • Each question shows: "Question 2 of 7"

  • Visual spacing between questions for clarity

  • Summary displayed after final question

Error Handling

Input Validation:

  • Out of range selections → re-prompt with valid range

  • Wrong format (single choice given multiple) → explain expected format

  • Empty responses → ask to provide an answer

  • Custom validation failures → explain criteria with helpful message

Session Errors:

  • No questions provided → throw clear error

  • Invalid question type → validate during setup

  • Timeout/interruption → save progress and allow resume

Key Principles

  • One question at a time - Never show multiple questions together

  • Clear feedback - Always explain why an answer is invalid

  • Complete tracking - Log every response with validation status

  • Flexible validation - Support exact match, list validation, and custom functions

  • User-friendly - Numbered options, clear instructions, helpful messages

  • Resumable - Design allows pausing and resuming if needed

Example Usage

See @index.ts for complete implementation with:

  • Full TypeScript types for all question types

  • Comprehensive error handling

  • Real-world usage examples

  • Integration patterns

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

leaflet-mapping

No summary provided by upstream source.

Repository SourceNeeds Review
General

skill-hunter

No summary provided by upstream source.

Repository SourceNeeds Review
General

projectmanagement

No summary provided by upstream source.

Repository SourceNeeds Review