How to Regenerate the GPT Image 2 Style Skill References

To regenerate the GPT Image 2 style skill references, run npm run generate:style-skill from the repository root, which validates your data and outputs an updated reference document to agents/skills/gpt-image-2-style-library/references/style-library.md.

The freestylefly/awesome-gpt-image-2 repository organizes prompt templates, visual styles, and scene definitions in a structured JSON library. Keeping the AI-readable reference documentation synchronized with this data is essential for the GPT Image 2 skill to access accurate, up-to-date guidance. This article explains the complete regeneration pipeline implemented in scripts/generate-style-skill.mjs.

Overview of the Regeneration Process

The style skill reference is a Markdown document that catalogues every prompt template, category, style, and scene defined in data/style-library.json. Rather than maintaining this document manually, the repository uses an automated generator that enforces data integrity and produces a consistently formatted output.

The generate-style-skill.mjs script performs three core operations: loading and validating the source data, rendering the reference Markdown, and writing the final file to the skill's directory.

Step 1: Load and Validate the Style Library

Before generating any output, the script rigorously validates the source data to prevent broken references or missing assets.

Read and Parse data/style-library.json

The script imports readJson to load the master data file:

// Simplified excerpt from scripts/generate-style-skill.mjs
const library = await readJson('data/style-library.json');

This single JSON file contains all template definitions, category hierarchies, style descriptors, and scene configurations used throughout the project.

Enforce Data Integrity Checks

The assertUnique function verifies that every template, category, style, and scene possesses a unique identifier. Duplicate IDs cause immediate failure with descriptive error messages.

Two additional validation layers protect downstream consumers:

  • Template anchor verification — The script searches docs/templates.md for anchor tags matching the pattern <a name="([^"]+)"></a> to confirm every template ID has a corresponding documentation entry
  • Cover image existence check — The localImagePath helper confirms that every referenced cover image exists under data/images/

Any validation failure throws a detailed error, halting the process before incomplete data reaches the generated reference.

Step 2: Render the Reference Markdown

Once validation passes, the renderReference function assembles the complete Markdown document.

Structure of the Generated Document

For each template, the renderer outputs:

  • Title (English and Chinese)
  • Unique ID and category
  • Associated styles and scenes
  • Tags and cover image path
  • Hyperlink back to the original definition in docs/templates.md
  • Example case IDs

The document also includes structured sections for multilingual guidance:

  • "Use when" — Context descriptions in both languages
  • "Guidance" — Best practices and recommendations
  • "Pitfalls" — Common mistakes to avoid

Finally, the script appends summary tables organizing all categories, styles, and scenes for quick scanning.

Content Safety Filtering

Before finalizing the output, the assertNoPattern function scans the rendered Markdown for disallowed Chinese phrasing. This safety layer ensures generated content adheres to project communication standards.

Step 3: Write the Output File

The script completes the pipeline by:

  1. Creating the target directory agents/skills/gpt-image-2-style-library/references/ if absent
  2. Writing the rendered Markdown to style-library.md via writeFileSync
  3. Logging the absolute path to the newly generated file for immediate confirmation

The final output location is:


agents/skills/gpt-image-2-style-library/references/style-library.md

This path is hardcoded in the generator and consumed by the GPT Image 2 skill system.

How to Run the Regeneration

Choose your preferred execution method from the options below.

npm run generate:style-skill

This command invokes the script through the shortcut defined in package.json.

Option B: Direct Node Execution

node scripts/generate-style-skill.mjs

Use this when debugging or when npm is unavailable in your environment.

Option C: Programmatic Invocation

// Trigger from another build script or CI pipeline
import { execSync } from 'node:child_process';

execSync('node scripts/generate-style-skill.mjs', { stdio: 'inherit' });

This pattern integrates the generator into larger automation workflows.

Verifying the Generated Reference

After regeneration, confirm the output with a quick file inspection:

import { readFileSync } from 'node:fs';
import { join } from 'node:path';

const refPath = join(
  process.cwd(),
  'agents',
  'skills',
  'gpt-image-2-style-library',
  'references',
  'style-library.md'
);

const reference = readFileSync(refPath, 'utf8');
console.log(`Generated ${reference.length} characters`);
console.log(reference.slice(0, 500)); // Preview first 500 characters

Successful execution produces a file exceeding typical template counts—verify the byte size and character count grow appropriately when adding new library entries.

Key Files in the Generation Pipeline

Understanding the file relationships helps troubleshoot regeneration failures:

File Purpose
scripts/generate-style-skill.mjs Core generator implementing load, validate, render, and write operations
data/style-library.json Master data source containing all templates, categories, styles, and scenes
docs/templates.md Template definitions with HTML anchors referenced during validation
agents/skills/gpt-image-2-style-library/references/style-library.md Generated output consumed by the GPT Image 2 skill
package.json Defines the generate:style-skill npm script shortcut
data/images/ Directory containing cover images validated during generation

When to Regenerate

Trigger reference regeneration after any of these changes:

  • Adding, modifying, or removing templates in data/style-library.json
  • Updating category, style, or scene definitions
  • Changing template documentation anchors in docs/templates.md
  • Adding new cover images to data/images/

The validation layer catches most synchronization errors, but manual verification of the generated reference ensures the skill receives accurate guidance.

Summary

Frequently Asked Questions

What happens if a template ID is duplicated?

The assertUnique function detects duplicate identifiers during validation and throws a descriptive error listing the conflicting IDs. The regeneration halts immediately, requiring you to resolve the duplication in data/style-library.json before retrying.

Why does the generator check for template anchors in docs/templates.md?

Each template entry in the generated reference includes a hyperlink back to its full documentation. The anchor verification ensures these links remain functional—if a template ID lacks a corresponding <a name="..."></a> tag, the generator fails fast with a clear missing-anchor message.

Can I modify the output path for the generated reference?

The output path agents/skills/gpt-image-2-style-library/references/style-library.md is hardcoded in scripts/generate-style-skill.mjs. Changing it requires editing the writeFileSync call near the end of the script, though this is discouraged as the GPT Image 2 skill expects the reference at this specific location.

What causes the "disallowed Chinese phrasing" error?

The assertNoPattern filter blocks specific Chinese character sequences defined as undesirable for this project's output. If your template content triggers this error, review the data/style-library.json entries for non-compliant phrasing and adjust the source text accordingly.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →