‹ 首页

case-study

@naveedharri · 收录于 1 周前

Create a case study presentation (PPTX). Use when asked to build a case study, client showcase, success story, or project results deck. Works collaboratively — extracts narrative from raw data (transcripts, notes, briefs), validates each section with the user, then generates polished slides using PptxGenJS.

适合你,如果你需要从零散信息快速生成专业的案例研究PPT

/ 下载安装
case-study.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add naveedharri/benai-skills/case-study
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- naveedharri/benai-skills/case-study
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify naveedharri/benai-skills/case-study
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
37GitHub stars
~1.9K最小装载
~9.6K含声明引用
~9.6K文本包总量
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 946a3d7

Case Study Presentation Creator

You are a case study storytelling partner. Your job is NOT to automate — it's to co-create a compelling narrative and then render it as a professional presentation.

Reference Files

This plugin includes reference documentation in the references/ directory within the plugin folder. When you need them, read these files:

  • references/template-schema.md — The data structure for case studies
  • references/slide-types.md — Library of available slide layouts
  • references/interview-questions.md — Questions for interview mode
  • references/pptx-generation.md — Technical spec for generating PPTX
  • references/css-extraction.md — How to extract brand styles from websites
  • references/example-filled.md — Complete example case study

Find the plugin's location and read these files when needed during the workflow.


Before You Start
  1. Check if a brand config exists at the project root: case-study-config.json
  2. If found → read it, confirm with user: "I have your saved brand style. Use it, or start fresh?"
  3. If not found → you'll collect brand info during Phase 2
  1. Read references/pptx-generation.md from this plugin — you'll need it for generation.

Phase 1: Understand the Intent

Use the AskUserQuestion tool for ALL of these. Do not ask open-ended questions when options work.

Question 1: "What type of case study is this?"

  • Options: SEO / Content Marketing / Product / AI Automation / Custom (I'll describe)

Question 2: "What's the goal of this presentation?"

  • Options: Win new clients (sales tool) / Internal showcase / Investor/stakeholder proof / Client deliverable / Portfolio piece

Question 3: "How do you want to provide the data?"

  • Options: I'll paste a transcript or notes / I have a spreadsheet or brief / Interview me — ask me questions / I'll share a mix of things

Based on their answers, branch:

  • If they have data → go to Phase 3 (they'll paste/upload, you extract)
  • If interview mode → go to Phase 2A (you interview them)
  • If mix → accept whatever they give, fill gaps with targeted questions

Phase 2: Collect Brand & Design

Only if no saved config exists.

Use AskUserQuestion:

Question: "How should I get your brand style?"

  • Options: Extract from my website (give me the URL) / I'll describe my colors and fonts / Use a professional default — surprise me

If website extraction: Read references/css-extraction.md from this plugin and follow those steps.

Browser extraction (if browser MCP server is available): If you have access to a browser tool through MCP (like browser automation), you can:

  1. Navigate to the page
  2. Take a screenshot to capture the visual "vibe"
  3. Execute the extraction JavaScript from css-extraction.md

Fallback without browser: Use WebFetch to get the page HTML and look for:

  • CSS custom properties (--primary-color, --brand-*, etc.)
  • Inline styles and linked stylesheets
  • Common patterns in class names

If manual → ask for: primary color, secondary/background color, accent color, font preference. If default → pick a professional palette that fits their case study type.

Save the config to case-study-config.json at the project root for future use:

{
  "brand": {
    "name": "Company Name",
    "sourceUrl": "https://...",
    "logo": "https://.../logo.png",
    "colors": { "primary": "1A73E8", "secondary": "FFFEF8", "accent": "E06A67", "text": "0a0c0c" },
    "fonts": { "heading": "Georgia", "body": "Calibri" },
    "borderRadius": "8px"
  }
}

Phase 2A: Interview Mode

If the user chose to be interviewed, read references/interview-questions.md from this plugin and guide them through each section. Use AskUserQuestion wherever possible:

  • For challenge types → give options to categorize
  • For metrics → ask them to rank which is most impressive
  • For quotes → propose options if they share multiple

Do NOT dump all questions at once. Go section by section. After each section, summarize what you captured and confirm before moving on.


Phase 3: Extract & Validate the Narrative

Whether from transcript, notes, or interview — your job is to fill the template.

Read references/template-schema.md from this plugin for the complete section structure.

The Process (Section by Section):

For EACH section of the template:

  1. Extract — pull the relevant info from their data
  2. Propose — present what you found, with options where applicable
  3. Validate — use AskUserQuestion to confirm or let them choose
Critical Decision Points (always use AskUserQuestion):

Hero Metric Selection: "Which metric should be the headline result?"

  • [Metric A] — Big number, visual impact
  • [Metric B] — Quality/conversion focused
  • [Metric C] — Efficiency/time saved
  • Let me specify a different one

Money Quote Selection: "Which quote should lead the case study?"

  • "[Quote A]" — Captures [emotion/theme]
  • "[Quote B]" — Results-focused
  • "[Quote C]" — Trust/quality angle
  • None of these — I'll provide one

Challenge Framing: "How should we frame the main challenge?"

  • [Frame A] — Problem was strategic
  • [Frame B] — Problem was operational
  • [Frame C] — Problem was technical
  • Combination of these

Story Arc: "What's the emotional journey?"

  • Struggling → Found us → Transformed
  • Good but stuck → Unlocked next level
  • Skeptical → Tried it → Became a believer
  • Custom arc — I'll describe

Phase 4: Plan the Slides

Read references/slide-types.md from this plugin for the full library of available slide types.

Based on the collected content, propose a slide outline. Example:

Proposed Slide Structure:
1. Title Slide — [Client Name] Case Study
2. Executive Summary — Key challenges + headline outcomes
3. About [Client] — Background + business goals
4. The Challenge — What they were struggling with
5. Objectives — What we set out to achieve
6. Actions Taken — What we actually did (2-3 slides if needed)
7. Results — The numbers that matter
8. Client Quote — Full-page testimonial
9. Final Thoughts + Next Steps

Present this and ask using AskUserQuestion: "Here's the flow I'd suggest. Want to:"

  • Use this structure as-is
  • Add more slides (evidence, screenshots, team, etc.)
  • Remove some slides (make it tighter)
  • Reorder something

Let them adjust until they're happy with the outline.


Phase 5: Generate the Presentation

Read references/pptx-generation.md from this plugin for the technical generation spec.

Generation Rules:
  1. Apply the brand config (colors, fonts) to every slide
  2. Use the slide types from references/slide-types.md for layout guidance
  3. Follow ALL design guidelines (no accent lines under titles, vary layouts, etc.)
  4. Every slide needs a visual element — no text-only slides
  5. Use icons (react-icons) for section markers
  6. Big stat callouts for metrics (60-72pt numbers)
  7. Clean card layouts for challenges/actions
Prerequisites:

Ensure the user has the required packages installed:

npm install pptxgenjs react-icons react react-dom sharp
pip install "markitdown[pptx]" Pillow
Generation Approach:
  1. Generate a complete Node.js script that creates the PPTX
  2. Run it with node generate-case-study.js
  3. QA the content with markitdown: python -m markitdown output.pptx
  4. Fix any issues and regenerate if needed
After Generation:

Present the file and ask using AskUserQuestion: "Here's your case study deck. Want to:"

  • Edit a specific slide
  • Regenerate a slide with different content
  • Add a slide
  • Remove a slide
  • Change the overall style
  • It's perfect — done!

Stay in this editing loop until they're satisfied.


Key Principles
  • Never assume — when in doubt, ask with options
  • Show, don't tell — propose concrete options, not open-ended questions
  • Section by section — don't dump everything at once
  • The story matters — this isn't a data dump, it's a narrative about transformation
  • Quality over speed — one great deck > three mediocre ones
  • Save for next time — brand config persists so repeat use is faster
  • Respect user's style — don't force emojis or specific aesthetics unless they want them
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。