aggregate-logs
Generate LEARNINGS.md from skill execution logs over a configurable time window.
Generate or update tutorials with VHS and Playwright recordings
> /plugin marketplace add athola/claude-night-marketHow it fires
How this command gets triggered: by you, by Claude, or both.
/update-tutorialContext preview
What this command does when you run it.
Generate or update tutorials with VHS and Playwright recordings
name: update-tutorial description: Generate or update tutorials with VHS and Playwright recordings usage: /update-tutorial <name> [--all] [--list] [--scaffold]
To generate or update tutorials with accompanying GIFs, invoke the tutorial-updates skill:
1. Run `Skill(sanctum:tutorial-updates)` with the appropriate arguments.
Use this command when you need to:
/update-tutorial <name> # Single tutorial /update-tutorial <name1> <name2> # Multiple tutorials /update-tutorial --all # All tutorials in manifest /update-tutorial --list # Show available tutorials /update-tutorial --scaffold # Create directory structure without recording /update-tutorial --validate-only # Validate tape without generating GIF /update-tutorial --skip-validation # Skip validation for rapid regeneration
Run tape validation without generating GIF. Useful for CI checks or pre-commit hooks.
**Example**:
/update-tutorial quickstart --validate-only
**Exit codes**:
**Use when**: You want to verify tape commands are correct before committing or before running expensive GIF generation.
Bypass pre-flight tape validation. Use when commands are known-good and you need rapid GIF regeneration.
**Example**:
/update-tutorial quickstart --skip-validation
**Warning**: Skipping validation may result in VHS failures that could have been caught earlier.
**Use when**: You've already validated the tape and are iterating on timing/styling only.
Skip binary freshness check and rebuild step. Use when binary is known to be current.
**Example**:
/update-tutorial quickstart --skip-rebuild
**Use when**: You've just rebuilt the binary manually and want to avoid redundant rebuilds.
Force binary rebuild even if freshness check passes. Ensures absolute latest code.
**Example**:
/update-tutorial quickstart --force-rebuild
**Use when**: You want to guarantee the binary matches source, regardless of timestamps (useful after git operations that don't change timestamps).
The skill orchestrates scry media generation capabilities:
1. **Discovery**: Parse tutorial manifests to identify tape files and browser specs. 2. **Validation**: Test tape commands locally BEFORE recording to catch errors early. 3. **Rebuild**: Check binary freshness and rebuild if stale so demos reflect latest code. 4. **Recording**: Invoke `Skill(scry:vhs-recording)` for terminal demos and `Skill(scry:browser-recording)` for web UI demos. 5. **Processing**: Use `Skill(scry:gif-generation)` for format conversion and optimization. 6. **Composition**: Apply `Skill(scry:media-composition)` for multi-source tutorials. 7. **Documentation**: Generate dual-tone markdown (project docs and technical book). 8. **Integration**: Update README demo sections and book chapters.
/update-tutorial quickstart
/update-tutorial quickstart sync mcp
/update-tutorial --all
/update-tutorial --list
/update-tutorial --scaffold
Creates the directory structure (`assets/tapes/`, `assets/gifs/`, `docs/tutorials/`) without executing recordings.
Tutorials are defined via YAML manifests:
# assets/tapes/mcp.manifest.yaml
name: mcp
title: "MCP Server Integration"
components:
- type: tape
source: mcp.tape
output: assets/gifs/mcp-terminal.gif
- type: playwright
source: browser/mcp-browser.spec.ts
output: assets/gifs/mcp-browser.gif
requires:
- "skrills serve"
combine:
output: assets/gifs/mcp-combined.gif
layout: verticalIf skills cannot be loaded, follow these steps:
1. **Run VHS directly**
vhs assets/tapes/quickstart.tape
2. **Run Playwright recording**
npx playwright test assets/browser/mcp-browser.spec.ts ffmpeg -i mcp-browser.webm -vf "fps=10,scale=800:-1" mcp-browser.gif
3. **Update markdown manually**
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Generate LEARNINGS.md from skill execution logs over a configurable time window.
Analyze skill file complexity metrics and generate modularization recommendations for splitting or progressive loading.
Scaffold new Claude Code skills with brainstorming, TDD methodology, and proper frontmatter and module structure.