mcpField
Q
qa-discussion

qa-discussion

github.com/zenobi-usAgent workflows6838 installsUpdated today
Repository

About qa-discussion

qa-discussion is a skill for conducting structured Q&A sessions, suited to assessments, onboarding, feedback collection, and audits. It asks one question at a time, validates several response types, tracks progress and results, and produces a final report.

Key features

  1. 01Support single-choice, multiple-choice, and open-ended questions
  2. 02Ask questions individually and show progress
  3. 03Validate answers and reprompt on invalid input
  4. 04Record responses and validation status
  5. 05Generate a summary report at completion

Use cases

  1. 01Running structured quizzes or assessments
  2. 02Collecting feedback through questions
  3. 03Onboarding with knowledge checks
  4. 04Documenting audit or compliance responses

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/zenobi-us/dotfiles --skill qa-discussion

After installing, type/qa-discussionin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

FINALIZATION-SUMMARY.md
INTEGRATION.md
QUICK-START.md
README.md
TEST-REPORT.md
VALIDATION-REPORT.md
example.ts
index.test.ts
index.ts

Details

From the project README

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:

  1. Display each question clearly with progress indicator
  2. Wait for user response
  3. Validate against question criteria
  4. Re-prompt if invalid with helpful feedback
  5. Store validated response
  6. Move to next question
  7. 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

Comments

Markdown supported