openai-gpt-converter
OpenAI GPT Converter
Convert Agent Skills into Custom GPTs with awareness of platform constraints and optimal adaptation strategies.
Platform Constraints Summary
| Aspect | Claude Skills | Custom GPTs |
|---|---|---|
| Instructions | Unlimited (SKILL.md) | 8,000 characters |
| Knowledge Files | Unlimited | 20 files max |
| File Size | Varies by context | 512 MB per file |
| File Structure | Hierarchical | Flat |
| Executable Scripts | Yes (Python, Bash) | No (Code Interpreter only) |
| API Integration | Via scripts | Yes (Actions) |
For detailed constraints and workarounds, see references/gpt-constraints.md.
Conversion Workflow
Step 1: Audit the Source Skill
Inventory all files in the source skill directory:
- Read SKILL.md — note frontmatter fields, body length, and character count
- List all files in
scripts/,references/, andassets/ - Count total files (GPTs allow max 20 knowledge files)
- Identify scripts that could use Code Interpreter vs. needing conversion
- Identify any API calls that could become GPT Actions
Step 2: Condense SKILL.md for 8,000-Character Limit
This is the critical step. GPT instructions are limited to ~8,000 characters (~130 lines of markdown).
Condensation strategies (in order of preference):
- Extract to knowledge files — Move detailed procedures, examples, and reference material into knowledge files. Keep only the core workflow and pointers in instructions.
- Remove Claude-specific syntax — Strip file path references, tool invocation syntax, progressive disclosure directives.
- Compress verbose sections — Replace multi-paragraph explanations with bullet points.
- Use reference pointers — Replace inline content with
See [filename] for details. - Prioritize by importance — Cut nice-to-have sections first.
Character budget guidance:
| Section | Suggested Budget |
|---|---|
| Role/purpose statement | ~500 chars |
| Core workflow steps | ~3,000 chars |
| Key rules and constraints | ~2,000 chars |
| Knowledge file pointers | ~1,500 chars |
| Edge cases and warnings | ~1,000 chars |
Tiered importance for condensation:
- Must keep: Core workflow, critical rules, safety constraints
- Move to knowledge files: Detailed examples, reference tables, alternative approaches
- Can drop: Explanatory context Claude already knows, redundant examples
Step 3: Convert Bundled Resources
Use this naming convention for the flat file structure:
Original: Derived:
references/api-docs.md → REF_api-docs.md
references/workflows/create.md → REF_workflows_create.md
scripts/rotate_pdf.py → SCRIPT_rotate_pdf.md (converted)
assets/template.pptx → ASSET_template.pptx
Prefix system:
REF_— Reference documentationSCRIPT_— Script logic (converted to readable format)ASSET_— Binary assetsWORKFLOW_— Multi-step procedures
Also create REF_extended_instructions.md for any instruction content that was moved out of the 8K character limit.
Step 4: Evaluate Code Interpreter Opportunities
GPTs have Code Interpreter (a Python sandbox). For each script in the source skill:
| Script Characteristic | Recommendation |
|---|---|
| Pure Python, no external deps | Good candidate for Code Interpreter |
| Requires pip packages | Check if available in Code Interpreter sandbox |
| Requires network access | Cannot use Code Interpreter — convert to instructions |
| Requires local file system | Cannot use Code Interpreter — convert to instructions |
| Simple data processing | Good candidate for Code Interpreter |
For Code Interpreter-compatible scripts, include them as knowledge files and instruct the GPT to execute them via Code Interpreter.
Step 5: Evaluate Actions for API Integrations
If the source skill makes API calls via scripts, consider converting to GPT Actions:
- Identify API endpoints used in the scripts
- Write OpenAPI spec for each endpoint
- Configure authentication in the GPT Actions settings
- Update instructions to reference the Action instead of the script
Actions are appropriate when:
- The skill calls well-defined REST APIs
- Authentication can be configured (API key, OAuth)
- The API is publicly accessible
Step 6: Consolidate to 20-File Limit
GPTs allow up to 20 knowledge files. If the source skill has more:
- Merge related references into single files
- Prioritize core documentation
- Inline short references into instructions (within 8K limit)
- Aim for 10-15 files to leave room for additions
RAG considerations: GPTs use retrieval (RAG) to find relevant knowledge file content. Structure files for chunk-friendly retrieval:
- Use clear section headers
- Front-load key information in each section
- Keep related content together (don't split a topic across files)
- Use descriptive file names that indicate content
Step 7: Test the Custom GPT
- Create the GPT in the GPT Builder with condensed instructions
- Upload all knowledge files
- Configure Code Interpreter and/or Actions if applicable
- Test with representative queries from the original skill's use cases
- Test in long conversations (GPTs can experience prompt drift)
- Verify knowledge file retrieval works correctly
- Iterate on instructions if the GPT misses important context
Condensation Example
Before (2,500 characters, excerpt):
## PDF Processing
### Overview
This skill provides comprehensive PDF processing capabilities including
text extraction, form filling, document merging, and page manipulation.
It uses pdfplumber for text extraction and pypdf for structural operations.
### Text Extraction
Use pdfplumber for text extraction. Install with pip install pdfplumber.
Then use the following code:
[20 lines of code]
### Form Filling
For form filling, first analyze the form with scripts/analyze_form.py...
After (800 characters):
## PDF Processing
Extract text: `pdfplumber`. Fill forms: analyze → map → validate → fill.
Merge/split: `pypdf`.
See REF_pdf_procedures.md for code examples and detailed steps.
See SCRIPT_form_filling.md for form analysis workflow.
Naming Convention Quick Reference
SKILL.md fields → GPT Configuration:
name → GPT Name
description → GPT Description
body → Instructions (max 8,000 chars)
Resource files → Knowledge Files:
references/* → REF_*.md
scripts/* → SCRIPT_*.md (or keep .py for Code Interpreter)
assets/* → ASSET_*
Quality Expectations
| Skill Type | Expected GPT Retention |
|---|---|
| Documentation/Knowledge | ~95% |
| Workflow guidance | ~85% |
| Code generation guidance | ~80% |
| Automated tasks | ~50% (with Code Interpreter) |
| External API integration | ~70% (with Actions) |
GPTs retain more capability than Gems due to Code Interpreter and Actions. The main challenge is the 8,000-character instruction limit.
More from bluewaves-creations/bluewaves-skills
photographer-testino
Generate images in Mario Testino's glamorous vibrant style. Use when users ask for Testino style, high fashion glamour, bold saturated colors, warm luxurious photography, dynamic sensual energy.
35photographer-lindbergh
Generate images in Peter Lindbergh's iconic black and white style. Use when users ask for Lindbergh style, raw authentic beauty, emotional B&W portraits, supermodel aesthetic, or unretouched natural photography.
30photographer-lachapelle
Generate images in David LaChapelle's surreal pop art style. Use when users ask for LaChapelle style, pop surrealism, hyper-saturated colors, theatrical staging, baroque maximalism, kitsch aesthetic.
24epub-creator
Create production-quality EPUB 3 ebooks from markdown and images with automated QA, formatting fixes, and validation. Use when creating ebooks, converting markdown to EPUB, or compiling chapters into a publishable book. Handles markdown quirks, generates TOC, adds covers, and validates output automatically.
22photographer-vonunwerth
Generate images in Ellen von Unwerth's playful vintage style. Use when users ask for von Unwerth style, playful sensuality, vintage film noir, whimsical feminine photography, retro glamour, narrative storytelling.
19photographer-ritts
Generate images in Herb Ritts' sculptural black and white style. Use when users ask for Ritts style, classical Greek aesthetic, sculptural body photography, California golden hour, minimalist athletic portraits.
18