
DOCX Dual Parse
Extract text from DOCX files using shell or Python zipfile, with environment-aware...
Install
npx skills add HKUDS/AgentPilot --skill docx-dual-parse -g -a claude-code -y- Repository
- HKUDS/AgentPilot7.8k
- Category
- Documents
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 1,766 tokens
- Runs scripts
- No, instructions only
What it does
Extract text from DOCX files using shell or Python zipfile, with environment-aware fallback
DOCX Dual-Method Text Extraction
Extract text from Microsoft Word (.docx) files using either shell commands or Python's zipfile module, automatically selecting the most reliable method for your environment.
When to Use
- Need reliable DOCX text extraction in varying environments (containers, sandboxes, minimal images)
- Python environment may lack
python-docxbut has standard library access - Shell utilities (
unzip,sed) may be unavailable or restricted - Want environment-aware fallback without manual intervention
Core Technique
DOCX files are ZIP archives containing XML files. This skill provides two extraction methods:
Method A (Shell): unzip -p + sed for tag stripping
Method B (Python): zipfile module for archive access + string parsing
Environment Detection
Before extraction, detect which method will work:
# Quick shell method test
if unzip -v >/dev/null 2>&1; then
echo "Shell method available"
else
echo "Shell method unavailable, try Python"
fi
# Quick Python method test
python3 -c "import zipfile; print('Python method available')" 2>/dev/null
Method A: Shell-Based Extraction
Use when unzip and sed are available and the environment allows shell operations.
Step-by-Step Instructions
1. Verify the DOCX file exists
ls -la document.docx
2. Extract raw XML content
unzip -p document.docx word/document.xml
3. Strip XML tags from content
unzip -p document.docx word/document.xml | sed -e 's/<[^>]*>//g'
4. Clean up whitespace (optional)
unzip -p document.docx word/document.xml | \
sed -e 's/<[^>]*>//g' | \
sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | \
sed -e '/^$/d'
5. Save extracted text to file
unzip -p document.docx word/document.xml | \
sed -e 's/<[^>]*>//g' > output.txt


