guides/writing/case-study-writing/SKILL.md
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
npx skillsauth add inference-sh/agent-skills case-study-writingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create compelling B2B case studies with research and visuals via inference.sh CLI.
Requires inference.sh CLI (
belt). Install instructions
belt login
# Research the customer's industry
belt app run tavily/search-assistant --input '{
"query": "SaaS customer onboarding challenges 2024 statistics"
}'
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.
❌ "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.
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] │
└─────────────────────────────────────┘
❌ "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"
| 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 |
# Generate a before/after comparison chart
belt 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\")"
}'
❌ "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
> "We went from processing 50 orders a day to 200, without adding anyone to the team."
>
> — Sarah Chen, VP Operations, Acme Corp
# Industry benchmarks
belt app run tavily/search-assistant --input '{
"query": "average e-commerce order processing time industry benchmark 2024"
}'
# Competitor landscape
belt app run exa/search --input '{
"query": "order management automation solutions market overview"
}'
# Supporting statistics
belt app run exa/answer --input '{
"question": "What percentage of e-commerce businesses still use manual order processing?"
}'
| 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 |
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]"
| 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 |
npx skills add inference-sh/skills@web-search
npx skills add inference-sh/skills@prompt-engineering
Browse all apps: belt app list
development
Render videos from React/Remotion component code via inference.sh. Pass TSX code, get MP4. Supports all Remotion APIs: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence. Configurable resolution, FPS, duration, codec. Use for: programmatic video generation, animated graphics, motion design, data-driven videos, React animations to video. Triggers: remotion, render video from code, tsx to video, react video, programmatic video, remotion render, code to video, animated video, motion graphics code, react animation video
tools
Generate videos with Pruna P-Video and WAN models via inference.sh CLI. Models: P-Video, WAN-T2V, WAN-I2V. Capabilities: text-to-video, image-to-video, audio support, 720p/1080p, fast inference. Pruna optimizes models for speed without quality loss. Triggers: pruna video, p-video, pruna ai video, fast video generation, optimized video, wan t2v, wan i2v, economic video generation, cheap video generation, pruna text to video, pruna image to video
documentation
Still-to-video conversion guide: model selection, motion prompting, and camera movement. Covers Wan 2.5 i2v, Seedance, Fabric, Grok Video with when to use each. Use for: animating images, creating video from stills, adding motion, product animations. Triggers: image to video, i2v, animate image, still to video, add motion to image, image animation, photo to video, animate still, wan i2v, image2video, bring image to life, animate photo, motion from image
tools
Generate videos with Google Veo models via inference.sh CLI. Models: Veo 3.1, Veo 3.1 Fast, Veo 3, Veo 3 Fast, Veo 2. Capabilities: text-to-video, cinematic output, high quality video generation. Triggers: veo, google veo, veo 3, veo 2, veo 3.1, vertex ai video, google video generation, google video ai, veo model, veo video