CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-gatsby-plugin-sharp

Wrapper of the Sharp image manipulation library for Gatsby plugins

57

1.07x
Quality

Pending

Does it follow best practices?

Impact

57%

1.07x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-6/

{
  "context": "This criteria evaluates how well the engineer utilizes gatsby-plugin-sharp's advanced performance optimization features, specifically focusing on batch processing capabilities and concurrency control for efficient high-volume image processing.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Batch processing implementation",
      "description": "Uses queueImageResizing function to batch all variants (thumbnail, medium, large in both WebP and JPEG) of a single source image into one job, rather than processing each variant separately. This leverages Sharp's pipeline cloning and reduces overhead.",
      "max_score": 35
    },
    {
      "name": "Concurrency control setup",
      "description": "Implements proper concurrency control using async queue or worker pool with concurrency set to Math.max(1, cores - 1) where cores is obtained from os.cpus().length, following gatsby-plugin-sharp's recommended pattern.",
      "max_score": 25
    },
    {
      "name": "Multiple format generation",
      "description": "Generates both WebP and JPEG formats for each size variant by specifying toFormat parameter in queueImageResizing calls, demonstrating understanding of format-specific optimization capabilities.",
      "max_score": 15
    },
    {
      "name": "Quality settings",
      "description": "Applies quality setting of 50 to all output images using the quality parameter in transformation options, showing awareness of gatsby-plugin-sharp's compression control features.",
      "max_score": 10
    },
    {
      "name": "Resize transformations",
      "description": "Uses width parameter with appropriate values (200, 800, 1920) in resize operations to generate the three required size variants while maintaining aspect ratio.",
      "max_score": 10
    },
    {
      "name": "Cache integration",
      "description": "Demonstrates understanding of caching by properly using the plugin's job system or implements basic result caching to avoid reprocessing identical images, leveraging gatsby-plugin-sharp's caching layers.",
      "max_score": 5
    }
  ]
}

tile.json