Presentation Structure
Knowledge about the presentation slide format, weight system, navigation, and section structure
- Type
- Skill
- Repository
- shanraisshan/claude-code-best-practice
- GitHub stars
- 66.4k
- License
- MIT
- Repo last updated
- Sep 27, 2026
What Presentation Structure is
Presentation Structure is a skill published in the shanraisshan/claude-code-best-practice repository on GitHub, which has about 66.4k stars. The repository describes itself as: “from vibe coding to agentic engineering - practice makes claude perfect”
A skill is a folder with a SKILL.md file: frontmatter with a name and a description, followed by instructions Claude follows. Claude loads a skill automatically when a task matches its description, and you can also run it directly with a slash and its name.
Skills work in Claude Code and in Claude Cowork, which makes Presentation Structure a portable way to give Claude the same method everywhere.
How to install Presentation Structure
Claude Code
- Download the presentation-structure folder from the repository.
- Save it as ~/.claude/skills/<skill-name>/SKILL.md for all projects, or .claude/skills/<skill-name>/SKILL.md for one project.
- Claude loads it automatically when a task matches; you can also run it with / and its name.
Claude Cowork
- Zip the skill folder so SKILL.md sits at the top level of the folder.
- Open Customize → Skills, click +, then upload the ZIP.
- Start a task that matches the description, or call it by name with /.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from .claude/skills/presentation/presentation-structure/SKILL.md, shared under the repository's MIT license. Read the full file on GitHub.
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 data-level attribute on key transition slides (section dividers)
- All slides after a data-level slide inherit that level until the next transition
- 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 data-level (slides 2–9) show an empty bar (no level yet set)
- A .level-badge is JS-injected on the of slides that carry data-level — do NOT hardcode in HTML
Level Transitions by Section
Navigation System
- goToSlide(n) — used in TOC links, must match actual data-slide numbers
- totalSlides is auto-computed from DOM (document.querySelectorAll('[data-slide]').length)
- Arrow keys, Space, and touch swipe for navigation
- Slide counter shows current / total at bottom-left
Renumbering Rules
After adding, removing, or reordering slides:
- Renumber ALL data-slide attributes sequentially starting from 1
- Update all goToSlide() calls in the TOC/Journey Map slide
- The JS totalSlides auto-computes — no manual update needed
- 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 at runtime when the level transitions — do not add these manually in HTML.
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Presentation Structure?
Presentation Structure is a skill for Claude Code and Claude Cowork from the shanraisshan/claude-code-best-practice repository on GitHub. Knowledge about the presentation slide format, weight system, navigation, and section structure
How do I install Presentation Structure in Claude Code?
Download the presentation-structure folder from the repository. Save it as ~/.claude/skills/<skill-name>/SKILL.md for all projects, or .claude/skills/<skill-name>/SKILL.md for one project. Claude loads it automatically when a task matches; you can also run it with / and its name.
Can I use Presentation Structure in Claude Cowork?
Zip the skill folder so SKILL.md sits at the top level of the folder. Open Customize → Skills, click +, then upload the ZIP. Start a task that matches the description, or call it by name with /.
Is Presentation Structure safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Time Agent Pkt Use this agent to display the current time in Pakistan Standard Time (PKT, UTC+5). (root scope — see agent-teams for Dubai time) Subagent · shanraisshan/claude-code-best-practice
- Ux Designer Produces a concise, accessible UX brief with flows, states, and annotations. Subagent · shanraisshan/claude-code-best-practice
- Workflow Claude Settings Agent Research agent that fetches Claude Code docs, reads the local settings report, and analyzes drift Subagent · shanraisshan/claude-code-best-practice
- Workflow Claude Subagents Agent Research agent that fetches Claude Code docs, reads the local subagents report, and analyzes drift Subagent · shanraisshan/claude-code-best-practice
- Last30days Research what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web. Includes a doctor health check to diagnose broken or missing sources. Skill · mvanhorn/last30days-skill
- Impeccable Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load… Skill · pbakaus/impeccable
- Ad Creative When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' 'write me some ads,' 'Facebook ad copy,' 'Google ad headlines,' 'LinkedIn… Skill · coreyhaines31/marketingskills
- Career Ops AI job search command center -- evaluate offers, generate CVs, scan portals, track applications Skill · career-ops-hq/career-ops