elegant-reports
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.
What this skill does
# 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: ```bash 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: ```markdown --- 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
Related in Web Dev
generating-lwc-components
IncludedLightning Web Components with PICKLES methodology and 165-point scoring. Use this skill when the user creates or edits LWC components, builds wire service patterns, or writes Jest tests for LWC. TRIGGER when: user creates/edits LWC components, touches lwc/**/*.js, .html, .css, .js-meta.xml files, or asks about wire service, SLDS, or Jest LWC tests. DO NOT TRIGGER when: Apex classes (use generating-apex), Aura components, or Visualforce.
tanstack-query
IncludedManage server state in React with TanStack Query v5. Set up queries with useQuery, mutations with useMutation, configure QueryClient caching strategies, implement optimistic updates, and handle infinite scroll with useInfiniteQuery. Use when: setting up data fetching in React projects, migrating from v4 to v5, or fixing object syntax required errors, query callbacks removed issues, cacheTime renamed to gcTime, isPending vs isLoading confusion, keepPreviousData removed problems.
document-processor-api
IncludedProcess documents with Nutrient DWS. Use when the user wants to generate PDFs from HTML or URLs, convert Office/images/PDFs, assemble or split packets, OCR scans, extract text/tables/key-value pairs, redact PII, watermark, sign, fill forms, optimize PDFs, or produce compliance outputs like PDF/A or PDF/UA. Triggers include convert to PDF, merge these PDFs, OCR this scan, extract tables, redact PII, sign this PDF, make this PDF/A, or linearize for web delivery.
nutrient-document-processing
IncludedProcess documents with Nutrient DWS. Use when the user wants to generate PDFs from HTML or URLs, convert Office/images/PDFs, assemble or split packets, OCR scans, extract text/tables/key-value pairs, redact PII, watermark, sign, fill forms, optimize PDFs, or produce compliance outputs like PDF/A or PDF/UA. Triggers include convert to PDF, merge these PDFs, OCR this scan, extract tables, redact PII, sign this PDF, make this PDF/A, or linearize for web delivery.
tanstack-query
IncludedManage server state in React with TanStack Query v5. Covers useMutationState, simplified optimistic updates, throwOnError, network mode (offline/PWA), and infiniteQueryOptions. Use when setting up data fetching, fixing v4→v5 migration errors (object syntax, gcTime, isPending, keepPreviousData), or debugging SSR/hydration issues with streaming server components.
accelint-nextjs-best-practices
IncludedNext.js performance optimization and best practices. Use when writing Next.js code (App Router or Pages Router); implementing Server Components, Server Actions, or API routes; optimizing RSC serialization, data fetching, or server-side rendering; reviewing Next.js code for performance issues; fixing authentication in Server Actions; or implementing Suspense boundaries, parallel data fetching, or request deduplication.