New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Generate beautifully designed PDF reports

Elegant reports

by jdrhyne · MIT license · ★ 240 on GitHub · updated Aug 30

Elegant reports cover

Generate beautifully designed PDF reports with a Nordic/Scandinavian aesthetic. Use when creating polished executive briefings, analysis reports, or presentation-style PDF outputs from markdown and HTML via Nutrient DWS.

---
name: elegant-reports
description: Generate beautifully designed PDF reports with a Nordic/Scandinavian aesthetic. Use when creating polished executive briefings, analysis reports, or presentation-style PDF outputs from markdown and HTML via Nutrient DWS.
metadata: {"clawdbot":{"requires":{"bins":["node","npm"]}}}
permissions:
  - exec: "Runs the local Node generator to list templates, render preview HTML, and create PDF outputs when the user asks."
  - file_read: "Reads bundled templates, themes, examples, and design references inside the skill directory plus user-approved input markdown files."
  - file_write: "Writes generated HTML/PDF outputs and user-requested template or theme files inside approved working directories."
  - network: "Calls Nutrient DWS and any hosted font assets used by the bundled templates when the user requests report generation."
---

# elegant-reports

Generate minimalist PDF reports inspired by Scandinavian editorial design.

## When to Use

Use this skill when the user wants:

Overview

Generate minimalist PDF reports inspired by Scandinavian editorial design.

Manual install (npx, ZIP)
Claude Codenpx skills add jdrhyne/agent-skills --skill elegant-reports -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/jdrhyne/agent-skills/tar.gz/439cd3a9da78 \ | tar -xz -C ~/.claude/skills --strip-components=2 agent-skills-439cd3a9da78/skills/elegant-reports
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/814171a029a0a6a9fbcf/elegant-reports.zip" -OutFile "$env:TEMP\elegant-reports.zip"; Expand-Archive "$env:TEMP\elegant-reports.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.4 KB
  • .gitignore28 B
  • NORDIC_DESIGN_RESEARCH.md8.6 KB
  • generate.js11.5 KB
  • package-lock.json10.1 KB
  • package.json599 B
  • examples/3 files · 252.8 KB
  • references/1 file · 8.6 KB
  • scripts/1 file · 1.1 KB
  • templates/8 files · 46.1 KB
  • themes/5 files · 51.4 KB
Read the files here
jdrhyne/439cd3a24 files
SKILL.md
Show the full text112 lines

elegant-reports

Generate minimalist PDF reports inspired by Scandinavian editorial design.

When to Use

Use this skill when the user wants:

  • polished executive briefings or board-style reports
  • presentation-like PDFs generated from markdown
  • a clean Nordic visual language instead of default developer styling
  • a reusable report template system that can be extended carefully

Quick Start

Install the pinned dependencies from package-lock.json, then run:

cd /path/to/elegant-reports
node ./generate.js --list
node ./generate.js examples/sample-executive.md output.pdf --template executive --theme light

For HTML debugging, add --output-html so the generator saves the rendered HTML alongside the PDF.

Available Templates

Template Use Case
executive polished briefings and compact executive summaries
report denser narrative reports and analysis writeups
presentation bold slide-like outputs with one idea per page
report-demo legacy report variant for comparison/testing
presentation-demo legacy presentation variant for comparison/testing

Each template supports light and dark themes where available.

Frontmatter

Add YAML frontmatter to control the rendered output:

---
title: Q4 Competitive Analysis
subtitle: Market Intelligence Report
author: Report Author
template: report
theme: dark
---

Your content here...

Workflow

  1. Pick the closest existing template instead of starting from scratch.
  2. Write or refine the source markdown.
  3. Generate a PDF.
  4. If layout tuning is needed, inspect the emitted HTML with --output-html and adjust the corresponding template/theme pair.
  5. Re-run until the design is clean and the PDF is stable.

Extending the Skill

