presentation-creator
Create data-driven presentation slides using React, Vite, and Recharts with Sentry branding.
Skill by getsentryOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/getsentry-presentation-creator
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations, frontend, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/presentation-creator
What's inside
- Skill name
presentation-creator- Description
- Create data-driven presentation slides using React, Vite, and Recharts with Sentry branding. Use when asked to "create a presentation", "build slides", "make a deck", "create a data presentation", "build a Sentry presentation". Scaffolds a complete slide-based app with charts, animations, and single-file HTML output.
- License
- Apache-2.0
- Instructions
- 216 lines in SKILL.md · view on GitHub
Files (5)
- SKILL.md
- chart-patterns.md · references/
- design-system.md · references/
- sentry-glyph.svg · references/
- sentry-logo.svg · references/
SKILL.md (first lines)
# Sentry Presentation Builder
Create interactive, data-driven presentation slides using React + Vite + Recharts, styled with the Sentry design system and built as a single distributable HTML file.
## Step 1: Gather Requirements
Ask the user:
1. What is the presentation topic?
2. How many slides (typically 5-8)?
3. What data/charts are needed? (time series, comparisons, diagrams, zone charts)
4. What is the narrative arc? (problem → solution, before → after, technical deep-dive)
### Data Assessment (CRITICAL)
Before designing any slides, assess whether the source content contains **real quantitative data** (numbers, percentages, measurements, time series, costs, metrics). Only create Recharts visualizations for slides where real data exists. Do NOT fabricate, estimate, or invent data to fill charts.
- **Has real data** → use a Recharts chart (bar, area, line, etc.)
- **Has no data** → use text-based layouts: cards, tables, bullet columns, diagrams, or quote blocks. Do NOT create a chart with made-up numbers.
If the source content is purely qualitative (narrative, opinions, strategy, process descriptions), the presentation should use zero charts. Recharts and `Charts.jsx` should only be included in the project if at least one slide has real data to visualize.
## Step 2: Scaffold the Project
Create the project structure:
```
<project-name>/
├── index.html
├── package.json
├── vite.config.js
└── src/
├── main.jsx
├── App.jsx
├── App.css
└── Charts.jsx
```
### index.html
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link href="https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap" rel="stylesheet" />
<title>TITLE</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>
```
### package.json
```json
{
"name": "PROJECT_NAME",
"private": true,
"type": "module",
"scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" },
"dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1", "recharts": "^2.15.3" },
"devDependencies": { "@vitejs/plugin-react": "^4.3.4", "vite": "^6.0.0", "vite-plugin-singlefile": "^2.3.0" }
}
```
### vite.config.js
```javascript
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { viteSingleFile } from 'vite-plugin-singlefile'
export default defineConfig({ plugins: [react(), viteSingleFile()] })
```
### main.jsx
```jsx
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import './App.css'
ReactDOM.createRoot(document.getElementById('root')).render(<App />)
```
## Step 3: Build the Slide System
Read `references/design-system.md` for the complete Sentry color palette, typography, CSS variables, layout utilities, and animation system.
### App.jsx Structure
Define slides as an array of functions returning JSX:
```jsx
const SLIDES = [
() => ( /* Slide 0: Title */ ),
() => ( /* Slide 1: Context */ ),
// ...
];
```
Each slide function returns a `<div className="slide-content">` with:
1. An `<h2>` heading
2. Optional subtitle paragraph
3. Main content (charts, cards, diagrams, tables)
4. Animation classes: `.anim`, `.d1`, `.d2`, `.d3` for staggered fade-in
Do NOT add category tag pills/badges above headings (e.g., "BACKGROUND", "EXPERIMENTS"). They look generic and add no value. Let the heading speak for itself.
### Navigation
Implement keyboard navigation (ArrowRight/Space = next, ArrowLeft = prev) and a bottom nav overlay with prev/next buttons, dot indicators, and slide number. The nav has **no border or background** — it floats transparently. A small low-contrast Sentry glyph watermark sits fixed in the top-left corner of every slide.From getsentry/skills, Apache-2.0.
More from getsentry/skills
- 0.827score
security-model
getsentryOfficial
Define, review, or update SECURITY_MODEL.md files that tell security review tools a repository's threat model, trust boundaries, invariants, reportable…
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
django-access-review
getsentryOfficial
Django access control and IDOR security review.
SkillAFreshness: A★ 1.1KClaude Code - 0.827score
secret-serialization
getsentryOfficial
Finds secrets, tokens, passwords, and API keys that can leak through generated serialization: Python dataclass repr and asdict, attrs, pydantic model_dump…
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
gha-security-review
getsentryOfficial
GitHub Actions security review for workflow exploitation vulnerabilities.
SkillAFreshness: A★ 1.1KClaude Code - 0.827score
skill-scanner
getsentryOfficial
Scan agent skills for security issues.
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
security-review
getsentryOfficial
Security code review for vulnerabilities.
SkillAFreshness: A★ 1.1KClaude Code - 0.827score
triage-frontend-issues
getsentryOfficial
Triage new issues in the Sentry `javascript` project by archiving non-actionable noise.
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.821score
django-perf-review
getsentryOfficial
Django performance code review.
SkillAFreshness: A★ 1.1KClaude Code - 0.818score
pr-screenshots
getsentryOfficial
Capture screenshots of the Sentry UI in a web browser, lay them out in a pull request description as before/after tables, and upload them with `gh --attach`.
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.817score
claude-settings-audit
getsentryOfficial
Analyze a repository to generate recommended Claude Code settings.json permissions.
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.777score
iterate-pr
getsentryOfficial
Iterate on a PR until actionable CI passes and high/medium review feedback is addressed.
SkillBFreshness: B★ 1.1KClaude Code +9 - 0.724score
prompt-optimizer
getsentryOfficial
Creates, optimizes, and iteratively refines agent prompts, system prompts, developer prompts, and reusable prompt templates.
SkillCFreshness: C★ 1.1KClaude Code +9
Signals
- Stars
- 1,083
- Forks
- 60
- Open issues
- 7
- Last commit (this folder)
- May 9, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/getsentry/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from getsentry
- 0.827score
secret-serialization
getsentryOfficial
Finds secrets, tokens, passwords, and API keys that can leak through generated serialization: Python dataclass repr and asdict, attrs, pydantic model_dump…
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
security-model
getsentryOfficial
Define, review, or update SECURITY_MODEL.md files that tell security review tools a repository's threat model, trust boundaries, invariants, reportable…
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
security-review
getsentryOfficial
Security code review for vulnerabilities.
SkillAFreshness: A★ 1.1KClaude Code - 0.827score
skill-scanner
getsentryOfficial
Scan agent skills for security issues.
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
triage-frontend-issues
getsentryOfficial
Triage new issues in the Sentry `javascript` project by archiving non-actionable noise.
SkillAFreshness: A★ 1.1KClaude Code +9 - 0.827score
gha-security-review
getsentryOfficial
GitHub Actions security review for workflow exploitation vulnerabilities.
SkillAFreshness: A★ 1.1KClaude Code
Cite this page
presentation-creator skill. Agent Mart. https://agentmart.dev/skills/getsentry-presentation-creator (last updated 2026-10-24)