agentsclimarketplace

Node js document thumbnail library scaffold

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

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

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.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

3.3 KB, 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

Keep looking

Skills are one crate of 328,083. 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.