instances/xiaodazi/skills/batch-file-converter/SKILL.md
Batch convert files between formats - images (HEIC/PNG/JPG/WebP), documents (Markdown/HTML), and more using Python and system tools.
npx skillsauth add malue-ai/dazee-small batch-file-converterInstall 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.
帮助用户批量转换文件格式:图片格式互转、文档格式转换。
首次使用时自动安装:
pip install Pillow
通过 Python Pillow 处理图片,bash 处理其他格式。
from PIL import Image
import os
input_dir = "/path/to/input"
output_dir = "/path/to/output"
target_format = "JPEG" # JPEG, PNG, WEBP, BMP, TIFF
os.makedirs(output_dir, exist_ok=True)
count = 0
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.heic', '.webp', '.bmp')):
img = Image.open(os.path.join(input_dir, filename))
# RGBA → RGB for JPEG
if img.mode == 'RGBA' and target_format == 'JPEG':
img = img.convert('RGB')
new_name = os.path.splitext(filename)[0] + ".jpg"
img.save(os.path.join(output_dir, new_name), target_format, quality=90)
count += 1
print(f"转换完成: {count} 个文件")
# macOS 原生支持 HEIC
for f in /path/to/*.HEIC; do
sips -s format jpeg "$f" --out "/path/to/output/$(basename "${f%.*}").jpg"
done
from PIL import Image
import os
input_dir = "/path/to/input"
output_dir = "/path/to/compressed"
max_size = (1920, 1080)
quality = 80
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
img = Image.open(os.path.join(input_dir, filename))
img.thumbnail(max_size, Image.Resampling.LANCZOS)
if img.mode == 'RGBA':
img = img.convert('RGB')
img.save(os.path.join(output_dir, filename), quality=quality)
print("压缩完成")
from PIL import Image
import os
target_width = 800
input_dir = "/path/to/input"
output_dir = "/path/to/resized"
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.webp')):
img = Image.open(os.path.join(input_dir, filename))
ratio = target_width / img.width
new_height = int(img.height * ratio)
img = img.resize((target_width, new_height), Image.Resampling.LANCZOS)
img.save(os.path.join(output_dir, filename))
# 使用 Python 内置
python3 -c "
import markdown
with open('/path/to/input.md') as f:
html = markdown.markdown(f.read(), extensions=['tables', 'fenced_code'])
with open('/path/to/output.html', 'w') as f:
f.write(html)
print('转换完成')
"
development
Local web search (Tavily/Exa, requires API Key). For quick searches. If no Key configured or deep research needed, use cloud_agent instead.
development
Get current weather and forecasts (no API key required).
tools
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
tools
Start voice calls via the Moltbot voice-call plugin.