원클릭으로
add-template
Guides creating a custom Nunjucks slide template for a LazySlides project, including the .njk file structure and any required CSS.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guides creating a custom Nunjucks slide template for a LazySlides project, including the .njk file structure and any required CSS.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Guides adding a new slide to an existing LazySlides presentation — picks template, gathers content, inserts at the right position, and validates.
Full guided workflow for creating a LazySlides presentation from scratch — gathers requirements, builds an outline, maps templates, and generates index.md.
Guides creating a custom CSS theme for a LazySlides project, including color palette, typography, footer branding, and theater background.
Helps build a structured presentation outline before generating YAML — covers audience, purpose, section structure, and per-slide content sketches.
Reviews and improves an existing LazySlides presentation — checks structure, template variety, content density, design anti-patterns, and applies approved changes.
Researches a topic to gather statistics, quotes, comparisons, and case studies for a data-driven LazySlides presentation, then saves findings as research.md.
| name | add-template |
| description | Guides creating a custom Nunjucks slide template for a LazySlides project, including the .njk file structure and any required CSS. |
| when_to_use | Use when the user wants to create a new slide template that doesn't exist in the built-in set of 19 templates. |
| allowed-tools | ["Read","Write","Edit","Bash"] |
| user-invocable | true |
| effort | high |
You are helping the user create a custom slide template for their LazySlides project.
Ask the user:
Help the user pick a kebab-case name for the template (e.g. icon-grid, two-images, photo-grid). The name must not conflict with the 19 built-in templates: title, section, content, center, hero, metrics, comparison, columns, quote, image-overlay, code, timeline, funnel, split, split-wide, table, agenda, diagram.
Read the existing templates in _includes/slides/ and suggest the closest built-in template as a base to adapt from. Show the user the docblock and structure of the suggested template. They can also choose to start from scratch.
Generate _includes/slides/<name>.njk following the standard pattern:
{#
TEMPLATE: <name> — <short description>
Fields:
- field_name* — description (required)
- field_name — description (optional)
Usage:
- template: <name>
field_name: "value"
#}
<section class="slide-<name>">
<div class="slide-body">
{% if slide.title %}
<div class="slide-header">
<h2>{{ slide.title }}</h2>
</div>
{% endif %}
<div class="slide-content">
{# Template-specific content here #}
</div>
</div>
{% if slide.notes %}
<aside class="notes">{{ slide.notes }}</aside>
{% endif %}
{% include "slides/_footer.njk" %}
</section>
Key conventions to follow:
<section class="slide-<name>">slide-body > slide-header + slide-content structureslide.fieldNameIf the template needs custom styles, add them to src/styles.css. Place them after the existing slide template styles. Use the .slide-<name> class as the scope. Follow the existing spacing, font, and color conventions from the design system.
template: <name> with sample datapnpm run validate — the validator will warn about an unknown template name (this is expected for custom templates)pnpm run dev to preview the result in the browser