首页龙虾技能列表 › Skywork Document — 技能工具

Skywork Document — 技能工具

v1.0.9

Skywork Document (skywork) - Use for ANY task producing a document output. Generates professional documents in docx, pdf, markdown, and html. Capabilities: (...

22· 1,360·1 当前·2 累计
by @gxcun17 (Skywork AI)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/10
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
This skill appears to do what it says — a document generator that uploads user files and sends requests to the Skywork API — but it will send full user content and uploaded files to a remote service, so avoid providing sensitive data unless you trust the provider.
评估建议
This skill will upload any files you pass and send the full user prompt (verbatim) to https://api-tools.skywork.ai/theme-gateway using your SKYWORK_API_KEY. That is normal for a cloud document generator, but do not supply confidential or highly sensitive data unless you trust Skywork's security and privacy practices. Verify the API key is stored securely in your OpenClaw or environment config, and consider testing with non-sensitive documents first. If you need on-prem or offline processing, thi...
详细分析 ▾
用途与能力
Name/description align with required artifacts: python3 and a SKYWORK_API_KEY are expected for calling a remote Skywork Doc API. The included scripts implement parsing reference files and creating documents, which matches the stated purpose.
指令范围
SKILL.md and the scripts explicitly instruct uploading user-provided files and sending the full, verbatim user request to the Skywork server. They also recommend saving gathered context to disk and passing it as reference files. This is coherent with a remote document-generation service but has privacy implications (explicitly stated in SKILL.md). There are no instructions to read unrelated system files or other environment variables.
安装机制
No install spec is provided (instruction-only install), and the script files are plain Python. No external downloads, installers, or unusual install behavior are present in the bundle.
凭证需求
Only one credential is requested (SKYWORK_API_KEY), which is the expected primary credential for a cloud API. The SKILL.md and scripts consistently use that env var; no other secrets or unrelated env vars are requested.
持久化与权限
always:false and user-invocable; the skill does not request permanent or elevated platform privileges and does not attempt to modify other skills or global agent settings. Guidance describes storing the API key in OpenClaw config, which is normal for credential configuration.
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.92026/3/16

- Description streamlined for clarity and conciseness; redundant details and extra examples removed. - Usage scenarios and trigger keyword lists condensed to focus on core functionality. - Prerequisite and workflow instructions updated for brevity, improving accessibility for all users. - No behavioral or API changes; documentation only.

● 无害

安装命令 点击复制

官方npx clawhub@latest install skywork-document
镜像加速npx clawhub@latest install skywork-document --registry https://cn.clawhub-mirror.com

技能文档

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


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:

  • 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

  • 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

  • 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

  • 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:

python3 /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):

# Parse file 1
python3 /scripts/parse_file.py /path/to/file1.pdf

# Parse file 2 python3 /scripts/parse_file.py /path/to/file2.xlsx

# Parse file 3 python3 /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:

[
  {"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:

python3 /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):

python3 /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
- 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: — 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

  • Intent Recognition First - Always analyze the user's request before calling scripts.
  • 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.
  • File ID is the Bridge - parse_file.py outputs file_id → pass to create_doc.py via --files.
  • Server Fetches Content - No need to paste parsed_content manually; the server retrieves it using file_id.
  • 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.
  • Generation Takes Time - Document generation typically takes 5-10 minutes, sometimes longer for complex documents.
  • 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.
  • Progress Display - The script shows a real-time progress bar during generation. The AI agent should relay this to the user to set expectations.
  • 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

ErrorSolution
NO_TOKEN / INVALID_TOKEN / 401Authentication 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). Do not suggest upgrading membership.
Cannot reach serverCheck network connection
JSON parse errorUse double quotes in --files JSON
Insufficient benefitScript 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 → 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.
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务