Agent skill

Graphic Case Study

by Varnan-Tech in Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing.

MITAuto-check passedDocuments & Office

Install Graphic Case Study

skills CLI
$ npx skills add Varnan-Tech/opendirectory --skill graphic-case-study -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Varnan-Tech/opendirectory graphic-case-study --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/graphic-case-study .claude/skills/graphic-case-study && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
graphic-case-study
GitHub stars
674
Token cost
~3.2k tokens
SKILL.md length
1,342 words
Files
6 (incl. references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Generates a professionally designed case study PDF for B2B SaaS sales and marketing.

  • Works in 9 steps: Brief Intake → Complete Intake → 5: Internal Page Architecture (not shown… → …
  • User says create a case study
  • SKILL.md covers Step 1: Brief Intake, Step 2: Complete Intake, Step 2.5: Internal Page… and Step 3: Page Structure, plus 6 more sections
  • Calls bash

What it does

Graphic Case Study is an agent skill from Varnan-Tech/opendirectory. Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `README.md`, `evals/evals.json` and `references/design-system.md`). Compatibility notes: ["claude-code","gemini-cli","github-copilot"]

It sits in Documents & Office, covering Storytelling, PDF and Multi-tenancy. The repository describes itself as: AI Agent Skills built for Founders who hate Marketing. The licence is MIT.

When your agent uses it

  • User says create a case study
  • Write a customer story
  • Make a case study PDF
  • Design a success story

Example prompts

  • “create a case study”
  • “write a customer story”
  • “make a case study PDF”
  • “/graphic-case-study”

Requirements

  • Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"]

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Brief Intake
  2. Complete Intake
  3. 5: Internal Page Architecture (not shown to user)
  4. Page Structure
  5. Content Draft
  6. HTML Generation
  7. Self-QA
  8. Output
  9. Summary (no HTML in chat)

What it can do on your machine

Read from SKILL.md and the folder at commit 62e437a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    ["claude-code","gemini-cli","github-copilot"]

    From compatibility in the SKILL.md frontmatter.

Context cost

Graphic Case Study loads about 3.2k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 81 tokens; SKILL.md has 1,342 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 1,342 words, ~3,156 tokens.

Download SKILL.mdSave it as .claude/skills/graphic-case-study/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
graphic-case-study
description
Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".
compatibility
["claude-code","gemini-cli","github-copilot"]
author
OpenDirectory
version
1.0.0

Graphic Case Study

Generate a professionally designed B2B case study PDF from customer story details. Output is a single self-contained HTML file (opens in any browser) plus a print-ready PDF. Supports 7 page section layouts and 9 style presets.


Critical rules -- non-negotiable:

  1. Every page MUST fit within the A4 canvas (1200×1697px). No content overflow.
  2. ALL scalable font sizes use clamp(). Fixed px only for structural borders/lines.
  3. Single self-contained HTML: all CSS inline. Zero external dependencies except font CDN link.
  4. Never dump HTML in chat. Save to file, show summary only.
  5. Results stat numbers MUST be visually dominant -- at least 3× body text size.
  6. No generic AI slop: no Inter as display font, no purple gradient on white, no "Thank You" closing.

Step 1: Brief Intake

Need four things to start. If all four present in the message: skip to Step 2.

If any missing, ask exactly:

"To create your case study, I need four things:

  1. Customer name -- company name (or a descriptor to anonymize: "Fortune 500 Retailer")
  2. Challenge -- what problem did they have before using your product? (2-5 sentences)
  3. Solution -- what did your product do to solve it? (features, approach)
  4. Results -- measurable outcomes: ideally 3 stats (%, time saved, revenue impact, etc.)"

Wait for all four before continuing.


Step 2: Complete Intake

Ask all questions in one message, grouped by category. User can skip any -- defaults apply.

"A few questions before I start:

Content

  1. Customer context -- industry, company size, location? (optional, used for overview page)
  2. Testimonial -- customer quote (40 words max) + speaker name + title? (or "I'll add later")
  3. Page count -- 1-pager (summary card) / 2-pager (standard, default) / 4-pager (detailed)
  4. Customer logo -- URL or "none"

Design 5. Your company name -- vendor name for the CTA page (+ logo URL if available) 6. Style -- clean-slate / midnight-editorial / matt-gray / product-minimal / mint-pixel-corporate / warm-earth / brutalist / magazine-red / "show me options" 7. Orientation -- A4 portrait (default, 1200×1697) / landscape 4:3 (1200×900)

Output 8. Anonymize? -- Keep company name / replace with industry descriptor 9. Slug -- filename slug (e.g. "acme-corp-2025"); I'll derive from customer name if skipped"

Defaults if skipped:

QuestionDefault
Customer contextnone
Testimonialnone
Page count2
Customer logonone
Your company namederived from context
Styleclean-slate
OrientationA4 portrait
Anonymizekeep name
Slugkebab-case of customer name

If style = "show me options": Generate 3 single-page HTML previews (cover page only). Save to .claude-design/previews/style-a.html, style-b.html, style-c.html. Open each: open .claude-design/previews/style-a.html etc. Choose 3 style presets that match the case study context. Ask user to pick before Step 3.


Step 2.5: Internal Page Architecture (not shown to user)

Derive internally before Step 3. Never ask the user.

Hero metric identification: Scan results for the single most impressive number (largest %, biggest $, greatest multiplier). This metric gets accent-color treatment and maximum visual weight on the results page.

Page count -> structure template:

CountPage sequence
1-pager1 page: [cover-compact] -- all content condensed into one page
2-pagerPage 1: [cover] + [challenge-solution] stacked · Page 2: [results] + [testimonial-cta] stacked
4-pagerPage 1: [cover] · Page 2: [overview] + [challenge] · Page 3: [solution] + [results] · Page 4: [testimonial] + [closing-cta]

Visual character derived from style choice:

  • clean-slate → professional authority, generous whitespace, enterprise-safe
  • midnight-editorial → premium dark, editorial weight, tech/AI companies
  • matt-gray → trusted neutral, operational, board-safe
  • warm-earth → approachable warmth, consulting/agency/services
  • brutalist → bold standout, design-forward, attention-commanding
  • If not specified: default to clean-slate for B2B SaaS, midnight-editorial for technical companies.

Step 3: Page Structure

Read references/page-library.md before planning.

Plan the full page sequence. Assign section types from the 7 in references/page-library.md to each page section. Multiple sections can stack within one page.

Output as numbered list with [section-type] labels per page. Example for 2-pager:

Proposed structure (2 pages, clean-slate style):

Page 1:
  [cover] -- Acme Corp cut reporting time by 80%
  [challenge-solution] -- manual process / DataPulse automation

Page 2:
  [results] -- 80% time saved, 95% error reduction, $200K saved
  [closing-cta] -- Get in touch: hello@datapulse.io

Does this structure work, or should I adjust anything?

Wait for confirmation before Step 4.


Step 4: Content Draft

Write per-page-section copy. Plain text only -- no HTML yet.

Copy rules per section:

  • cover: company name + headline result (12 words max, MUST lead with the number: "Acme cut reporting time by 80%") + optional category label ("Customer Success Story")
  • overview: 4 facts only -- Industry / Company size / Location / Use case -- each value 4 words max
  • challenge: context paragraph (2-3 sentences) + 3 pain points (1 sentence each, no bullet filler)
  • solution: 2-3 feature callouts -- feature name (3 words max) + 1-sentence outcome description each
  • results: 3 metrics (number + short label + 1-line context). Optional: 2-sentence narrative. ZERO body copy at same weight as the numbers.
  • testimonial: exact quote (40 words max) + speaker name + title + company
  • closing-cta: headline (5 words max) + CTA action text (3 words) + email + URL (both required)

Forbidden words (no exceptions): "powerful", "seamless", "game-changing", "leverage", "innovative", "revolutionary", "transform", "cutting-edge", "robust", "unlock", "scalable" (as filler adjective).

Copy philosophy: Numbers beat adjectives. Lead every section with the outcome, not the feature. Fragments are fine.


Show full SKILL.md (598 more words)Show less

Step 5: HTML Generation

Read ALL before generating any HTML:

This skill's references:

  • references/design-system.md
  • references/page-library.md
  • references/style-presets.md

frontend-slides cross-references (read this exact file):

  • /Users/ksd/Desktop/Varnan_skills/frontend-slides/viewport-base.css -- include FULL contents verbatim inside <style> block

Generation rules:

  1. Single self-contained HTML. All CSS inline. Font CDN <link> is the only external reference.
  2. Include the FULL verbatim contents of viewport-base.css inside the <style> block -- do not paraphrase or shorten it.
  3. After pasting viewport-base.css, add portrait A4 overrides:
    css
    /* A4 portrait overrides */
    html { scroll-snap-type: none; scroll-behavior: auto; }
    .slide {
      width: 100vw;
      height: 100vh;
      height: 100dvh;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      position: relative;
      scroll-snap-align: none;
    }
  4. Every page section = <section class="slide"> -- required for export-pdf.sh detection.
  5. Comment each page: /* === PAGE N: SECTION-TYPES === */
  6. Results stat numbers: clamp(2.5rem, 7vw, 5rem) minimum. Hero metric in accent color. Other metrics in secondary text color.
  7. No images provided -> CSS-generated visuals (geometric shapes, gradient backgrounds, icon-like CSS constructs). Never output visible placeholder boxes.
  8. No SlidePresentation JS. Include only a minimal IntersectionObserver for .reveal entrance animations (viewer experience; PDF export renders to final state automatically).
  9. For landscape 4:3 (if requested): use clamp() values from graphic-slide-deck proportions -- landscape 1200×900 means 1vw=12px, similar to portrait.

Typography discipline (all clamp-based, tuned for 1200px A4 portrait):

  • Cover headline: clamp(2rem, 5vw, 3.5rem)
  • Section heading: clamp(1.25rem, 2.5vw, 2rem)
  • Body: clamp(0.875rem, 1.25vw, 1.1rem)
  • Stat number (hero): clamp(3rem, 8vw, 5.5rem) in accent color
  • Stat number (secondary): clamp(2.5rem, 7vw, 5rem) in secondary color
  • Quote: clamp(1.1rem, 2vw, 1.5rem) italic
  • Label/caption: clamp(0.65rem, 0.9vw, 0.8rem) uppercase

Step 6: Self-QA

Check every item. Fix every failure -- do not skip.

Layout and rendering:

  • Every .slide has height:100vh; height:100dvh; overflow:hidden
  • ALL scalable font sizes use clamp()
  • No content overflows at 1200×1697 viewport -- check each page's density against references/page-library.md limits
  • CSS-generated visuals present for all image placeholder spots
  • No -clamp(), -min(), -max() in CSS -- wrap negatives in calc(-1 * ...)

Structure:

  • Page count matches Step 3 plan
  • Every page uses class="slide"
  • All content sections from Step 3 are present
  • class="slide" only on <section> elements, not inner divs

Design quality:

  • Hero metric visually dominant on results section -- accent color, largest size, no competing elements at equal weight
  • Style preset tokens applied consistently (colors, fonts from references/style-presets.md)
  • No slop patterns (check DO NOT USE list in references/style-presets.md)
  • Typography hierarchy clear: cover headline >> section heading >> body (at least 2:1 ratio)

Content:

  • No forbidden words in any copy
  • Cover headline leads with a number or measurable result
  • Testimonial quote is 40 words or fewer
  • Closing CTA has headline + action + email + URL (all four)
  • All stats in results section have labels (no naked numbers)

Step 7: Output

Save the main HTML:

bash
mkdir -p case-study/[slug]

Write to: case-study/[slug]/index.html

Open it: open case-study/[slug]/index.html

Per-page HTML files (always generate these):

Extract each <section class="slide"> from the main HTML. For each one, create a standalone file with:

  • The full <style> block from the main HTML (copied verbatim)
  • The individual <section class="slide"> wrapped in a minimal HTML shell
  • No JS (static per-page viewing)

Write to: case-study/[slug]/page-01.html, page-02.html, etc.

PDF export (always do this for A4 portrait):

bash
bash /Users/ksd/Desktop/Varnan_skills/frontend-slides/scripts/export-pdf.sh \
  case-study/[slug]/index.html \
  case-study/[slug].pdf --portrait

If landscape 4:3 was requested, omit --portrait and use --compact instead (1280×720).

Note: first run installs Playwright automatically (~30-60 seconds). Inform the user.

Cleanup: Delete .claude-design/previews/ if style preview files were generated in Step 2.


Step 8: Summary (no HTML in chat)

Present in chat:

## Case Study: [customer name]
Date: [today] | Style: [style] | Pages: [N] | Format: A4 portrait
Vendor: [your company] | Customer: [customer name]

---

### Files
Main:      case-study/[slug]/index.html
Per-page:  case-study/[slug]/page-01.html -> page-0N.html
PDF:       case-study/[slug].pdf

---

### Case Study Checklist
- [ ] Replace [IMAGE: logo] placeholder with real logo file
- [ ] Verify all stats are accurate (page [results page number])
- [ ] Confirm customer has approved quote usage
- [ ] Proof company name spelling, speaker title accuracy
- [ ] Test PDF page count = [N] and no content clips
- [ ] Share PDF at case-study/[slug].pdf

Do not print HTML in chat.


Section Reference

SectionPurpose
coverOpening page -- customer name, headline result, logos
overviewAt-a-glance profile -- industry, size, use case
challengeThe problem -- context + pain points
solutionHow your product solved it -- feature callouts
resultsKey metrics + supporting narrative
testimonialFull-width pull quote from customer
closing-ctaVendor logo + contact info + next step

© Varnan-Tech, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/graphic-case-study of Varnan-Tech/opendirectory.

  • SKILL.md
  • README.md
  • evals/evals.json
  • references/design-system.md
  • references/page-library.md
  • references/style-presets.md

Open the folder on GitHubat commit 62e437a

Compare with similar skills

Graphic Case Study next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Graphic Case Study compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Graphic Case Study this skillVarnan-Tech/opendirectory674—~3.2kAutomated safety check: PassMIT
Bookforge Korean Ebook PDF Makergongnyang/bookforge3141 repos~1.7kAutomated safety check: PassMIT
Huashu Markdown Publishing Pipelinealchaincyf/huashu-md-html908—~4.8kAutomated safety check: PassMIT
PDF Translatelxsssssss/pdf-translate102—~1.6kAutomated safety check: PassMIT
Fetch ContentSerhiiKorniienko/bullshit-detector154—~976Automated safety check: PassMIT
Refresh Docsjoselado/pyqula145—~816Automated safety check: PassGPL-3.0

Similar skills

  • Produces book-style Korean ebook PDFs from a topic or finished manuscript, with six design styles, real book parts and quality-check gates before output.

    314 GitHub starsUsed in 1 repo~1.7k tokens
    Documents & OfficeAuto-check passed
  • Huashu Markdown Publishing Pipeline

    alchaincyf/huashu-md-html

    Converts files and web pages into clean Markdown, then turns Markdown into polished HTML, Word, PDF and EPUB using four templates.

    908 GitHub stars~4.8k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • PDF Translate

    lxsssssss/pdf-translate

    A skill your agent uses when translating PDF documents between languages while strictly preserving original layout, formatting, typography, tables, and signatures.

    102 GitHub stars~1.6k tokensUpdated 10 days ago
    Documents & OfficeAuto-check passed
  • Fetch Content

    SerhiiKorniienko/bullshit-detector

    Fetch and normalize any content source into clean text with metadata — YouTube video transcripts, TikTok captions, web articles, PDFs, tweets/X posts, local files.

    154 GitHub stars~976 tokensUpdated 8 days ago
    Documents & OfficeAuto-check passed
  • Refresh Docs

    joselado/pyqula

    Refresh pyqula's documentation after a change - recount the test suite, propagate every number that moved, re-run the static user-guide checks, and rebuild documentation/userguide.pdf.

    145 GitHub stars~816 tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Document Design

    jamditis/claude-skills-journalism

    Creates print-ready HTML that exports to PDF. An agent skill from jamditis/claude-skills-journalism.

    416 GitHub stars~1.9k tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed

More from Varnan-Tech/opendirectory

All 61 skills in this repo
  • Podcast Transcript Fetcher

    Varnan-Tech/opendirectory

    A skill your agent uses when fetching, searching, or analyzing transcripts from Lenny's Podcast, Dwarkesh Podcast, Cheeky Pint, 20VC, or A16z Podcast.

    674 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check: notes
  • Graphic Ebook

    Varnan-Tech/opendirectory

    Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.

    674 GitHub stars~5k tokensUpdated 1 mo ago
    Auto-check passed
  • Where Your Customer Lives

    Varnan-Tech/opendirectory

    Given a product utility and ICP, researches the internet to find the specific channels.

    674 GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Docs From Code

    Varnan-Tech/opendirectory

    Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.

    674 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Chart

    Varnan-Tech/opendirectory

    Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.

    674 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Gif

    Varnan-Tech/opendirectory

    Creates animated looping GIFs from CSS animations (default) or AI image-to-video.

    674 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Graphic Case Study

What does Graphic Case Study do?

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Graphic Case Study is an agent skill from Varnan-Tech/opendirectory. Generates a professionally designed case study PDF for B2B SaaS sales and marketing.

When should I use Graphic Case Study?

Graphic Case Study fits situations like: user says create a case study; write a customer story; make a case study PDF; design a success story.

How do I install Graphic Case Study in Claude Code?

Run `npx skills add Varnan-Tech/opendirectory --skill graphic-case-study -a claude-code`. Or copy the skill folder (skills/graphic-case-study in Varnan-Tech/opendirectory) into .claude/skills/graphic-case-study in your project. Claude Code loads it when a task matches its description.

How do I install Graphic Case Study in Codex?

Run `npx skills add Varnan-Tech/opendirectory --skill graphic-case-study -a codex`. Or copy the skill folder (skills/graphic-case-study in Varnan-Tech/opendirectory) into .agents/skills/graphic-case-study in your project. Codex loads it when a task matches its description.

Can I use Graphic Case Study in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Varnan-Tech/opendirectory --skill graphic-case-study -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/graphic-case-study, .gemini/skills/graphic-case-study, .github/skills/graphic-case-study and .opencode/skills/graphic-case-study in your project.

What does Graphic Case Study need to run?

Going by SKILL.md and its folder, Graphic Case Study needs the command-line tools its instructions call (bash). Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"].

Does Graphic Case Study access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Graphic Case Study safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Graphic Case Study use?

Graphic Case Study is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Graphic Case Study use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.6k tokens, read only when the agent opens those files.

What are the alternatives to Graphic Case Study?

Skills that share tags, products or a category with Graphic Case Study: Bookforge Korean Ebook PDF Maker (gongnyang/bookforge, 314 stars), Huashu Markdown Publishing Pipeline (alchaincyf/huashu-md-html, 908 stars), PDF Translate (lxsssssss/pdf-translate, 102 stars) and Fetch Content (SerhiiKorniienko/bullshit-detector, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Graphic Case Study?

Varnan-Tech (a GitHub organization) maintains it in Varnan-Tech/opendirectory, which has 674 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on August 16, 2026.

Source: Varnan-Tech/opendirectory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.