Elegant reports

Generate beautifully designed PDF reports with a Nordic/Scandinavian aesthetic.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/elegant-reports, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit jdrhyne/agent-skills/skills/elegant-reports#main ~/.claude/skills/elegant-reports

For one project only, change the path to .claude/skills/elegant-reports. This skill also uses package-lock.json, Node.js — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Elegant reports

Show the full text112 lines
namedescriptionmetadatapermissions
elegant-reportsGenerate 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.{"clawdbot":{"requires":{"bins":["node","npm"]}}} - 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:

  • 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 

Discussion