When authoring a new visual variant:

  • start from the nearest bundled template and theme
  • keep token names and spacing scales consistent with the existing system
  • make one visual change at a time and regenerate after each step
  • prefer additive variants over rewriting the whole design language
  • keep legacy/demo templates available until the replacement is verified

The bundled Nordic design research note is the canonical reference for the visual system. Read it only when you need deeper design rationale.

Safety Boundaries

  • Do not send sensitive source documents to third-party services unless the user explicitly requested PDF generation through Nutrient DWS and accepts that network boundary.
  • Do not browse arbitrary local files. Limit reads to the skill bundle and user-approved input/output paths.
  • Do not overwrite or delete files outside the user-approved working directory.
  • Do not install extra packages, change dependency versions, or add new external services unless the user explicitly asks for that setup work.
  • Do not claim a report was generated successfully unless the output artifact exists and the generator completed without error.
  • Do not fetch external design inspiration or web references unless the user explicitly wants fresh visual research.

Dependencies

  • Node.js 18+
  • pinned npm dependencies from package-lock.json
  • NUTRIENT_DWS_API_KEY environment variable for PDF generation

File Map

  • main generator CLI and module entrypoint
  • bundled HTML templates
  • bundled visual themes
  • sample markdown input
  • optional deeper design rationale bundled with the skill

Validation

Before calling the skill done:

  • run node ./generate.js --list
  • run npm test
  • verify the expected PDF or HTML artifact exists in the requested output path
1---
2name: elegant-reports
3description: Generate beautifully designed PDF reports with a Nordic/Scandinavian aesthetic. Use when creating polished executive briefings, analysis reports, or presentation-style PDF outputs from markdown and HTML via Nutrient DWS.
4metadata: {"clawdbot":{"requires":{"bins":["node","npm"]}}}
5permissions:
6 - exec: "Runs the local Node generator to list templates, render preview HTML, and create PDF outputs when the user asks."
7 - file_read: "Reads bundled templates, themes, examples, and design references inside the skill directory plus user-approved input markdown files."
8 - file_write: "Writes generated HTML/PDF outputs and user-requested template or theme files inside approved working directories."
9 - network: "Calls Nutrient DWS and any hosted font assets used by the bundled templates when the user requests report generation."
10---
11 
12# elegant-reports
13 
14Generate minimalist PDF reports inspired by Scandinavian editorial design.
15 
16## When to Use
17 
18Use this skill when the user wants:
19- polished executive briefings or board-style reports
20- presentation-like PDFs generated from markdown
21- a clean Nordic visual language instead of default developer styling
22- a reusable report template system that can be extended carefully
23 
24## Quick Start
25 
26Install the pinned dependencies from `package-lock.json`, then run:
27 
28```bash
29cd /path/to/elegant-reports
30node ./generate.js --list
31node ./generate.js examples/sample-executive.md output.pdf --template executive --theme light
32```
33 
34For HTML debugging, add `--output-html` so the generator saves the rendered HTML alongside the PDF.
35 
36## Available Templates
37 
38| Template | Use Case |
39|----------|----------|
40| `executive` | polished briefings and compact executive summaries |
41| `report` | denser narrative reports and analysis writeups |
42| `presentation` | bold slide-like outputs with one idea per page |
43| `report-demo` | legacy report variant for comparison/testing |
44| `presentation-demo` | legacy presentation variant for comparison/testing |
45 
46Each template supports `light` and `dark` themes where available.
47 
48## Frontmatter
49 
50Add YAML frontmatter to control the rendered output:
51 
52```markdown
53---
54title: Q4 Competitive Analysis
55subtitle: Market Intelligence Report
56author: Report Author
57template: report
58theme: dark
59---
60 
61Your content here...
62```
63 
64## Workflow
65 
661. Pick the closest existing template instead of starting from scratch.
672. Write or refine the source markdown.
683. Generate a PDF.
694. If layout tuning is needed, inspect the emitted HTML with `--output-html` and adjust the corresponding template/theme pair.
705. Re-run until the design is clean and the PDF is stable.
71 
72## Extending the Skill
73 
74When authoring a new visual variant:
75- start from the nearest bundled template and theme
76- keep token names and spacing scales consistent with the existing system
77- make one visual change at a time and regenerate after each step
78- prefer additive variants over rewriting the whole design language
79- keep legacy/demo templates available until the replacement is verified
80 
81The bundled Nordic design research note is the canonical reference for the visual system. Read it only when you need deeper design rationale.
82 
83## Safety Boundaries
84 
85- Do not send sensitive source documents to third-party services unless the user explicitly requested PDF generation through Nutrient DWS and accepts that network boundary.
86- Do not browse arbitrary local files. Limit reads to the skill bundle and user-approved input/output paths.
87- Do not overwrite or delete files outside the user-approved working directory.
88- Do not install extra packages, change dependency versions, or add new external services unless the user explicitly asks for that setup work.
89- Do not claim a report was generated successfully unless the output artifact exists and the generator completed without error.
90- Do not fetch external design inspiration or web references unless the user explicitly wants fresh visual research.
91 
92## Dependencies
93 
94- Node.js 18+
95- pinned npm dependencies from `package-lock.json`
96- `NUTRIENT_DWS_API_KEY` environment variable for PDF generation
97 
98## File Map
99 
100- main generator CLI and module entrypoint
101- bundled HTML templates
102- bundled visual themes
103- sample markdown input
104- optional deeper design rationale bundled with the skill
105 
106## Validation
107 
108Before calling the skill done:
109- run `node ./generate.js --list`
110- run `npm test`
111- verify the expected PDF or HTML artifact exists in the requested output path
112 
View all files on GitHub →

