بنقرة واحدة
docx
Read, summarize, revise, and analyze Word DOC/DOCX attachments saved by Kivio Chat.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Read, summarize, revise, and analyze Word DOC/DOCX attachments saved by Kivio Chat.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
Visualize architectures, flows, sequences, state machines, ER/data models, class structures, decision logic, mind maps, and timelines as rendered diagrams instead of prose. Activate whenever the user discusses or asks to explain a system architecture, module/deployment topology, call/request flow, interaction sequence, state machine or lifecycle, database/entity relationships, class structure, decision tree, or process — especially when they say draw / 画 / 图示 / 可视化 / 用图说明 / 画个流程图/架构图/时序图. Kivio renders mermaid code blocks inline as diagrams and html code blocks in a live preview, so emit those directly without calling any file tool.
Read, search, compose, reply, and organize email via the Himalaya CLI (IMAP/SMTP). Activate when the user asks about mail, inbox, sending email, or when an email connector is configured.
| id | docx |
| name | docx |
| description | Read, summarize, revise, and analyze Word DOC/DOCX attachments saved by Kivio Chat. |
| recommended-tools | ["read","run_python"] |
Use this skill when the user attaches or references a Word document (.doc or .docx) and asks to read, summarize, revise, extract, compare, translate, or answer questions about it.
Kivio stores each uploaded document as a safe local copy and includes its absolute path in the user message under Kivio 安全副本路径. Pass that safe copy path to run_python via files; Kivio mounts it inside the Pyodide filesystem for the run. Python code must use the mounted virtual paths in KIVIO_INPUT_FILES, not the host absolute path directly.
You can also process any local Word document, not just uploaded safe copies: pass its absolute path (e.g. one discovered via glob/list_dir) directly to run_python via files.
.docx, use run_python with files=["Kivio 安全副本路径"] to inspect the mounted zip package and extract text from word/document.xml.word/document.xml table nodes or ask for a narrower extraction target..doc, explain that binary Word extraction may not be available in the sandbox and ask the user to convert to .docx if needed.from pathlib import Path
from zipfile import ZipFile
import xml.etree.ElementTree as ET
docx_path = Path(KIVIO_INPUT_FILES[0])
with ZipFile(docx_path) as zf:
xml = zf.read("word/document.xml")
root = ET.fromstring(xml)
ns = {"w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main"}
paragraphs = []
for para in root.findall(".//w:p", ns):
text = "".join(node.text or "" for node in para.findall(".//w:t", ns)).strip()
if text:
paragraphs.append(text)
print("\\n".join(paragraphs))