Skywork AI

Skywork Document

办公效率v1.0.9
作者:Skywork AI更新于 2026-05-11共 10 个版本 · 最新版本发布于 2026-04-10skywork-document@clawhub_gxcun17/skywork-document
文档处理#Document#Web Search#PDF

据 AlphaMoat 统计,截至 2026-09,Skywork Document 累计下载 3,427 次、获 23 个星标,在全部 5,078 个 AI 技能中排名第 3,252 位,在「办公效率」分类(435 个)中排名第 244 位。

累计安装
156
累计下载
3,427
星标
23
全站排名
#3,252
全站前 65% · 「办公效率」前 57%
平台累计安装累计下载星标评论
ClawHub ↗923,41023-
SkillHub ↗1563,42723—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

可根据提示或用户提供的参考文件生成 DOCX、PDF、HTML 或 Markdown 文档,并可能使用服务器端网页搜索。完整提示和选定文件可能发送至 Skywork;应只提交获准内容并安全保存 API key,下载结果打开或复用前需检查。 需要 Python、SKYWORK_API_KEY。先解析选定参考文件,再提交生成,并明确语言/格式,不依赖默认值。远程生成可能耗时并发送状态事件;认证失败修密钥/配置,另行返回权益不足时才可能需升级 Skywork 会员。依赖生成前确认账户和商业权益。

资料发布于 2026-10-27

可以用来做什么

  • 生成结构化报告或提案
  • 基于获准文件改写或总结文档

什么时候用

  • 文档内容获准远程处理且输出格式和保存位置明确时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

用不含机密内容的简报拟定报告结构,不调用远程 API。
列出上传参考文件前的隐私和下载后检查事项。

月度数据趋势

累计下载3,427
1,3482,4653,5812026-03 · 累计下载 1,5022026-05 · 累计下载 2,4032026-06 · 累计下载 2,6702026-07 · 累计下载 3,0922026-08 · 累计下载 3,2562026-09 · 累计下载 3,42726-0326-09
星标23
2223232026-03 · 星标 222026-05 · 星标 232026-06 · 星标 232026-07 · 星标 232026-08 · 星标 232026-09 · 星标 2326-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,427—23
2026-083,256+5.3%23
2026-073,092+15.8%23
2026-062,670+11.1%23
2026-052,403—23
2026-031,502—22

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

11 KB · ClawHub v1.0.9
---
name: Skywork Document
description: "Skywork Document (skywork) - Use for ANY task producing a document output. Generates professional documents in docx, pdf, markdown, and html. Capabilities: (1) Create new documents on any topic - reports, proposals, blogs, papers, fiction, memos, letters, contracts, plans, resumes, research summaries, study notes; (2) Base documents on user's uploaded files - rewrite resumes, summarize papers, expand outlines, translate; (3) Auto web search for up-to-date content. Trigger when users ask for a 'document'/'docx' OR when intent implies document output. If output is longer than a short answer and benefits from structure/formatting, default to this skill. Do NOT use for short plain-text answers, code files, small notes, ad-hoc Q&A, or casual chat. Trigger keywords include: 'write a report', 'draft a proposal', '写报告', '帮我写一篇', 'レポートを作って', '보고서 써줘', 'rédiger un document', 'redactar un informe', 'Bericht erstellen', 'написать документ', 'كتابة تقرير', 'scrivere un documento'."
metadata:
  openclaw:
    requires:
      bins:
        - python3
      env:
        - SKYWORK_API_KEY
展开全部(共 218 行)
    primaryEnv: SKYWORK_API_KEY
---

# Doc — Professional Document Generator

Generate professional, beautifully formatted documents by calling the Skywork Office Doc API.

---

## Prerequisites

### API Key Configuration (Required First)
This skill requires a **SKYWORK_API_KEY** to be configured before use.

If you don't have an API key yet, please visit:
**https://skywork.ai**

For detailed setup instructions, see:
[references/apikey-fetch.md](references/apikey-fetch.md)

---

## Privacy & Remote Calls (Read Before Use)

- **Remote upload & processing**: This skill uploads user-provided files and sends the full, verbatim user request to the Skywork service. Avoid sensitive or confidential content unless you trust the remote service and its data handling policies.
- **Web search**: Any web search mentioned in this skill is performed by the **server-side** Skywork Doc API, not locally by these scripts.

---

## Workflow

### Step 0: Intent Recognition (CRITICAL - Do This First)

**Before calling any script, analyze the user's request and determine**:

1. **Does the user provide reference files, or imply that certain files are needed to proceed with the writing task?**
   - Look for file paths, attachments, or mentions like "based on this PDF", "use the uploaded document". If you gathered info beforehand (e.g., web search, other tools) that would help the writing task, save it to disk as files and pass them as reference files in Step 1.
   - If YES: find/extract file paths → proceed to Step 1
   - If NO: skip to Step 2

2. **What language should the output be in?**
   - Analyze the user's request language or explicit requirement. If unspecified, infer from the user's language or the language used in uploaded files.
   - Set `--language` parameter: `English`, `中文简体`, etc.
   - Default: `English`  

3. **What format does the user want?**
   - Look for keywords: "Word document" → `docx`, "PDF" → `pdf`, "HTML" → `html`, "Markdown" → `md`
   - Default if not specified: `docx`
   - **Supported formats**: `docx`, `pdf`, `html`, `md`

4. **How to write the content prompt?**
   - The `--content` parameter is like a **rewrite query**
   - Synthesize user's requirements (possibly from multiple conversation turns)
   - Be specific: describe structure, sections, tone, key points. Avoid being overly verbose or straying far from the user's original requirements; stay close to their intent to ensure accuracy.


### Step 1: Parse Reference Files (If User Provides Files)

**IMPORTANT**: 
- `parse_file.py` processes **one file at a time**. For multiple files, call it multiple times. 
- Quote any file path that contains spaces so arguments are passed correctly. 
- Parse all reference material the user needs for the writing task as files. If a file was already parsed earlier in the session, skip re-parsing and reuse its `file_id`.

**Single file**:
```bash
python3 <skill-dir>/scripts/parse_file.py /path/to/reference.pdf
```

**Multiple files** (call the script once for each file; you can run these in parallel to speed things up):
```bash
# Parse file 1
python3 <skill-dir>/scripts/parse_file.py /path/to/file1.pdf

# Parse file 2
python3 <skill-dir>/scripts/parse_file.py /path/to/file2.xlsx

# Parse file 3
python3 <skill-dir>/scripts/parse_file.py "/path/to/file3 with blank in it.docx"
```

**Each script call outputs**:
```
[parse] File: reference.pdf (2,458,123 bytes)
...
[success] File parsed!
  File ID:    2032146192467681280
  ...
PARSED_FILE: {"file_id":"2032146192467681280","filename":"reference.pdf","url":""}
```

**Extract all `PARSED_FILE` outputs** and collect them into a JSON array:
```json
[
  {"file_id":"2032146192467681280","filename":"file1.pdf","url":""},
  {"file_id":"2032146192467681281","filename":"file2.xlsx","url":""},
  {"file_id":"2032146192467681282","filename":"file3.docx","url":""}
]
```

This array will be passed to `create_doc.py` via the `--files` parameter below.

### Step 2: Create Document

**Without reference files**:
```bash
python3 <skill-dir>/scripts/create_doc.py \
  --title "Document_Title" \
  --content "Detailed content prompt based on user requirements..." \
  --language English \
  --format docx
```

**With reference files** (use the collected file_ids from Step 1):
```bash
python3 <skill-dir>/scripts/create_doc.py \
  --title "Analysis_Report" \
  --content "Based on the uploaded reference files, create a comprehensive analysis report..." \
  --files '[{"file_id":"id1","filename":"file1.pdf","url":""},{"file_id":"id2","filename":"file2.xlsx","url":""}]' \
  --language English \
  --format docx
```

> The `title` field should not contain spaces.

**Output**:
```
[doc] Creating document: "Analysis Report"
...
[success] Document created!
  File ID:   abc-123
  Path:      /output/doc/some_file.html
  URL:       https://...
  Time:      15.2s
```

### Step 3: Deliver Result

After `create_doc.py` finishes, parse the final JSON output. It contains two ways for the user to access the document — **always provide both**:

- **`file_url`** — the remote download link (cloud URL). Include it as a clickable hyperlink so the user can open it in a browser or share it.
- **`file_path`** — the absolute local path where the file was automatically downloaded on their machine. Mention this path explicitly so the user can find the file right away without manual downloading.

Example reply (adapt wording to user's language):

> The document is ready!
> - **Download link**: [巴西电网行业及充电桩市场调研报告.docx](https://...)
> - **Local file**: `/Users/alice/Downloads/巴西电网行业及充电桩市场调研报告.docx`

If `file_path` is empty (download failed), still provide `file_url` and inform the user they can download manually.

---

## Script Parameters

### parse_file.py
- `file` - Path to the reference file (required)
- `--json` - Output full result as JSON (optional)

**Key Output**: `PARSED_FILE: <json>` — extract this for Step 2

### create_doc.py
- `--title` - Document title (required)
- `--content` - **Content prompt** describing what to write (required)
  - This is like a rewrite query — synthesize user's requirements
  - Be specific about structure, sections, tone, key points
- `--files` - JSON array of file objects from parse_file.py (optional)
  - Format: `[{"file_id":"xxx","filename":"yyy","url":""}]`
- `--language` - Output language (optional, default: `English`)
  - Examples: `English`, `中文简体`, `中文繁體`, `日本語`, `한국어`, `Français`, `Deutsch`, `Español`, ...
- `--format` - Output format (optional, default: `docx`)
  - **Supported**: `docx`, `pdf`, `html`, `md`

---

## Important Notes

1. **Intent Recognition First** - Always analyze the user's request before calling scripts.
2. **Web Search Built-In** - The Doc API automatically performs web searches on demand to gather relevant content for document creation. Whether you pre-search for materials externally or not is entirely optional—either approach works fine.
3. **File ID is the Bridge** - `parse_file.py` outputs `file_id` → pass to `create_doc.py` via `--files`.
4. **Server Fetches Content** - No need to paste `parsed_content` manually; the server retrieves it using `file_id`.
5. **Content is Rewrite Query** - Synthesize the user's requirements into a clear, detailed prompt. Even when the user's instructions are long or complex, capture every requirement—don't omit anything.
6. **Generation Takes Time** - Document generation typically takes 5-10 minutes, sometimes longer for complex documents.
7. **Scripts Wait Automatically** - `create_doc.py` uses SSE (Server-Sent Events) to maintain a long connection and receives real-time progress updates. The script will automatically wait up to 3~10 minutes for completion. **No manual polling needed** - just wait for the script to finish and it will output the result.
8. **Progress Display** - The script shows a real-time progress bar during generation. The AI agent should relay this to the user to set expectations.
9. **Final Document Delivery** - **CRITICAL**: Upon successful execution of `create_doc.py`, the output JSON contains both `file_url` (remote download link) and `file_path` (local path where the file was automatically saved). **You MUST proactively return both to the user**: the clickable `file_url` so they can share or open it online, and the `file_path` so they can locate it immediately on their machine. If `file_path` is empty, notify the user and provide `file_url` for manual download.

---

## Error Handling

| Error | Solution |
|-------|----------|
| `NO_TOKEN` / `INVALID_TOKEN` / `401` | Authentication failed (**keep the error code / raw message in the reply**). Verify **`SKYWORK_API_KEY`** is set in OpenClaw or rotate a valid key (see [references/apikey-fetch.md](references/apikey-fetch.md)). **Do not** suggest upgrading membership. |
| `Cannot reach server` | Check network connection |
| `JSON parse error` | Use double quotes in --files JSON |
| **Insufficient benefit** | Script or log may show e.g. `Insufficient benefit. Please upgrade your account at {url}` — see below |

### How to reply when benefit is insufficient

When you detect the above, **reply in the user's current language** — do not echo the English message. Use this pattern:

- Convey: "Sorry, document generation failed. This skill requires upgrading your Skywork membership to use." then a single call-to-action link.
- **Format**: One short sentence in the user's language + a link like `[Upgrade now →](url)` or the equivalent in their language.
- **URL**: Extract the upgrade URL from the log/script output (e.g. the `at https://...` part).

## Technical Notes
- Generation takes 5-10 minutes, set sufficient timeout. Because `create_doc.py` may run for a long time. As SSE events arrive, display each stage to the user. This keeps them informed during the generation.

「办公效率」分类下的热门技能

Skywork AI 的其他技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。