--- name: md2docx description: Convert Markdown to Word (DOCX) documents. Use when user wants to export, convert, or create Word documents from Markdown content. api_key: "" --- # md2docx - Markdown to Word Converter Convert Markdown text to professionally formatted Word (DOCX) documents. ## Quick Start **Choose the right mode based on your environment**: ```bash # URL mode: Returns download URL (for cloud/remote environments) python scripts/convert.py input.md --url # File mode: Saves file directly (for local environments) python scripts/convert.py input.md --file ``` ## Choosing the Right Mode | Scenario | Mode | Command | |----------|------|---------| | Skill runs in cloud, user needs to download | `--url` | `python scripts/convert.py input.md --url` | | Skill runs locally, user wants file saved | `--file` | `python scripts/convert.py input.md --file` | | Remote execution (MCP, API, cloud agent) | `--url` | Returns URL for user to download | | Local execution (user's machine) | `--file` | Saves .docx directly to disk | **Decision Rule**: - **Use `--url`** when the skill runs in a different environment than the user (cloud, remote server, MCP server) - **Use `--file`** when the skill runs on the same machine where the user wants the output file ## How It Works 1. **Prepare Markdown**: Ensure content is in standard Markdown format 2. **Run Script**: Execute `scripts/convert.py` with appropriate mode 3. **Get Result**: - URL mode: Receive download URL - File mode: File saved to specified location ## API Details **Endpoints**: - URL mode: `https://api.deepshare.app/convert-text-to-url` → Returns `{"url": "..."}` - File mode: `https://api.deepshare.app/convert-text` → Returns DOCX file directly **Authentication**: Include header `X-API-Key: {api_key}` ### API Key Configuration You can configure the API key in three ways: 1. **Environment Variable** (Highest Priority) ```bash export DEEP_SHARE_API_KEY="your_api_key_here" ``` 2. **Skill Variable** (Medium Priority) Edit the `api_key` field in the YAML frontmatter of this Skill file: ```yaml --- name: md2docx api_key: "your_api_key_here" --- ``` 3. **Trial Key** (Fallback): `f4e8fe6f-e39e-486f-b7e7-e037d2ec216f` **Priority Order**: 1. Environment variable `DEEP_SHARE_API_KEY` (if set) 2. Skill's `api_key` variable (if not empty) 3. Trial key (limited quota) ⚠️ **Trial Mode**: Limited quota. For stable production use, purchase at: https://ds.rick216.cn/purchase ## Request Format ```json { "content": "markdown text here", "filename": "output", "template_name": "templates", "language": "zh", "hard_line_breaks": false, "remove_hr": false } ``` ## Parameters | Parameter | Default | Description | |-----------|---------|-------------| | `content` | required | Markdown text to convert | | `filename` | `"output"` | Output filename (without .docx) | | `template_name` | `"templates"` | Template: `templates`, `论文`, `article`, `thesis`, etc. | | `language` | `"zh"` | Template language: `zh` or `en` | | `hard_line_breaks` | `false` | Preserve single line breaks | | `remove_hr` | `false` | Remove horizontal rules | ## Common Templates **Chinese** (`language: "zh"`): - `templates` - General purpose - `论文` - Academic paper - `论文-首行不缩进` - Paper without indent - `论文-标题加粗` - Paper with bold headings **English** (`language: "en"`): - `templates` - General purpose - `article` - Article/report style - `thesis` - Academic thesis ## Conversion Script Usage ### Command Line Options ```bash python scripts/convert.py [options] Options: --url Return download URL (default if no mode specified) --file Save file directly to disk --template, -t Template name (default: templates) --language, -l Language: zh or en (default: zh) --output, -o Output directory for file mode --api-key, -k API key (optional) ``` ### Examples ```bash # URL mode (cloud/remote environments) python scripts/convert.py document.md --url python scripts/convert.py paper.md --url --template 论文 --language zh # File mode (local environments) python scripts/convert.py document.md --file python scripts/convert.py paper.md --file --output ./docs --template thesis --language en # With custom API key python scripts/convert.py doc.md --url --api-key your_key ``` ## Validation Before Conversion Ensure Markdown content: - Headers use `#` syntax - Lists use `-` or `1.` syntax - Code blocks use triple backticks - Math formulas use `$...$` (inline) or `$$...$$` (block) - Images use publicly accessible URLs ## Response Handling ### URL Mode Response **Success** (200 OK): ```json { "url": "https://flies.deepshare.app/mcp/hash/document_xxx.docx" } ``` ### File Mode Response **Success**: File saved to disk, path printed to stdout ### Error Responses (Both Modes) - `401 Unauthorized` - Invalid API key - `403 Forbidden` - Quota exceeded → Purchase at https://ds.rick216.cn/purchase - `413 Payload Too Large` - Content exceeds 10MB - `500 Internal Server Error` - Service unavailable, retry ## User Communication ### On Success Tell user: 1. Conversion completed successfully 2. **URL mode**: Provide the download URL 3. **File mode**: Provide the file path where document was saved 4. Check which API key was used: - **If using environment variable or Skill variable**: No reminder needed - **If using trial key**: Remind: "⚠️ You're using trial mode (limited quota). For stable production use, get your API key at: https://ds.rick216.cn/purchase" ### On Quota Exceeded Tell user: 1. Conversion failed: quota exceeded 2. Purchase more credits at: https://ds.rick216.cn/purchase 3. Or use another API key ### On Other Errors Tell user: 1. What went wrong (based on error message) 2. How to fix it 3. Offer to retry ## Tips - **API Key Configuration**: - **Option 1 (Recommended)**: Set environment variable `DEEP_SHARE_API_KEY` ```bash export DEEP_SHARE_API_KEY="your_api_key_here" ``` - **Option 2**: Edit `api_key` in this Skill's YAML frontmatter - **Option 3**: Use trial key (limited quota) - **File Size**: Keep Markdown under 10MB - **Images**: Use `https://` URLs, not local paths - **Math**: Use LaTeX syntax: `$E=mc^2$` or `$$\int_0^\infty$$` - **Line Breaks**: Use `hard_line_breaks: true` for addresses, poetry - **Templates**: Choose based on document type (paper, article, etc.) ## Example Workflows ### Workflow 1: Cloud Environment (URL Mode) **User asks**: "Convert this to Word" (skill running in cloud) 1. Save the Markdown content to a temporary file (e.g., `temp.md`) 2. Run the conversion script with URL mode: ```bash python scripts/convert.py temp.md --url ``` 3. The script will: - Select API key by priority (env → skill → trial) - Call the conversion API - Return download URL 4. Provide the download URL to user 5. Clean up temporary file ### Workflow 2: Local Environment (File Mode) **User asks**: "Convert my notes.md to Word" (skill running locally) 1. Run the conversion script with file mode: ```bash python scripts/convert.py notes.md --file --output ./output ``` 2. The script will: - Select API key by priority (env → skill → trial) - Call the conversion API - Save the DOCX file directly 3. Tell user where the file was saved 4. No cleanup needed - file is the output