Install
openclaw skills install output-forgeTransform raw AI output into platform-ready content with proper formatting, metadata, and cleanup. Markdown, HTML, plain text, and structured data output.
openclaw skills install output-forgeTransform raw AI output into platform-ready content with proper formatting, metadata, and cleanup. Markdown, HTML, plain text, and structured data output.
Transform raw AI output into platform-ready content with proper formatting, metadata, and cleanup.
Author: Shadow Rose
License: MIT
Quality: quality-verified
You've just gotten great output from your AI assistant. Now what? Copy-pasting into WordPress, Medium, or social media means:
OutputForge does all of this automatically.
Paste raw AI text → get platform-ready content in seconds.
# Basic usage - format for WordPress
python output_forge.py my_ai_output.txt -f wordpress -o post.html
# Clean AI-isms and format for Medium
python output_forge.py raw_output.txt -f medium --title "My Article" --author "Jane Doe"
# Split long content into Twitter thread
python output_forge.py long_article.txt -f twitter -o thread.txt
# Batch process an entire directory
python output_forge.py --batch input_dir/ output_dir/ -f markdown
# Read from stdin
cat ai_response.txt | python output_forge.py -f plain
Automatically removes common AI hedging and disclaimers:
Your content sounds more natural and confident.
Edit config_example.json (copy config.json`) to customize:
python output_forge.py ai_draft.txt \
-f wordpress \
-o blog_post.html \
--title "10 Tips for Better Productivity" \
--author "Alex Johnson" \
--tags "productivity, tips, work" \
--description "Discover proven techniques to boost your daily productivity"
Output: Clean WordPress HTML with proper blocks, metadata, and tags ready to paste into the editor.
python output_forge.py long_article.txt -f twitter -o thread.txt
Input: 2000-word article
Output: Automatically split into 8 numbered tweets, each under 280 characters, breaking at natural sentence boundaries.
1/8 First tweet content here...
---THREAD BREAK---
2/8 Second tweet continues the thought...
---THREAD BREAK---
...
python output_forge.py ai_output.txt \
-f medium \
--title "Understanding Quantum Computing" \
--tags "science, technology, quantum"
Before:
As an AI language model, I think that quantum computing is fascinating. However, it's important to note that this field is complex. I don't have personal opinions, but I can explain...
After:
Quantum computing is fascinating. This field is complex, but understandable...
Clean, confident, professional.
# Process all .txt files in drafts/ and output to published/
python output_forge.py --batch drafts/ published/ -f markdown --author "Team Blog"
Processes every file automatically, maintaining filenames with new extensions.
python output_forge.py newsletter_draft.txt \
-f email \
-o newsletter.html \
--title "Weekly Insights - Feb 2026"
Output: Responsive HTML email with proper styling, ready to send or paste into your email platform.
positional arguments:
input Input file (or - for stdin)
required arguments:
-f, --format Output format: wordpress, medium, email, twitter,
linkedin, markdown, latex, plain
optional arguments:
-o, --output Output file (default: stdout)
--batch Batch mode: input_dir output_dir
metadata options:
--title Content title
--author Content author
--date Publication date (default: today)
--tags Comma-separated tags
--description SEO description
processing options:
--no-clean Disable AI-ism cleanup
--max-thread-length Max length for thread posts (default: 280)
--image-placeholders Add image placeholder markers
Create your own output formats by editing config_example.json:
def custom_blog_template(content, metadata, options):
title = metadata.get('title', 'Untitled')
author = metadata.get('author', 'Anonymous')
return f"""
# {title}
*by {author}*
{content}
---
Published with OutputForge
""".strip()
# Register your template
CUSTOM_TEMPLATES['myblog'] = custom_blog_template
Then use it:
python output_forge.py input.txt -f myblog -o output.md
The cleanup engine removes common patterns that make AI-generated text obvious:
✅ Direct AI references
✅ Hedging phrases
✅ Unnecessary disclaimers
✅ Excessive caveats
✅ Filler words
Want to see what would be cleaned WITHOUT modifying the text?
python output_clean.py "Your AI text here"
Shows:
Python 3.7+ (standard library only — no external dependencies)
# Clone or download the files
cd output-forge/
# That's it! No dependencies to install.
# Run directly
python output_forge.py --help
# Or make executable (Linux/Mac)
chmod +x output_forge.py
./output_forge.py --help
output-forge/
├── output_forge.py # Main formatting engine
├── output_templates.py # Platform templates (WordPress, Medium, etc.)
├── output_clean.py # AI-ism detection and cleanup
├── config_example.json # Configuration template
├── README.md # This file
├── LIMITATIONS.md # What this tool doesn't do
└── LICENSE # MIT License
Use default cleanup settings first. If output is still too "AI-sounding," increase aggressiveness in config.
Always review output before publishing. Cleanup is good, but human judgment is better.
If you publish to the same platform repeatedly, create a custom template with your exact formatting preferences.
When processing directories, use consistent input filenames for easier organization.
Include title, author, tags, and description — most platforms use this for SEO and organization.
For Twitter threads, start with max 260 characters (not 280) to leave room for links/images.
This is an open-source tool under the MIT License. Feel free to:
MIT License — see LICENSE file for details.
Free to use commercially and personally.
Shadow Rose
Q: Does this work with any AI output?
A: Yes — ChatGPT, Claude, Gemini, local models, anything that produces text.
Q: Can I add my own cleanup rules?
A: Absolutely. Edit config_example.json and add regex patterns to DEFAULT_CLEANUP_RULES.
Q: Will cleanup remove ALL hedging?
A: No. It targets obvious AI patterns and excessive hedging. Legitimate uncertainty expressions remain.
Q: Can I use this in commercial projects?
A: Yes! MIT License allows commercial use.
Q: What if I need a format not included?
A: Create a custom template (see Custom Templates section) or request it as a feature.
Q: Does it modify my original files?
A: Never. Original input files are never modified. Output goes to stdout or a new file you specify.
Ready to transform your AI output? Start with:
python output_forge.py --help
This software is provided "AS IS", without warranty of any kind, express or implied.
USE AT YOUR OWN RISK.
By downloading, installing, or using this software, you acknowledge that you have read this disclaimer and agree to use the software entirely at your own risk.
DATA DISCLAIMER: This software processes and stores data locally on your system. The author(s) are not responsible for data loss, corruption, or unauthorized access resulting from software bugs, system failures, or user error. Always maintain independent backups of important data. This software does not transmit data externally unless explicitly configured by the user.
| 🐛 Bug Reports | TheShadowyRose@proton.me |
| ☕ Ko-fi | ko-fi.com/theshadowrose |
| 🛒 Gumroad | shadowyrose.gumroad.com |
| @TheShadowyRose | |
| 🐙 GitHub | github.com/TheShadowRose |
| 🧠 PromptBase | promptbase.com/profile/shadowrose |
Built with OpenClaw — thank you for making this possible.
🛠️ Need something custom? Custom OpenClaw agents & skills starting at $500. If you can describe it, I can build it. → Hire me on Fiverr