skill-to-prompt
Skill68 starsChanged 25 days agoMITView on GitHub
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.
- Installs packages
In this repository33 other files it gives its agents.
- ad-creativeSkill
- agent-skill-builderSkill
- ai-content-generationSkill
- ai-humanizerSkill
- case-study-builderSkill
- clay-gtm-outboundSkill
- competitive-intelligenceSkill
- copy-anatomySkill
- customer-segmentsSkill
- domain-healthSkill
- experimentationSkill
- icp-personaSkill
- landing-pageSkill
- lifecycle-marketing-campaignsSkill
- marketing-advantagesSkill
- marketing-product-ideasSkill
- n8n-automationSkill
- obsidian-opsSkill
- outbound-engineSkill
- performance-marketingSkill
- portfolio-positioningSkill
- press-releaseSkill
- product-launch-gtmSkill
- product-marketing-metricsSkill
- product-messagingSkill
- product-onboarding-activationSkill
- product-positioningSkill
- prospect-scraperSkill
- remotionSkill
- saas-landing-pagesSkill
- seo-auditSkill
- storytelling-frameworkSkill
- vibe-codingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. About 0 are common, 16 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈16
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
If user provides a skill name (e.g., "copywriting"):
- Distinctive: line 30
If user provides a path, use it directly.
- Very specific: line 34
All files in references/ folder
- Very specific: line 51
Read references/prompt-structure-guide.md for the full mapping guide.
- Distinctive: line 89
All reference material (from references/ folder)
- Distinctive: line 100
Every prompt instruction document must include all 9 headings below, in this exact order.
- Distinctive: line 156
After the 9 required sections, always append a Knowledge Files section:
- Distinctive: line 166
After drafting, count characters.
- Distinctive: line 171
If over 8,000 after compression: shorten section content further, but all 9 headings must remain.
- Very specific: line 175
Always produce exactly 1 knowledge file named [SkillName]_Reference_Guide.docx.
- Distinctive: line 181
All examples and worked examples
- Distinctive: line 189
Use H1 for major sections (Workflows, Templates, Examples, Reference Material)
- Distinctive: line 190
Use H2-H3 for subsections within each major section
- Distinctive: line 191
Use page breaks between major sections for readability
- Very specific: line 232
Write this JSON to a temporary file in the current directory: [skill-name]-conversion.json
- Distinctive: line 250
Fallback: If .docx generation fails entirely, output the content as formatted markdown that the user can paste into Google Docs or Word.
- Distinctive: line 281
After presenting, clean up the temporary JSON file:
- Distinctive: line 347
All text and headings must be default black.
- Distinctive: line 348
Add space after each paragraph.
- Distinctive: line 350
When generating .docx, explicitly set Arial font, heading sizes, black color (no theme colors), and 1.15 line spacing on every element.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill to Prompt Converter
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).
What This Produces
For each conversion:
- Prompt Instructions (.docx) — The text that gets pasted into ChatGPT's "Instructions" field. Under 8,000 characters. Structured using the 9-component prompt formula.
- Knowledge File (1 .docx file) — Uploaded to the ChatGPT Project as reference material. Contains all detailed workflows, templates, frameworks, examples, and reference content consolidated into a single document.
All .docx files follow standard formatting: Arial font, 10pt normal text, H1=20pt, H2=16pt, H3=14pt, H4=12pt, 1.15 line spacing.
Conversion Workflow
Step 1: Locate and Read Source Skill
If user provides a skill name (e.g., "copywriting"):
- Look in
~/.claude/skills/[skill-name]/SKILL.md
If user provides a path, use it directly.
Read everything:
SKILL.md(full content)- All files in
references/folder - Note any
scripts/orassets/folders (these need special handling)
Step 2: Analyze Skill Complexity
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.
Step 3: Map Content to the 9-Component Prompt Formula
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 |
Step 4: Split Content Between Instructions and Knowledge Files
Apply the priority system to stay under 8,000 characters:
P1 — Always in the prompt instructions:
- Role statement (who the AI is, what it specializes in)
- Task overview (primary task + condensed workflow steps)
- Goal (desired outcome)
- Critical constraints (never/always rules)
- Knowledge file references (what each file contains, when to consult it)
P2 — Include in instructions if character budget allows:
- 1-2 key examples (keep short, move full examples to knowledge files)
- Input variables (what the user must provide before starting)
- Output formatting specs
- Style/tone guidance
P3 — Always in knowledge files:
- Full detailed workflow with multi-paragraph explanations
- Complete example library
- Templates and frameworks (from SKILL.md body and references/)
- All reference material (from references/ folder)
- Edge cases and advanced scenarios
- Decision trees and detailed tables
- Script code (from scripts/ folder, documented as reference)
Character budget: Target 7,500 characters for the instruction text (500-char safety buffer).
Step 5: Write Prompt Instructions
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:
- Cut examples to bare minimum (but keep the Example Output heading with at least a brief example)
- Compress workflow steps further
- Shorten Audience and Style/Tone content (but never remove the headings)
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.
Step 6: Organize Knowledge File Content
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:
- Full detailed workflow with complete explanations
- All examples and worked examples
- Templates and frameworks (from SKILL.md body and references/ folder)
- All reference material (from references/ folder)
- Guidelines, best practices, and edge cases
- Decision trees and detailed tables
- Script documentation (from scripts/ folder, noted as non-executable reference)
Organization within the single file:
- Use H1 for major sections (Workflows, Templates, Examples, Reference Material)
- Use H2-H3 for subsections within each major section
- Use page breaks between major sections for readability
- For complex skills with heavy reference content, prioritize frameworks, worked examples, and actionable content over verbose explanations
Step 7: Generate JSON Data
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
Step 8: Generate .docx Files
Run the generator:
NODE_PATH=~/Documents/node_modules node ~/.claude/skills/skill-to-prompt/references/docx-generator.js [skill-name]-conversion.jsonThis 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.
Step 9: Validate and Present Results
Check and report:
- Instruction character count (must be under 8,000)
- All .docx files generated successfully
- Knowledge files contain complete referenced content
- Cross-references between instructions and knowledge files are clear
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 promptAfter presenting, clean up the temporary JSON file:
rm [skill-name]-conversion.jsonConversion Rules
What Transfers Directly
- Role and purpose definitions
- Workflow steps (condensed)
- Constraints and rules
- Output format specifications
- Examples and templates
- Reference content
What Requires Rewriting
- Claude tool references (Read, Grep, Glob, Bash, Edit, Write) → Rewrite as natural language instructions. Example: "Read the user's file" becomes "Ask the user to paste or upload the content."
- Dynamic commands (
!commandsyntax) → Not available in ChatGPT. Document as manual steps. - File system operations → Replace with "ask the user to provide" patterns.
- Progressive disclosure (loading references on demand) → All content must be in knowledge files upfront.
What Does Not Transfer
- Scripts (scripts/ folder) → Document the script's purpose in the knowledge file. Include the code as reference if useful, but note it cannot execute in ChatGPT.
- Assets (assets/ folder) → Note in the output: "These assets must be manually transferred if needed."
- Cross-skill references → Flag as dependencies: "This skill references [other-skill]. Consider converting that skill separately."
- MCP server integrations → Not available in ChatGPT Projects.
- Frontmatter fields (version, argument-hint, context, agent, allowed-tools) → These are Claude-specific metadata. Do not include in ChatGPT instructions.
Output Naming Convention
[SkillName]_Prompt_Instructions.docx
[SkillName]_Reference_Guide.docxWhere [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.docx
Document Formatting Standards
All .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:
- Headings are styled by size only. No extra bold on headings.
- All text and headings must be default black. No additional colors on any text or headings.
- Add space after each paragraph.
- Tables use alternating row shading for readability.
- When generating .docx, explicitly set Arial font, heading sizes, black color (no theme colors), and 1.15 line spacing on every element. Never rely on Word default styles.
References
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 framework
Related Skills
agent-skill-builder— The reverse direction: converts ChatGPT Projects into Claude skillsskill-creator— Guide for creating new Claude skills from scratch
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