Details

Updated
Aug 30, 2026
License
MIT
Stars on the repo
★ 240
Checked
Source
jdrhyne/agent-skills ↗
Creator
jdrhyne · 24 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from jdrhyne

SkillRun Codex CLI or references OpenAI Codex for code analysisCodex Skill Guidejdrhyne/agent-skills · by jdrhyneUse when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex for code analysis, refactoring, or automated editing. Uses GPT-5.2 by default for state-of-the-art software engineering.★ 240 GitHub starsSkillCreating a Claude Code slash commandCommand creatorjdrhyne/agent-skills · by jdrhyneThis skill should be used when creating a Claude Code slash command. Use when users ask to "create a command", "make a slash command", "add a command", or want to document a workflow as a reusable command. Essential for creating optimized, agent-executable slash commands with proper structure and best practices.★ 240 GitHub starsSkillRecover missing conversation context after explicitContext recoveryjdrhyne/agent-skills · by jdrhyneRecover missing conversation context after explicit compaction or truncation, or when the user explicitly asks to recover prior work. Use for requests such as "where were we before compaction?" when the current thread is insufficient. Do not trigger on a generic "continue" when the current thread already provides an actionable next step.★ 240 GitHub starsSkillRead Google Analytics 4 reporting data through the GA4 DataGA4 Data APIjdrhyne/agent-skills · by jdrhyneRead Google Analytics 4 reporting data through the GA4 Data API. Use for explicit GA4 property metadata, compatible metric/dimension reports, traffic analysis, key events, quotas, and bounded exports.★ 240 GitHub starsSkillBulk download images from login-protected gallery websitesGallery scraperjdrhyne/agent-skills · by jdrhyneBulk download images from login-protected gallery websites using an attached browser session. Use when asked to scrape, download, or save images from authenticated gallery pages, extract full-size images from thumbnails, or batch download from multi-page galleries.★ 240 GitHub starsSkillRun Gemini CLI for code review, plan reviewGemini Skill Guidejdrhyne/agent-skills · by jdrhyneUse when the user asks to run Gemini CLI for code review, plan review, or big context (>200k) processing. Ideal for comprehensive analysis requiring large context windows. Uses Gemini 3 Pro by default for state-of-the-art reasoning and coding.★ 240 GitHub stars