agentsclimarketplace

Udemy practice test skill

Skill Yash-Kavaiya/udemy-practice-test-skill

Generate Udemy Practice Test CSV files from any input (text, webpage, PDF, URLs). Produces 10000% accurate, real-exam-like questions in Udemy bulk upload format with proper explanations.From its SKILL.md

Install
npx -y skills add Yash-Kavaiya/udemy-practice-test-skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.7 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

Udemy Practice Test CSV Generator

Purpose

Convert any source material (text, webpage, PDF, URLs) into a perfectly formatted Udemy Practice Test bulk upload CSV. Questions must be real-exam-like, 10000% accurate, with proper explanations for every option.

CSV Format Specification

Header Row (17 columns, exact order):

Question,Question Type,Answer Option 1,Explanation 1,Answer Option 2,Explanation 2,Answer Option 3,Explanation 3,Answer Option 4,Explanation 4,Answer Option 5,Explanation 5,Answer Option 6,Explanation 6,Correct Answers,Overall Explanation,Domain

Column Details:

ColumnDescriptionRequired
QuestionThe question textYes
Question Typemultiple-choice OR multi-selectYes
Answer Option 1-6Answer choices (min 2, max 6)Min 2
Explanation 1-6Why each option is correct/incorrectRecommended
Correct AnswersNumber(s) of correct option(s)Yes
Overall ExplanationComprehensive explanationRecommended
DomainTopic/category groupingRecommended

Rules:

  1. Question Type: Only two values allowed:
    • multiple-choice = exactly ONE correct answer
    • multi-select = TWO or MORE correct answers
  2. Correct Answers:
    • For multiple-choice: single number (e.g., 2)
    • For multi-select: comma-separated numbers (e.g., 1,3,4)
  3. CSV Escaping:
    • Wrap fields containing commas in double quotes
    • Escape internal quotes by doubling them: ""like this""
    • Newlines within fields are NOT supported
  4. Empty options: Leave both the option AND its explanation blank if unused (options 5-6 are optional)

Input Handling by Source Type

Raw Text / Pasted Content

  • Use directly as source material
  • Split into logical sections/topics for domain mapping

URLs / Webpages

  • Load the page and extract full content
  • For multi-page content, follow pagination/next links
  • If content is behind auth or blocked, ask user to paste it

PDF Files

  • Extract text using pymupdf or marker-pdf:
    python -c "import fitz; doc=fitz.open('file.pdf'); print('\n'.join(p.get_text() for p in doc))"
    
  • For scanned PDFs, use OCR via marker_single or pytesseract
  • Preserve headings/structure for domain mapping

Multiple Sources

  • Process each source independently first
  • Merge extracted content, deduplicate overlapping topics
  • Cross-reference facts across sources for accuracy

Batch Size Guidelines

Source SizeQuestions to Generate
1-5 pages / short article15-25 questions
5-20 pages / medium doc30-60 questions
20-50 pages / large doc60-120 questions
50+ pages / book/course120-200 questions
User specifies countExactly that many

Rule of thumb: 5-10 questions per page of dense technical content, 3-5 per page of general content. Always ask user if they want a specific count.

Udemy Platform Limits

  • Min questions per practice test: 2
  • Max questions per practice test: No hard cap, but 150-250 is typical for certification exams
  • Max options per question: 6
  • Min options per question: 2 (but use 4+ for exam realism)
  • Question text max length: ~600 characters recommended (no hard limit but UI truncates long text)
  • Option text max length: ~200 characters recommended
  • Explanation max length: ~1000 characters recommended
  • Domain field: Free text, keep short (1-3 words ideal)
  • File encoding: UTF-8 (Python csv module default)
  • Max 2 practice tests per regular course (unlimited for practice test courses)

Generation Process

Step 1: Analyze Source Material

  • Read/extract content from all provided sources (text, PDFs, URLs, webpages)
  • Identify key concepts, facts, procedures, definitions, and relationships
  • Map content to domains/topics for balanced coverage

Step 2: Question Design Principles

  • Real exam style: Questions should mimic actual certification/professional exam patterns
  • Difficulty distribution: 30% easy, 50% medium, 20% hard
  • Question types to use:
    • Scenario-based ("A company wants to..." / "You are tasked with...")
    • Direct knowledge ("Which of the following...")
    • Best practice ("What is the recommended approach...")
    • Troubleshooting ("A user reports X error. What is the most likely cause?")
    • Multi-select for "select ALL that apply" patterns
  • Distractor quality: Wrong answers must be plausible, not obviously wrong
  • No trick questions: Questions should test knowledge, not reading comprehension

Step 3: Explanation Quality Standards

  • Per-option explanations: Explain WHY each option is correct OR incorrect
    • For correct: Confirm with supporting detail
    • For incorrect: Explain what makes it wrong and what it actually refers to
  • Overall explanation: Provide comprehensive context, relevant theory, and exam tips
  • Be specific: Reference official docs, specifications, or standards where applicable

Step 4: Generate CSV

Use Python to generate properly escaped CSV:

import csv
import io

