Web-Video-Presentation Skill Working Directory Structure Explained

The web-video-presentation skill employs a rigorously organized directory structure under skills/web-video-presentation/ that separates metadata, scaffolding scripts, a reusable Vite+React template, and 23 distinct visual themes to enable rapid generation of cinematic web presentations.

The ConardLi/garden-skills repository hosts the web-video-presentation skill, which provides a complete framework for building web-based video presentations. Its working directory follows a clear segregation of concerns, partitioning documentation, automation scripts, application boilerplate, and design assets into discrete, navigable folders.

Top-Level Directory Layout

The root of skills/web-video-presentation/ contains seven primary entries that define the skill's interface and assets:

The Templates Directory

The templates/ folder contains the full application source that powers every generated presentation. When scripts/scaffold.sh executes, it copies this directory into the user's target folder.

React Architecture and Core Hooks

The template implements a component-based React architecture centered on presentation logic:

UI Components

Visual primitives reside in src/components/ and consume semantic design tokens:

Chapter Registry System

Content organization follows a strict registry pattern:

The Themes Directory

Located at themes/, this directory houses 23 self-contained visual design systems. Each subdirectory—such as midnight-press/, warm-keynote/, newsroom/, or bauhaus-bold/—contains exactly two files:

  • tokens.css — Maps semantic variables (colors, typography, spacing) to concrete CSS values.
  • theme.json — Human-readable metadata describing the theme's mood, intended use case, and design philosophy.

During scaffolding, scripts/scaffold.sh copies the selected theme's tokens.css into the generated project's src/styles/tokens.css, establishing the visual identity.

The References Directory

The references/ folder serves as the skill's knowledge base, containing formal contracts that agents consult to ensure generated content adheres to methodology:

Scaffolding Workflow

The scripts/scaffold.sh utility orchestrates project creation by integrating the directory components:

  1. Accepts a TARGET directory path and optional --theme parameter.
  2. Clones templates/ contents into TARGET/src/.
  3. Injects the specified theme's tokens.css into TARGET/src/styles/tokens.css.
  4. Registers npm scripts (extract-narrations, synthesize-audio) in TARGET/package.json.
  5. Writes a .theme marker file to record the initial theme selection.

Scaffolding Commands

Generate a new presentation with the default theme:

bash skills/web-video-presentation/scripts/scaffold.sh ./my-presentation

Specify a theme explicitly:

bash skills/web-video-presentation/scripts/scaffold.sh ./my-presentation --theme=paper-press

List available themes:

bash skills/web-video-presentation/scripts/scaffold.sh --list-themes

Running the Generated Project

After scaffolding, navigate to the target directory and execute:

npm run dev

This starts the Vite development server (typically at http://localhost:5174).

Audio Pipeline Commands

The generated project includes automation for narration handling:

Extract narration metadata from all chapter files:

npm run extract-narrations

Synthesize audio using the default Minimax provider:

npm run synthesize-audio

Key Configuration Files

Several files define the skill's integration and build behavior:

Summary

  • The web-video-presentation skill resides at skills/web-video-presentation/ and separates concerns across seven top-level directories.
  • templates/ provides a complete Vite+React application with hooks like useStepper and components like Stage.tsx.
  • themes/ contains 23 theme packages, each with tokens.css and theme.json defining visual design systems.
  • scripts/scaffold.sh automates project creation by copying templates and injecting selected themes.
  • references/ stores design contracts including CHAPTER-CRAFT.md and OUTLINE-FORMAT.md to guide content generation.
  • manifest.json enables machine discovery of the skill by the Opencode platform.

Frequently Asked Questions

What file defines the visual appearance of a generated presentation?

The visual appearance is controlled by src/styles/tokens.css in the generated project, which is copied from the selected theme's tokens.css during scaffolding. This file maps semantic CSS variables to concrete values for colors, fonts, and spacing.

How does the scaffold script know which theme to apply?

When running scripts/scaffold.sh, you pass the --theme=<name> flag to specify one of the 23 directories under themes/. If omitted, it uses a default theme. The script also writes a .theme file to the generated root to record the selection for future reference.

What is the purpose of the references/ directory?

The references/ directory contains mandatory design contracts and guidelines (PRINCIPLES.md, CHAPTER-CRAFT.md, AUDIO.md, etc.) that agents consult to ensure generated presentations follow the skill's methodology for structure, style, and audio integration.

Can I modify the default React components after scaffolding?

Yes. The templates/src/components/ files—including Stage.tsx, ProgressBar.tsx, and MaskReveal.tsx—are copied into your generated project and can be freely modified. These components consume the CSS tokens, so changes to styling remain centralized in tokens.css.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →