Agent skill

case-study-writing

B2B case study writing with STAR framework, data visualization, and research. Covers structure, customer quotes, metrics presentation, and distribution formats. Use for: customer success stories, portfolio pieces, sales enablement, marketing content. Triggers: case study, customer story, success story, b2b case study, client testimonial, customer case study, portfolio case study, use case, customer win, results story

Stars 247
Forks 46

Install this agent skill to your Project

npx add-skill https://github.com/inference-sh/skills/tree/main/guides/writing/case-study-writing

SKILL.md

Case Study Writing

Create compelling B2B case studies with research and visuals via inference.sh CLI.

Quick Start

Requires inference.sh CLI (infsh). Install instructions

bash
infsh login

# Research the customer's industry
infsh app run tavily/search-assistant --input '{
  "query": "SaaS customer onboarding challenges 2024 statistics"
}'

The STAR Framework

Every case study follows: Situation -> Task -> Action -> Result

Section Length Content Purpose
Situation 100-150 words Who the customer is, their context Set the scene
Task 100-150 words The specific challenge they faced Create empathy
Action 200-300 words What solution was implemented, how Show your product
Result 100-200 words Measurable outcomes, before/after Prove value

Total: 800-1200 words. Longer loses readers. Shorter lacks credibility.

Structure Template

1. Headline (Lead with the Result)

❌ "How Company X Uses Our Product"
❌ "Company X Case Study"

✅ "How Company X Reduced Onboarding Time by 60% with [Product]"
✅ "Company X Grew Revenue 340% in 6 Months Using [Product]"

The headline should be specific, quantified, and state the outcome.

2. Snapshot Box

Place at the top for skimmers:

┌─────────────────────────────────────┐
│ Company: Acme Corp                  │
│ Industry: E-commerce                │
│ Size: 200 employees                 │
│ Challenge: Manual order processing  │
│ Result: 60% faster fulfillment      │
│ Product: [Your Product]             │
└─────────────────────────────────────┘

3. Situation

  • Who is the customer (industry, size, location)
  • What relevant context existed before the problem
  • 1-2 sentences of company background

4. Task / Challenge

  • Quantify the pain: "spending 40 hours/week on manual data entry" not "had data problems"
  • Show stakes: what would happen if unsolved (lost revenue, churn, missed deadlines)
  • Include a customer quote about the frustration

5. Action / Solution

  • What was implemented (your product/service)
  • Timeline: "deployed in 2 weeks" / "3-month rollout"
  • Key decisions or configurations
  • Why they chose you over alternatives (briefly)
  • 2-3 specific features that addressed the challenge

6. Results

  • Before/after metrics — always quantified
  • Timeframe — "within 3 months" / "in the first quarter"
  • Unexpected benefits beyond the original goal
  • Customer quote about the outcome

Metrics That Matter

How to Present Numbers

❌ "Improved efficiency"
❌ "Saved time"
❌ "Better results"

✅ "Reduced processing time from 4 hours to 45 minutes (81% decrease)"
✅ "Increased conversion rate from 2.1% to 5.8% (176% improvement)"
✅ "Saved $240,000 annually in operational costs"

Metric Categories

Category Examples
Time Hours saved, time-to-completion, deployment speed
Money Revenue increase, cost reduction, ROI
Efficiency Throughput, error rate, automation rate
Growth Users gained, market expansion, feature adoption
Satisfaction NPS change, retention rate, support tickets reduced

Data Visualization

bash
# Generate a before/after comparison chart
infsh app run infsh/python-executor --input '{
  "code": "import matplotlib.pyplot as plt\nimport matplotlib\nmatplotlib.use(\"Agg\")\n\ncategories = [\"Processing Time\", \"Error Rate\", \"Cost per Order\"]\nbefore = [4, 12, 8.50]\nafter = [0.75, 1.5, 2.10]\n\nfig, ax = plt.subplots(figsize=(10, 6))\nx = range(len(categories))\nwidth = 0.35\nax.bar([i - width/2 for i in x], before, width, label=\"Before\", color=\"#ef4444\")\nax.bar([i + width/2 for i in x], after, width, label=\"After\", color=\"#22c55e\")\nax.set_ylabel(\"Value\")\nax.set_xticks(x)\nax.set_xticklabels(categories)\nax.legend()\nax.set_title(\"Impact of Implementation\")\nplt.tight_layout()\nplt.savefig(\"results-chart.png\", dpi=150)\nprint(\"Chart saved\")"
}'

Customer Quotes

What Makes a Good Quote

❌ "We love the product." (vague, could be about anything)
❌ "It's great." (meaningless)

✅ "We went from processing 50 orders a day to 200, without adding a single person to the team."
   — Sarah Chen, VP Operations, Acme Corp

✅ "Before [Product], our team dreaded Monday mornings because of the report backlog.
    Now it's automated and they can focus on actual analysis."
   — Marcus Rodriguez, Head of Analytics, DataCo

Quote Placement

  • 1 quote in the Challenge section — about the frustration/pain
  • 1-2 quotes in the Results section — about the outcome/transformation
  • Always attribute: full name, title, company

Quote Formatting

markdown
> "We went from processing 50 orders a day to 200, without adding anyone to the team."
>
> — Sarah Chen, VP Operations, Acme Corp

Research Support

Finding Industry Context

bash
# Industry benchmarks
infsh app run tavily/search-assistant --input '{
  "query": "average e-commerce order processing time industry benchmark 2024"
}'

# Competitor landscape
infsh app run exa/search --input '{
  "query": "order management automation solutions market overview"
}'

# Supporting statistics
infsh app run exa/answer --input '{
  "question": "What percentage of e-commerce businesses still use manual order processing?"
}'

Distribution Formats

Format Where Notes
Web page /customers/ or /case-studies/ Full version, SEO-optimized
PDF Sales team, email attachment Designed, downloadable, gated optional
Slide deck Sales calls, presentations 5-8 slides, visual-heavy
One-pager Trade shows, quick reference Snapshot + key metrics + quote
Social post LinkedIn, Twitter Key stat + quote + link to full
Video Website, YouTube Customer interview or animated

Social Media Snippet

Headline stat + brief context + customer quote + CTA

Example:
"60% faster order processing.

Acme Corp was drowning in manual fulfillment. 4 hours per batch. 12% error rate.

After implementing [Product]: 45 minutes per batch. 1.5% errors.

'We went from 50 orders a day to 200 without adding headcount.' — Sarah Chen, VP Ops

Read the full story → [link]"

Writing Checklist

  • Headline leads with the quantified result
  • Snapshot box with company, industry, challenge, result at top
  • Challenge is quantified, not vague
  • 2-3 specific customer quotes with attribution
  • Before/after metrics with timeframe
  • 800-1200 words total
  • Skimmable (headers, bold, bullet points)
  • Customer approved the final version
  • Visual: at least one chart or before/after comparison

Common Mistakes

Mistake Problem Fix
No specific numbers Reads like marketing fluff Quantify everything
All about your product Reads like a sales pitch Story is about the CUSTOMER
Generic quotes No credibility Get specific, attributed quotes
Missing the "before" No contrast to show impact Always show the starting point
Too long Loses reader attention 800-1200 words max
No customer approval Legal/relationship risk Always get sign-off

Related Skills

bash
npx skills add inference-sh/skills@web-search
npx skills add inference-sh/skills@prompt-engineering

Browse all apps: infsh app list

Expand your agent's capabilities with these related and highly-rated skills.

inference-sh/skills

agent-ui

Batteries-included agent component for React/Next.js from ui.inference.sh. One component with runtime, tools, streaming, approvals, and widgets built in. Capabilities: drop-in agent, human-in-the-loop, client-side tools, form filling. Use for: building AI chat interfaces, agentic UIs, SaaS copilots, assistants. Triggers: agent component, agent ui, chat agent, shadcn agent, react agent, agentic ui, ai assistant ui, copilot ui, inference ui, human in the loop

247 46
Explore
inference-sh/skills

chat-ui

Chat UI building blocks for React/Next.js from ui.inference.sh. Components: container, messages, input, typing indicators, avatars. Capabilities: chat interfaces, message lists, input handling, streaming. Use for: building custom chat UIs, messaging interfaces, AI assistants. Triggers: chat ui, chat component, message list, chat input, shadcn chat, react chat, chat interface, messaging ui, conversation ui, chat building blocks

247 46
Explore
inference-sh/skills

tools-ui

Tool lifecycle UI components for React/Next.js from ui.inference.sh. Display tool calls: pending, progress, approval required, results. Capabilities: tool status, progress indicators, approval flows, results display. Use for: showing agent tool calls, human-in-the-loop approvals, tool output. Triggers: tool ui, tool calls, tool status, tool approval, tool results, agent tools, mcp tools ui, function calling ui, tool lifecycle, tool pending

247 46
Explore
inference-sh/skills

widgets-ui

Declarative UI widgets from JSON for React/Next.js from ui.inference.sh. Render rich interactive UIs from structured agent responses. Capabilities: forms, buttons, cards, layouts, inputs, selects, checkboxes. Use for: agent-generated UIs, dynamic forms, data display, interactive cards. Triggers: widgets, declarative ui, json ui, widget renderer, agent widgets, dynamic ui, form widgets, card widgets, shadcn widgets, structured output ui

247 46
Explore
inference-sh/skills

web-search

Web search and content extraction with Tavily and Exa via inference.sh CLI. Apps: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capabilities: AI-powered search, content extraction, direct answers, research. Use for: research, RAG pipelines, fact-checking, content aggregation, agents. Triggers: web search, tavily, exa, search api, content extraction, research, internet search, ai search, search assistant, web scraping, rag, perplexity alternative

247 46
Explore
inference-sh/skills

ai-rag-pipeline

Build RAG (Retrieval Augmented Generation) pipelines with web search and LLMs. Tools: Tavily Search, Exa Search, Exa Answer, Claude, GPT-4, Gemini via OpenRouter. Capabilities: research, fact-checking, grounded responses, knowledge retrieval. Use for: AI agents, research assistants, fact-checkers, knowledge bases. Triggers: rag, retrieval augmented generation, grounded ai, search and answer, research agent, fact checking, knowledge retrieval, ai research, search + llm, web grounded, perplexity alternative, ai with sources, citation, research pipeline

247 46
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results