Ky Markdown Rebuilder
KyrieCheungYep/ky-markdown-rebuilder
Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.
Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.
$ npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Varnan-Tech/opendirectory graphic-ebook --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/graphic-ebook .claude/skills/graphic-ebook && rm -rf skills-srcUse ~/.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/
Install the "graphic-ebook" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook into .claude/skills/graphic-ebook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graphic-ebook", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebookType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Varnan-Tech/opendirectory graphic-ebook --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/graphic-ebook .agents/skills/graphic-ebook && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "graphic-ebook" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook into .agents/skills/graphic-ebook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graphic-ebook", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Varnan-Tech/opendirectory graphic-ebook --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/graphic-ebook .cursor/skills/graphic-ebook && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "graphic-ebook" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook into .cursor/skills/graphic-ebook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graphic-ebook", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Varnan-Tech/opendirectory.git --path skills/graphic-ebook--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Varnan-Tech/opendirectory graphic-ebook --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/graphic-ebook .gemini/skills/graphic-ebook && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "graphic-ebook" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook into .gemini/skills/graphic-ebook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graphic-ebook", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Varnan-Tech/opendirectory graphic-ebookInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/graphic-ebook .github/skills/graphic-ebook && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "graphic-ebook" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook into .github/skills/graphic-ebook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graphic-ebook", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Varnan-Tech/opendirectory graphic-ebook --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/graphic-ebook .opencode/skills/graphic-ebook && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "graphic-ebook" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-ebook into .opencode/skills/graphic-ebook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "graphic-ebook", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
graphic-ebookCreates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.
Graphic Ebook is an agent skill from 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".
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts, reference files and assets (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 Multi-tenancy, Report writing and Content marketing. The repository describes itself as: AI Agent Skills built for Founders who hate Marketing. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 62e437a. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["claude-code","gemini-cli","github-copilot"]
From compatibility in the SKILL.md frontmatter.
Graphic Ebook loads about 5k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 2,076 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 2,076 words, ~4,980 tokens.
.claude/skills/graphic-ebook/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Creates professionally designed B2B SaaS e-books — lead magnets, gated guides, nurture assets, white papers. HTML + CSS → print-ready PDF. 3–10 pages.
Before any step, these rules are absolute:
clamp(). Fixed px only for borders/structural elements.<link> only external dependency.* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } — mandatory global CSS. Chromium strips all background colors in PDF without this..slide.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:
- Topic — what is the ebook about? (be specific: "5 ways to reduce CAC" not "marketing tips")
- Audience — who reads it? (role, company size, pain point: "Customer Success Managers at 50–500 person SaaS companies struggling with churn")
- Desired action — what should the reader do after? (book a demo, download a template, share with team)
- 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.
Ask all 9 questions in one message, grouped. Defaults apply if skipped.
Content
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:
| Question | Default |
|---|---|
| Page count | 6 |
| Key takeaways | derive from topic |
| Brand name | none |
| Brand logo | none |
| Style | clean-slate |
| Chapter count | derived from page count |
| CTA details | book a demo |
| Contact info | placeholder (flagged in checklist) |
| Slug | kebab-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.
Derive internally. Never show this to the user.
Chapter → page mapping:
| Pages | Typical structure |
|---|---|
| 3 | cover + [1 content page] + closing-cta |
| 4 | cover + [1 chapter-intro + 1 text-column] + closing-cta |
| 5 | cover + toc + [1 chapter-intro + 1 text-column] + closing-cta |
| 6 | cover + toc + [2 chapter-intros + 1 text-column] + closing-cta |
| 8 | cover + toc + [3 chapter-intros + 2 content pages] + closing-cta |
| 10 | cover + 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):
.callout--stat or .callout--tip box with 1-line CTAVisual 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):
| Decision | Derive from |
|---|---|
| Tone | What emotional register does this audience expect? (authoritative, editorial, energetic, calm, warm…) |
| Signature element | ONE 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 system | How 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 style | What 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 detail | What 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:
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 + contactConfirm with user before Step 5.
Write per-page copy in plain text (no HTML). Rules per layout type:
Forbidden words (no exceptions): "powerful", "seamless", "game-changing", "leverage", "innovative", "revolutionary", "transform", "cutting-edge", "robust", "unlock", "scalable" (as filler).
Read ALL of these before generating. Do not paraphrase or summarize them — read the actual files.
This skill's references:
references/design-system.mdreferences/page-library.mdreferences/style-presets.mdBundled asset (exact path — include FULL verbatim contents in <style> block):
assets/viewport-base.css — bundled inside this skill's directoryPath resolution: All paths prefixed
assets/orscripts/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.
Single self-contained HTML. All CSS inline. Font CDN <link> only external dependency.
Include FULL verbatim contents of viewport-base.css inside the <style> block.
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; }Each page = <section class="slide"> — required for export-pdf.sh page detection.
Comment each page: /* === PAGE N: LAYOUT-TYPE === */
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.
Stat numbers: hero at clamp(3rem, 8vw, 5.5rem) in accent color. Supporting at clamp(2.5rem, 7vw, 5rem) in secondary color.
No images available → CSS-generated visuals only (gradients, geometric shapes, dot patterns, abstract elements). Never show placeholder boxes.
No SlidePresentation JS. Include only minimal IntersectionObserver for .reveal animations.
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;
}.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; }.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>
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.
Text-sidebar layout: display: grid; grid-template-columns: 2fr 1fr; gap: clamp(1.5rem, 3%, 2.5rem);
These govern the aesthetic ambition of every generated ebook. Applied after structural rules, before output.
Typography:
Backgrounds and atmosphere:
::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.var(--bg-alt) or a style-appropriate alt treatment.radial-gradient(circle, var(--accent) 1px, transparent 1px) dot grids; repeating-linear-gradient rule lines; ::before with clipped geometric shapes.Spatial composition:
Motion:
.reveal animations use consistent direction derived from design direction step.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.
Fix every failure before proceeding to output. Do not skip this step.
Layout & rendering:
.slide has height:100vh; height:100dvh; overflow:hidden* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } present globallyclamp()-clamp(), -min(), -max() directly (wrap negatives in calc(-1 * ...))Structure:
class="slide" on <section> onlyReading quality:
line-height ≥ 1.75 on text-column and text-sidebar pagesmax-width ≤ 65ch.chapter-number-deco (opacity 0.06–0.08).page-footer with page number + brand name.callout--tip/warning/stat/quote/checklist)Design quality:
references/style-presets.md)references/design-system.md DO NOT USE list)::before/::after element — not just text on a flat colorContent:
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])© 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
SKILL.md and 7 other files (scripts, references, assets) in skills/graphic-ebook of Varnan-Tech/opendirectory.
Open the folder on GitHubat commit 62e437a
Graphic Ebook 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Graphic Ebook this skillVarnan-Tech/opendirectory | 674 | — | ~5k | Automated safety check: Pass | MIT | |
| Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder | 117 | — | ~5.7k | Automated safety check: Pass | None | |
| Summarizereysu/ai-life-skills | 269 | — | ~7.7k | Automated safety check: Pass | MIT | |
| CSV To Executive Reportskrun-dev/skrun | 210 | — | ~1.1k | Automated safety check: Pass | MIT | |
| PDF Sizethedaviddias/Front-End-Checklist | 74k | — | ~597 | Automated safety check: Pass | MIT | |
| Lead MagnetOpenClaudia/openclaudia-skills | 713 | — | ~3k | Automated safety check: Pass | MIT |
KyrieCheungYep/ky-markdown-rebuilder
Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.
reysu/ai-life-skills
Summarize any content (YouTube video, article, whitepaper/PDF, podcast episode, book chapter, etc.) into a rich Obsidian note with section-by-section breakdowns, wikilinks to all technical concepts…
skrun-dev/skrun
Turn a CSV of operational data (sales, usage, signups, support tickets) into a multi-page styled PDF executive report with narrative + matplotlib charts.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing a site that publishes downloadable PDFs (reports, white papers, legal documents, manuals).
OpenClaudia/openclaudia-skills
Create lead magnets and gated content to capture email subscribers and leads.
glebis/claude-skills
Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts.
Varnan-Tech/opendirectory
Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.
Varnan-Tech/opendirectory
Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.
Varnan-Tech/opendirectory
Creates animated looping GIFs from CSS animations (default) or AI image-to-video.
Varnan-Tech/opendirectory
Given a product description, category keywords, or competitor names (any combination), searches Reddit, Hacker News, GitHub Issues, G2, and Google Trends for the real pains your market experiences…
Varnan-Tech/opendirectory
Aggregates RSS feeds from the past week, synthesizes the top stories using Gemini, and publishes a newsletter digest to Ghost CMS.
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.
Categories
Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. Graphic Ebook is an agent skill from Varnan-Tech/opendirectory. Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.
Graphic Ebook fits situations like: user says create an ebook; design a lead magnet; make a PDF guide; build a gated content piece.
Run `npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a claude-code`. Or copy the skill folder (skills/graphic-ebook in Varnan-Tech/opendirectory) into .claude/skills/graphic-ebook in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Varnan-Tech/opendirectory --skill graphic-ebook -a codex`. Or copy the skill folder (skills/graphic-ebook in Varnan-Tech/opendirectory) into .agents/skills/graphic-ebook in your project. Codex loads it when a task matches its description.
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-ebook -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-ebook, .gemini/skills/graphic-ebook, .github/skills/graphic-ebook and .opencode/skills/graphic-ebook in your project.
Going by SKILL.md and its folder, Graphic Ebook needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell. Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"].
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.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Graphic Ebook is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k 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 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Graphic Ebook: Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars), Summarize (reysu/ai-life-skills, 269 stars), CSV To Executive Report (skrun-dev/skrun, 210 stars) and PDF Size (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.