Source profileQuality 85/100Review permissions

naveedharri/benai-skills/shared-skills/case-study/SKILL.md

case-study

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.

Source repository stars
48
Declared platforms
0
Static risk flags
2
Last source update
2026-08-05
Source checked
2026-08-05

Decision brief

What it does—and where it fits

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.

Best for

  • Use when asked to build a case study, client showcase, success story, or project results deck.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/naveedharri/benai-skills --skill "shared-skills/case-study"
Safe inspection promptEditorial

Inspect the Agent Skill "case-study" from https://github.com/naveedharri/benai-skills/blob/81c92a39f3c7be5754b9bc7efee6aaa5627d535c/shared-skills/case-study/SKILL.md at commit 81c92a39f3c7be5754b9bc7efee6aaa5627d535c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Phase 1: Understand the Intent

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

    Options: SEO / Content Marketing / Product / AI Automation / Custom (I'll describe)Options: Win new clients (sales tool) / Internal showcase / Investor/stakeholder proof / Client deliverable / Portfolio pieceOptions: 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
  2. 02

    Phase 2: Collect Brand & Design

    Only if no saved config exists.

    Options: Extract from my website (give me the URL) / I'll describe my colors and fonts / Use a professional default — surprise meNavigate to the pageTake a screenshot to capture the visual "vibe"
  3. 03

    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 categorizeFor metrics → ask them to rank which is most impressiveFor quotes → propose options if they share multiple
  4. 04

    Phase 3: Extract & Validate the Narrative

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

    Extract — pull the relevant info from their dataPropose — present what you found, with options where applicableValidate — use AskUserQuestion to confirm or let them choose
  5. 05

    The Process (Section by Section):

    For EACH section of the template:

    Extract — pull the relevant info from their dataPropose — present what you found, with options where applicableValidate — use AskUserQuestion to confirm or let them choose

Permission review

Static risk signals and limitations

Network access

medium · line 84

The documentation includes network, browsing, or remote request actions.

"sourceUrl": "https://...",

Network access

medium · line 85

The documentation includes network, browsing, or remote request actions.

"logo": "https://.../logo.png",

Runs scripts

medium · line 202

The documentation asks the agent to run terminal commands or scripts.

npm install pptxgenjs react-icons react react-dom sharp

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score85/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars48SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
naveedharri/benai-skills
Skill path
shared-skills/case-study/SKILL.md
Commit
81c92a39f3c7be5754b9bc7efee6aaa5627d535c
License
MIT
Collected
2026-08-05
Default branch
develop
View the original SKILL.md

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

    • If found → read it, confirm with user: "I have your saved brand style. Use it, or start fresh?"
    • If not found → you'll collect brand info during Phase 2
  2. 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

Alternatives

Compare before choosing

Computed 982,509

aaron-he-zhu/aaron-marketing-skills

reactivation-specialist

Use when the user asks to "build a win-back campaign", "re-engage lapsed subscribers", "run a re-permission / re-consent sweep", or "sunset my dead list"; produces a closed-loop reactivation program — a lapsed-cohort definition, a staged offer ladder, a re-consent (re-permission) capture step, and a sunset-confirm / suppression rule. Owns none of the SEND-N sub-item notes: engagement-decay / sunset is email-sequence-designer's and preference-center / frequency options is preference-frequency-man

Computed 9840

respira-press/agent-skills-wordpress

design-system-synthesizer

Use when the user says 'build a design system for my site', 'extract design tokens', 'capture my brand', or 'build my style guide', or after a rebrand. Reads representative pages, theme files, and media to extract logo, colors, typography, spacing, and components, then writes a visible style-guide page.

Computed 9829

MoizIbnYousaf/marketing-cli

higgsfield-generate

Use when the user wants to generate an image or video via Higgsfield AI. Covers 30+ models: Soul V2, Seedance 2.0, Kling 3.0, Veo 3.1, GPT Image 2, Nano Banana 2. Also covers Marketing Studio — branded ad video/image with avatars and products. Use whenever: "generate an image", "make a video", "animate this photo", "image-to-video", "img2vid", "edit this image with AI", "produce a clip", "create an ad", "make a UGC video", "marketing video", "brand video", "TV spot", "import product from URL", "

Computed 9729

MoizIbnYousaf/marketing-cli

creative

Generate visual asset briefs, ad copy variants, AI image prompts, video scripts, and storyboards. Full creative production system with 5 specialized modes: product photos, product video, social graphics, talking heads, and ad creative. Make sure to use this skill whenever the user mentions any visual or creative marketing need — ad creative, image prompts, video scripts, thumbnails, banners, social graphics, product photography, storyboards, or marketing visuals of any kind. Even if they just sa