skills/skill-to-prompt/SKILL.md
Converts Claude skills into ChatGPT Project format (prompt instructions + 1 knowledge file as .docx). Use when user mentions "convert to ChatGPT," "ChatGPT project," "export skill," "GPT instructions," "skill to prompt," or "skill to GPT."
npx skillsauth add realjaymes/marketingagentskills skill-to-promptInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Converts a Claude skill (SKILL.md + references/) into ChatGPT Project format: one prompt instruction document (.docx, under 8,000 characters) and one knowledge file document (.docx).
For each conversion:
All .docx files follow standard formatting: Arial font, 10pt normal text, H1=20pt, H2=16pt, H3=14pt, H4=12pt, 1.15 line spacing.
If user provides a skill name (e.g., "copywriting"):
~/.claude/skills/[skill-name]/SKILL.mdIf user provides a path, use it directly.
Read everything:
SKILL.md (full content)references/ folderscripts/ or assets/ folders (these need special handling)Count total source content to understand how much compression is needed for the single knowledge file:
| Complexity | Criteria | Compression Needed | |---|---|---| | Simple | <300 lines in SKILL.md, no reference files | Minimal — content fits easily in one knowledge file | | Medium | 300-500 lines or 1-2 reference files | Moderate — condense verbose sections, keep all frameworks and examples | | Complex | 500+ lines or 3+ reference files | Heavy — prioritize frameworks, worked examples, and actionable content. Summarize repetitive sections |
Regardless of complexity, always produce exactly 1 knowledge file.
Read references/prompt-structure-guide.md for the full mapping guide.
Extract from the Claude skill and map to ChatGPT instruction components:
| Claude Skill Section | ChatGPT Prompt Component |
|---|---|
| Frontmatter description | Role + Task summary |
| "When to Use" / trigger conditions | Task context |
| "Before Starting" / gather context steps | Inputs/Variables |
| Core workflow sections (numbered steps) | Task (condensed steps) |
| "Output Format" section | Formatting Instructions |
| "Examples" section | Example Output (1-2 max in instructions) |
| "Constraints" / "Rules" / "Never" statements | Constraints |
| Target audience mentions | Audience |
| Voice/tone guidance | Style/Tone |
| Purpose / outcome descriptions | Goal |
Apply the priority system to stay under 8,000 characters:
P1 — Always in the prompt instructions:
P2 — Include in instructions if character budget allows:
P3 — Always in knowledge files:
Character budget: Target 7,500 characters for the instruction text (500-char safety buffer).
Draft the instruction text following this structure:
Every prompt instruction document must include all 9 headings below, in this exact order. No headings may be omitted or renamed.
## Role
You are [expertise extracted from skill description and intro].
You specialize in [specific domain/capabilities].
## Task
Your primary task is to [main objective from the skill].
Follow this workflow:
1. [Condensed step from skill workflow]
2. [Condensed step]
3. [Condensed step]
...
## Goal
[Desired outcome extracted from the skill's purpose/output sections]
## Audience
[Target audience. If the skill does not specify an audience, write: "General users seeking [skill domain] assistance. Adjust complexity based on the user's apparent experience level."]
## Style/Tone
[Voice/tone rules extracted from the skill. If the skill does not specify tone, write: "Professional and clear. Match the register of the target audience. Avoid jargon unless the audience expects it."]
Always include these writing rules regardless of skill-specific tone:
- Avoid dashes unless absolutely necessary. Prefer commas, periods, or conjunctions to keep the tone natural.
- Use en dashes (with spaces, e.g. word – word) or em dashes (without spaces, e.g. word—word) only when unavoidable, ideally no more than once per complete piece of output.
## Constraints
- [Never/always rule]
- [Character/word limits]
- [Format restrictions]
- [Quality standards]
## Inputs/Placeholders
Before starting, ask the user for:
1. [Required input from the skill's context-gathering steps]
2. [Required input]
## Example Output
[1-2 short examples showing expected output structure. Keep brief.]
## Formatting Instructions
[Output structure and formatting rules from the skill]
After the 9 required sections, always append a Knowledge Files section:
## Knowledge Files
This project includes 1 knowledge file. Consult it as needed:
1. **[SkillName]_Reference_Guide.docx** — [What it contains and when to reference it]
After drafting, count characters. If over 7,500:
If over 8,000 after compression: shorten section content further, but all 9 headings must remain. Move detailed explanations to the knowledge file and replace with concise summaries under each heading.
Always produce exactly 1 knowledge file named [SkillName]_Reference_Guide.docx.
Consolidate all P3 content into this single document, organized with clear heading hierarchy:
[SkillName]_Reference_Guide.docx containing:
Organization within the single file:
Structure all content as a JSON object matching the docx-generator input format.
The JSON structure:
{
"skillName": "Skill Display Name",
"originalSkillName": "skill-name",
"version": "1.0.0",
"outputDir": "~/Downloads/",
"instructionDoc": {
"filename": "SkillName_Prompt_Instructions.docx",
"title": "Skill Name — ChatGPT Project Instructions",
"characterCount": 7234,
"sections": [
{ "type": "heading", "level": 1, "text": "Section Title" },
{ "type": "paragraph", "text": "Regular paragraph text." },
{ "type": "bold-paragraph", "label": "Label:", "text": "Text after label" },
{ "type": "bullet", "text": "Bullet point", "level": 0 },
{ "type": "numbered", "text": "Numbered item", "number": 1 },
{ "type": "table", "headers": ["H1","H2"], "rows": [["a","b"]], "columnPcts": [30,70] },
{ "type": "divider" },
{ "type": "spacer", "size": 200 },
{ "type": "meta", "text": "Metadata or footnote text" }
]
},
"knowledgeFiles": [
{
"filename": "SkillName_Reference_Guide.docx",
"title": "Skill Name Reference Guide",
"sections": [...]
}
]
}
Write this JSON to a temporary file in the current directory: [skill-name]-conversion.json
Run the generator:
NODE_PATH=~/Documents/node_modules node ~/.claude/skills/skill-to-prompt/references/docx-generator.js [skill-name]-conversion.json
This produces all .docx files in the ~/Downloads/ folder.
If the docx package is not available, install it first:
cd ~/Documents && npm install docx && cd -
Fallback: If .docx generation fails entirely, output the content as formatted markdown that the user can paste into Google Docs or Word. Apply the same heading hierarchy and section structure.
Check and report:
Present to the user:
Conversion complete: [skill-name] → ChatGPT Project
Output saved to ~/Downloads/
Prompt Instructions:
[SkillName]_Prompt_Instructions.docx (X,XXX characters)
Knowledge File:
[SkillName]_Reference_Guide.docx — [brief description]
Setup in ChatGPT:
1. Create a new Project in ChatGPT
2. Paste the instruction text from the Instructions .docx into the project's Instructions field
3. Upload the knowledge file to the project
4. Test with a sample prompt
After presenting, clean up the temporary JSON file:
rm [skill-name]-conversion.json
!command syntax) → Not available in ChatGPT. Document as manual steps.[SkillName]_Prompt_Instructions.docx
[SkillName]_Reference_Guide.docx
Where [SkillName] is the skill name in Title Case with spaces replaced by underscores.
Examples:
copywriting → Copywriting_Prompt_Instructions.docxdigital-product-video-ads → Digital_Product_Video_Ads_Prompt_Instructions.docxpage-cro → Page_CRO_Prompt_Instructions.docxAll .docx output follows these standards:
| Element | Setting | |---------|---------| | Font | Arial | | Font color | Black (default) for all text and headings | | Normal text | 10pt | | Heading 1 | 20pt | | Heading 2 | 16pt | | Heading 3 | 14pt | | Heading 4 | 12pt | | Line spacing | 1.15 |
Additional rules:
references/prompt-structure-guide.md — 9-component prompt formula, character budget allocation, compression techniquesreferences/docx-generator.js — Node.js script for generating .docx files from JSON datareferences/AI Prompting Techniques.pdf — Source material for the prompt structure frameworkagent-skill-builder — The reverse direction: converts ChatGPT Projects into Claude skillsskill-creator — Guide for creating new Claude skills from scratchtesting
When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' or 'ad performance optimization.' This skill covers generating ad creative at scale, iterating based on performance data, and enforcing platform character limits. For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting.
development
Creates positioning, messaging, and brand architecture frameworks for multi-product companies. Use when the user wants to 'position a product suite,' 'multi-product positioning,' 'portfolio positioning,' 'brand architecture,' 'core narrative,' 'house of brands vs branded house,' 'product portfolio messaging,' 'launch a second product,' 'launch a new product into our suite,' 'audit our portfolio messaging,' or 'are our products fighting each other.' Sits above product-positioning and product-messaging in the hierarchy. Forces a brand architecture decision first, then builds the layered framework that single-product skills run inside of.
development
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup. For AI search optimization, see ai-seo.
development
Guides beginner-to-intermediate developers through web development, Claude Code skills creation, and AI-assisted coding workflows. Use when the user asks about "vibe coding," "learning to code," "web development basics," "Claude skills," "building websites," "frontend," "backend," or wants help with HTML, CSS, JavaScript, or deployment.