Communitygithub.com

Varnan-Tech/opendirectory

Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a nurture asset", or "make a PDF report".

O que é opendirectory?

opendirectory is a Claude Code agent skill that creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a nurture asset", or "make a PDF report".

Funciona com✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

graphic-ebook

Creates professionally designed B2B SaaS e-books — lead magnets, gated guides, nurture assets, white papers. HTML + CSS → print-ready PDF. 3–10 pages.

Critical Rules

Before any step, these rules are absolute:

  1. Every page MUST fit within A4 canvas (1200×1697px). No content overflow.
  2. All scalable font sizes use clamp(). Fixed px only for borders/structural elements.
  3. Single self-contained HTML. All CSS inline. Font CDN <link> only external dependency.
  4. Never dump HTML in chat. Save to file, show summary only.
  5. Body copy is primary. Line-height ≥ 1.75 on all text-column and text-sidebar pages. Max-width ≤ 65ch for single-column body.
  6. No generic AI slop: no Inter as display font, no purple-to-blue gradient on white, no "Thank You" closing.
  7. Visual rhythm: never place 2+ text-column pages back-to-back. Break with chapter-intro, quote-callout, or stat-grid.
  8. Before generating HTML, commit to a design direction: one tone, one signature element, one background system. Generic = failure. Each ebook must be distinctly designed for its audience and subject — not a template.
  9. * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } — mandatory global CSS. Chromium strips all background colors in PDF without this.
  10. Every page except cover must have a page footer: page number + brand name. Absolute position at bottom of each .slide.

Step 1: Brief Intake

Four required fields. If all four are present in the user's prompt: skip to Step 2.

If any are missing, ask exactly:

"To create your ebook, I need four things:

  1. Topic — what is the ebook about? (be specific: "5 ways to reduce CAC" not "marketing tips")
  2. Audience — who reads it? (role, company size, pain point: "Customer Success Managers at 50–500 person SaaS companies struggling with churn")
  3. Desired action — what should the reader do after? (book a demo, download a template, share with team)
  4. Content — do you have existing content, or should I draft from the topic?"

Stop and wait. Do not read reference files. Do not generate any HTML or outline.


Step 2: Complete Intake

Ask all 9 questions in one message, grouped. Defaults apply if skipped.

Content

  1. Page count — 3–5 (quick guide / checklist) / 6–8 (standard guide) / 9–10 (deep dive) (default: 6)
  2. Key takeaways — 3–5 things the reader should know or do after reading (informs chapter structure)
  3. Brand name — company or product name for cover and footer (or "skip")
  4. Brand logo — URL or "none"

Design 5. Style — clean-slate / midnight-editorial / matt-gray / product-minimal / mint-pixel-corporate / warm-earth / brutalist / magazine-red / soft-cloud / "show me options" (default: clean-slate) 6. Chapter count — how many main sections? (default: derived from page count)

Output 7. CTA details — demo booking / newsletter signup / template download / other (default: "book a demo") 8. Contact info — email + URL for closing CTA page (or "I'll add later") 9. Slug — filename slug (e.g., "reduce-churn-guide-2025"; derived from topic if skipped)

Defaults:

QuestionDefault
Page count6
Key takeawaysderive from topic
Brand namenone
Brand logonone
Styleclean-slate
Chapter countderived from page count
CTA detailsbook a demo
Contact infoplaceholder (flagged in checklist)
Slugkebab-case of topic

If style = "show me options": Generate 3 single-page HTML previews (cover page only) saved to .claude-design/previews/style-a.html, style-b.html, style-c.html. Open each automatically. Ask user to pick before Step 3.


Step 3: Internal Architecture

Derive internally. Never show this to the user.

Chapter → page mapping:

PagesTypical structure
3cover + [1 content page] + closing-cta
4cover + [1 chapter-intro + 1 text-column] + closing-cta
5cover + toc + [1 chapter-intro + 1 text-column] + closing-cta
6cover + toc + [2 chapter-intros + 1 text-column] + closing-cta
8cover + toc + [3 chapter-intros + 2 content pages] + closing-cta
10cover + toc + [4 chapter-intros + 3 content pages] + key-takeaways + closing-cta

TOC rule: Include for ebooks ≥ 6 pages. For 3–5 page ebooks, use a "What's inside" bullet list on the cover page or skip entirely.

