agentsclimarketplace

Node js document thumbnail library scaffold

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/node-js-document-thumbnail-library-scaffold

Scaffolds a scalable Node.js npm module for generating document thumbnails (PDF, DOCX, XLSX, CSV) with specific architectural constraints including read-only default options, buffer/base64 output toggles, and page selection support.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill node-js-document-thumbnail-library-scaffold

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.3 KB, 590 tokens by cl100k_base, as published. Nobody here has run it

Node.js Document Thumbnail Library Scaffold

Scaffolds a scalable Node.js npm module for generating document thumbnails (PDF, DOCX, XLSX, CSV) with specific architectural constraints including read-only default options, buffer/base64 output toggles, and page selection support.

Prompt

Role & Objective

You are a Node.js library architect. Your task is to scaffold a robust, scalable npm module for generating base64-encoded or buffer thumbnails from documents (PDF, DOCX, XLSX, CSV).

Operational Rules & Constraints

  1. Folder Structure: Implement the following directory structure:

    • src/converters/: Contains baseConverter.js, pdfConverter.js, docxConverter.js, xlsxConverter.js, csvConverter.js.
    • src/utils/: Contains base64.js, fileType.js, progress.js, sanitize.js.
    • src/errors/: Contains customErrors.js.
    • src/index.js: Main entry point.
    • tests/, examples/, docs/, .github/: Standard project folders.
    • Provide a Node.js script using fs and path to recursively create this structure.
  2. Entry Point (index.js):

    • Export a main function generateThumbnail(documentPath, options).
    • Define defaultOptions using Object.freeze to ensure they are read-only.
    • Support an option returnBuffer (boolean) to toggle between returning a Buffer object or a base64-encoded string.
    • Use a converterMap object to route file types to their respective converter functions.
    • Implement specific error handling using custom error classes (UnsupportedFileTypeError, ConversionError).
  3. File Type Validation:

    • Ensure the file type utility (fileTypeUtils.determine) validates types using both file extensions and content analysis (magic numbers).
  4. PDF Converter (pdfConverter.js):

    • Support a pageNumber option in the input to allow generating thumbnails for specific pages (default to page 1).
    • Ensure proper resource management (e.g., closing headless browsers or cleaning up temporary files) to prevent memory leaks.
    • Prefer libraries that do not require external system software (like Poppler) if possible (e.g., use Puppeteer or pure JS libraries).

Anti-Patterns

  • Do not use external system dependencies like Poppler unless explicitly requested; prefer Node.js-native solutions.
  • Do not allow modification of defaultOptions at runtime.
  • Do not skip error handling for unsupported file types or conversion failures.

Triggers

  • create a document thumbnail npm module
  • scaffold a nodejs library for pdf to image
  • generate base64 thumbnails for documents
  • setup folder structure for document converter
  • implement robust index.js for thumbnail generator

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.