一键导入
document
Document canvas for displaying and editing markdown content. Use when showing documents, emails, or when users need to select text for editing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Document canvas for displaying and editing markdown content. Use when showing documents, emails, or when users need to select text for editing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Calendar canvas for displaying events and picking meeting times. Use when showing calendar views or when users need to select available time slots.
**The primary skill for terminal TUI components.** Covers spawning, controlling, and interacting with terminal canvases. Use when displaying calendars, documents, or flight bookings.
Flight canvas for comparing flights and selecting seats. Use when users need to browse flight options and book seats.
| name | document |
| description | Document canvas for displaying and editing markdown content. Use when showing documents, emails, or when users need to select text for editing. |
Display markdown documents with optional text selection and diff highlighting.
Try asking:
Display a document (read-only):
Use canvas_display_document with:
content: "# My Document\n\nMarkdown content here."
title: "Document Title"
diffs: [{ startOffset: 10, endOffset: 20, type: "added" }] // optional
Edit/select from a document:
Use canvas_edit_document with:
content: "# My Document\n\nSelect some text here."
title: "Edit Mode"
Use canvas_spawn with:
kind: "document"
scenario: "edit" or "display" or "email-preview"
config: { content: "...", title: "..." }
display (default)Read-only document view with markdown rendering. User can scroll but cannot select text.
editInteractive document view with text selection. User can click and drag to select text, which is returned when canvas closes.
email-previewSpecialized view for email content display with email-specific formatting.
interface DocumentConfig {
content: string; // Markdown content
title?: string; // Document title (shown in header)
diffs?: DocumentDiff[]; // Optional diff markers for highlighting
readOnly?: boolean; // Disable selection (default: false for edit)
}
interface DocumentDiff {
startOffset: number; // Character offset in content
endOffset: number;
type: "added" | "removed" | "modified";
}
Supported markdown features:
# H1, ## H2, etc.)**text**)*text*)`inline` and fenced blocks)[text](url))- or * bullets)>)interface DocumentSelection {
selectedText: string; // The selected text
startOffset: number; // Start character offset
endOffset: number; // End character offset
startLine: number; // Line number (1-based)
endLine: number;
startColumn: number; // Column in start line
endColumn: number;
}
Up/Down or scroll: Navigate documentq or Esc: Close/cancelAfter spawning with canvas_spawn, you can:
Use canvas_get_selection to get current text selection
Use canvas_get_content to get full document content
Use canvas_update to change content/config
Use canvas_close to close the canvas