Three-point CTA architecture (for ebooks ≥ 6 pages):

  1. Intro CTA (after page 2) — subtle 1-line inline mention: "explore our [tool] at [url]"
  2. Mid-ebook CTA (after a stat-grid or chapter-intro) — small .callout--stat or .callout--tip box with 1-line CTA
  3. Closing CTA (final page) — full-page, primary conversion action

Visual rhythm check: If 2+ consecutive text-column pages appear in the plan → insert quote-callout or stat-grid between them before proceeding.

Design direction (derive from style preset + audience — never shown to user):

DecisionDerive from
ToneWhat emotional register does this audience expect? (authoritative, editorial, energetic, calm, warm…)
Signature elementONE visual device used consistently: oversized decorative numerals, diagonal accent bar, dot-grid overlay, gradient mesh on cover, rule lines, geometric shape bleed. Pick one. Use it.
Background systemHow do backgrounds vary across pages? Cover and chapter-intros = most distinctive. Content pages quieter but NOT all-white. Closing CTA = dark or full-accent inversion. No 3+ consecutive pages with identical background.
Motion styleWhat do .reveal animations do? Pick one and stay consistent: translateY(16px) → 0, scale(0.97) → 1, translateX(-12px) → 0. Stagger delays 0.1s apart.
Unforgettable detailWhat is the ONE thing a reader will remember about the design? Name it before writing any CSS.

If no strong direction is derivable from style preset alone, ask yourself: what would a top-tier design agency produce for this specific audience and topic? Then execute that.

Body copy density limits:

  • text-column 1-col: 180–250 words max per page
  • text-column 2-col: 280–380 words max (140–190 per column)
  • text-sidebar: 140–180 words main + ≤70 words sidebar
  • chapter-intro: 40–60 words (teaser only)
  • quote-callout: 30–45 words
  • stat-grid: 3–6 metrics, minimal labels

Step 4: Page Structure

Read references/page-library.md before planning.

Output a numbered list with [layout-type] labels per page. Example for 6-pager:

Page 1: [cover] — title, subtitle, brand
Page 2: [toc] — 3 chapter titles + page numbers
Page 3: [chapter-intro] — Chapter 1 opener
Page 4: [text-column] — Chapter 1 body (1-column)
Page 5: [stat-grid] — 4 key metrics
Page 6: [closing-cta] — demo booking CTA + contact

Confirm with user before Step 5.


Step 5: Content Draft

Write per-page copy in plain text (no HTML). Rules per layout type:

  • cover: title (≤10 words, leads with value or tension — not a generic label) + subtitle (≤15 words) + optional category label + brand name
  • toc: chapter titles (≤6 words each) + corresponding section numbers. Clean, numbered list.
  • chapter-intro: chapter number (decorative) + chapter title (≤8 words) + teaser paragraph (2–3 sentences)
  • text-column (1-col): section heading + body paragraphs. Max 250 words. Prose > bullets. Every sentence earns its place.
  • text-column (2-col): same rules, 140–190 words per column. Use for comparisons, step pairs, dual perspectives.
  • text-sidebar: main body (140–180 words) + sidebar callout type (tip / warning / stat / quote / checklist) with max 70 words
  • quote-callout: pull quote ≤40 words + attribution (name, title, company or source)
  • stat-grid: 3–6 metrics — number + label + 1-line context. Optional: 1-sentence narrative below.
  • key-takeaways: 5–8 takeaways, ≤15 words each, imperative where possible
  • closing-cta: headline ≤5 words (imperative) + 1-sentence body + CTA action + email + URL (both required)

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


Step 6: HTML Generation

Read ALL of these before generating. Do not paraphrase or summarize them — read the actual files.

This skill's references:

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

Bundled asset (exact path — include FULL verbatim contents in <style> block):

  • assets/viewport-base.css — bundled inside this skill's directory

Path resolution: All paths prefixed assets/ or scripts/ are relative to the directory containing this SKILL.md file. In Claude Code after install: ~/.claude/skills/graphic-ebook/assets/ and ~/.claude/skills/graphic-ebook/scripts/. Resolve the actual path from the SKILL.md file location before reading.

Generation Rules

  1. Single self-contained HTML. All CSS inline. Font CDN <link> only external dependency.

  2. Include FULL verbatim contents of viewport-base.css inside the <style> block.

  3. Add A4 portrait overrides AFTER viewport-base.css (in the same <style> block):

