skill-tester

Tests interactive lesson skills by running self-play transcripts and publishing them to a static page.

4|Updated Jun 17, 2026
One-click install
npx skills add https://github.com/exiao/meta-skills --skill skill-tester-exiao
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: skill-tester
Source: https://github.com/exiao/meta-skills/tree/main/skill-tester
Command: npx skills add https://github.com/exiao/meta-skills --skill skill-tester-exiao

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires anthropic, and includes scripts (resource) and references (resource) components.

What problem does it solve? Reviewing an interactive course or lesson skill by reading it tells you little about how it actually behaves when an AI teaches it. This Skill runs each lesson end to end via self-play (one agent as instructor, one as a calibrated student persona), captures the full turn-by-turn transcript, and publishes every raw transcript to a static page so you can see exactly where lessons snag. ## Core Features & Use Cases - Self-play lesson execution: Dispatches parallel read-only subagents (or raw blank model calls with no system prompt) that play both instructor and student through every lesson, writing verbatim transcripts with a per-lesson snag report. - Transcript page builder: scripts/build_transcripts.py converts the transcript tree into one collapsible HTML page grouped by arc, with speaker-turn bubbles and a SYNTHETIC warning header, ready for static hosting. - Deterministic post-run audit: Greps instructor-attributed lines for failure patterns (e.g. leaked stage directions) instead of trusting the subagents' self-reported verdicts. - Use Case: After rewriting 20 lessons of an AI course, run this Skill to generate full self-play transcripts for every lesson, deploy them to a static page, and audit that a stage-direction fix actually landed across all transcripts. ## Quick Start Run the skill-tester on my course lessons: self-play every lesson with a calibrated student persona, then build and publish the raw transcripts page.

Frequently Asked Questions about skill-tester

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test an interactive AI course skill?▼

Run each lesson via self-play: one agent follows the lesson file as instructor while another plays a calibrated student persona, capturing the full transcript. This Skill dispatches those runs in parallel and publishes every raw transcript to a static HTML page.

How do I simulate a student persona for lesson testing?▼

Define a calibrated persona matching the real audience, such as a ChatGPT-literate PM who can run setup commands, and pass it as the student's first message. Avoid a false-floor beginner persona, which over-drives fixes and patronizes the actual audience.

What is the difference between skill-tester and findings-based lesson review?▼

Findings-based approaches produce ranked issues plus a few sample transcripts. skill-tester captures the complete turn-by-turn transcript of every lesson and publishes them all raw, so nothing is cherry-picked.

Why should lesson self-play use a blank model with no system prompt?▼

Subagents launched through a framework inherit its system prompt, which does not reflect how a lesson behaves when pasted into a bare chat. Omitting the system parameter entirely mirrors that real-world usage; an empty string is rejected with a 400 error.

Can I trust the self-play agents' own pass/fail verdicts?▼

No. Self-play subagents reliably self-report clean runs even when bugs exist. Run a deterministic audit afterward: grep instructor-attributed lines for failure patterns and confirm positive changes landed, filtering benign matches.

Why does the transcript build script warn about zero lessons?▼

The script resolves the test-output directory relative to its own location, not the working directory. A zero-lesson result means the sections config or transcript tree is misplaced, so it prints a warning instead of silently writing an empty page.