# Build questions list
questions = []
# Each question is a dict with keys:
# question, type, options (list of {text, explanation}), correct (list of ints), overall, domain

output = io.StringIO()
writer = csv.writer(output, quoting=csv.QUOTE_MINIMAL)

# Header
writer.writerow([
    "Question", "Question Type",
    "Answer Option 1", "Explanation 1",
    "Answer Option 2", "Explanation 2",
    "Answer Option 3", "Explanation 3",
    "Answer Option 4", "Explanation 4",
    "Answer Option 5", "Explanation 5",
    "Answer Option 6", "Explanation 6",
    "Correct Answers", "Overall Explanation", "Domain"
])

for q in questions:
    row = [q["question"], q["type"]]
    # Pad to 6 options
    options = q["options"] + [{"text": "", "explanation": ""}] * (6 - len(q["options"]))
    for opt in options:
        row.append(opt["text"])
        row.append(opt["explanation"])
    # Correct answers
    row.append(",".join(str(c) for c in q["correct"]))
    row.append(q["overall"])
    row.append(q["domain"])
    writer.writerow(row)

Step 5: Validation Checklist

Before delivering the CSV, verify:

  • Header row matches exactly (17 columns)
  • Every question has at least 4 options (standard for exams)
  • multiple-choice questions have exactly 1 correct answer
  • multi-select questions have 2+ correct answers
  • Correct answer numbers reference valid option positions (1-6)
  • No empty Question or Question Type fields
  • All commas and quotes properly escaped
  • Explanations are substantive (not just "Correct" or "Incorrect")
  • Questions are factually accurate to the source material
  • Domain field populated for all questions
  • Mix of multiple-choice (~70%) and multi-select (~30%)

Quality Targets

  • Accuracy: Every fact must be verifiable from the source material
  • Coverage: Questions should cover ALL major topics from the source
  • Balance: Even distribution across domains
  • Exam-like: Should feel like a real certification exam
  • Explanations: Every option needs WHY it's right or wrong

Example Row (multiple-choice):

What is the primary purpose of a VPC in AWS?,multiple-choice,To host static websites,A VPC is not specifically for hosting static websites - that's Amazon S3 or CloudFront.,To provide isolated network environment in the cloud,A VPC provides a logically isolated section of the AWS cloud where you can launch resources in a virtual network you define.,To manage DNS records,DNS management is handled by Route 53 not VPC.,To store objects,Object storage is provided by Amazon S3 not VPC.,,,,,2,"A Virtual Private Cloud (VPC) is a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network that you define. You have complete control over your virtual networking environment including IP ranges, subnets, route tables, and network gateways.",AWS Networking

Example Row (multi-select):

Which of the following are valid EC2 instance states? (Select ALL that apply),multi-select,running,Running is a valid EC2 state - the instance is launched and operational.,stopped,Stopped is a valid EC2 state - the instance exists but is not running.,paused,Paused is NOT a valid EC2 instance state. EC2 instances cannot be paused.,terminated,Terminated is a valid EC2 state - the instance has been permanently deleted.,hibernating,Hibernating is NOT a standard EC2 state - though hibernation exists it shows as 'stopped' state.,,"","1,2,4","EC2 instances go through these lifecycle states: pending, running, stopping, stopped, shutting-down, and terminated. There is no 'paused' or 'hibernating' state. When an instance is hibernated it appears in 'stopped' state.",AWS Compute

Pitfalls

  • Never use newlines inside CSV fields (Udemy doesn't support it)
  • Don't use more than 6 options per question
  • Multi-select MUST have 2+ correct answers (otherwise use multiple-choice)
  • Correct answer numbers are 1-indexed (first option = 1, not 0)
  • If source material is ambiguous, skip that topic rather than guess
  • Always quote fields containing commas - Python csv module handles this automatically
  • Test the CSV by opening in Excel/Sheets to verify column alignment

What ships with it: 4 files

11.5 KB alongside SKILL.md, 1 of them executable

scripts/

Gives 0 of the 12 instructions most test skills give in ~2.2k tokens

Counted across 964 of the 1,571 authors here whose files we hold, read 2026-08-07

  • Close the browser when donein 55 of 964, across 12 files
  • Wait for network idle statein 51 of 964, across 6 files
  • Launch Chromium in headless modein 49 of 964, across 6 files
  • Use descriptive selectors for elementsin 49 of 964, across 6 files
  • Run provided scripts with help flag firstin 49 of 964, across 6 files
  • Add appropriate explicit waitsin 48 of 964, across 5 files
  • Use bundled scripts as black boxesin 46 of 964, across 3 files
  • Do not read script source codein 46 of 964, across 3 files
  • Use sync playwright for scriptsin 46 of 964, across 3 files
  • Inspect dom before executing actionsin 46 of 964, across 3 files
  • Run the full test suitein 37 of 964
  • Write the failing test firstin 29 of 964, across 23 files

Said here and by no other author read

  • Generate real-exam-like practice questions
  • Use exact 17-column header row
  • Generate 5 to 10 questions per page
  • Explain why each option is correct or incorrect
  • Escape quotes by doubling them
  • Leave unused options and explanations blank

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,851. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.