/* 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;
}
/* CRITICAL: prevents Chromium from stripping backgrounds in PDF */
* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  1. Each page = <section class="slide"> — required for export-pdf.sh page detection.

  2. Comment each page: /* === PAGE N: LAYOUT-TYPE === */

  3. Body text: clamp(0.875rem, 1.25vw, 1.05rem), line-height: 1.75, max-width: min(65ch, 100%) on all <p> in text-column and text-sidebar layouts.

  4. Stat numbers: hero at clamp(3rem, 8vw, 5.5rem) in accent color. Supporting at clamp(2.5rem, 7vw, 5rem) in secondary color.

  5. No images available → CSS-generated visuals only (gradients, geometric shapes, dot patterns, abstract elements). Never show placeholder boxes.

  6. No SlidePresentation JS. Include only minimal IntersectionObserver for .reveal animations.

  7. Chapter number decoration (on chapter-intro pages):

.chapter-number-deco {
  font-family: var(--font-display);
  font-size: clamp(6rem, 18vw, 14rem);
  font-weight: var(--display-weight);
  opacity: 0.06;
  position: absolute;
  top: -0.1em;
  right: var(--page-padding);
  line-height: 1;
  color: var(--accent);
  pointer-events: none;
  user-select: none;
}
  1. Typed callout boxes (for text-sidebar pages):
