Claude-code-best-practice presentation-structure
Knowledge about the presentation slide format, weight system, navigation, and section structure
install
source · Clone the upstream repo
git clone https://github.com/shanraisshan/claude-code-best-practice
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/shanraisshan/claude-code-best-practice "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/presentation/presentation-structure" ~/.claude/skills/shanraisshan-claude-code-best-practice-presentation-structure && rm -rf "$T"
manifest:
.claude/skills/presentation/presentation-structure/SKILL.mdsource content
Presentation Structure Skill
Knowledge about how the presentation at
presentation/index.html is structured.
File Location
presentation/index.html — a single-file HTML presentation with inline CSS and JS.
Slide Format
Each slide is a div with
data-slide (sequential number) and optional data-level (journey level at transition points):
<!-- Regular slide — inherits level from previous data-level slide --> <div class="slide" data-slide="12"> <h1>Slide Title</h1> <!-- content --> </div> <!-- Level transition slide — sets new level for this slide and all following --> <div class="slide section-slide" data-slide="10" data-level="low"> <h1>Section Name</h1> <p class="section-desc">Level: Low — description of this section</p> </div> <!-- Title slide (centered) --> <div class="slide title-slide" data-slide="1"> <h1>Presentation Title</h1> <p class="subtitle">Subtitle text</p> </div>
Journey Bar Level System
The presentation uses a 4-level system instead of cumulative percentages:
- Levels are set via
attribute on key transition slides (section dividers)data-level - All slides after a
slide inherit that level until the next transitiondata-level - The journey bar fills to 25% / 50% / 75% / 100% for Low / Medium / High / Pro respectively
- The bar is hidden on slide 1 (title slide); from slide 2 onward the bar is shown
- Slides before the first
(slides 2–9) show an empty bar (no level yet set)data-level - A
is JS-injected on the.level-badge
of slides that carry<h1>
— do NOT hardcode in HTMLdata-level
Level Transitions by Section
| Section | Slide Range | data-level | Bar Height |
|---|---|---|---|
| Part 0: Introduction | Slides 1-4 | (none) | hidden / empty |
| Part 1: Prerequisites | Slides 5-9 | (none) | empty |
| Part 2: Better Prompting | Slides 10-17 | | 25% |
| Part 3: Project Memory | Slides 18-24 | | 50% |
| Part 4: Structured Workflows | Slides 25-28 | (inherits medium) | 50% |
| Part 5: Domain Knowledge | Slides 29-33 | | 75% |
| Part 6: Agentic Engineering | Slides 34-46 | | 75% |
| Appendix | Slides 47+ | (inherits high) | 75% |
Navigation System
— used in TOC links, must match actualgoToSlide(n)
numbersdata-slide
is auto-computed from DOM (totalSlides
)document.querySelectorAll('[data-slide]').length- Arrow keys, Space, and touch swipe for navigation
- Slide counter shows
at bottom-leftcurrent / total
Renumbering Rules
After adding, removing, or reordering slides:
- Renumber ALL
attributes sequentially starting from 1data-slide - Update all
calls in the TOC/Journey Map slidegoToSlide() - The JS
auto-computes — no manual update neededtotalSlides - Verify no gaps or duplicates exist
Section Divider Format
Section dividers use the
section-slide class. Level-transition section dividers carry data-level and show the level name in the description:
<div class="slide section-slide" data-slide="10" data-level="low"> <p class="section-number">Part 2</p> <h1>Better Prompting</h1> <p class="section-desc">Level: Low — effective prompting for real results.</p> </div>
The JS will inject a
.level-badge (e.g., "→ Low") into the <h1> at runtime when the level transitions — do not add these manually in HTML.