Best for
- Use when a user needs a publishable hands-on tutorial built from genuine terminal, browser, or tool operation, narration, demonstrations, corrections, and checks instead of simulated output.
TashanGKD/tashan-research-skills/skills/practical-course-producer/SKILL.md
Generate and audit evidence-based practical course videos for executable software, research-tool, or AI-assisted workflows with observable real interaction and verification. Use when a user needs a publishable hands-on tutorial built from genuine terminal, browser, or tool operation, narration, demonstrations, corrections, and checks instead of simulated output. Route concept-only animation, formula, or proof explainers to manim-agent.
Decision brief
Generate and audit evidence-based practical course videos for executable software, research-tool, or AI-assisted workflows with observable real interaction and verification. Route concept-only animation, formula, or proof explainers to manim-agent.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/TashanGKD/tashan-research-skills --skill "skills/practical-course-producer"Inspect the Agent Skill "practical-course-producer" from https://github.com/TashanGKD/tashan-research-skills/blob/9a3001b329778e68faa045da2d8ec5abe90f2ae0/skills/practical-course-producer/SKILL.md at commit 9a3001b329778e68faa045da2d8ec5abe90f2ae0. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Keep one course-project.json as the production status source. Start from assets/course-project.json, replace its placeholders, and keep every artifact path relative to the project directory. Do not enter a later stage because a draft video happens to exist.
From the repository root, run the strict skill validator and any bundled tests. The package must contain no credentials, private source media, local caches, or absolute paths. Script changes require a smoke test.
Turn a real tool workflow into a teachable, reviewable course video. The video is the lesson: its scenes, demonstrations, narration, pauses, and checks must carry the complete teaching sequence. Planning files are production intermediates, not substitutes for the finished media.
Collect or locate only what the requested phase needs:
The primary deliverable is a versioned, publishable course video. Produce the smallest set of intermediate artifacts needed to make that video reproducible:
Permission review
The documentation asks the agent to read local files, directories, or repositories.
Inspect the latest real artifacts, repository state, and previous audit.The documentation asks the agent to run terminal commands or scripts.
python scripts/validate_course_project.py path\to\course-project.json --gate planThe documentation asks the agent to run terminal commands or scripts.
python scripts/validate_course_project.py path\to\course-project.json --gate recordEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 88/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 12 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Turn a real tool workflow into a teachable, reviewable course video. The video is the lesson: its scenes, demonstrations, narration, pauses, and checks must carry the complete teaching sequence. Planning files are production intermediates, not substitutes for the finished media.
Never fabricate hands-on evidence with echo, Write-Host, print, scripted
terminal text, or a long one-shot prompt presented as interactive work.
The product boundary is any workflow with a real starting state, observable
action, resulting state change, and verification. Read
references/product-boundary.md before accepting an unfamiliar course topic or
when the request might belong to Manim, deck generation, ordinary video editing,
or marketing media. A pure concept explainer is outside this Skill even if it
could be presented inside a fake terminal.
Collect or locate only what the requested phase needs:
Do not request credentials in chat. Use existing authenticated sessions or environment variables. Never write API keys, tokens, cookies, private recordings, or raw model logs into the skill package or generated reports.
The primary deliverable is a versioned, publishable course video. Produce the smallest set of intermediate artifacts needed to make that video reproducible:
lesson-plan.md: the video's learning outcome, scene spine, and acceptance
evidence.interaction-plan.md: short user turns, expected tool actions, and why each
turn exists.recording-checklist.md: scenes, commands, files, failures, corrections, and
retests that must be captured.narration.md: spoken explanation aligned to observable actions.audit.md: commands run, frame/audio checks, known issues, and verdict.Use stable, descriptive filenames. Keep generated runs outside the installed skill directory.
Keep one course-project.json as the production status source. Start from
assets/course-project.json, replace its placeholders, and keep every artifact
path relative to the project directory. Do not enter a later stage because a
draft video happens to exist.
Design a small number of meaningful stages:
Keep the method central. Treat the example as evidence, not the course topic.
Create lesson-plan.md, interaction-plan.md, recording-checklist.md, and
narration.md, then require the planning gate to pass:
python scripts/validate_course_project.py path\to\course-project.json --gate plan
Read references/recording-workflow.md before recording a terminal, browser,
or AI coding session.
After the scene plan references actual source recordings, require the recording gate to pass. Missing or empty recordings are a project blocker, not an editing task:
python scripts/validate_course_project.py path\to\course-project.json --gate record
Generate Chinese narration with Volcengine TTS HTTP Chunked v3 by default and
Edge TTS as the fallback. Set VOLCENGINE_TTS_API_KEY in the environment;
optionally override VOLCENGINE_TTS_SPEAKER and
VOLCENGINE_TTS_RESOURCE_ID together. Never put credentials in a project file
or command. If the key is missing or rejected, direct the user to
https://console.volcengine.com/speech/new/setting/apikeys?projectName=default
to obtain or replace it; do not ask them to paste it into chat. The primary
request enables provider timestamps, protects the
sentence start, and writes the actual provider and any fallback reason beside
the audio:
Protocol family: https://www.volcengine.com/docs/6561/1719100?lang=zh.
The offline adapter uses its HTTP Chunked counterpart at
/api/v3/tts/unidirectional.
python scripts/synthesize_narration.py path\to\narration.md `
--output path\to\audio\narration.mp3 `
--timeline path\to\audio\narration.timeline.json
Use --voice only to change the Edge fallback voice. Use
--fallback-provider none when a project must fail closed instead of falling
back. A fallback is never silent: requested_provider, provider,
fallback_used, and fallback_reason are written to the timeline. If both
providers fail after bounded retries, stop at the narration blocker; never
accelerate speech.
Reference the generated timeline as captions in each narrated scene. Captions
must follow the spoken sentence boundaries and remain inside the safe lower
margin without covering the command or validation evidence being discussed.
When real source recordings are ready, read references/scene-plan.md and
advance the project through the render gate:
python scripts/advance_course_project.py path\to\course-project.json --to render
The project runner checks the record gate, calls scripts/build_course_video.py,
updates final_video and run_manifest atomically, and checks the render gate.
Use the builder directly only when diagnosing an isolated scene plan. Do not use
either script to fabricate demonstrations or replace missing evidence.
Do not begin visual or audio polishing unless the runner reports that the render gate passed.
Read references/editing-audit.md before editing or validating media.
Verification must match the claimed output:
Do not call a project complete because files merely exist.
Generate audit.md and representative frames from the rendered project, then
require the final project gate to pass:
python scripts/advance_course_project.py path\to\course-project.json --to release
The release transition requires the rendered duration to stay within 20% of the
project target, then records ffprobe structure, SHA-256, silence intervals,
tool versions, and three representative frames. These deterministic checks do
not replace human review of teaching accuracy, readability, or narration
alignment; record that verdict in the generated audit.md before delivery.
ffmpeg and ffprobe on PATH.VOLCENGINE_TTS_API_KEY. Obtain or replace a missing/rejected key at
https://console.volcengine.com/speech/new/setting/apikeys?projectName=default.
The packaged public default is
zh_female_vv_uranus_bigtts with seed-tts-2.0; cloned voices must override
both speaker and matching resource ID. Edge TTS is the packaged fallback;
install it with python -m pip install edge-tts.If a dependency is missing, complete unaffected planning/audit work and report the blocked phase precisely.
For Chinese narration, use compact spoken language. Prefer observable actions such as "我现在看文件" over abstract claims such as "形成闭环". When TTS misreads a filename, use a natural spoken form such as "graph 文件".
From the repository root, run the strict skill validator and any bundled tests. The package must contain no credentials, private source media, local caches, or absolute paths. Script changes require a smoke test.
From the skill directory, run the deterministic media smoke tests with:
python -m unittest discover -s tests -p "test_*.py" -v
Run the portable end-to-end project smoke from any working directory with:
python scripts/smoke_course_project.py
See examples/verified-cli-workflow.md for the public example and
RELEASE_NOTES.md for the packaged release scope and verification record.
After automated tests, evals, security checks, and repository integration pass, run exactly one fresh forward test on a practical topic not used during Skill development. Start from a normal user request and do not reuse prepared media or historical course scripts. Deliver the resulting video and audit for human review, then stop autonomous iteration.
Treat explicit user approval such as "satisfied", "ready to publish", or "leave it there" as the hard completion signal. If the user reports a blocking defect, make only the requested correction and repeat the same acceptance case. Do not switch topics, add speculative features, or continue polishing after approval.
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
prowler-cloud/prowler
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.