.callout { border-left: 3px solid; border-radius: var(--card-radius, 4px); padding: clamp(0.75rem, 1.5%, 1.1rem); }
.callout-label { font-size: clamp(0.58rem, 0.8vw, 0.68rem); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.5em; }
.callout--tip      { background: rgba(22, 163, 74, 0.07);  border-color: #16A34A; }
.callout--tip      .callout-label { color: #16A34A; }
.callout--warning  { background: rgba(217, 119, 6, 0.07);  border-color: #D97706; }
.callout--warning  .callout-label { color: #D97706; }
.callout--stat     { background: rgba(var(--accent-rgb, 100,100,100), 0.07); border-color: var(--accent); }
.callout--stat     .callout-label { color: var(--accent); }
.callout--quote    { background: var(--bg-elevated); border-color: var(--divider); font-style: italic; }
.callout--quote    .callout-label { color: var(--text-muted); }
.callout--checklist { background: rgba(8, 145, 178, 0.07);  border-color: #0891B2; }
.callout--checklist .callout-label { color: #0891B2; }
  1. Page footer (on every page except cover):
.page-footer {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: clamp(0.5rem, 1%, 0.625rem) var(--page-padding);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--divider);
  font-family: var(--font-body);
  font-size: clamp(0.55rem, 0.75vw, 0.65rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

HTML: <div class="page-footer"><span>[Brand Name]</span><span>[N]</span></div>

  1. 2-column layout: display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4%, 3.5rem); with border-right: 1px solid var(--divider) on left column.

  2. Text-sidebar layout: display: grid; grid-template-columns: 2fr 1fr; gap: clamp(1.5rem, 3%, 2.5rem);

Design Quality Rules (from frontend-design principles)

These govern the aesthetic ambition of every generated ebook. Applied after structural rules, before output.

Typography:

  • Display font must have character at large sizes. Plus Jakarta Sans 800, Instrument Serif, Syne, Lora, Fraunces — all acceptable. Inter at display weight = immediate slop signal.
  • Never use the same font weight for two consecutive hierarchy levels. Cover title (800) → chapter heading (700) → section heading (700, smaller size) → body (400/500).
  • Pair a display font with a refined body font when the preset supports it (e.g. Instrument Serif + Inter, Syne + IBM Plex Sans). Single-font stacks must use weight contrast instead.

Backgrounds and atmosphere:

  • Cover MUST have a significant decorative ::before or ::after pseudo-element creating visual depth: ghost letter at opacity: 0.04–0.06, geometric shape bleed, radial gradient overlay, or dot/line grid pattern.
  • Chapter-intro pages MUST visually contrast with adjacent content pages — use var(--bg-alt) or a style-appropriate alt treatment.
  • Content pages (text-column, text-sidebar) can be white/neutral, but the stat-grid and quote-callout pages should carry a distinct background (alt section bg, elevated card, or accent inversion).
  • Closing CTA: always dark or full-accent inversion — never light. It is the conversion moment.
  • CSS texture patterns when appropriate: radial-gradient(circle, var(--accent) 1px, transparent 1px) dot grids; repeating-linear-gradient rule lines; ::before with clipped geometric shapes.

Spatial composition:

  • Generous whitespace on chapter-intro pages — the visual openness signals a chapter break.
  • At least one element per ebook should break the standard grid: oversized chapter deco number that bleeds off-screen right, quote mark that overlaps content, stat number that dominates 60%+ of its column.
  • Avoid centered layouts unless the preset explicitly calls for it (quote-callout is the only centered-by-default layout).

Motion:

  • All .reveal animations use consistent direction derived from design direction step.
  • Stagger delays: 0.05s increments, max 0.5s cumulative. Nothing slower than 0.65s duration.
  • Stat items in stat-grid: stagger by index for cascade effect.
  • No animation on structural elements (footers, borders, rules). Animation = content appearing, not layout materializing.

The unforgettable detail rule: Before writing the first line of CSS, name the ONE element that makes this ebook unmistakably designed — not just competently assembled. That element gets the most CSS investment. If you cannot name it, you have not thought hard enough about the design.


Step 7: Self-QA

Fix every failure before proceeding to output. Do not skip this step.

Layout & rendering:

  • Every .slide has height:100vh; height:100dvh; overflow:hidden
  • * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } present globally
  • All scalable font sizes use clamp()
  • No content overflows at 1200×1697 — review each page's density
  • No placeholder boxes visible
  • No -clamp(), -min(), -max() directly (wrap negatives in calc(-1 * ...))

Structure:

  • Page count matches Step 4 plan
  • Every page uses class="slide" on <section> only
  • All layout types from Step 4 present in correct order
  • TOC included for ebooks ≥ 6 pages

Reading quality:

  • Body text line-height ≥ 1.75 on text-column and text-sidebar pages
  • Single-column body text max-width ≤ 65ch
  • No 2+ consecutive text-column pages without visual break
  • TOC has chapter titles + section/page numbers
  • Chapter-intro pages have .chapter-number-deco (opacity 0.06–0.08)
  • Every page except cover has .page-footer with page number + brand name
  • Sidebar callout boxes use typed CSS class (.callout--tip/warning/stat/quote/checklist)

Design quality:

  • Style preset tokens applied consistently (from references/style-presets.md)
  • No slop patterns (see references/design-system.md DO NOT USE list)
  • Typography hierarchy: cover title >> chapter heading >> section heading >> body (2:1 min ratio between levels)
  • Stat numbers visually dominant — no body copy at same visual weight
  • Cover has a significant decorative ::before/::after element — not just text on a flat color
  • Chapter-intro pages visually distinct from content pages (different bg or treatment)
  • Closing CTA uses dark or full-accent inversion background — never light
  • No 3+ consecutive pages with identical background color
  • Signature element from design direction step is present and visible
  • At least one layout element breaks the grid (oversized deco number, bleed shape, dominant stat)
  • Reveal animations consistent direction and stagger — not random per-element

Content:

  • No forbidden words anywhere
  • Cover title ≤10 words, leads with value or tension
  • Quote callout ≤40 words
  • Closing CTA: imperative headline + email + URL (both mandatory — QA fails without both)
  • TOC matches actual page structure
  • Three-point CTA present for ebooks ≥ 6 pages

Step 8: Output

mkdir -p ebook/[slug]

Write main HTML: ebook/[slug]/index.html Open: open ebook/[slug]/index.html

Per-page split (always generate): Extract each <section class="slide"> into standalone HTML files with full <style> block, no JS: ebook/[slug]/page-01.html, page-02.html, … (zero-padded 2 digits)

PDF export (always run):

bash [skill-root]/scripts/export-pdf.sh \
  ebook/[slug]/index.html \
  ebook/[slug].pdf --portrait

[skill-root] = the directory containing this SKILL.md. Resolve it before running (e.g. ~/.claude/skills/graphic-ebook in Claude Code after install).

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

Summary (no HTML in chat):

## Ebook: [title]
Date: [today] | Style: [style] | Pages: [N] | Format: A4 portrait
Brand: [brand name] | Topic: [topic]

Files
  Main:      ebook/[slug]/index.html
  Per-page:  ebook/[slug]/page-01.html → page-0N.html
  PDF:       ebook/[slug].pdf

Checklist
- [ ] Replace contact info placeholders (email + URL on closing page)
- [ ] Replace brand logo initials with real asset
- [ ] Verify TOC section numbers match actual page positions
- [ ] Proof all stat accuracy (page [N])
- [ ] Review body copy — no page should feel overflowed
- [ ] Test PDF opens correctly (page count = [N])

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

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".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

Habilidades Relacionadas